Modul Driver Motor DC L298N Dijelaskan

Coba Instrumen Kami Untuk Menghilangkan Masalah





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

Gambaran

Papan sirkuit modular adalah penyelamat waktu terbaik bagi perancang elektronik yang juga mengurangi kesalahan pembuatan prototipe. Ini sebagian besar disukai oleh pemrogram yang menulis kode untuk mikrokontroler menghabiskan sebagian besar waktunya dengan mengetikkan kode di depan komputer dan memiliki lebih sedikit waktu untuk menyolder komponen elektronik yang terpisah.



Itulah mengapa kami dapat menemukan berton-ton sirkuit modular yang berbeda dibuat hanya untuk papan Arduino, mudah untuk dihubungkan dan memiliki keuntungan dari kesalahan perangkat keras paling sedikit saat merancang prototipe kami.

Ilustrasi modul L298N:

Ilustrasi modul L298N:



Modul ini dibangun di sekitar IC L298N dan umumnya tersedia di situs web E-commerce.

Kita gunakan Pengemudi motor DC karena IC dan mikrokontroler tidak mampu mengalirkan arus tidak lebih dari 100 miliampere pada umumnya. Mikrokontroler cerdas tetapi tidak kuat modul ini akan menambah beberapa otot ke Arduino, IC dan mikrokontroler lainnya untuk menggerakkan motor DC daya tinggi.

Ini dapat mengontrol 2 motor DC secara bersamaan hingga masing-masing 2 amp atau satu motor stepper. Kita dapat mengontrol kecepatan menggunakan PWM dan juga arah putaran motornya.

Modul ini sangat ideal untuk membangun robot dan proyek pemindahan tanah seperti mobil mainan.

Mari kita lihat detail teknis modul L298N.

rincian teknis modul L298N.

Deskripsi pin:

· Di sisi kiri terdapat port OUT1 dan OUT2, yang digunakan untuk menghubungkan motor DC. Begitu pula dengan OUT3 dan OUT4 untuk motor DC lainnya.

· ENA dan ENB adalah pin aktif, dengan menghubungkan ENA ke tinggi atau + 5V memungkinkan port OUT1 dan OUT2. Jika Anda menghubungkan pin ENA ke low atau ground, itu menonaktifkan OUT1 dan OUT2. Begitu pula untuk ENB dan OUT3 dan OUT4.

· IN1 hingga IN4 adalah pin input yang akan dihubungkan ke Arduino. Jika IN1 + Ve dan IN2 –Ve diinput dari mikrokontroler atau secara manual, OUT1 menjadi tinggi dan OUT2 menjadi rendah, sehingga kita dapat menggerakkan motor.

· Jika Anda input IN3 tinggi, OUT4 berubah tinggi dan jika Anda input IN4 rendah OUT3 berubah rendah, sekarang kita dapat menggerakkan motor lain.

· Jika Anda ingin membalikkan arah putaran motor, balikkan polaritas IN1 dan IN2, demikian pula untuk IN3 dan IN4.

· Dengan menerapkan sinyal PWM ke ENA dan ENB Anda dapat mengontrol kecepatan motor pada dua port output yang berbeda.

· Papan dapat menerima dari 7 hingga 12V secara nominal. Anda dapat memasukkan daya pada terminal + 12V dan ground ke 0V.

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

Jumper:

Ada tiga pin jumper yang bisa Anda scroll ke atas, lihat gambar ilustrasi.

Semua jumper akan terhubung pada awalnya melepas atau menyimpan jumper tergantung pada kebutuhan Anda.

Pelompat 1 (lihat gambar ilustrasi):

· Jika motor Anda membutuhkan suplai lebih dari 12V, Anda harus melepaskan jumper 1 dan menerapkan tegangan yang diinginkan (maksimum 35V) pada terminal 12v. Bawa yang lain Pasokan 5V dan masukan di terminal + 5V. Ya, Anda harus memasukkan 5V jika Anda perlu menggunakan lebih dari 12V (saat jumper 1 dilepas).

· Input 5V adalah untuk berfungsinya IC dengan benar, karena melepas jumper akan menonaktifkan regulator 5v yang terpasang dan melindungi dari tegangan input yang lebih tinggi dari terminal 12v.

· Terminal + 5V bertindak sebagai output jika suplai Anda antara 7 hingga 12V dan bertindak sebagai input jika Anda menerapkan lebih dari 12V dan jumper dilepas.

· Sebagian besar proyek hanya membutuhkan tegangan motor di bawah 12V jadi, pertahankan jumper sebagaimana adanya dan gunakan terminal + 5V sebagai output.

Jumper 2 dan Jumper 3 (lihat gambar ilustrasi):

· Jika Anda melepas dua jumper ini, Anda harus memasukkan sinyal aktif dan nonaktif dari mikrokontroler, sebagian besar pengguna lebih suka melepas dua jumper dan menerapkan sinyal dari mikrokontroler.

· Jika Anda menyimpan dua jumper OUT1 hingga OUT4 akan selalu diaktifkan. Ingat jumper ENA untuk OUT1 dan OUT2. Jumper ENB untuk OUT3 dan OUT4.

Sekarang mari kita lihat sirkuit praktisnya, bagaimana kita bisa motor antarmuka, Arduino dan suplai ke modul driver.

Skema:

diagram skema modul L298N.

Sirkuit di atas dapat digunakan untuk mobil mainan, jika Anda mengubah kodenya dengan benar dan menambahkan joystick.

Anda hanya perlu memberi daya pada modul L289N dan modul tersebut akan memberi daya pada Arduino melalui terminal Vin.

Sirkuit di atas akan memutar kedua motor searah jarum jam selama 3 detik dan berhenti selama 3 detik. Setelah itu motor akan berputar berlawanan arah jarum jam selama 3 detik dan berhenti selama 3 detik. Ini menunjukkan cara kerja jembatan-H.

Setelah itu kedua motor akan mulai berputar perlahan berlawanan arah jarum jam dengan menambah kecepatan secara bertahap ke maksimum dan secara bertahap mengurangi kecepatan ke nol. Ini menunjukkan kontrol kecepatan motor dengan 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--------------//

Prototipe penulis:

Prototipe Arduino rangkaian driver motor menggunakan modul L298N.

Jika Anda memiliki pertanyaan tentang proyek driver motor DC L298N ini, silakan ungkapkan di bagian komentar, Anda dapat menerima balasan cepat.




Sepasang: Rangkaian Pengisi Daya Baterai Ganda menggunakan Dump Capacitor Berikutnya: Joystick Mengendalikan Mobil RC 2.4 GHz Menggunakan Arduino