پروجیکٹ: RJMD-R2101 ایچ-برج MOSFET موٹر ڈرائیور
اس سبق میں، ہم RJMD-R2101 H-Bridge MOSFET موٹر ڈرائیور کا استعمال کرتے ہوئے DC موٹر کو کنٹرول کرنے کا طریقہ سیکھیں گے۔ یہ منصوبہ یہ دکھائے گا کہ IRFZ44N MOSFETs کو IR2101 گیٹ ڈرائیورز کے ساتھ مؤثر طریقے سے کیسے استعمال کیا جائے تاکہ موٹر کی رفتار اور سمت کو کنٹرول کیا جا سکے۔ اس رہنما کے آخر تک، آپ کے پاس ایک فعال موٹر کنٹرول سیٹ اپ ہوگا جو موٹر کو ہموار طریقے سے تیز، بریک، اور روک سکتا ہے۔

جیسے جیسے ہم آگے بڑھیں گے، ہم ضروری ہارڈ ویئر کے اجزاء، وائرنگ کی ہدایات، اور مثال کے کوڈ کے ٹکڑے شامل کریں گے تاکہ یہ واضح ہو سکے کہ سب کچھ کس طرح مل کر کام کرتا ہے۔ زیادہ بصری نمائندگی کے لیے، میں متعلقہ ویڈیو دیکھنے کی تجویز دیتا ہوں (ویڈیو میں :15)۔

ہارڈویئر کی وضاحت
اس منصوبے کے بنیادی اجزاء IR2101 گیٹ ڈرائیور اور IRFZ44N MOSFETs ہیں۔ IR2101 ایک ہائی اسپیڈ ڈرائیور ہے جو N چینل MOSFETs کو ہاف برج کنفیگریشن میں چلانے کے لیے ڈیزائن کیا گیا ہے۔ یہ MOSFETs کی مؤثر سوئچنگ اور کنٹرول کی اجازت دیتا ہے، جس سے موٹر کو ہموار طریقے سے چلانے میں مدد ملتی ہے۔
IRFZ44N MOSFETs سوئچنگ عناصر کے طور پر کام کرتے ہیں جو موٹر کو فراہم کردہ طاقت کو کنٹرول کرتے ہیں۔ جب انہیں IR2101 کے ذریعے فعال کیا جاتا ہے، تو یہ MOSFETs زیادہ کرنٹ سنبھال سکتے ہیں، موٹر کو چلانے کے لیے ضروری طاقت فراہم کرتے ہیں۔ مل کر، یہ اجزاء موٹر کی سمت اور رفتار پر درست کنٹرول کی اجازت دیتے ہیں۔
ڈیٹا شیٹ کی تفصیلات
| کارخانہ دار | بین الاقوامی ریکٹیفائر |
|---|---|
| حصہ نمبر | IRFZ44N |
| منطق/آئی او وولٹیج | 10 V (VGS) |
| سپلائی وولٹیج | 55 وی (VDS) |
| آؤٹ پٹ کرنٹ (فی چینل) | 49 A (زیادہ سے زیادہ) |
| چوٹی کرنٹ (فی چینل) | 120 اے (زیادہ سے زیادہ) |
| پی ڈبلیو ایم فریکوئنسی کی رہنمائی | 100 کلو ہرٹز تک |
| ان پٹ منطقی حدیں | 2.0 V (VGS(th)) |
| وولٹیج ڈراپ / RDS(on)/ سچوریشن | 0.025 Ω (زیادہ سے زیادہ) |
| حرارتی حدود | 175 °C (زیادہ سے زیادہ) |
| پیکج | TO-220 |
| نوٹس / مختلف اقسام | ایچ-برج کی تشکیل میں عام طور پر استعمال ہوتا ہے۔ |
- MOSFETs کے لیے مناسب ہیٹ سنک کو یقینی بنائیں تاکہ زیادہ گرم ہونے سے بچا جا سکے۔
- پی ایم و کے ذریعے رفتار کنٹرول کا استعمال کریں تاکہ موٹر کی ہموار کارروائی حاصل کی جا سکے۔
- یہ تصدیق کریں کہ پاور سپلائی کا وولٹیج MOSFET کی درجہ بندی سے تجاوز نہ کرے۔
- موٹر کو وائرنگ کرتے وقت درست قطبیت کو یقینی بنائیں تاکہ نقصان سے بچا جا سکے۔
- بجلی کی فراہمی کے قریب ڈی کپلنگ کیپیسٹرز کا استعمال کریں تاکہ وولٹیج کو مستحکم کیا جا سکے۔
وائرنگ کی ہدایات

RJMD-R2101 موٹر ڈرائیور کو وائر کرنے کے لیے، پاور سپلائی کو جوڑنے سے شروع کریں۔ ڈرائیور کے VCC پن کو 5V پاور سورس سے جوڑیں۔ GND پن کو پاور سپلائی کی زمین سے جوڑنا چاہیے۔ اس کے بعد کنٹرول پنز کو جوڑیں: پہلے MOSFET کے لیے PWM سگنل پن پر جانا چاہیے۔PWM1_HIN1_PIN(جو پن 9 ہے)، اور پہلے MOSFET کے لیے انیبل پن کو جڑنا چاہیےEN1_LIN1_PIN(pin 8). دوسرے MOSFET کے لیے، PWM سگنل کو جوڑیںPWM2_HIN2_PIN(پن 3) اور انیبل پن کوEN2_LIN2_PIN(pin 2).

موٹر کے ٹرمینلز کو H-Bridge کے مناسب آؤٹ پٹس سے جوڑنا یقینی بنائیں۔ اگر آپ Arduino استعمال کر رہے ہیں تو PWM پنز کو Arduino بورڈ پر مخصوص پنز سے جوڑیں۔ مثال کے طور پر، جوڑیںPWM1_HIN1_PINپِن 9 پر،EN1_LIN1_PINپن 8 پر، اور اسی طرح۔ یہ سیٹ اپ آپ کو موٹر کو مؤثر طریقے سے کنٹرول کرنے کی اجازت دے گا۔
کوڈ کی مثالیں اور رہنمائی
کوڈ سیکشن میں موٹر کی رفتار اور سمت کو کنٹرول کرنے کے لیے متعین پنز کا استعمال کرتے ہوئے فنکشن شامل ہیں۔ نیچے موٹر کنٹرول خاکے کا ایک اقتباس ہے:
const int PWM1_HIN1_PIN= 9; // PWM pin for first MOSFET
const int EN1_LIN1_PIN= 8; // Enable pin for first MOSFET
اس حصے میں، ہم پہلے MOSFET کو کنٹرول کرنے کے لیے استعمال ہونے والے پنوں کی وضاحت کرتے ہیں۔PWM1_HIN1_PINاسے رفتار کنٹرول کے لیے استعمال کیا جاتا ہے، جبکہEN1_LIN1_PINموٹر ڈرائیور کو فعال کرتا ہے۔
void Motor(boolean direction, int speed=0) {
int speedPWM = map(speed, 0, 100, 0, 255);
// Control motor direction and speed here
}
یہ فنکشن ایک لیتا ہےdirectionموٹر کے گھومنے کی سمت کا تعین کرنے کے لیے پیرامیٹر، آیا یہ گھڑی کی سمت میں گھومے گا یا مخالف سمت میں۔speedپیرا میٹر کو ایک PWM قیمت کے ساتھ نقشہ بنایا گیا ہے، جو موٹر کی رفتار پر ہموار کنٹرول کی اجازت دیتا ہے۔
void stop() {
digitalWrite(EN1_LIN1_PIN, LOW); // Disable first MOSFET
}
یہstopیہ فنکشن موٹر کو ان ایبل پن کو کم کرکے غیر فعال کرتا ہے، جس سے موٹر کے ذریعے کسی بھی کرنٹ کا بہاؤ رک جاتا ہے۔ یہ اجزاء کو نقصان پہنچائے بغیر فوری طور پر رکنے کو یقینی بناتا ہے۔
مکمل کوڈ کے لیے، براہ کرم مضمون کے نیچے لوڈ کردہ مکمل پروگرام کا حوالہ دیں۔
نمائش / کیا توقع کریں
جب سیٹ اپ مکمل ہو جائے تو آپ کو موٹر کو آرڈینو سے بھیجے گئے احکامات کا جواب دیتے ہوئے دیکھنا چاہیے۔ موٹر مخصوص سمت میں گھومے گی، اور آپ PWM سگنلز کا استعمال کرتے ہوئے رفتار کو ایڈجسٹ کر سکتے ہیں۔ عام مسائل میں پلاریٹی کنکشن کا الٹ ہونا شامل ہے، جو موٹر کو مخالف سمت میں چلانے کا باعث بن سکتا ہے، اور فلوٹنگ ان پٹس جو بے قاعدہ رویے کا سبب بن سکتے ہیں۔
ٹیسٹنگ کے دوران، آپ یہ بھی نوٹ کر سکتے ہیں کہ موٹر کی رفتار PWM اقدار کی بنیاد پر تبدیل ہو رہی ہے۔ پاور فلو میں رکاوٹوں سے بچنے کے لیے تمام کنکشنز کو محفوظ بنائیں، جو کارکردگی پر اثر انداز ہو سکتی ہیں (ویڈیو میں 05:45 پر)۔
ویڈیو کے وقت کے نشانات
- 00:00- منصوبے کا تعارف
- 02:15- ہارڈویئر اجزاء کا جائزہ
- 05:45- موٹر کنٹرول کا مظاہرہ
- 08:30- کوڈ کی وضاحت اور تشریح
تصاویر
/*
IR2101 Motor Contorl Sketch
Controls DC motor with speed, brake and stop
IRF44ZN Mosfets used for high side and low side.
IR2101 Gate driver used to drive the MOSFETs.
you can ge the code, the gerbar file for PCB to produce and wirign diagram
from http://robojax.com/RJT390
written by Ahmad Shamshiri on Nov 19, 2024
www.Robojax.com https://youTube.com/@robojax
*/
const int PWM1_HIN1_PIN= 9;//must be a pint with ~
const int EN1_LIN1_PIN= 8;
const int PWM2_HIN2_PIN= 3;//must be a pint with ~
const int EN2_LIN2_PIN= 2;
const boolean CW =1;
const boolean CCW =0;
void Motor(boolean, int);//prototype
void brake();//prototype
void stop();//prototype
void setup() {
Serial.begin(9600);
pinMode(PWM1_HIN1_PIN, OUTPUT);
pinMode(EN1_LIN1_PIN, OUTPUT);
pinMode(PWM2_HIN2_PIN, OUTPUT);
pinMode(EN2_LIN2_PIN, OUTPUT);
}
void loop() {
Motor(CW, 100);
delay(5000);
brake();
delay(3000);
Motor(CCW, 100);
delay(5000);
stop();
delay(3000);
Motor(CCW, 50);//in CW at 50% speed
delay(5000);
brake();
delay(3000);
for(int i=0; i<=100; i++)
{
Motor(CCW, i);
delay(100);
}
delay(3000);
for(int i=100; i>=0; i--)
{
Motor(CCW, i);
delay(100);
}
brake();
delay(3000);
}
void stop()
{
Serial.println ("=== Stop");
digitalWrite(EN1_LIN1_PIN, LOW);
digitalWrite(PWM1_HIN1_PIN, LOW);
digitalWrite(EN2_LIN2_PIN, LOW);
digitalWrite(PWM2_HIN2_PIN, LOW);
}
void brake()
{
Serial.println ("=== Brake");
digitalWrite(PWM1_HIN1_PIN, HIGH);
digitalWrite(EN1_LIN1_PIN, LOW);
digitalWrite(PWM2_HIN2_PIN, HIGH);
digitalWrite(EN2_LIN2_PIN, 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_HIN1_PIN, speedPWM);
digitalWrite(EN1_LIN1_PIN, HIGH);
digitalWrite(PWM2_HIN2_PIN, LOW);
digitalWrite(EN2_LIN2_PIN, LOW);
}else{
Serial.print(" dir: ");Serial.println ("CCW");
digitalWrite(PWM1_HIN1_PIN, LOW);
digitalWrite(EN1_LIN1_PIN, LOW);
analogWrite(PWM2_HIN2_PIN, speedPWM);
digitalWrite(EN2_LIN2_PIN, HIGH);
}
}
وسائل اور حوالہ جات
-
باہرونی
-
باہرونیIR2101 Gate Driver Datasheetinfineon.com
-
باہرونیIRFZ44N MOSFET datasheetinfineon.com
فائلیں📁
Gerber files
-
RJMD-R2101_H-Bridge_Motor_Driver_Manufacturing_Pack.zipH-Bridge MOSFET Motor Driver all three files that you may need to place order. Contains: PCB Layers Gerber zip, BMO excel file and coordinate file
RJMD-R2101_3_file_to Order.zip0.17 MB