- Stepper Motor:
- ULN2003 Stepper Motor Driver:
- Komponen yang Diperlukan
- Diagram Sirkuit dan Penjelasannya
- Penjelasan Kode
Stepper Motor adalah motor yang dirancang khusus yang berputar secara bertahap. Kecepatan motor stepper tergantung pada kecepatan sinyal listrik yang diterapkan padanya. Pola yang berbeda dapat mengontrol arah dan jenis putaran motor stepper. Terutama dua jenis motor stepper yang tersedia, Unipolar dan Bipolar. Unipolar lebih mudah dioperasikan, dikendalikan dan juga lebih mudah didapat. Di sini, di tutorial ini kami menghubungkan Stepper Motor dengan Mikrokontroler PIC PIC16F877A.
Kami menggunakan motor stepper 28BYJ-48 untuk proyek ini yang murah dan mudah didapat. Ini adalah motor stepper unipolar 5V DC. Kami juga menggunakan Modul yang tersedia dengan motor ini yang terdiri dari ULN2003 Stepper Motor Driver IC. ULN2003 adalah larik pasangan Darlington, yang berguna untuk menggerakkan motor ini, karena mikrokontroler PIC tidak dapat menyediakan arus yang cukup untuk menggerakkan. ULN2003A mampu menggerakkan 500mA beban dengan 600mA arus puncak.
Stepper Motor:
Mari kita lihat spesifikasi Motor Stepper 28BYJ-48 dari datasheet.
Cara memutar Motor Stepper:
Jika kita melihat datasheet kita akan melihat pin-out.
Di dalam motor ada dua kumparan keran tengah yang tersedia. Kabel merah adalah yang umum untuk keduanya yang akan dihubungkan di VCC atau 5V.
4 kabel lainnya berwarna merah muda, merah, kuning dan biru akan mengontrol putaran tergantung pada sinyal listrik. Selain itu, bergantung pada gerakannya, motor ini dapat dikontrol dengan 3 langkah. Mode drive penuh, mode Half Drive dan mode Wave drive.
Tiga Mode Mengemudi Motor Stepper:
Drive Penuh: Jika dua elektromagnet stator diberi energi pada satu waktu, motor akan berjalan pada torsi penuh yang disebut mode urutan drive penuh.
Langkah |
Biru |
Merah Jambu |
Kuning |
jeruk |
1 |
1 |
1 |
0 |
0 |
2 |
0 |
1 |
1 |
0 |
3 |
0 |
0 |
1 |
1 |
4 |
1 |
0 |
0 |
1 |
Half-Drive: Ketika alternatif satu dan dua fase diberi energi, motor akan berjalan dalam mode setengah drive. Ini digunakan untuk meningkatkan resolusi sudut. Kekurangannya adalah lebih sedikit torsi yang dihasilkan pada gerakan ini.
Langkah |
Biru |
Merah Jambu |
Kuning |
jeruk |
1 |
1 |
0 |
0 |
0 |
2 |
1 |
1 |
0 |
0 |
3 |
0 |
1 |
0 |
0 |
4 |
0 |
1 |
1 |
0 |
5 |
0 |
0 |
1 |
1 |
6 |
0 |
0 |
0 |
1 |
7 |
1 |
0 |
0 |
1 |
8 |
1 |
0 |
0 |
0 |
Wave Drive: Dalam mode ini, satu elektromagnet stator dihidupkan. Ini mengikuti 4 langkah yang sama dengan mode Full-drive. Ini mengkonsumsi daya rendah dengan torsi rendah.
Langkah |
Biru |
Merah Jambu |
Kuning |
jeruk |
1 |
1 |
0 |
0 |
0 |
2 |
0 |
1 |
0 |
0 |
3 |
0 |
0 |
1 |
0 |
4 |
0 |
0 |
0 |
1 |
Kami sebelumnya telah menghubungkan Stepper Motor dengan Mikrokontroler lain:
Motor stepper juga dapat dikontrol tanpa Mikrokontroler, lihat Rangkaian Driver Motor Stepper ini.
ULN2003 Stepper Motor Driver:
Mari kita pahami break out board yang terdiri dari IC ULN2003. Penting untuk memahami pin out.
Bagian kuning digunakan untuk menghubungkan motor, Bagian Merah menunjukkan jumper, Penting untuk menempatkan jumper karena akan memungkinkan perlindungan dioda freewheeling untuk motor . The masukan merah muda adalah untuk koneksi mikrokontroler.
Kami akan memutar motor dalam mode penggerak penuh searah jarum jam dan memutarnya lagi dengan mode penggerak gelombang dalam arah berlawanan arah jarum jam. Periksa Video demonstrasi di akhir.
Komponen yang Diperlukan
- Pic16F877A
- Kit pemrograman
- Papan tempat memotong roti
- Kristal 20Mhz
- Kapasitor cakram 33pF - 2 lembar
- Resistor 4.7k
- Kabel dan pin berg
- Papan breakout ULN2003A bersama dengan motor 28BYJ-48 Stepper.
- Kabel tambahan untuk dihubungkan
- Unit catu daya 5V atau adaptor dinding dengan peringkat 500mA
Diagram Sirkuit dan Penjelasannya
Dalam diagram sirkuit, di sisi kiri menunjukkan PIC16F877A dan di sisi kanan menunjukkan sambungan ULN2003A. ULN2003 dan bagian motor Stepper ada di dalam papan breakout.
Sambungan dari papan Breakout ke unit mikrokontroler akan menjadi-
A. IN1 => Pin33
B. IN2 => Pin34
C. IN3 => Pin35
D. IN4 => Pin36
Saya menghubungkan semua komponen dan perangkat keras Anda untuk memutar motor Stepper dengan mikrokontroler PIC sudah siap.
Jika Anda baru mengenal Mikrokontroler PIC daripada mengikuti Tutorial Mikrokontroler PIC kami yang menyatakan Memulai dengan Mikrokontroler PIC.
Penjelasan Kode
Kode lengkap untuk Pengemudi Motor Stepper berbasis PIC ini diberikan di akhir tutorial ini dengan Video Demonstrasi. Seperti biasa pertama, kita perlu mengatur bit konfigurasi di mikrokontroler pic dan kemudian mulai dengan fungsi utama void .
Ini adalah makro untuk bit konfigurasi unit mikrokontroler dan file header perpustakaan.
#define _XTAL_FREQ 200000000 // Crystal Frequency, digunakan dalam penundaan #tentukan kecepatan 1 // Rentang Kecepatan 10 hingga 1 10 = terendah, 1 = tertinggi # tentukan langkah 250 // berapa banyak langkah yang diperlukan #tentukan searah jarum jam 0 // arah jarum jam makro # tentukan berlawanan arah jarum jam 1 // makro berlawanan arah jarum jam
Pada baris pertama kami mendefinisikan frekuensi kristal yang diperlukan untuk rutinitas penundaan. Makro lain digunakan untuk menentukan opsi terkait pengguna.
Jika Anda melihat kodenya, ada tiga fungsi yang ditentukan untuk menggerakkan motor dalam tiga mode dengan arah searah jarum jam dan berlawanan arah jarum jam. Berikut tiga fungsinya:
1. batal full_drive (arah karakter)
2. batal half_drive (arah karakter)
3. void wave_drive (arah karakter)
Periksa definisi fungsi-fungsi ini dalam kode lengkap yang diberikan di bawah ini:
Sekarang dalam fungsi utama batal , kita menggerakkan motor searah jarum jam menggunakan mode penggerak penuh tergantung pada langkah-langkahnya dan setelah penundaan beberapa detik kita lagi memutar motor berlawanan arah jarum jam menggunakan mode penggerak gelombang.
void main (void) { system_init (); sementara (1) { / * Mengendarai motor dalam mode penggerak penuh searah jarum jam * / selama (int i = 0; i
Ini adalah bagaimana kita dapat memutar motor stepper dengan Mikrokontroler PIC. Stepper Motors sangat berguna dalam mesin CNC, robotika, dan aplikasi tertanam lainnya.