Pemandu Motor L293D
Pemandu motor adalah cip litar bersepadu yang biasanya digunakan untuk mengawal motor dalam robot autonomi. Pemandu motor bertindak sebagai antara muka antara Arduino dan motor. IC pemandu motor yang paling biasa digunakan adalah dari siri L293 seperti L293D, L293NE, dan lain-lain. IC ini direka untuk mengawal 2 DC motor secara serentak. L293D terdiri daripada dua jambatan H. H-bridge adalah litar paling mudah untuk mengawal motor berkadar semasa yang rendah. Kami akan merujuk pemandu IC motor sebagai L293D sahaja. L293D mempunyai 16 pin.
Langkah 1: Senarai Bahagian



1) L293D IC
2) 4 kapasitor 1microfarad
3) 6 Pin Male Header
4) 12 Volt bateri atau sumber
5) Wayar atau soket wanita
6) 2 Motors
7) Arduino (Mana-mana) untuk menguji Pemandu
8) Komputer dengan arduino IDE
9) Misc itmes seperti solder iron, solder Wire etc
Langkah 2: Skematik dan Bekerja


L293D adalah 16 pin IC, dengan lapan pin, di setiap sisi, khusus untuk mengawal motor. Terdapat 2 INPUT pin, 2 pin OUTPUT dan 1 pin PIN untuk setiap motor. L293D terdiri daripada dua jambatan H. H-bridge adalah litar paling mudah untuk mengawal motor berkadar semasa yang rendah.
No Pin - Ciri-ciri Pin
- 1 - Aktifkan 1-2, apabila ini TINGGI bahagian kiri IC akan berfungsi dan apabila ia rendah bahagian kiri tidak akan berfungsi.
- 2 - INPUT 1, apabila pin ini TINGGI arus akan mengalir walaupun output 1
- 3 - OUTPUT 1, pin ini harus disambungkan ke salah satu terminal motor
- 4, 5 - GND, pin tanah
- 6 - OUTPUT 2, pin ini harus disambungkan ke salah satu terminal motor
- 7 - INPUT 2, apabila pin ini TINGGI arus akan mengalir walaupun output 2
- 8 - VCC2, ini adalah voltan yang akan dibekalkan kepada motor.
- 16 - VCC1, ini adalah sumber kuasa kepada IC. Oleh itu, pin ini perlu dibekalkan dengan 5 V
- 15 - INPUT 4, apabila pin ini TINGGI arus akan mengalir walaupun output 4
- 14 - OUTPUT 4, pin ini harus disambungkan ke salah satu terminal motor
- 13, 12 - GND, pin tanah
- 11 - OUTPUT 3, pin ini harus disambungkan ke salah satu terminal motor
- 10 - INPUT 3, apabila pin ini TINGGI arus akan mengalir walaupun output 3
- 9 - Membolehkan 3-4, apabila ini TINGGI bahagian kanan IC akan berfungsi dan apabila ia rendah, bahagian kanan tidak akan berfungsi.
Mengapa 4 alasan dalam IC?
IC pemandu motor berurusan dengan arus deras. Oleh kerana aliran arus yang begitu banyak, IC akan dipanaskan. Oleh itu, kita memerlukan sink haba untuk mengurangkan pemanasan. Oleh itu, terdapat 4 pin tanah. Apabila kami meminjamkan pin pada PCB, kami mendapat kawasan logam besar di antara alasan di mana haba boleh dibebaskan.
Kenapa Kapasitor?
Motor DC adalah beban induktif. Jadi, ia membangunkan EMF belakang apabila dibekalkan oleh voltan. Terdapat turun naik voltan semasa menggunakan motor berkata apabila tiba-tiba kita mengambil sebaliknya manakala motor bergerak ke arah tertentu. Pada ketika ini voltan turun naik agak tinggi dan ini boleh merosakkan IC. Oleh itu, kita menggunakan empat kapasitor yang membantu melemahkan variasi ekstrem semasa.
Langkah 3: Mekanisme Kerja dan Kod Arduino



Kini bergantung kepada nilai-nilai Input dan Enable the motor akan berputar mengikut arah arah jam atau arah lawan arah jam dengan kelajuan penuh (apabila Enable TINGGI) atau dengan kelajuan yang kurang (apabila Enable disediakan dengan PWM). Berikan kita asumsi untuk Left Motor ketika Enable adalah TINGGI dan Input 1 dan Input 2 adalah TINGGI dan RENDAH masing-masing maka motor akan bergerak mengikut arah jam.
Kod Arduino yang digunakan untuk menguji: -
// Menguji DC Motors dengan
// L293D // Define Pins // Motor A int enableA = 2; int MotorA1 = 4; int MotorA2 = 5; // Motor B int enableB = 3; int MotorB1 = 6; int MotorB2 = 7; void setup () {Serial.begin (9600); // configure pin mod pinMode (enabledA, OUTPUT); pinMode (MotorA1, OUTPUT); pinMode (MotorA2, OUTPUT); pinMode (enableB, OUTPUT); pinMode (MotorB1, OUTPUT); pinMode (MotorB2, OUTPUT); } void loop () {// enabling motor A Serial.println ("Enabling Motors"); digitalWrite (enableA, TINGGI); digitalWrite (enableB, TINGGI); kelewatan (1000); // buat sesuatu Serial.println ("Forward Movement"); digitalWrite (MotorA1, LOW); digitalWrite (MotorA2, TINGGI); digitalWrite (MotorB1, LOW); digitalWrite (MotorB2, TINGGI); kelewatan (3000); Serial.println ("Motion Backwards"); digitalWrite (MotorA1, TINGGI); digitalWrite (MotorA2, LOW); digitalWrite (MotorB1, TINGGI); digitalWrite (MotorB2, LOW); kelewatan (3000); Serial.println ("Motor berhenti"); / / stop digitalWrite (enableA, LOW); digitalWrite (enableB, LOW); kelewatan (3000); }