- Motor Stepper:
- Pemandu Motor Stepper ULN2003:
- Komponen yang Diperlukan
- Rajah dan Penjelasan Litar
- Penjelasan Kod
Stepper Motor adalah motor yang direka khas yang berputar dalam beberapa langkah. Kelajuan motor stepper bergantung pada kadar isyarat elektrik yang dikenakan padanya. Corak yang berbeza dapat mengawal arah dan jenis putaran motor stepper. Terutama terdapat dua jenis motor stepper, Unipolar dan Bipolar. Unipolar lebih mudah dikendalikan, dikawal dan juga lebih mudah diperoleh. Di sini dalam tutorial ini kita menghubungkan Stepper Motor dengan PIC Microcontroller PIC16F877A.
Kami menggunakan motor stepper 28BYJ-48 untuk projek ini yang murah dan mudah didapati. Ia adalah motor stepper unipolar 5V DC. Kami juga menggunakan Modul yang tersedia dengan motor ini yang terdiri daripada IC Pemacu Motor Stepper ULN2003. ULN2003 adalah array pasangan Darlington, yang berguna untuk menggerakkan motor ini, kerana mikrokontroler PIC tidak dapat memberikan arus yang cukup untuk memandu. ULN2003A mampu mendorong muatan 500mA dengan arus puncak 600mA.
Motor Stepper:
Mari lihat spesifikasi Motor Stepper 28BYJ-48 dari lembaran data.
Cara memutar Motor Stepper:
Sekiranya kita melihat lembaran data, kita akan melihat pin-out.
Di dalam motor terdapat dua gegelung ketuk tengah yang tersedia. Kawat merah adalah perkara biasa untuk kedua-duanya yang akan disambungkan pada VCC atau 5V.
4 wayar lain berwarna merah jambu, merah, kuning dan biru akan mengawal putaran bergantung pada isyarat elektrik. Juga, bergantung pada pergerakannya, motor ini dapat dikendalikan dengan menggunakan 3 langkah. Mod pemacu penuh, mod Pemacu Separuh dan mod pemacu Gelombang.
Tiga Mod Pemacu Motor Stepper:
Pemacu Penuh: Sekiranya dua elektromagnet stator diaktifkan pada satu masa, motor akan berjalan pada tork penuh yang disebut sebagai mod urutan pemacu penuh.
Langkah |
Biru |
Merah jambu |
Kuning |
Jingga |
1 |
1 |
1 |
0 |
0 |
2 |
0 |
1 |
1 |
0 |
3 |
0 |
0 |
1 |
1 |
4 |
1 |
0 |
0 |
1 |
Pemacu Separuh: Apabila alternatif satu dan dua fasa dihidupkan, motor akan berjalan dalam mod pemacu separuh. Ia digunakan untuk meningkatkan resolusi sudut. Kelemahan adalah daya kilas yang kurang dihasilkan dalam pergerakan ini.
Langkah |
Biru |
Merah jambu |
Kuning |
Jingga |
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 |
Pemacu Gelombang: Dalam mod ini, satu elektromagnet stator dihidupkan. Ini mengikuti 4 langkah yang sama dengan mod Pemacu penuh. Ia menggunakan kuasa rendah dengan tork rendah.
Langkah |
Biru |
Merah jambu |
Kuning |
Jingga |
1 |
1 |
0 |
0 |
0 |
2 |
0 |
1 |
0 |
0 |
3 |
0 |
0 |
1 |
0 |
4 |
0 |
0 |
0 |
1 |
Kami sebelum ini menghubungkan Motor Stepper dengan Pengawal Mikro lain:
Motor Stepper juga dapat dikendalikan tanpa Mikrokontroler, lihat Litar Pemandu Motor Stepper ini.
Pemandu Motor Stepper ULN2003:
Mari fahami papan pemecah yang terdiri daripada IC ULN2003. Penting untuk memahami pin keluar.
Bahagian kuning digunakan untuk menyambungkan motor, Bahagian Merah menunjukkan pelompat, Penting untuk meletakkan pelompat kerana ia akan membolehkan perlindungan dioda freewheeling untuk motor . The input merah jambu adalah untuk sambungan pengawal mikro.
Kami akan memutar motor dalam mod pemacu penuh mengikut arah jam dan sekali lagi memutarnya dengan mod pemacu gelombang ke arah lawan jam. Tonton Video demonstrasi di akhir.
Komponen yang Diperlukan
- Gambar16F877A
- Kit pengaturcaraan
- Papan roti
- Kristal 20Mhz
- Kapasitor cakera 33pF - 2pcs
- Perintang 4.7k
- Berg kabel dan pin
- Papan pelarian ULN2003A bersama dengan motor Stepper 28BYJ-48.
- Wayar tambahan untuk disambungkan
- Unit bekalan kuasa 5V atau penyesuai dinding dengan penarafan 500mA
Rajah dan Penjelasan Litar
Dalam rajah litar, di sebelah kiri PIC16F877A ditunjukkan dan di sebelah kanan sambungan ULN2003A ditunjukkan. Bahagian motor ULN2003 dan Stepper berada di dalam papan pelarian.
Sambungan dari papan Breakout ke unit mikrokontroler akan-
A. IN1 => Pin33
B. IN2 => Pin34
C. IN3 => Pin35
D. IN4 => Pin36
Saya menyambungkan semua komponen dan perkakasan anda untuk memutar motor Stepper dengan mikrokontroler PIC sudah siap.
Sekiranya anda baru menggunakan PIC Microcontroller daripada ikuti Tutorial PIC Microcontroller kami yang menyatakan dengan Bermula dengan PIC Microcontroller.
Penjelasan Kod
Kod penuh untuk Pemacu Motor Stepper berasaskan PIC ini diberikan pada akhir tutorial ini dengan Video Demonstrasi. Seperti biasa, kita perlu menetapkan bit konfigurasi dalam mikrokontroler pic dan kemudian mulakan dengan fungsi utama batal .
Ini adalah makro untuk bit konfigurasi unit mikrokontroler dan fail tajuk perpustakaan.
#define _XTAL_FREQ 200000000 // Frekuensi kristal, digunakan dalam kelewatan # tentukan kelajuan 1 // Julat Kelajuan 10 hingga 1 10 = terendah, 1 = langkah # paling tinggi 250 // berapa langkah yang akan diambilnya # tentukan arah jam 0 // arah arah jam makro # tentukan lawan arah jam 1 // makro arah lawan jam
Pada baris pertama kami menentukan frekuensi kristal yang diperlukan untuk rutin penundaan. Makro lain digunakan untuk menentukan pilihan yang berkaitan dengan pengguna.
Sekiranya anda melihat kodnya, ada tiga fungsi yang ditentukan untuk menggerakkan motor dalam tiga mod dengan arah jam dan arah lawan jam. Berikut adalah tiga fungsi:
1. kekosongan full_drive (arah char)
2. batal half_drive (arah char)
3. void wave_drive (arah char)
Lihat definisi fungsi ini dalam kod lengkap yang diberikan di bawah:
Sekarang dalam fungsi utama kosong , kita menggerakkan motor mengikut arah jam menggunakan mod pemacu penuh bergantung pada langkahnya dan setelah beberapa saat berlengah, kita sekali lagi memutar motor berlawanan arah jam menggunakan mod pemacu gelombang.
kekosongan utama (kekosongan) { system_init (); sementara (1) { / * Pandu motor dalam mod pemacu penuh mengikut arah jam * / untuk (int i = 0; i
Ini adalah bagaimana kita dapat memutar motor stepper dengan PIC Microcontroller. Stepper Motors sangat berguna dalam mesin CNC, robotik dan aplikasi tertanam lain.