Motor elektrik semakin diminati, di antaranya mungkin yang berfungsi dengan arus terus menonjol, yang paling popular dalam projek pembuat Arduino, kerana mereka menyediakan mobiliti. Antaranya, sorot motor stepper yang digunakan untuk pelbagai aplikasi, terutama untuk robotik, seperti penggerak, dll.
Kereta elektrik, robot autonomi kecil, aplikasi industri untuk automasi, peranti pergerakan berulang, dll. Sebab motor servo dan motor stepper sangat baik untuk aplikasi ini adalah kerana ia boleh melakukan pergerakan perlahan atau pantas, tetapi terkawal. Di samping itu, pemacu berterusan untuk aplikasi di mana banyak berhenti dan permulaan diperlukan dengan ketepatan tinggi.
Jenis motor elektrik
Dalam motor elektrik jenis berikut dapat diketengahkan:
- Motor DC atau DC: Motor DC berfungsi dengan arus seperti ini, seperti namanya. Mereka dapat berkisar dari beberapa mW daya hingga beberapa MW yang paling kuat dan besar, yang digunakan untuk aplikasi industri, kenderaan, lif, tali pinggang penghantar, kipas, dll. Kecepatan putarannya (RPM) dan tork yang digunakan dapat diatur sesuai dengan umpan.
- Motor AC atau AC (rotor tak segerak dan luka): mereka berfungsi dengan arus bolak-balik, dengan rotor yang sangat spesifik yang berfungsi berkat fasa-fasa yang arus jenis ini menyumbang untuk menjana putaran dengan penolakan magnetik elektromagnet dengan cara yang serupa dengan cara DC. Mereka sangat murah dan naik hingga beberapa kW. Mereka dapat diatur dalam kecepatan putaran, tetapi elemen pengaturan lebih mahal daripada yang DC. Ini sering digunakan untuk perkakas rumah.
- Motor stepper- Juga dikenal sebagai stepper, mereka serupa dalam banyak cara dengan DC, tetapi dengan kelajuan dan kekuatan putaran yang rendah. Di sini yang menonjol adalah kedudukan paksi, iaitu ketepatan untuk meletakkannya pada kedudukan tertentu. Sudut dan kelajuan putaran mereka dapat dikendalikan dengan banyak, oleh sebab itu digunakan untuk pemacu liut, cakera keras (HDD), robot, automasi proses, dll.
- motor servo: dapat dikatakan bahwa ini adalah evolusi dari motor stepper, bekerja dengan kekuatan kecil dan kecepatan yang naik hingga 7000 RPM dalam beberapa kasus. Motor ini menggabungkan kotak pengurangan gear dan litar kawalan. Mereka mempunyai ketepatan kedudukan yang sama dengan stepper dan sangat stabil dari segi tork yang diaplikasikan, menjadikannya ideal untuk beberapa robot dan aplikasi industri.
Motor stepper dan motor servo
Anda sudah tahu apakah dua jenis motor elektronik ini, tetapi saya ingin mengatakan sesuatu lebih banyak mengenai steppers. Giliran yang mereka buat tidak dilakukan secara berterusan, tetapi dalam langkah kecil, maka namanya. Rotor (bahagian yang berputar) memiliki bentuk roda bergigi, sementara stator (bahagian yang tidak berputar) terdiri dari elektromagnet terpolarisasi interleaved. Dengan cara ini, apabila seseorang "diaktifkan" mereka yang berada di sisinya tidak diaktifkan, yang menarik gigi pemutar ke arahnya, yang memungkinkan kemajuan tepat yang mana mereka dicirikan.
Bergantung kepada gigi pemutar, adalah mungkin untuk maju lebih kurang pada gilirannya. Sekiranya anda mempunyai lebih banyak gigi, lebih banyak langkah diperlukan untuk menyelesaikan giliran, tetapi langkahnya akan menjadi lebih pendek, jadi ia akan menjadi motor yang lebih tepat. Sekiranya anda mempunyai sedikit gigi, langkahnya akan menjadi lompatan yang lebih mendadak, tanpa ketepatan yang banyak. Oleh itu, langkah yang perlu diambil oleh motor stepper untuk menyelesaikan giliran akan bergantung pada langkah sudut.
Langkah-langkah itu sudut diseragamkan, walaupun anda dapat menemui beberapa motor yang mempunyai nada tidak standard. Sudut biasanya: 1.8º, 5.625º, 7.5º, 11.25º, 18º, 45º, dan 90º. Untuk mengira berapa langkah yang diperlukan motor stepper untuk menyelesaikan putaran penuh atau putaran (360º), anda hanya perlu membahagi. Sebagai contoh, jika anda mempunyai motor stepper 45º, anda akan mempunyai 8 langkah (360/45 = 8).
Di dalam motor ini, anda mempunyai unipolar (paling popular), dengan 5 atau 6 kabel, atau bipolar, dengan 4 kabel. Menurut ini, satu atau yang lain akan dijalankan urutan polarisasi mengalirkan arus melalui gegelungnya:
- Polarisasi untuk bipolar:
Paso | Terminal A | Terminal B | Terminal C | Terminal D |
---|---|---|---|---|
1 | +V | -V | +V | -V |
2 | +V | -V | -V | +V |
3 | -V | +V | -V | +V |
4 | -V | +V | +V | -V |
- Untuk unipolar:
Paso | Gegelung A | Gegelung B | Gegelung C | Gegelung D |
---|---|---|---|---|
1 | +V | +V | 0 | 0 |
2 | 0 | +V | +V | 0 |
3 | 0 | 0 | +V | +V |
4 | +V | 0 | 0 | +V |
Operasi dalam kedua-dua kes adalah sama, polarisasi gegelung untuk menarik pemutar ke tempat yang anda mahukan paksi diletakkan. Sekiranya anda mahu simpan dalam satu kedudukan, anda mesti mengekalkan polarisasi untuk kedudukan itu dan voila. Dan jika anda menginginkannya bergerak maju, anda membuat polarisasi magnet seterusnya dan ia akan mengambil langkah lain, dan seterusnya ...
Sekiranya anda menggunakan servomotor, anda sudah tahu bahawa pada dasarnya ia adalah motor stepper oleh itu semua yang dikatakan sesuai untuk mereka juga. Satu-satunya perkara yang merangkumi gear pengurangan untuk mendapatkan lebih banyak langkah per giliran dan dengan itu mempunyai ketepatan yang jauh lebih tinggi. Sebagai contoh, anda boleh menemui motor dengan 8 langkah per putaran yang jika ia mempunyai kotak gear 1:64, kerana ini bermaksud bahawa setiap langkah dari lapan itu dibahagikan kepada 64 langkah yang lebih kecil, yang akan memberikan maksimum 512 langkah per putaran. Maksudnya, setiap langkah sekitar 0.7º.
Juga tambahkan bahawa anda harus menggunakan beberapa pengawal untuk mengawal polarisasi, kelajuan, dan lain-lain, dengan, misalnya, H-Bridge. Beberapa model adalah L293, ULN2003, ULQ2003, dll.
Di mana untuk membeli
Anda membelinya di pelbagai laman web dalam talian atau di kedai elektronik khusus. Sekiranya anda seorang pemula, anda boleh menggunakan kit yang merangkumi semua yang anda perlukan dan juga pinggan Arduino UNO dan manual untuk memulakan eksperimen dan membuat projek anda. Kit ini merangkumi semua yang anda perlukan, dari motor itu sendiri, alat kawalan, papan, papan roti, dll.
- Beli Arduino Starter Kit
- Tiada produk dijumpai.
- Beli servomotor
- Tiada produk dijumpai.
Contoh motor stepper dengan Arduino
Akhirnya, tunjukkan a contoh praktikal dengan Arduino, menggunakan pengawal ULN2003 dan motor stepper 28BYJ-48. Ia sangat mudah, tetapi sudah cukup bagi anda untuk mulai membiasakan diri dengan cara kerjanya sehingga anda dapat mulai melakukan beberapa ujian dan melihat bagaimana tingkah lakunya ...
Seperti yang dilihat di skema sambungan, gegelung motor A (IN1), B (IN2), C (IN3) dan D (IN4) masing-masing ditugaskan ke sambungan 8, 9, 10, dan 11 pada papan Arduino. Sebaliknya, pemandu atau papan pengawal mesti diberi pin 5-12V (ke GND dan 5V Arduino) dengan voltan yang sesuai sehingga pada gilirannya memberi makan motor yang disambungkan ke penyambung plastik putih yang mempunyai pemandu ini atau pengawal.
ini Enjin 28BYJ-48 Ini adalah motor stepper unipolar dengan empat gegelung. Oleh itu, untuk memberi anda idea bagaimana ia berfungsi, anda boleh menghantar nilai TINGGI (1) atau RENDAH (0) ke gegelung dari papan Arduino seperti berikut untuk langkah-langkahnya:
Paso | Gegelung A | Gegelung B | Gegelung C | Gegelung D |
---|---|---|---|---|
1 | HIGH | HIGH | RENDAH | RENDAH |
2 | RENDAH | HIGH | HIGH | RENDAH |
3 | RENDAH | RENDAH | HIGH | HIGH |
4 | HIGH | RENDAH | RENDAH | HIGH |
Untuk lakaran atau kod yang diperlukan untuk memprogram pergerakan anda, seperti penggunaan berikut IDE Arduino (ubah suai dan bereksperimen untuk menguji bagaimana pergerakannya diubah):
// Definir pines conectados a las bobinas del driver #define IN1 8 #define IN2 9 #define IN3 10 #define IN4 11 // Secuencia de pasos a par máximo del motor. Realmente es una matriz que representa la tabla del unipolar que he mostrado antes int paso [4][4] = { {1, 1, 0, 0}, {0, 1, 1, 0}, {0, 0, 1, 1}, {1, 0, 0, 1} }; void setup() { // Todos los pines se configuran como salida, ya que el motor no enviará señal a Arduino pinMode(IN1, OUTPUT); pinMode(IN2, OUTPUT); pinMode(IN3, OUTPUT); pinMode(IN4, OUTPUT); } // Bucle para hacerlo girar void loop() { for (int i = 0; i < 4; i++) { digitalWrite(IN1, paso[i][0]); digitalWrite(IN2, paso[i][1]); digitalWrite(IN3, paso[i][2]); digitalWrite(IN4, paso[i][3]); delay(10); } }