- Komponen Diperlukan
- Deskripsi Pin Motor Stepper
- Diagram Sirkuit untuk Kontrol Motor Stepper menggunakan Modul ULN2003
- Diagram Sirkuit untuk kontrol Motor Stepper menggunakan Modul L293D:
- Mengontrol Motor Stepper dengan AVR ATmega16
Stepper Motors adalah motor DC brushless yang dapat berputar dari 0 0 hingga 360 0 secara bertahap. Motor stepper menggunakan sinyal elektronik untuk memutar motor secara bertahap dan setiap sinyal memutar poros dengan kenaikan tetap (satu langkah). Malaikat rotasi dikendalikan dengan menerapkan urutan sinyal tertentu. Tidak seperti Motor Servo, motor stepper dapat digerakkan dengan menggunakan pin GPIO mikrokontroler daripada pin PWM dan dapat berputar dalam (+360 0) dan (-360 0)). Urutan sinyal menentukan searah jarum jam dan berlawanan arah jarum jam motor stepper. Untuk mengontrol kecepatan motor, kita hanya perlu mengubah kecepatan sinyal kontrol yang diterapkan. Motor stepper berputar secara bertahap. Ada beberapa mode langkah untuk mengoperasikan Motor Stepper seperti langkah penuh, langkah setengah dan langkah mikro. Untuk mengetahui lebih lanjut tentang dasar-dasar, teori dan prinsip kerja motor stepper, ikuti tautannya.
Kami sebelumnya menghubungkan Stepper Motor dengan banyak Mikrokontroler:
- Menghubungkan Motor Stepper dengan ARM7-LPC2148
- Menghubungkan Motor Stepper dengan Arduino Uno
- Menghubungkan Motor Stepper dengan MSP430G2
- Menghubungkan Motor Stepper dengan STM32F103C8
- Menghubungkan Motor Stepper dengan Mikrokontroler PIC
- Menghubungkan Motor Stepper dengan Mikrokontroler 8051
- Menghubungkan Motor Stepper dengan Raspberry Pi
Dalam tutorial ini kita akan menghubungkan 28BYJ-48 Stepper Motor dengan Mikrokontroler AVR Atmega16 menggunakan Atmel Studio 7.0. Motor stepper dinilai bekerja dalam 5V. Kami akan menghubungkan motor stepper dengan kedua driver motor yaitu ULN2003 dan L293. Keduanya akan digerakkan oleh pasokan 5V. Untuk menyederhanakan antarmuka, kami menggunakan modul prebuild dari kedua driver motor. Anda juga dapat menggunakan IC mandiri ULN2003 dan L293D. Jumlah kabel dan jumper bisa lebih banyak, jadi berhati-hatilah saat menghubungkan semua koneksi.
Komponen Diperlukan
- Stepper Motor (28BYJ-48)
- Modul ULN2003 / Driver Motor L293D
- IC Mikrokontroler Atmega16
- Osilator Kristal 16Mhz
- Dua Kapasitor 100nF
- Dua Kapasitor 22pF
- Tekan tombol
- Kabel Jumper
- Papan tempat memotong roti
- USBASP v2.0
- Led (Warna Apa Pun)
Deskripsi Pin Motor Stepper
Diagram Sirkuit untuk Kontrol Motor Stepper menggunakan Modul ULN2003
Hubungkan semua komponen seperti yang ditunjukkan pada diagram di bawah ini saat menggunakan ULN2003. Demikian pula kita akan menghubungkannya menggunakan L293D di langkah berikutnya. Kami menggunakan PORTA dari Atmega16 untuk menghubungkan motor stepper untuk kedua driver motor. Tidak perlu menghubungkan pin 5V motor stepper. Hanya pin koil yang diperlukan untuk menggerakkan motor stepper. Urutan pin sangat penting untuk menggerakkan motor stepper karena pemberian energi pada kumparan harus dilakukan untuk mencapai langkah. Empat input ULN2003 dan empat output ULN2003 digunakan dalam proyek ini. Input akan dihubungkan ke pin PORTA dan output akan dihubungkan ke pin Sinyal Motor Stepper. Juga, sambungkan satu tombol tekan di pin Reset untuk mengatur ulang Atmega16 kapan pun diperlukan. Hubungkan Atmega16 dengan rangkaian osilator kristal yang tepat. Semua sistem akan didukung oleh pasokan 5V.
Di bawah ini adalah Gambar sebenarnya dari Modul Driver Motor ULN2003:
Di bawah ini kami telah memberikan koneksi pin Atmega16 dengan ULN2003 dan L293D untuk memutar motor stepper. Menghubungkan motor stepper dengan modul L293D dijelaskan di bagian selanjutnya, ingat bahwa hanya satu modul baik ULN2003 atau L293D yang diperlukan untuk kontrol motor stepper.
Koneksi pin untuk INPUT adalah sebagai berikut:
Atmega16 |
ULN2003 |
L293D |
A0 |
IN1 (PIN1) |
IN1 (PIN2) |
A1 |
IN2 (PIN2) |
IN2 (PIN7) |
A2 |
IN3 (PIN3) |
IN3 (PIN10) |
A3 |
IN4 (PIN4) |
IN4 (PIN15) |
Koneksi pin untuk OUTPUT adalah sebagai berikut:
Motor Stepper |
ULN2003 |
L293D |
jeruk |
OUT1 (PIN16) |
OUT1 (PIN3) |
Kuning |
OUT2 (PIN15) |
OUT2 (PIN6) |
Merah Jambu |
OUT3 (PIN14) |
OUT3 (PIN11) |
Biru |
OUT4 (PIN13) |
OUT4 (PIN14) |
Diagram Sirkuit untuk kontrol Motor Stepper menggunakan Modul L293D:
Mengontrol Motor Stepper dengan AVR ATmega16
Seperti yang sudah diceritakan tidak seperti Motor Servo, motor Stepper membutuhkan driver eksternal misalnya driver motor ULN2003 atau L293D. Jadi sambungkan saja Sirkuit seperti di atas dan unggah program main.c yang diberikan di bagian akhir.
Sketsa menunjukkan motor stepper berputar di kedua sisi yaitu searah jarum jam dan berlawanan arah jarum jam. Jika Anda ingin memutar stepper ke satu arah, cukup beri komentar pada baris kode arah lain dalam sketsa.
Kode AVR lengkap untuk mengendalikan Motor Stepper diberikan di bawah ini. Kode itu sederhana dan dapat dipahami dengan mudah. Dua kode diberikan di bawah ini, satu untuk memutar motor stepper dengan ULN2003 dan yang kedua dengan modul L293D.
Hubungkan USBASP v2.0 Anda dan ikuti petunjuk di tautan ini untuk memprogram Mikrokontroler AVR Atmega16 menggunakan USBASP dan Atmel Studio 7.0. Cukup buat sketsa dan unggah menggunakan toolchain eksternal.
Kode lengkap dengan Video Demonstrasi diberikan di bawah ini.