Terdapat banyak modul untuk Arduino atau untuk digunakan dalam projek DIY oleh pembuat. Dalam kes L298N adalah modul untuk mengawal motor. Dengan mereka anda boleh menggunakan kod mudah untuk atur cara papan Arduino kami dan dapat mengawal motor DC dengan cara yang mudah dan terkawal. Secara amnya, modul jenis ini lebih banyak digunakan dalam robotik atau penggerak bermotor, walaupun dapat digunakan untuk banyak aplikasi.
Kami telah memasukkan semua yang anda perlukan modul ESP, dengan cip ESP8266, yang modul yang memungkinkan untuk memperluas kapasiti Papan Arduino dan projek lain supaya mereka mempunyai sambungan WiFi. Modul-modul ini bukan sahaja dapat digunakan secara terpisah, yang baik ialah ia dapat digabungkan. Sebagai contoh, ESP8266 dapat digunakan untuk prototaip dan L298N kami, dengan mana kami akan mendapatkan motor yang dapat dikawal melalui Internet atau tanpa wayar.
Pengenalan L298N dan lembaran data:
Walaupun dengan Arduino anda juga dapat bekerja dengan motor stepper, yang terkenal dalam robotik, dalam hal ini biasanya lebih biasa menggunakan alat kawalan atau pemandu untuk motor DC. Anda boleh mendapatkan maklumat mengenai cip L298 dan modul dalam lembaran data pengeluar, seperti STMikroelektronik dari pautan ini. Sekiranya anda ingin melihat lembaran data modul tertentu, dan bukan hanya cip, anda boleh memuat turun PDF lain dari Handsontec L298N.
Tetapi secara umum, L298N adalah pemacu jenis H-bridge yang membolehkan kelajuan dan arah putaran motor DC dikawal. Ia juga dapat digunakan dengan motor stepper dengan mudah berkat 2 Jambatan H yang melaksanakan. Maksudnya, jambatan di H, yang bermaksud bahawa ia dibentuk oleh 4 transistor yang akan memungkinkan untuk membalikkan arah arus sehingga pemutar motor dapat berputar dalam satu arah atau yang lain seperti yang kita mahukan. Ini adalah kelebihan berbanding pengawal yang hanya membolehkan anda mengawal kelajuan putaran (RPM) dengan hanya mengawal nilai voltan bekalan.
L298N boleh berfungsi dengan pelbagai voltan, dari 3v hingga 35v, dan pada intensiti 2A. Inilah yang benar-benar akan menentukan prestasi atau kelajuan putaran motor. Perlu diingat bahawa elektronik yang digunakan modul biasanya menggunakan sekitar 3v, jadi motor akan selalu menerima 3v kurang dari daya yang kita gunakan untuk menyalurkannya. Ini adalah penggunaan yang agak tinggi, sebenarnya ia mempunyai elemen daya tinggi yang memerlukan heatsink seperti yang anda lihat dalam gambar.
Untuk mengawal kelajuan, anda boleh melakukan sesuatu yang terbalik dengan apa yang kita lakukan dengan LM35, dalam kes ini, bukannya mendapatkan voltan tertentu pada output dan harus mengubahnya menjadi darjah, di sini akan menjadi sebaliknya. Kami memberi makan kepada pemandu dengan voltan yang lebih rendah atau lebih tinggi untuk mendapatkannya giliran yang lebih pantas atau perlahan. Selain itu, modul L298N juga membolehkan papan Arduino dihidupkan pada 5v selagi kita memberi makan kepada pemandu dengan voltan sekurang-kurangnya 12v.
Integrasi dengan Arduino
Terdapat banyak projek yang anda boleh gunakan modul ini L298N. Sebenarnya, anda boleh membayangkan semua yang boleh anda lakukan dengannya dan mula bekerja. Sebagai contoh, contoh mudah ialah kawalan dua motor arus terus seperti yang dapat dilihat pada rajah sebelumnya yang dibuat dengan Fritzing.
Sebelum bekerja dengan L298N, kita mesti mengambil kira bahawa input modul atau Vin menyokong voltan antara 3v dan 35v dan bahawa kita juga mesti menghubungkannya ke tanah atau GND, seperti yang dapat dilihat pada gambar dengan kabel merah dan hitam masing-masing. Setelah disambungkan ke kuasa, perkara seterusnya adalah menyambungkan motor atau dua motor yang boleh dikendalikannya secara serentak. Ini mudah, anda hanya perlu menyambungkan dua terminal motor ke tab sambungan yang mempunyai modul di setiap sisi.
Dan sekarang mungkin yang paling rumit, dan menghubungkan sambungan modul atau pin ke Arduino dengan betul. Ingatlah bahawa jika jumper modul atau jambatan pengatur ditutup, iaitu, pengatur voltan modul diaktifkan dan terdapat output 5v yang boleh anda gunakan untuk menghidupkan papan Arduino. Sebaliknya, jika anda mengeluarkan pelompat anda menyahaktifkan pengawal selia dan anda perlu menghidupkan Arduino secara bebas. mata! Kerana pelompat hanya dapat disiapkan hingga voltan 12v, kerana lebih dari itu anda mesti melepaskannya agar tidak merosakkan modul ...
Anda boleh menghargainya terdapat 3 sambungan untuk setiap motor. Yang ditandai sebagai IN1 hingga IN4 adalah yang mengawal motor A dan B. Sekiranya anda tidak mempunyai salah satu motor yang disambungkan kerana anda hanya memerlukannya, maka anda tidak perlu meletakkan semuanya. Pelompat di setiap sisi sambungan ini untuk setiap motor adalah ENA dan ENB, iaitu untuk mengaktifkan motor A dan B, yang mesti ada sekiranya kita mahu kedua-dua motor berfungsi.
kepada motor A (Ini akan sama untuk B), kita mesti menghubungkan IN1 dan IN2 yang akan mengawal arah putaran. Sekiranya IN1 TINGGI dan IN2 RENDAH, motor berpusing ke satu arah, dan jika mereka RENDAH dan TINGGI, ia memutar yang lain. Untuk mengawal kelajuan putaran, anda mesti mengeluarkan jumper INA atau INB dan menggunakan pin yang kelihatan untuk menghubungkannya ke Arduino PWM, jadi jika kami memberikannya nilai dari 0 hingga 255, kami memperoleh kelajuan rendah atau lebih tinggi masing-masing.
Mengenai pengaturcaraan juga mudah di Arduino IDE. Contohnya, kodnya ialah:
<pre>// Motor A int ENA = 10; int IN1 = 9; int IN2 = 8; // Motor B int ENB = 5; int IN3 = 7; int IN4 = 6; void setup () { // Declaramos todos los pines como salidas pinMode (ENA, OUTPUT); pinMode (ENB, OUTPUT); pinMode (IN1, OUTPUT); pinMode (IN2, OUTPUT); pinMode (IN3, OUTPUT); pinMode (IN4, OUTPUT); } //Mover los motores a pleno rendimiento (255), si quieres bajar la velocidad puedes reducir el valor hasta la mínima que son 0 (parados)</pre> <pre>//Para mover los motores en sentido de giro contrario, cambia IN1 a LOW e IN2 a HIGH void Adelante () { //Direccion motor A digitalWrite (IN1, HIGH); digitalWrite (IN2, LOW); analogWrite (ENA, 255); //Velocidad motor A //Direccion motor B digitalWrite (IN3, HIGH); digitalWrite (IN4, LOW); analogWrite (ENB, 255); //Velocidad motor B }</pre>