ایچ-برج 1: TIP120 اور TIP125 ڈارلنگٹن ٹرانزسٹروں کا استعمال کرتے ہوئے بریڈ بورڈ پر ایچ-برج موٹر ڈرائیور بنانا
یہ ٹیوٹوریل آپ کو ایک H-bridge موٹر ڈرائیور بنانے کے طریقے سے رہنمائی کرے گا جو TIP120 اور TIP125 ڈارلنگٹن ٹرانزسٹروں کا استعمال کرتے ہوئے بریڈ بورڈ پر بنایا جائے گا۔ یہ سیٹ اپ DC موٹر کی سمت اور رفتار کو کنٹرول کرنے کے لیے مثالی ہے، جو مختلف روبوٹکس اور خودکار پروجیکٹس کے لیے ضروری ہے۔ اس ٹیوٹوریل کے آخر تک، آپ ایک موٹر کو گھڑی کی سمت اور مخالف گھڑی کی سمت دونوں میں گھمانے کے ساتھ ساتھ رفتار کی ماڈیولیشن کے ساتھ کنٹرول کرنے کے قابل ہوں گے۔
اس رہنمائی میں، ہم موٹر کو کنٹرول کرنے کے لیے ایک آرڈینو کا استعمال کریں گے۔ ایچ-برج کی تشکیل موٹر کی سمت کو پلٹنے کی اجازت دیتی ہے، جو ٹرانزسٹروں کو بھیجے جانے والے ان پٹ سگنلز کو کنٹرول کرکے کی جاتی ہے۔ یہ بہت سی ایپلیکیشنز، جیسے روبوٹک بازو یا موبائل روبوٹ کے لیے جو درست موٹر کنٹرول کی ضرورت ہوتی ہے، کے لیے ایک اہم پہلو ہے۔ مزید وضاحت کے لیے، براہ کرم ویڈیو کا حوالہ دیں (ویڈیو میں 00:00 پر)۔
ہارڈویئر کی وضاحت
اس منصوبے کے اہم اجزاء میں TIP120 اور TIP125 ٹرانزسٹروں شامل ہیں، جو موٹر کی کارروائی کو کنٹرول کرنے کے لیے سوئچ کے طور پر استعمال ہوتے ہیں۔ TIP120 ایک NPN ڈارلنگٹن ٹرانزسٹر ہے، اور TIP125 ایک PNP ڈارلنگٹن ٹرانزسٹر ہے۔ مل کر، یہ H-برج کی تشکیل بناتے ہیں، جو ہمیں موٹر کے ذریعے بہنے والے کرنٹ کی سمت کو کنٹرول کرنے کی اجازت دیتا ہے۔
اس ترتیب میں، پی ڈبلیو ایم (پلس چوڑائی ماڈیولیشن) سگنل موٹر کی رفتار کو کنٹرول کرنے کے لیے استعمال ہوتا ہے۔ ٹرانزسٹروں کو تیزی سے آن اور آف کیا جاتا ہے تاکہ ایک اوسط وولٹیج پیدا کی جا سکے جو موٹر کی رفتار کا تعین کرتی ہے۔ EN پن ٹرانزسٹروں کو فعال یا غیر فعال کرتے ہیں، یہ یقینی بناتے ہیں کہ موٹر صرف اس وقت کام کرے جب ضرورت ہو۔
ڈیٹا شیٹ کی تفصیلات
| کارخانہ دار | ٹیکساس انسٹرومنٹس |
|---|---|
| حصہ نمبر | TIP120 |
| منطق/آئی او وولٹیج | 5-15 وولٹ |
| سپلائی وولٹیج | 60 وی |
| آؤٹ پٹ کرنٹ (فی چینل) | 5 اے |
| چوٹی کرنٹ (فی چینل) | 30 اے |
| پی ڈبلیو ایم فریکوئنسی کی رہنمائی | 1 کHz زیادہ سے زیادہ |
| ان پٹ منطقی حدیں | 2.5 وی (اعلی)، 0.8 وی (کم) |
| وولٹیج ڈراپ / RDS(on)/ سچوریشن | 1.2 وولٹ |
| حرارتی حدود | 175 °C |
| پیکج | TO-220 |
| نوٹس / مختلف اقسام | TIP125 کے طور پر دستیاب |
- اعلی کرنٹ ایپلیکیشنز کے لیے مناسب ہیٹ سنکنگ کو یقینی بنائیں۔
- موٹر کی رفتار کو مؤثر طریقے سے کنٹرول کرنے کے لیے PWM سگنلز کا استعمال کریں۔
- ٹرانزسٹر کی سمت کی تصدیق کریں تاکہ سرکٹ کو نقصان سے بچایا جا سکے۔
- وولٹیج کی درجہ بندی پر توجہ دیں تاکہ حدود سے تجاوز نہ ہو۔
- وولٹیج کی فراہمی کو مستحکم کرنے کے لیے ڈی کپلنگ کیپیسٹرز کا استعمال کریں۔
وائرنگ کی ہدایات

H-برج موٹر ڈرائیور کو وائر کرنے کے لیے، پہلے TIP120 اور TIP125 سے VCC پن کو اپنے Arduino پر 5V سپلائی سے جوڑیں۔ GND پن کو زمین سے جوڑیں۔ PWM کنٹرول پن،PWM1اورPWM2, کو بالترتیب آرڈینو پر ڈیجیٹل پن 9 اور 3 سے منسلک کیا جانا چاہیے۔ ان ایبل پن،EN1اورEN2، ڈیجیٹل پن 8 اور 2 سے جڑ جائے گا۔
اگلے، اپنے موٹر کے ٹرمینلز کو TIP120 اور TIP125 ٹرانزسٹروں کے کلیکٹر پنز سے جوڑیں۔ یہ یقینی بنائیں کہ موٹر آپ کی پاور سپلائی کے ساتھ ہم آہنگ ہے۔ اگر آپ اضافی اجزاء جیسے کہ فلی بیک تحفظ کے لیے ڈایوڈز استعمال کر رہے ہیں، تو انہیں موٹر کے ٹرمینلز کے ساتھ متوازی رکھیں تاکہ بیک ای ایم ایف سے نقصان سے بچا جا سکے۔ اگر آپ مختلف آرڈوینو ماڈلز استعمال کر رہے ہیں، تو PWM اور فعال سگنلز کے لیے پن میپنگ کی تصدیق کریں۔
کوڈ کی مثالیں اور رہنمائی
const int PWM1= 9; //pin with ~
const int EN1= 8;
const int PWM2= 3; //pin with ~
const int EN2= 2;
سیٹ اپ میں، ہم PWM سگنلز اور فعال پنز کے لیے کنٹرول پنز کی وضاحت کرتے ہیں۔pinModeیہ فنکشن ان پنوں کو آؤٹ پٹ کے طور پر سیٹ کرتا ہے تاکہ ان ٹرانزسٹروں کو کنٹرول کیا جا سکے جو موٹر کو چلاتے ہیں۔
void loop() {
Motor(CW, 50); //in CW at 50% speed
delay(5000);
stop(); // stops the motor
delay(2000);
}
یہ لوپ فنکشن موٹر کے کام کو ظاہر کرتا ہے۔ یہ پہلے موٹر کو گھڑی کی سمت میں 50% رفتار پر 5 سیکنڈ کے لیے چلاتا ہے، پھر 2 سیکنڈ کے لیے رک جاتا ہے۔Motorفنکشن کو سمت اور رفتار کے پیرامیٹرز کے ساتھ کال کیا جاتا ہے، جو ان ان پٹس کی بنیاد پر موٹر کے رویے کو کنٹرول کرتا ہے۔
void Motor(boolean direction, int speed=0) {
int speedPWM = map(speed, 0, 100, 0, 255);
if(direction) {
analogWrite(PWM1, speedPWM); // Set speed for CW
} else {
analogWrite(PWM2, speedPWM); // Set speed for CCW
}
}
یہMotorیہ فنکشن ایک بولین سمت اور ایک عددی رفتار لیتا ہے۔ یہ رفتار کے فیصد کو PWM قیمت میں نقشہ بناتا ہے اور استعمال کرتا ہے۔analogWriteموٹر کنٹرول کے لیے مناسب پن سیٹ کرنے کے لیے۔ یہ فنکشن موٹر کی سمت اور رفتار کو متحرک طور پر تبدیل کرنے کے لیے بہت اہم ہے۔
نمائش / کیا توقع کریں
وائرنگ مکمل کرنے اور کوڈ اپ لوڈ کرنے کے بعد، آپ کو موٹر کو 50% رفتار سے 5 سیکنڈ تک گھومتے ہوئے دیکھنا چاہیے، جس کے بعد یہ رک جائے گی۔ ایک وقفے کے بعد، یہ 80% رفتار سے 5 سیکنڈ تک مخالف سمت میں گھومے گی۔ عام غلطیوں میں غلط وائرنگ اور وولٹیج کی درجہ بندی سے تجاوز شامل ہیں، جو ٹرانزسٹرز یا موٹر کو نقصان پہنچا سکتے ہیں۔
ویڈیو کے وقت کے نشانات
- 00:00- تعارف
- 01:30- ہارڈ ویئر کا جائزہ
- 03:15- وائرنگ کی ہدایات
- 05:00- کوڈ واک تھرو
- 08:45- مظاہرہ
/*
This code is for:
Building an H-Bridge Motor driver using TIP120 and TIP125 on a breadboard and full PCB Design with Arduino
https://youtu.be/6ugrL5ziPn8
This code has been downloaded from Robojax.com
You can access the resources page and download the Gerber file to produce
the PCB or a fully assembled PCB from PCBX.com
Visit https://robojax.com/tutorial_view.php?id=392
to control a DC motor using TIP120 and TIP125 as an
H bridge
Written by Ahmad Shamshiri
26 Aug 2024
*/
const int PWM1= 9;//pin with ~
const int EN1= 8;
const int PWM2= 3;//pin with ~
const int EN2= 2;
const boolean CW =1;
const boolean CCW =0;
void Motor(boolean, int);//prototype
void brake();//prototype
void setup() {
Serial.begin(9600);
Serial.println("TIP120 H Bridge by Robojax");
pinMode(PWM1, OUTPUT);
pinMode(EN1, OUTPUT);
pinMode(PWM2, OUTPUT);
pinMode(EN2, OUTPUT);
}
void loop() {
Motor(CW, 50);//in CW at 50% speed
delay(5000);
stop();
delay(2000);
Motor(CCW, 80);//in CCW at 80% speed
delay(5000);
brake();
delay(2000);
for (int i=0; i<=100; i++)
{
Motor(CCW, i);
delay(25);
}
delay(5000);
brake();
delay(2000);
}
/*
stop()
stops the output
*/
void stop()
{
Serial.println ("=== Stop");
digitalWrite(PWM1, LOW);
digitalWrite(EN1, LOW);
digitalWrite(PWM2, LOW);
digitalWrite(EN2, LOW);
}
/*
brake()
*/
void brake()
{
Serial.println ("=== Brake");
digitalWrite(PWM1, HIGH);
digitalWrite(EN1, LOW);
digitalWrite(PWM2, HIGH);
digitalWrite(EN2, LOW);
}
void Motor(boolean direction, int speed=0)
{
int speedPWM = map(speed, 0, 100, 0, 255);
Serial.print("Speed: "); Serial.print (speedPWM);
Serial.print ("(");Serial.print (speed);Serial.print ("%)");
if(direction){
Serial.print(" dir: ");Serial.println ("CW");
analogWrite(PWM1, speedPWM);
digitalWrite(EN1, HIGH);
digitalWrite(PWM2, LOW);
digitalWrite(EN2, LOW);
}else{
Serial.print(" dir: ");Serial.println ("CCW");
digitalWrite(PWM1, LOW);
digitalWrite(EN1, LOW);
analogWrite(PWM2, speedPWM);
digitalWrite(EN2, HIGH);
}
}
وسائل اور حوالہ جات
-
باہرونی
-
باہرونی
-
باہرونی
-
باہرونی
فائلیں📁
Gerber files
-
H-Bridge-TIP120-TIP125 Gerber file for PCBXIncludes H-Bridge-TIP120-TIP125.zip, H-Bridge-TIP120-TIP125-BOM.xls and H-Bridge-TIP120-TIP125-coor.xls files to place order easily.
H-Bridge-TIP120-TIP125 Gerber file.zip0.05 MB