- Motor Stepper:
- Mengira Langkah per Revolusi untuk Stepper Motor:
- Mengapa kita memerlukan modul Pemacu untuk motor Stepper?
- Gambarajah dan Penjelasan Litar Kawalan Kedudukan Motor Arduino Stepper:
- Kod untuk Arduino Board:
- Kerja Motor Stepper dengan Arduino:
Motor stepper semakin mendapat tempat dalam dunia elektronik. Bermula dari kamera Pengawasan biasa hingga mesin / Robot CNC yang rumit, motor stepper ini digunakan di mana-mana sebagai penggerak kerana ia memberikan kawalan yang tepat. Stepper Motor adalah motor segerak tanpa sikat yang menyelesaikan putaran penuh ke dalam beberapa langkah. Dalam tutorial motor stepper Arduino ini, kita akan belajar mengenai motor stepper 28-BYJ48 yang paling biasa dan bagaimana menghubungkannya dengan Arduino menggunakan modul motor stepper ULN2003.
Motor Stepper:
Mari kita lihat motor Stepper 28-BYJ48 ini.
Baiklah, jadi tidak seperti motor DC biasa, motor ini mempunyai lima wayar dari semua warna mewah yang keluar daripadanya dan mengapa begitu? Untuk memahami perkara ini, kita harus terlebih dahulu mengetahui bagaimana stepper berfungsi dan apa keistimewaannya. Mula-mula motor stepper tidak berpusing, mereka melangkah dan ia juga dikenali sebagai motor langkah. Maknanya, mereka akan bergerak hanya satu langkah pada satu masa. Motor ini mempunyai urutan gegelung yang ada di dalamnya dan gegelung ini harus digerakkan dengan cara tertentu untuk membuat motor berputar. Ketika setiap gegelung dihidupkan, motor akan mengambil langkah dan urutan pengaktifan akan membuat motor mengambil langkah berterusan, sehingga menjadikannya berputar. Mari kita perhatikan gegelung yang terdapat di dalam motor untuk mengetahui dengan tepat dari mana asal wayar ini.
Seperti yang anda lihat motor mempunyai susunan gegelung 5-plumbum Unipolar. Terdapat empat gegelung yang harus diberi tenaga dalam urutan tertentu. Wayar Merah akan dibekalkan dengan + 5V dan empat wayar selebihnya akan ditarik ke tanah untuk mencetuskan gegelung masing-masing. Kami menggunakan mikrokontroler seperti Arduino memberi tenaga pada gegelung ini dalam urutan tertentu dan membuat motor melakukan beberapa langkah yang diperlukan.
Jadi sekarang, mengapa motor ini dinamakan 28-BYJ48 ? Serius !!! Saya tidak tahu. Tidak ada sebab teknikal untuk motor ini dinamakan demikian; mungkin kita harus menyelami lebih mendalam lagi. Mari kita lihat beberapa data teknikal penting yang diperoleh dari lembaran data motor ini dalam gambar di bawah.
Itu adalah kepala yang penuh dengan maklumat, tetapi kita perlu melihat beberapa perkara penting untuk mengetahui jenis stepper yang kita gunakan agar kita dapat memprogramnya dengan cekap. Mula-mula kita tahu bahawa ia adalah motor Stepper 5V kerana kita menghidupkan wayar Merah dengan 5V. Kemudian, kita juga tahu bahawa ia adalah motor stepper empat fasa kerana ia mempunyai empat gegelung di dalamnya. Sekarang, nisbah gear diberi 1:64. Ini bermaksud poros yang anda lihat di luar akan membuat satu putaran lengkap hanya jika motor di dalamnya berputar selama 64 kali. Ini kerana gear yang dihubungkan antara motor dan poros output, gear ini membantu meningkatkan tork.
Satu lagi data penting yang perlu diperhatikan ialah Stride Angle: 5.625 ° / 64. Ini bermaksud bahawa motor ketika beroperasi dalam urutan 8 langkah akan bergerak 5.625 darjah untuk setiap langkah dan akan mengambil 64 langkah (5.625 * 64 = 360) untuk menyelesaikan satu putaran penuh. Anda boleh mengetahui lebih lanjut mengenai cara kerja motor stepper dengan ARM LPC2148, ATMega16 Microcontroller, MSP430.
Mengira Langkah per Revolusi untuk Stepper Motor:
Penting untuk mengetahui cara mengira langkah per Revolusi untuk motor stepper anda kerana hanya dengan itu anda dapat memprogramnya dengan berkesan.
Di Arduino, kami akan mengoperasikan motor dalam urutan 4 langkah sehingga sudut langkah adalah 11.25 ° kerana 5.625 ° (diberikan dalam lembar data) untuk urutan 8 langkah ia akan menjadi 11.25 ° (5.625 * 2 = 11.25).
Langkah per revolusi = sudut 360 / langkah
Di sini, 360 / 11.25 = 32 langkah setiap revolusi.
Mengapa kita memerlukan modul Pemacu untuk motor Stepper?
Sebilangan besar motor stepper akan beroperasi hanya dengan bantuan modul pemacu. Ini kerana modul pengawal (Dalam kes kami Arduino) 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. Terdapat banyak jenis modul pemandu dan penarafan satu akan berubah berdasarkan jenis motor yang digunakan. Prinsip utama untuk semua modul pemandu ialah sumber / sinki arus yang mencukupi agar motor dapat beroperasi.
Gambarajah dan Penjelasan Litar Kawalan Kedudukan Motor Arduino Stepper:
Rajah litar untuk projek kawalan motor stepper arduino ditunjukkan di atas. Kami telah menggunakan motor Stepper 28BYJ-48 dan modul Pemacu ULN2003. Untuk memberi tenaga kepada empat gegelung motor stepper, kami menggunakan pin digital 8,9,10 dan 11. Modul pemacu dikuasakan oleh pin 5V dari Arduino Board.
Tetapi, beri kuasa pada pemandu dengan bekalan kuasa luaran semasa anda menyambungkan beberapa beban ke motor stepa. Oleh kerana saya hanya menggunakan motor untuk tujuan demonstrasi, saya telah menggunakan rel + 5V dari Arduino Board. Juga ingat untuk menghubungkan Ground of the Arduino dengan landasan modul Diver.
Kod untuk Arduino Board:
Sebelum kita memulakan pengaturcaraan dengan Arduino kita, mari kita memahami apa yang sebenarnya harus berlaku di dalam program ini. Seperti yang dinyatakan sebelumnya, kami akan menggunakan kaedah urutan 4 langkah sehingga kami akan mempunyai empat langkah untuk melakukan satu putaran lengkap.
Langkah |
Pin Bertenaga |
Gegelung Bertenaga |
Langkah 1 |
8 dan 9 |
A dan B |
Langkah 2 |
9 dan 10 |
B dan C |
Langkah 3 |
10 dan 11 |
C dan D |
Langkah 4 |
11 dan 8 |
D dan A |
Modul Driver akan mempunyai empat LED yang dapat digunakan untuk memeriksa gegelung mana yang diaktifkan pada waktu tertentu. Video yang menunjukkan urutan penegasan boleh didapati di akhir tutorial ini.
Dalam tutorial ini kita akan menulis kod motor stepper arduino dan untuk itu kita akan memprogram Arduino sedemikian rupa sehingga kita dapat memasukkan jumlah langkah yang harus diambil oleh motor stepper melalui monitor bersiri Arduino. Program lengkap boleh didapati di akhir tutorial beberapa baris penting yang dijelaskan di bawah.
Jumlah langkah per revolusi untuk motor stepper kami dikira menjadi 32; oleh itu kita memasukkannya seperti yang ditunjukkan dalam baris di bawah
#tentukan LANGKAH 32
Seterusnya anda harus membuat contoh di mana kita menentukan pin yang telah kita sambungkan motor Stepper.
Stepper stepper (LANGKAH, 8, 10, 9, 11);
Nota: Nombor pin tidak berfungsi sebagai 8,10,9,11 dengan sengaja. Anda mesti mengikut corak yang sama walaupun anda menukar pin yang disambungkan oleh motor anda.
Oleh kerana kami menggunakan perpustakaan Arduino stepper, kami dapat mengatur kelajuan motor menggunakan garis di bawah. Kelajuan boleh berkisar antara 0 hingga 200 untuk motor stepper 28-BYJ48.
stepper.setSpeed (200);
Sekarang, untuk menjadikan motor bergerak selangkah, kita boleh menggunakan baris berikut.
stepper.step (val);
Jumlah langkah yang akan dipindahkan akan diberikan oleh pemboleh ubah "val". Oleh kerana kita mempunyai 32 langkah dan 64 sebagai nisbah roda gigi, kita perlu bergerak 2048 (32 * 64 = 2048), untuk membuat satu putaran lengkap.
Nilai pemboleh ubah "val" dapat dimasukkan oleh pengguna menggunakan monitor bersiri.
Kerja Motor Stepper dengan Arduino:
Setelah sambungan dibuat, perkakasan akan kelihatan seperti ini dalam gambar di bawah.
Sekarang, muat naik program di bawah di Arduino UNO anda dan buka monitor bersiri. Seperti yang telah dibahas sebelumnya, kita harus membuat 2048 langkah untuk membuat satu putaran lengkap, jadi ketika kita memasuki 2048, motor akan membuat satu putaran lengkap mengikut arah jam dengan membuat 2048 langkah. Untuk berpusing mengikut arah lawan jam, masukkan nombor dengan tanda negatif "-". Jadi, memasukkan -1024 akan menjadikan motor berputar separuh arah ke arah anti jam. Anda boleh memasukkan nilai yang diingini, seperti memasukkan 1 akan menjadikan motor hanya mengambil satu langkah.
Harap anda memahami projek ini dan seronok membinanya. Kerja projek yang lengkap ditunjukkan dalam video di bawah. Sekiranya anda mempunyai keraguan, hantarkannya di bahagian komen di bawah kami di forum kami.