Modul Pemandu Motor L298N DC Dijelaskan

Cuba Instrumen Kami Untuk Menghapuskan Masalah





Dalam posting ini kita akan belajar tentang modul pemacu motor DC H-bridge dual L298N yang dapat digunakan untuk menggerakkan motor DC dan motor stepper dengan mikrokontroler dan IC.

Gambaran keseluruhan

Papan litar modular adalah penyelamat masa terbaik untuk pereka elektronik yang juga mengurangkan kesalahan prototaip. Ini lebih disukai oleh pengaturcara yang menulis kod untuk mikrokontroler menghabiskan sebahagian besar waktunya dengan menaip kod di hadapan komputer dan mempunyai sedikit masa untuk menyolder komponen elektronik yang diskrit.



Itulah sebabnya kami dapat menjumpai banyak rangkaian litar modular yang dibuat hanya untuk papan Arduino, mudah untuk berinteraksi dan mempunyai kelebihan daripada kesilapan perkakasan semasa merancang prototaip kami.

Ilustrasi modul L298N:

Ilustrasi modul L298N:



Modul ini dibina di sekitar IC L298N yang biasanya terdapat di laman web E-commerce.

Kami guna Pemandu motor DC kerana IC dan mikrokontroler tidak mampu menyampaikan arus tidak lebih dari 100 miliamp pada amnya. Mikrokontroler pintar tetapi tidak kuat modul ini akan menambahkan beberapa otot pada Arduino, IC dan mikrokontroler lain untuk menggerakkan motor DC berkuasa tinggi.

Ia dapat mengawal 2 motor DC secara serentak hingga 2 amp masing-masing atau satu motor stepper. Kita boleh mengawal kelajuan menggunakan PWM dan juga arah putaran motornya.

Modul ini sangat sesuai untuk membina robot dan projek bergerak darat seperti kereta mainan.

Mari lihat butiran teknikal modul L298N.

perincian teknikal modul L298N.

Huraian pin:

· Di sebelah kiri terdapat port OUT1 dan OUT2, iaitu untuk menghubungkan motor DC. Begitu juga dengan OUT3 dan OUT4 untuk motor DC yang lain.

· ENA dan ENB mengaktifkan pin, dengan menghubungkan ENA ke tinggi atau + 5V ia membolehkan port OUT1 dan OUT2. Sekiranya anda menyambungkan pin ENA ke rendah atau tanah, ia mematikan OUT1 dan OUT2. Begitu juga untuk ENB dan OUT3 dan OUT4.

· IN1 hingga IN4 adalah pin input yang akan disambungkan ke Arduino. Sekiranya anda memasukkan IN1 + Ve dan IN2 –Ve dari mikrokontroler atau secara manual, OUT1 bertukar tinggi dan OUT2 berubah rendah, sehingga kita dapat menggerakkan motor.

· Jika anda memasukkan IN3 tinggi, OUT4 menjadi tinggi dan jika anda memasukkan IN4 rendah OUT3 menjadi rendah, sekarang kita dapat menggerakkan motor lain.

· Sekiranya anda mahu membalikkan arah putaran motor, sebaliknya balikkan polaritas IN1 dan IN2, sama untuk IN3 dan IN4.

· Dengan menggunakan isyarat PWM ke ENA dan ENB, anda dapat mengawal kelajuan motor pada dua port output yang berbeza.

· Papan boleh menerima dari 7 hingga 12V secara nominal. Anda boleh memasukkan kuasa pada terminal + 12V dan arde ke 0V.

· Terminal + 5V adalah OUTPUT yang dapat digunakan untuk menghidupkan Arduino atau modul lain jika diperlukan.

Pelompat:

Terdapat tiga pin pelompat yang boleh anda tatal ke atas untuk melihat gambar yang digambarkan.

Semua pelompat akan dihubungkan pada awalnya mengeluarkan atau menyimpan pelompat bergantung pada keperluan anda.

Jumper 1 (lihat gambar bergambar):

· Sekiranya motor memerlukan bekalan lebih dari 12V, anda mesti memutuskan sambungan jumper 1 dan menggunakan voltan yang diingini (maksimum 35V) pada terminal 12v. Bawa yang lain Bekalan 5V dan masukan pada terminal + 5V. Ya, anda harus memasukkan 5V jika anda perlu menggunakan lebih dari 12V (semasa pelompat 1 dikeluarkan).

· Input 5V adalah untuk berfungsi dengan baik IC, kerana melepaskan jumper akan mematikan pengatur 5v bawaan dan melindungi dari voltan input yang lebih tinggi dari terminal 12v.

· Terminal + 5V bertindak sebagai output jika bekalan anda antara 7 hingga 12V dan bertindak sebagai input jika anda menggunakan lebih dari 12V dan jumper dikeluarkan.

· Sebilangan besar projek hanya memerlukan voltan motor di bawah 12V, simpan jumpernya sebagaimana adanya dan gunakan terminal + 5V sebagai output.

Jumper 2 dan Jumper 3 (lihat gambar bergambar):

· Sekiranya anda melepaskan kedua pelompat ini, anda perlu memasukkan isyarat aktif dan nyahaktifkan dari mikrokontroler, kebanyakan pengguna lebih suka mengeluarkan dua pelompat dan menggunakan isyarat dari mikrokontroler.

· Sekiranya anda menyimpan dua pelompat, OUT1 hingga OUT4 akan selalu diaktifkan. Ingat pelompat ENA untuk OUT1 dan OUT2. Jumper ENB untuk OUT3 dan OUT4.

Sekarang mari kita lihat litar praktikal, bagaimana kita boleh motor antara muka, Arduino dan membekalkan ke modul pemacu.

Skematik:

gambarajah skematik modul L298N.

Litar di atas boleh digunakan untuk kereta mainan, jika anda menukar kod dengan tepat dan menambahkan kayu bedik.

Anda hanya perlu menghidupkan modul L289N dan modul akan menghidupkan Arduino melalui terminal Vin.

Litar di atas akan memutarkan kedua-dua motor mengikut arah jam selama 3 saat dan berhenti selama 3 saat. Selepas itu motor akan berpusing berlawanan arah jam selama 3 saat dan berhenti selama 3 saat. Ini menunjukkan jambatan H beraksi.

Selepas itu kedua-dua motor akan mula berputar perlahan dalam arah lawan jam sehingga mendapat kelajuan secara beransur-ansur hingga maksimum dan secara beransur-ansur mengurangkan kelajuan menjadi sifar. Ini menunjukkan kawalan kelajuan motor oleh PWM.

Program:

//----------------Program developed by R.GIRISH--------------//
const int Enable_A = 9
const int Enable_B = 10
const int inputA1 = 2
const int inputA2 = 3
const int inputB1 = 4
const int inputB2 = 5
void setup()
{
pinMode(Enable_A, OUTPUT)
pinMode(Enable_B, OUTPUT)
pinMode(inputA1, OUTPUT)
pinMode(inputA2, OUTPUT)
pinMode(inputB1, OUTPUT)
pinMode(inputB2, OUTPUT)
}
void loop()
{
//----Enable output A and B------//
digitalWrite(Enable_A, HIGH)
digitalWrite(Enable_B, HIGH)
//----------Run motors-----------//
digitalWrite(inputA1, HIGH)
digitalWrite(inputA2, LOW)
digitalWrite(inputB1 , HIGH)
digitalWrite(inputB2, LOW)
delay(3000)
//-------Disable Motors----------//
digitalWrite(Enable_A, LOW)
digitalWrite(Enable_B, LOW)
delay(3000)
//-------Reverse Motors----------//
digitalWrite(Enable_A, HIGH)
digitalWrite(Enable_B, HIGH)
digitalWrite(inputA1, LOW)
digitalWrite(inputA2, HIGH)
digitalWrite(inputB1 , LOW)
digitalWrite(inputB2, HIGH)
delay(3000)
//-------Disable Motors----------//
digitalWrite(Enable_A, LOW)
digitalWrite(Enable_B, LOW)
delay(3000)
//----------Speed rise----------//
for(int i = 0 i < 256 i++)
{
analogWrite(Enable_A, i)
analogWrite(Enable_B, i)
delay(40)
}
//----------Speed fall----------//
for(int j = 256 j > 0 j--)
{
analogWrite(Enable_A, j)
analogWrite(Enable_B, j)
delay(40)
}
//-------Disable Motors----------//
digitalWrite(Enable_A, LOW)
digitalWrite(Enable_B, LOW)
delay(3000)
}
//----------------Program developed by R.GIRISH--------------//

Prototaip pengarang:

Arduino prototaip litar pemandu motor menggunakan modul L298N.

Sekiranya anda mempunyai pertanyaan mengenai projek pemandu motor L298N DC ini, sila nyatakan di bahagian komen, anda mungkin akan mendapat balasan pantas.




Sebelumnya: Litar Pengisi Bateri Berganda menggunakan Dump Capacitor Seterusnya: Joystick Dikendalikan 2.4 GHz RC Car Menggunakan Arduino