Search Code

ایچ-برج 1: TIP120 اور TIP125 ڈارلنگٹن ٹرانزسٹروں کا استعمال کرتے ہوئے بریڈ بورڈ پر ایچ-برج موٹر ڈرائیور بنانا

ایچ-برج 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 سگنلز کا استعمال کریں۔
  • ٹرانزسٹر کی سمت کی تصدیق کریں تاکہ سرکٹ کو نقصان سے بچایا جا سکے۔
  • وولٹیج کی درجہ بندی پر توجہ دیں تاکہ حدود سے تجاوز نہ ہو۔
  • وولٹیج کی فراہمی کو مستحکم کرنے کے لیے ڈی کپلنگ کیپیسٹرز کا استعمال کریں۔

وائرنگ کی ہدایات

555 Relay Timer of 20A 0-10 minutest on breadboard wiring
555 Relay Timer of 20A 0-10 minutest on breadboard wiring

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- مظاہرہ

تصاویر

H-Bridge Project with TIP120 TIP125 Wiring diagram
H-Bridge Project with TIP120 TIP125 Wiring diagram
Schematic for TIP120, TIP125 H-bridge
schematic for TIP120 TIP125 H-Bridge
H-Bridge Project with TIP120 TIP125 3
H-Bridge Project with TIP120 TIP125 3
555 Relay Timer of 20A 0-10 minutest on breadboard wiring
555 Relay Timer of 20A 0-10 minutest on breadboard wiring
371-Arduino code for H-Bridge Project with TIP120/TIP125 Transistors
زبان: C++
/*
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 PCBX
    Includes 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.zip 0.05 MB