- Motor Stepper
- Memutar Motor Stepper DENGAN ARM7-LPC2148
- Komponen Diperlukan
- Motor Stepper (28BYJ-48)
- Pemandu Motor Stepper ULN2003
- Rajah Litar
- Pengaturcaraan ARM7-LPC2148 untuk Stepper Motor
Pada masa ini automasi dunia motor stepper dan servo motor adalah dua motor yang paling biasa digunakan dalam sistem tertanam. Kedua-duanya digunakan dalam pelbagai mesin automasi seperti lengan robot, mesin CNC, kamera dan lain-lain. Dalam tutorial ini kita akan melihat bagaimana untuk menghubungkan Motor Stepper dengan ARM7-LPC2148 dan bagaimana mengawal kelajuannya. Sekiranya anda baru menggunakan ARM7, mulailah dengan mempelajari tentang ARM7-LPC2148 dan alat pengaturcaraannya.
Motor Stepper
Motor stepper adalah motor DC tanpa berus, yang dapat diputar dalam sudut kecil, sudut ini disebut langkah. Kita dapat memutar motor stepper selangkah demi selangkah dengan memberikan denyutan digital ke pinnya. Motor stepper murah dan mempunyai reka bentuk yang lasak. Kelajuan motor dapat dikawal dengan mengubah frekuensi denyutan digital.
Terdapat dua jenis motor stepper yang tersedia berdasarkan jenis belitan stator: UNIPOLAR dan BIPOLAR. Di sini kita menggunakan motor stepper UNIPOLAR yang merupakan motor stepper yang paling biasa digunakan . Untuk memutar motor stepper kita perlu memberi tenaga pada gegelung motor stepper secara berurutan. Berdasarkan operasi putaran, mereka dikelaskan kepada dua mod:
- Mod Langkah Penuh: (Urutan 4 Langkah)
- Satu Fasa Melangkah (WAVE STEPPING)
- Dua Fasa Melangkah
- Mod Setengah Langkah (Urutan 8 Langkah)
Untuk mengetahui lebih lanjut mengenai motor stepper dan pengoperasiannya, ikuti pautan.
Memutar Motor Stepper DENGAN ARM7-LPC2148
Di sini kita akan menggunakan FULL STEP: ONE FASE ON atau WAVE STEPPING mode untuk memutar Stepper Motor dengan ARM7-LPC2148
Dalam kaedah ini kita akan memberi tenaga hanya satu gegelung (satu pin LPC2148) pada satu masa. Iaitu jika gegelung pertama A diberi tenaga untuk waktu yang kecil, poros akan mengubah kedudukannya dan kemudian gegelung B diberi tenaga untuk masa yang sama dan poros sekali lagi akan mengubah kedudukannya. Sama seperti ini, gegelung C dan kemudian gegelung D diberi tenaga untuk menggerakkan poros lebih jauh. Ini menjadikan poros motor stepper berputar dengan langkah demi langkah dengan memberi tenaga satu gegelung pada satu masa.
Dengan kaedah ini kita memutarkan poros selangkah demi selangkah dengan menggerakkan gegelung secara berurutan. Ini dipanggil urutan empat langkah kerana memerlukan empat langkah.
Anda boleh memutar Motor stepper menggunakan kaedah HALF STEP (kaedah 8-Sequence) mengikut nilai yang diberikan di bawah.
Langkah |
Gegelung A |
Gegelung B |
Gegelung C |
Gegelung 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
Perkakasan:
- ARM7-LPC2148
- IC Pemandu Motor ULN2003
- LED - 4
- MOTOR STEPPER (28BYJ-48)
- PAPAN BREAD
- MENGHUBUNGKAN Wayar
Perisian:
- Keil uVision5
- Alat Sihir Flasik
Motor Stepper (28BYJ-48)
Motor stepper 28BYJ-48 sudah ditunjukkan dalam gambar di atas. Ia adalah motor Unipolar Stepper yang memerlukan bekalan 5V. Motor ini mempunyai susunan unipolar 4 gegelung dan setiap gegelung dinilai untuk + 5V oleh itu ia agak mudah dikawal dengan mikrokontroler seperti Arduino, Raspberry Pi, STM32, ARM dll.
Tetapi kita memerlukan IC Pemacu Motor seperti ULN2003 untuk menggerakkannya, kerana motor stepper menggunakan arus tinggi dan boleh merosakkan mikrokontroler.
Spesifikasi 28BYJ-48 disediakan dalam lembaran data di bawah:
Periksa juga antara muka dengan Stepper Motor dengan Pengawal Mikro lain:
- Interfacing Stepper Motor dengan Arduino Uno
- Kawalan Motor Stepper dengan Raspberry Pi
- Interfacing Motor Stepper dengan Mikrokontroler 8051
- Interfacing Stepper Motor dengan PIC Microcontroller
- Interfacing Stepper Motor dengan MSP430G2
Motor Stepper juga dapat dikendalikan tanpa Mikrokontroler, lihat Litar Pemandu Motor Stepper ini.
Pemandu Motor Stepper ULN2003
Sebilangan besar motor stepper akan beroperasi hanya dengan bantuan modul pemacu. Ini kerana modul pengawal (Dalam kes kami LPC2148) tidak dapat memberikan arus yang cukup dari pin I / O-nya agar motor dapat beroperasi. Oleh itu, kami akan menggunakan modul luaran seperti modul ULN2003 sebagai pemacu motor stepper.
Dalam projek ini, kami akan menggunakan IC pemandu motor ULN2003. Gambarajah pin IC diberikan di bawah:
Pin (IN1 hingga IN7) adalah pin input untuk menyambungkan output mikrokontroler dan OUT1 hingga OUT7 adalah pin output yang sesuai untuk menyambungkan input motor stepper. COM diberikan voltan sumber positif yang diperlukan untuk peranti output dan untuk sumber input kuasa luaran.
Rajah Litar
Gambarajah litar untuk menghubungkan Motor Stepper dengan ARM-7 LPC2148 diberikan di bawah
ARM7-LPC2148 dengan IC Pemandu Motor ULN2003
Pin GPIO LPC2148 (P0.7 hingga P0.10) dianggap sebagai pin output yang disambungkan dengan pin input (IN1-IN4) IC ULN2003.
LPC2148 Pin |
PIN PIN ULN2003 |
P0.7 |
IN1 |
P0.8 |
IN2 |
P0.9 |
IN3 |
P.10 |
IN4 |
5V |
KOM |
GND |
GND |
Sambungan IC ULN2003 dengan Stepper Motor (28BYJ-48)
Pin output (OUT1-OUT4) dari ULN2003 IC disambungkan ke pin motor stepper (Biru, Pink, Kuning, dan Jingga).
PIN IC ULN2003 |
PIN PINANG STEPPER MOTOR |
KELUAR1 |
BIRU |
KELUAR2 |
PINK |
KELUAR3 |
KUNING |
KELUAR4 |
ORANG |
KOM |
MERAH (+ 5V) |
LED dengan IN1 hingga IN4 dari ULN2003
Empat pin anod LED (LED1, LED2, LED4, LED 4) disambungkan dengan pin masing-masing IN1, IN2, IN3, dan IN4 dari ULN2003 dan katod LED disambungkan ke GND yang menunjukkan denyutan dari LPC2148. Kita dapat melihat corak denyutan yang disediakan. Corak ditunjukkan dalam video demonstrasi yang dilampirkan pada akhir.
Pengaturcaraan ARM7-LPC2148 untuk Stepper Motor
Untuk Program ARM7-LPC2148, kami memerlukan alat keil uVision & Flash Magic. Kami menggunakan Kabel USB untuk memprogram ARM7 Stick melalui port USB mikro. Kami menulis kod menggunakan Keil dan membuat fail hex dan kemudian fail HEX diturunkan ke tongkat ARM7 menggunakan Flash Magic. Untuk mengetahui lebih lanjut mengenai memasang keil uVision dan Flash Magic dan cara menggunakannya, ikuti pautan Memulakan Dengan Mikrokontroler ARM7 LPC2148 dan Program dengan menggunakan Keil uVision.
Kod lengkap untuk mengawal Stepper Motor dengan ARM 7 diberikan pada akhir tutorial ini, di sini kami menerangkan beberapa bahagiannya.
1. Untuk menggunakan kaedah FULL STEP-ONE PHASE ON, kita perlu memasukkan perintah di bawah ini. Oleh itu, kami menggunakan baris berikut dalam program ini
char tidak bertanda mengikut arah jam = {0x1,0x2,0x4,0x8}; // Perintah untuk putaran mengikut arah jam char yang tidak bertanda berlawanan arah jam = {0x8,0x4,0x2,0x1}; // Perintah untuk putaran berlawanan arah jam
2. Garis berikut digunakan untuk memulakan pin PORT0 sebagai output dan menetapkannya ke RENDAH
PINSEL0 = 0x00000000; // Menetapkan pin PORT0 IO0DIR - = 0x00000780; // Menetapkan pin P0.7, P0.8, P0.9, P0.10 sebagai OUTPUT IO0CLR = 0x00000780; // Menetapkan P0.7, P0.8, P0.9, P0.10 pin OUTPUT sebagai RENDAH
3. Tetapkan pin PORT (P0.7 hingga P0.10) TINGGI mengikut arahan Jam Pusing dengan menggunakan ini untuk gelung dengan kelewatan
untuk (int j = 0; j
Sama dengan Anti Jam
untuk (int z = 0; z
4. Ubah masa tunda untuk mengubah kelajuan putaran motor stepper
kelewatan (0x10000); // Tukar nilai ini untuk mengubah kelajuan putaran (0x10000) -Kelajuan penuh (0x50000) -Lambat (0x90000) -Lambat berbanding sebelumnya. Oleh itu dengan meningkatkan kelewatan kita menurunkan kelajuan putaran.
5. Bilangan langkah untuk satu putaran lengkap dapat diubah dengan kod di bawah
int no_of_steps = 550; // Ubah nilai ini untuk putaran bilangan langkah yang diperlukan (550 memberikan satu putaran lengkap)
Untuk motor stepper saya, saya mendapat 550 langkah untuk putaran lengkap dan 225 untuk putaran separuh. Oleh itu, ubahlah mengikut keperluan anda.
6. Fungsi ini digunakan untuk membuat masa tunda.
kelewatan tidak sah (nilai int yang tidak ditandatangani) // Fungsi untuk menghasilkan kelewatan { int z yang tidak ditandatangani; untuk (z = 0; z
Kod lengkap dengan Video demonstrasi diberikan di bawah.