Search Code

ESP32 ٹیوٹوریل 15/55 - ESP32 L293D کے ساتھ ڈی سی موٹر اسپیڈ کنٹرول | سن فاؤنڈر کا ESP32 IoT لرننگ کٹ

ESP32 ٹیوٹوریل 15/55 - ESP32 L293D کے ساتھ ڈی سی موٹر اسپیڈ کنٹرول | سن فاؤنڈر کا ESP32 IoT لرننگ کٹ

ESP32 ٹیوٹوریل 15/55 - ESP32 L293D کے ساتھ DC موٹر اسپیڈ کنٹرول | سن فاؤنڈر کی ESP32 IoT لرننگ کٹ

ESP32 کے ساتھ DC موٹر کو کنٹرول کرنا مشکل لگ سکتا ہے، لیکن صحیح اجزاء اور سمجھ کے ساتھ یہ کافی آسان ہے۔ اس ٹیوٹوریل میں، ہم ایک پروجیکٹ بنائیں گے جو ہمیں L293D موٹر ڈرائیور کا استعمال کرتے ہوئے DC موٹر کی رفتار اور سمت کو کنٹرول کرنے کی اجازت دے گا۔ آخر تک، آپ کے پاس ایک کام کرنے والا سیٹ اپ ہوگا جو موٹر کو آگے اور پیچھے گھما سکتا ہے اور اس کی رفتار کو ایڈجسٹ کر سکتا ہے۔ بصری حوالے کے لیے، ویڈیو کو (ویڈیو میں 00:00 پر) ضرور دیکھیں۔

ESP32-15_L293D_motor_schematic

ہارڈویئر کی وضاحت

اس پروجیکٹ کے اہم اجزاء میں ESP32 مائیکروکنٹرولر اور L293D موٹر ڈرائیور شامل ہیں۔ ESP32 ایک طاقتور مائیکروکنٹرولر ہے جس میں بلٹ ان Wi-Fi اور Bluetooth صلاحیتیں ہیں، جو اسے IoT ایپلیکیشنز کے لیے موزوں بناتی ہیں۔ یہ اپنے GPIO پنوں کے ذریعے موٹرز سمیت مختلف ہارڈویئر اجزاء کو کنٹرول کر سکتا ہے۔ L293D ایک ڈوئل H-برج موٹر ڈرائیور ہے جو آپ کو دو DC موٹرز کی سمت اور رفتار کو کنٹرول کرنے کی اجازت دیتا ہے۔ ہر H-برج موٹر ٹرمینلز پر لگائی گئی وولٹیج کی قطبییت کو ریورس کرکے موٹر کو کسی بھی سمت میں چلا سکتا ہے۔ مزید برآں، L293D فی چینل 600 mA تک کرنٹ سنبھال سکتا ہے، جو اسے چھوٹی سے درمیانے سائز کی موٹرز کے لیے موزوں بناتا ہے۔

L293D-Motor-Driver-IC

ڈیٹاشیٹ کی تفصیلات

مینوفیکچرر Texas Instruments
پارٹ نمبر L293D
لاجک/IO وولٹیج 2.5 – 7 V
سپلائی وولٹیج 4.5 – 36 V
آؤٹ پٹ کرنٹ (فی چینل) 600 mA (عام)
پیک کرنٹ (فی چینل) 1.2 A (زیادہ سے زیادہ)
PWM فریکوئنسی رہنمائی 20 kHz (عام)
ان پٹ لاجک تھریشولڈز 0.8 V (زیادہ)، 2.0 V (کم)
وولٹیج ڈراپ / RDS(on) / سیچوریشن 1.5 V (زیادہ سے زیادہ)
تھرمل حدود 150 °C (زیادہ سے زیادہ)
پیکیج 16-DIP
نوٹس / ویریئنٹس کواڈروپل ہاف-H ڈرائیور

 

  • زیادہ کرنٹ والی ایپلیکیشنز کے لیے مناسب ہیٹ سنکنگ کو یقینی بنائیں۔
  • وولٹیج اسپائکس کو روکنے کے لیے پاور سپلائی کو کیپسیٹرز سے ڈیکپل کریں۔
  • ریورسڈ پولیرٹی کو روکنے کے لیے وائرنگ میں احتیاط برتیں۔
  • زیادہ گرمی سے بچنے کے لیے اسپیڈ کنٹرول کے لیے PWM استعمال کریں۔
  • نقصان سے بچنے کے لیے موٹر کی ریٹیڈ وولٹیج چیک کریں۔

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

ESP32-15_L293D_motor_wiring

ESP32 اور L293D موٹر ڈرائیور کو وائر کرنے کے لیے، پاور کنیکٹ کرکے شروع کریں۔ L293D کے پن 16 کو اپنی پاور سپلائی کے مثبت ٹرمینل سے اور پن 4 کو گراؤنڈ سے جوڑیں۔ اگلا، موٹر کو جوڑیں: ایک ٹرمینل پن 3 سے اور دوسرا L293D کے پن 6 سے۔ کنٹرول سگنلز کے لیے، ESP32 کے GPIO پن 13 کو L293D کے پن 2 سے اور GPIO پن 14 کو پن 7 سے جوڑیں۔ آخر میں، مشترکہ ریفرنس کو یقینی بنانے کے لیے ESP32 کی گراؤنڈ کو L293D کی گراؤنڈ سے جوڑنا یقینی بنائیں۔ اگر ویڈیو میں متبادل وائرنگ کا ذکر ہو (ویڈیو میں 05:00 پر)، تو دکھائی گئی مخصوص تبدیلیوں پر عمل کریں۔

کوڈ مثالیں اور واک تھرو

موٹر کو کنٹرول کرنے کے لیے کوڈ موٹر کے لیے پنوں کی تعریف اور ان کے موڈز سیٹ کرنے پر مشتمل ہے۔ یہاں سیٹ اپ فنکشن سے ایک اقتباس ہے:

#define motor1A 13
#define motor2A 14

void setup() {
  pinMode(motor1A, OUTPUT);
  pinMode(motor2A, OUTPUT);  
}

اس ٹکڑے میں، ہم موٹر کنٹرول پنوں کو مستقل کے طور پر بیان کرتے ہیں اور سیٹ اپ فنکشن میں انہیں آؤٹ پٹ کے طور پر سیٹ کرتے ہیں۔ یہ اہم ہے کیونکہ یہ موٹر کو کنٹرول کرنے کے لیے پنوں کو تیار کرتا ہے۔ لوپ فنکشن وہ جگہ ہے جہاں موٹر کا رویہ کنٹرول کیا جاتا ہے۔ یہاں لوپ کا ایک اہم حصہ ہے:

void loop() {
  digitalWrite(motor1A, HIGH);     
  digitalWrite(motor2A, LOW);   
  delay(2000); 

  digitalWrite(motor1A, LOW);     
  digitalWrite(motor2A, HIGH);    
  delay(2000); 

  digitalWrite(motor1A, LOW);     
  digitalWrite(motor2A, LOW);    
  delay(3000);
}

یہ کوڈ موٹر کو ایک سمت میں 2 سیکنڈ کے لیے گھماتا ہے، پھر سمت کو مزید 2 سیکنڈ کے لیے ریورس کرتا ہے، اور آخر میں موٹر کو 3 سیکنڈ کے لیے روکتا ہے۔ یہ لوپ غیر معینہ مدت تک دہرائے گا، جس سے مسلسل کنٹرول ممکن ہوگا۔ مزید تفصیلی بصیرت اور مکمل کوڈ کے لیے، مکمل پروگرام دیکھیں جو مضمون کے نیچے لوڈ ہوتا ہے۔

ڈیمونسٹریشن / کیا توقع کریں

کامیابی سے وائرنگ اور کوڈ اپ لوڈ کرنے کے بعد، آپ کو موٹر کو ایک سمت میں 2 سیکنڈ کے لیے گھومتے ہوئے، پھر دوسری سمت میں مزید 2 سیکنڈ کے لیے تبدیل ہوتے ہوئے، اور پھر 3 سیکنڈ کے لیے رکتے ہوئے دیکھنا چاہیے۔ اگر موٹر توقع کے مطابق جواب نہ دے، تو عام مسائل جیسے ریورسڈ پولیرٹی یا غلط پن کنیکشنز (ویڈیو میں 08:00 پر) چیک کریں۔ یہ سیٹ اپ ESP32 اور L293D کا استعمال کرتے ہوئے DC موٹر کی رفتار اور سمت کو کنٹرول کرنے کا ایک آسان طریقہ فراہم کرتا ہے۔

ویڈیو ٹائم اسٹیمپس

  • 00:00 آغاز
  • 2:01 ڈی سی موٹر کا تعارف
  • 6:14 L293D موٹر ڈرائیور
  • 9:17 پروجیکٹ دستاویزات
  • 11:04 وائرنگ کی وضاحت
  • 14:41 ESP32 کے ساتھ آردوینو موٹر کنٹرول
  • 17:10 ESP32 بورڈ کے لیے آردوینو پورٹس کا انتخاب
  • 18:52 پروجیکٹ کا مظاہرہ
  • 22:08 ESP32 کا استعمال کرتے ہوئے موٹر سپیڈ کنٹرول
  • 26:22 سپیڈ کنٹرول کا مظاہرہ
  • 28:01 سپیڈ اور ڈائریکشن کنٹرول آردوینو کوڈ
  • 29:05 سپیڈ اور ڈائریکشن کا مظاہرہ

تصاویر

L293D-Motor-Driver-IC
L293D-Motor-Driver-IC
ESP32-15_L293D_motor_schematic
ESP32-15_L293D_motor_schematic
ESP32-15_L293D_motor_wiring
ESP32-15_L293D_motor_wiring
814-ESP32 Tutorial 15/55- Arduino code for L293D motor control
زبان: C++
#define motor1A 13
#define motor2A 14

// the setup function runs once when you press reset or power the board
void setup() {
  // initialize digital pin as an output.
  pinMode(motor1A, OUTPUT);
  pinMode(motor2A, OUTPUT);  
}

// the loop function runs over and over again forever
void loop() {
  
  // Rotate
  digitalWrite(motor1A, HIGH);     
  digitalWrite(motor2A, LOW);   
  delay(2000); 

  // Rotate in the opposite direction
  digitalWrite(motor1A, LOW);     
  digitalWrite(motor2A, HIGH);    
  delay(2000); 

  // Stop
  digitalWrite(motor1A, LOW);     
  digitalWrite(motor2A, LOW);    
  delay(3000);
}

آپ کو جن چیزوں کی ضرورت ہو سکتی ہے

وسائل اور حوالہ جات

فائلیں📁

ڈیٹا شیٹ (پی ڈی ایف)