- Motor Stepper
- Memutar Motor Stepper DENGAN ARM7-LPC2148
- Komponen Diperlukan
- Stepper Motor (28BYJ-48)
- ULN2003 Stepper Motor Driver
- Diagram Sirkuit
- Pemrograman ARM7-LPC2148 untuk Stepper Motor
Dalam dunia otomatisasi saat ini, motor stepper dan motor servo adalah dua motor yang paling umum digunakan dalam sistem tertanam. Keduanya digunakan dalam berbagai mesin otomasi seperti lengan robotik, mesin CNC, kamera, dll. Dalam tutorial ini kita akan melihat cara menghubungkan Stepper Motor dengan ARM7-LPC2148 dan cara mengontrol kecepatannya. Jika Anda baru mengenal ARM7, mulailah dengan mempelajari tentang ARM7-LPC2148 dan alat pemrogramannya.
Motor Stepper
Motor stepper adalah motor DC tanpa sikat, yang dapat diputar dalam sudut kecil, sudut ini disebut langkah. Kita dapat memutar motor stepper selangkah demi selangkah dengan memberikan pulsa digital ke pinnya. Motor stepper tidak mahal dan memiliki desain yang kokoh. Kecepatan motor dapat dikontrol dengan mengubah frekuensi pulsa digital.
Ada dua jenis motor stepper yang tersedia berdasarkan jenis belitan stator: UNIPOLAR dan BIPOLAR. Di sini kami menggunakan motor stepper UNIPOLAR yang merupakan motor stepper yang paling umum digunakan . Untuk memutar motor stepper kita perlu memberi energi pada kumparan motor stepper secara berurutan. Berdasarkan operasi rotasi, mereka diklasifikasikan menjadi dua mode:
- Mode Langkah Penuh: (Urutan 4 Langkah)
- One-Phase On Stepping (WAVE STEPPING)
- Menginjak Dua Fase
- Mode Setengah Langkah (Urutan 8 Langkah)
Untuk mengetahui lebih banyak tentang motor stepper dan pengoperasiannya, ikuti tautannya.
Memutar Motor Stepper DENGAN ARM7-LPC2148
Disini kita akan menggunakan FULL STEP: ONE PHASE ON atau WAVE STEPPING mode untuk memutar Stepper Motor dengan ARM7-LPC2148
Dalam metode ini kita hanya akan memberi energi pada satu kumparan (satu pin LPC2148) pada satu waktu. Yaitu jika kumparan pertama A diberi energi sebentar, poros akan berubah posisinya dan kemudian kumparan B diberi energi untuk waktu yang sama dan poros akan kembali berubah posisinya. Sama seperti ini, kumparan C dan kemudian kumparan D diberi energi untuk menggerakkan poros lebih jauh. Hal ini membuat poros motor stepper berputar secara bertahap dengan memberi energi pada satu kumparan pada satu waktu.
Dengan metode ini kami memutar poros selangkah demi selangkah dengan memberi energi pada kumparan secara berurutan. Ini disebut urutan empat langkah karena memerlukan empat langkah.
Anda dapat memutar Motor stepper menggunakan metode SETENGAH LANGKAH (metode 8-Urutan) sesuai dengan nilai yang diberikan di bawah ini.
Langkah |
Kumparan A |
Coil B |
Coil C |
Coil D |
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 |
Komponen Diperlukan
Perangkat keras:
- ARM7-LPC2148
- ULN2003 IC Driver Motor
- LED - 4
- LANGKAH MOTOR (28BYJ-48)
- PAPAN TEMPAT MEMOTONG ROTI
- MENGHUBUNGKAN KABEL
Perangkat lunak:
- Keil uVision5
- Alat Sulap Flasic
Stepper Motor (28BYJ-48)
Motor stepper 28BYJ-48 sudah terlihat pada gambar di atas. Ini adalah motor Stepper Unipolar yang membutuhkan suplai 5V. Motor memiliki susunan unipolar 4 kumparan dan setiap kumparan diberi nilai + 5V sehingga relatif mudah untuk dikendalikan dengan mikrokontroler seperti Arduino, Raspberry Pi, STM32, ARM dll.
Namun kita membutuhkan IC Penggerak Motor seperti ULN2003 untuk mengendarainya, karena motor stepper mengkonsumsi arus tinggi dan dapat merusak mikrokontroler.
Spesifikasi 28BYJ-48 tersedia dalam lembar data di bawah ini:
Periksa juga interfacing dengan Stepper Motor dengan Mikrokontroler lain:
- Menghubungkan Motor Stepper dengan Arduino Uno
- Kontrol Motor Stepper dengan Raspberry Pi
- Stepper Motor Interfacing dengan Mikrokontroler 8051
- Menghubungkan Motor Stepper dengan Mikrokontroler PIC
- Menghubungkan Motor Stepper dengan MSP430G2
Motor stepper juga dapat dikontrol tanpa Mikrokontroler, lihat Rangkaian Driver Motor Stepper ini.
ULN2003 Stepper Motor Driver
Kebanyakan motor stepper hanya akan beroperasi dengan bantuan modul driver. Ini karena modul pengontrol (dalam kasus kami LPC2148) tidak akan dapat menyediakan arus yang cukup dari pin I / O untuk motor beroperasi. Jadi kita akan menggunakan modul eksternal seperti modul ULN2003 sebagai driver motor stepper.
Dalam proyek ini, kami akan menggunakan IC driver motor ULN2003. Diagram pin IC diberikan di bawah ini:
Pin (IN1 hingga IN7) adalah pin input untuk menghubungkan output mikrokontroler dan OUT1 ke OUT7 adalah pin output yang sesuai untuk menghubungkan input motor stepper. COM diberikan tegangan sumber positif yang diperlukan untuk perangkat output dan untuk sumber input daya eksternal.
Diagram Sirkuit
Diagram sirkuit untuk menghubungkan Stepper Motor dengan ARM-7 LPC2148 diberikan di bawah ini
ARM7-LPC2148 dengan ULN2003 Motor Driver IC
Pin GPIO LPC2148 (P0.7 hingga P0.10) dianggap sebagai pin output yang dihubungkan dengan pin input (IN1-IN4) dari IC ULN2003.
Pin LPC2148 |
PIN IC ULN2003 |
P0.7 |
IN1 |
P0.8 |
IN2 |
P0.9 |
IN3 |
Hal.10 |
IN4 |
5V |
COM |
GND |
GND |
Koneksi IC ULN2003 dengan Stepper Motor (28BYJ-48)
Pin keluaran (OUT1-OUT4) dari ULN2003 IC dihubungkan ke pin motor stepper (Biru, Merah Muda, Kuning, dan Oranye).
PIN IC ULN2003 |
PIN MOTOR LANGKAH |
OUT1 |
BIRU |
OUT2 |
MERAH JAMBU |
OUT3 |
KUNING |
OUT4 |
JERUK |
COM |
MERAH (+ 5V) |
LED dengan IN1 hingga IN4 dari ULN2003
Empat pin anoda LED (LED1, LED2, LED4, LED 4) masing-masing dihubungkan dengan pin IN1, IN2, IN3, dan IN4 dari ULN2003 dan katoda dari LED dihubungkan ke GND yang untuk menunjukkan pulsa dari LPC2148. Kita bisa mencatat pola pulsa yang diberikan. Pola ditunjukkan dalam video demonstrasi yang dilampirkan di bagian akhir.
Pemrograman ARM7-LPC2148 untuk Stepper Motor
Untuk memprogram ARM7-LPC2148 kita membutuhkan alat keil uVision & Flash Magic. Kami menggunakan Kabel USB untuk memprogram ARM7 Stick melalui port micro USB. Kami menulis kode menggunakan Keil dan membuat file hex dan kemudian file HEX di-flash ke tongkat ARM7 menggunakan Flash Magic. Untuk mengetahui lebih lanjut tentang menginstal keil uVision dan Flash Magic dan bagaimana menggunakannya ikuti link Memulai Dengan Mikrokontroler ARM7 LPC2148 dan Program itu menggunakan Keil uVision.
Kode lengkap untuk mengendalikan Stepper Motor dengan ARM 7 diberikan di akhir tutorial ini, di sini kami menjelaskan beberapa bagiannya.
1. Untuk menggunakan metode FULL STEP-ONE PHASE ON kita perlu menyertakan perintah di bawah ini. Jadi kami menggunakan baris berikut dalam program
unsigned char searah jarum jam = {0x1,0x2,0x4,0x8}; // Perintah untuk rotasi searah jarum jam unsigned char anticlockwise = {0x8,0x4,0x2,0x1}; // Perintah untuk rotasi berlawanan arah jarum jam
2. Baris berikut digunakan untuk menginisialisasi pin PORT0 sebagai output dan mengaturnya ke LOW
PINSEL0 = 0x00000000; // Mengatur pin PORT0 IO0DIR - = 0x00000780; // Pengaturan pin P0.7, P0.8, P0.9, P0.10 sebagai OUTPUT IO0CLR = 0x00000780; // Pengaturan P0.7, P0.8, P0.9, P0.10 pin OUTPUT sebagai RENDAH
3. Setel pin PORT (P0.7 ke P0.10) TINGGI menurut perintah Searah Jarum Jam dengan menggunakan ini untuk loop dengan penundaan
untuk (int j = 0; j
Sama untuk Anti-clock Wise
untuk (int z = 0; z
4. Ubah waktu tunda untuk mengubah kecepatan putaran motor stepper
penundaan (0x10000); // Ubah nilai ini untuk mengubah kecepatan rotasi (0x10000) -Kecepatan penuh (0x50000) -Melambat (0x90000) -Melambat dari sebelumnya. Jadi dengan meningkatkan penundaan kami menurunkan kecepatan rotasi.
5. Jumlah langkah untuk satu putaran penuh dapat diubah dengan kode di bawah ini
int no_of_steps = 550; // Ubah nilai ini untuk jumlah rotasi langkah yang diperlukan (550 memberikan satu rotasi lengkap)
Untuk motor stepper saya, saya mendapat 550 langkah untuk putaran penuh dan 225 untuk putaran setengah. Jadi ubahlah sesuai kebutuhan Anda.
6. Fungsi ini digunakan untuk membuat waktu tunda.
void delay (unsigned int value) // Berfungsi untuk menghasilkan delay { unsigned int z; untuk (z = 0; z
Kode lengkap dengan Video demonstrasi diberikan di bawah ini.