Dalam tutorial ini kita akan menghubungkan motor DC ke Arduino UNO dan mengontrol kecepatannya menggunakan konsep PWM (Pulse Width Modulation). Fitur ini diaktifkan di UNO untuk mendapatkan tegangan variabel di atas tegangan konstan. Metode PWM dijelaskan di sini; pertimbangkan rangkaian sederhana seperti yang ditunjukkan pada gambar.
Jika tombolnya ditekan seperti angka, maka motor akan mulai berputar dan akan terus bergerak sampai tombol ditekan. Penekanan ini terus menerus dan diwakili dalam gambar gelombang pertama. Jika, untuk sebuah kasus, tombol pertimbangkan ditekan selama 8ms dan dibuka selama 2ms selama siklus 10ms, selama kasus ini motor tidak akan mengalami tegangan baterai 9V lengkap karena tombol hanya ditekan selama 8ms, sehingga tegangan terminal RMS melintas motor akan menjadi sekitar 7V. Karena tegangan RMS yang berkurang ini, motor akan berputar tetapi dengan kecepatan yang berkurang. Sekarang rata-rata turn on selama 10ms = Turn ON time / (Turn ON time + Turn OFF time), ini disebut duty cycle dan 80% (8 / (8 + 2)).
Dalam kasus kedua dan ketiga tombol ditekan lebih cepat dibandingkan kasus pertama. Karena itu, tegangan terminal RMS di terminal motor semakin menurun. Karena tegangan yang berkurang ini, kecepatan motor bahkan semakin berkurang. Penurunan kecepatan ini dengan duty cycle terus menerus terjadi hingga suatu titik dimana tegangan terminal motor tidak akan cukup untuk menghidupkan motor.
Jadi dengan ini kita dapat menyimpulkan PWM dapat digunakan untuk memvariasikan kecepatan motor.
Sebelum melangkah lebih jauh kita perlu membahas H-BRIDGE. Sekarang rangkaian ini memiliki dua fungsi utama, pertama adalah untuk menggerakkan motor DC dari sinyal kontrol daya rendah dan yang lainnya adalah untuk mengubah arah putaran motor DC.
Gambar 1
Gambar 2
Kita semua tahu bahwa untuk motor DC, untuk mengubah arah putaran, kita perlu mengubah polaritas tegangan suplai motor. Jadi untuk mengubah polaritas kami menggunakan H-bridge. Sekarang pada gambar1 di atas kita memiliki tombol merangkak. Seperti yang ditunjukkan pada gambar2, untuk motor yang berputar A1 dan A2 ditutup. Karena itu, arus mengalir melalui motor dari kanan ke kiri, seperti yang ditunjukkan pada 2 nd bagian dari Gambar 3. Untuk saat ini perhatikan motor berputar searah jarum jam. Sekarang jika sakelar A1 dan A2 dibuka, B1 dan B2 ditutup. Arus yang melalui motor mengalir dari kiri ke kanan seperti yang ditunjukkan pada 1 st bagian dari gambar3. Arah aliran arus ini berlawanan dengan yang pertama dan jadi kita melihat potensi yang berlawanan pada terminal motor dengan yang pertama, sehingga motor berputar berlawanan arah jarum jam. Beginilah cara kerja H-BRIDGE. Namun motor berdaya rendah dapat digerakkan oleh IC H-BRIDGE L293D.
L293D adalah IC H-BRIDGE yang dirancang untuk menggerakkan motor DC daya rendah dan ditunjukkan pada gambar. IC ini terdiri dari dua h-bridge sehingga dapat menggerakkan dua motor DC. Sehingga IC ini dapat digunakan untuk menggerakkan motor robot dari sinyal mikrokontroler.
Sekarang seperti yang telah dibahas sebelumnya IC ini memiliki kemampuan untuk mengubah arah putaran motor DC. Ini dicapai dengan mengontrol level tegangan pada INPUT1 dan INPUT2.
Aktifkan Pin |
Masukkan Pin 1 |
Masukkan Pin 2 |
Arah Motor |
Tinggi |
Rendah |
Tinggi |
Belok kanan |
Tinggi |
Tinggi |
Rendah |
Belok kiri |
Tinggi |
Rendah |
Rendah |
Berhenti |
Tinggi |
Tinggi |
Tinggi |
Berhenti |
Jadi seperti yang ditunjukkan pada gambar di atas, untuk putaran searah jarum jam 2A harus tinggi dan 1A harus rendah. Begitu pula untuk berlawanan arah jarum jam 1A harus tinggi dan 2A harus rendah.
Seperti yang ditunjukkan pada gambar, Arduino UNO memiliki saluran 6PWM, jadi kita bisa mendapatkan PWM (tegangan variabel) di salah satu dari enam pin ini. Dalam tutorial ini kita akan menggunakan PIN3 sebagai keluaran PWM.
Perangkat Keras: ARDUINO UNO, power supply (5v), kapasitor 100uF, LED, tombol (dua buah), resistor 10KΩ (dua buah).
Perangkat lunak: arduino IDE (Arduino nightly).
Diagram Sirkuit
Sirkuit ini terhubung di papan tempat memotong roti sesuai diagram sirkuit yang ditunjukkan di atas. Namun orang harus memperhatikan selama menghubungkan terminal LED. Walaupun tombol-tombol tersebut menunjukkan efek pantulan dalam hal ini, hal itu tidak menyebabkan kesalahan yang cukup besar jadi kita tidak perlu khawatir kali ini.
PWM dari UNO itu mudah, pada kondisi normal mengatur pengontrol ATMEGA untuk sinyal PWM tidaklah mudah, kita harus menentukan banyak register dan pengaturan untuk sinyal yang akurat, namun di ARDUINO kita tidak harus berurusan dengan semua itu.
Secara default semua file header dan register ditentukan sebelumnya oleh ARDUINO IDE, kita hanya perlu memanggilnya dan hanya itu kita akan memiliki output PWM pada pin yang sesuai.
Sekarang untuk mendapatkan keluaran PWM pada pin yang sesuai, kita perlu mengerjakan tiga hal,
|
Pertama kita perlu memilih pin keluaran PWM dari enam pin, setelah itu kita perlu mengatur pin tersebut sebagai keluaran.
Selanjutnya kita perlu mengaktifkan fitur PWM dari UNO dengan memanggil fungsi “analogWrite (pin, value)”. Di sini 'pin' mewakili nomor pin di mana kita membutuhkan keluaran PWM, kita letakkan sebagai '3'. Jadi di PIN3 kita mendapatkan keluaran PWM.
Nilai siklus tugas menghidupkan, antara 0 (selalu mati) dan 255 (selalu aktif). Kami akan menambah dan mengurangi angka ini dengan menekan tombol.
UNO memiliki resolusi maksimum "8", seseorang tidak dapat melangkah lebih jauh dari nilai 0-255. Namun resolusi PWM dapat diturunkan dengan menggunakan perintah “analogWriteResolution ()”, dengan memasukkan nilai dari 4-8 ke dalam tanda kurung, kita dapat mengubah nilainya dari PWM empat bit menjadi PWM delapan bit.
Saklar berfungsi untuk mengubah arah putaran motor DC.