Motoarele electrice sunt din ce în ce mai solicitate, printre care se remarcă probabil cele care funcționează cu curent continuu, cele mai populare în cadrul proiectelor producătorilor cu Arduino, deoarece oferă mobilitate. Dintre acestea, evidențiați motoare pas cu pas care sunt utilizate pentru mai multe aplicații, în special pentru robotică, cum ar fi actuatoare etc.
Mașini electrice, mici roboți autonomi, aplicații industriale pentru automatizare, dispozitive de mișcare repetitive etc. Motivul pentru care motoarele servo și motoarele pas cu pas sunt atât de bune pentru aceste aplicații este că pot efectuați mișcări lente sau rapide, dar mai presus de toate controlate. În plus, unitățile sunt continue pentru aplicații în care sunt necesare multe opriri și porniri cu precizie ridicată.
Tipuri de motoare electrice
În cadrul motoare electrice pot fi evidențiate următoarele tipuri:
- Motor DC sau DC: Motoarele de curent continuu funcționează cu acest tip de curent, așa cum sugerează și numele. Pot varia de la câțiva mW de putere la câțiva MW în cele mai puternice și mai mari, care sunt utilizate pentru aplicații industriale, vehicule, ascensoare, benzi transportoare, ventilatoare etc. Viteza de rotație (RPM) și cuplul aplicat pot fi reglate în funcție de avans.
- Motor CA sau CA (rotor asincron și înfășurat): funcționează cu curent alternativ, cu un rotor foarte specific care funcționează grație fazelor pe care acest tip de curent le contribuie la generarea rotației prin repulsie magnetică a electromagnetului într-un mod similar cu modul în care acționează cele DC. Sunt foarte ieftine și urcă cu câțiva kW. Ele pot fi reglate în viteza de rotație, dar elementele de reglare sunt mai scumpe decât cele DC. Acestea sunt adesea folosite pentru aparatele de uz casnic.
- Motor pas cu pas- Cunoscute și sub numele de steppers, sunt similare în multe moduri cu DC, dar cu viteze și puteri de centrifugare reduse. Aici ceea ce iese în evidență este poziționarea axei, adică precizia de a le pune într-o poziție specifică. Unghiul și rotația lor de rotație pot fi controlate foarte mult, motiv pentru care erau utilizate în unități de dischetă, hard disk (HDD), roboți, automatizarea proceselor etc.
- Servo motor: se poate spune că este o evoluție a motorului pas cu pas, care funcționează cu puteri mici și viteze care merg până la 7000 RPM în unele cazuri. Acest motor încorporează o cutie de reducere a vitezei și un circuit de comandă. Au aceeași precizie de poziționare ca stepper-urile și sunt foarte stabile în ceea ce privește cuplul aplicat, ceea ce le face ideale pentru unii roboți și aplicații industriale.
Motoare pas cu pas și servo motoare
Știți deja care sunt aceste două tipuri de motoare electronice, dar aș vrea să spun ceva mai multe despre steppers. Turnul pe care îl fac nu se face continuu, ci în pași mici, de unde și numele lor. Rotorul (partea care se rotește) are forma unei roți dințate, în timp ce statorul (partea care nu se rotește) este alcătuit din electro-magneți polarizați intercalați. În acest fel, atunci când cineva este „activat”, cei din părțile sale laterale nu sunt activate, ceea ce atrage dintele rotor spre acesta, permițând avansul precis pentru care sunt caracterizați.
Depinzând de dinții rotorului, va fi posibil să avansăm mai mult sau mai puțin pe rând. Dacă aveți mai mulți dinți, sunt necesari mai mulți pași pentru a finaliza un viraj, dar pașii vor fi mai scurți, deci va fi un motor mai precis. Dacă aveți puțini dinți, pașii vor fi salturi mai abrupte, fără atâta precizie. Prin urmare, pașii pe care trebuie să-i facă un motor pas cu pas pentru a finaliza un viraj vor depinde de pașii unghiulari.
Acei pași unghiulare sunt standardizate, deși puteți găsi câteva motoare care au pas nestandard. Unghiurile sunt de obicei: 1.8º, 5.625º, 7.5º, 11.25º, 18º, 45º și 90º. Pentru a calcula de câți pași are nevoie un motor pas cu pas pentru a finaliza o tură completă (360 °), trebuie doar să împărțiți. De exemplu, dacă aveți un motor pas cu pas 45º, ați avea 8 trepte (360/45 = 8).
În cadrul acestor motoare aveți unipolar (cel mai popular), cu 5 sau 6 cabluri, sau bipolar, cu 4 cabluri. În conformitate cu aceasta, se va efectua una sau alta secvențe de polarizare trecând curent prin bobine:
- Polarizarea pentru bipolar:
Paso | Terminalul A | Terminalul B | Terminalul C | Terminalul D |
---|---|---|---|---|
1 | +V | -V | +V | -V |
2 | +V | -V | -V | +V |
3 | -V | +V | -V | +V |
4 | -V | +V | +V | -V |
- Pentru unipolar:
Paso | Coil A. | Bobina B. | Bobina C | Bobina D. |
---|---|---|---|---|
1 | +V | +V | 0 | 0 |
2 | 0 | +V | +V | 0 |
3 | 0 | 0 | +V | +V |
4 | +V | 0 | 0 | +V |
Funcționarea în ambele cazuri este aceeași, polarizând bobinele pentru a atrage rotorul acolo unde doriți să fie poziționată axa. Daca vrei păstrați-l într-o poziție, trebuie să mențineți polarizarea pentru acea poziție și voila. Și dacă doriți ca acesta să avanseze, polarizați următorul magnet și va mai face un pas și așa mai departe ...
Dacă utilizați un servo motor, știți deja că este practic un motor pas cu pas, prin urmare, tot ceea ce se spune funcționează și pentru ei. Singurul lucru care include acele trepte de reducere pentru a obține mai mulți pași pe tură și, astfel, au o precizie mult mai mare. De exemplu, puteți găsi un motor cu 8 trepte pe tură, dacă ar avea o cutie de viteze 1:64, deoarece înseamnă că fiecare pas dintre cele opt este împărțit în 64 de trepte mai mici, ceea ce ar da maximum 512 trepte pe tură. Adică, fiecare pas ar fi de aproximativ 0.7º.
De asemenea, adăugați că ar trebui să utilizați unele controlor cu care să controlați polarizarea, viteza etc., cu, de exemplu, H-Bridge. Unele modele sunt L293, ULN2003, ULQ2003 etc.
Donde Comprar
Tu cumpărați-l pe diverse site-uri online sau în magazine specializate de electronice. De asemenea, dacă ești începător, poți folosi seturi care includ tot ce ai nevoie și chiar farfurie Arduino UNO și manual pentru a începe experimentarea și crearea proiectelor. Aceste kituri includ tot ce aveți nevoie, de la motorul însuși, controlere, plăci, panou etc.
- Cumpărați Arduino Starter Kit
- Nu au fost găsite produse.
- Cumpărați servomotor
- Nu au fost găsite produse.
Exemplu de motor pas cu pas cu Arduino
În cele din urmă, arată un exemplu practic cu Arduino, folosind controlerul ULN2003 și motorul pas cu pas 28BYJ-48. Este foarte simplu, dar vă va fi suficient să începeți să vă familiarizați cu modul în care funcționează, astfel încât să puteți începe să faceți câteva teste și să vedeți cum se comportă ...
Așa cum se vede în schema de conectare, bobinele motorului A (IN1), B (IN2), C (IN3) și D (IN4) au fost atribuite conexiunilor 8, 9, 10 și respectiv 11 de pe placa Arduino. Pe de altă parte, placa driverului sau a controlerului trebuie alimentată cu pinii săi de 5-12V (la GND și 5V din Arduino) cu tensiunea corespunzătoare, astfel încât să alimenteze la rândul său motorul conectat la conectorul din plastic alb care are acest driver sau controlor.
acest Motor 28BYJ-48 Este un motor pas cu pas de tip unipolar cu patru bobine. Prin urmare, pentru a vă face o idee despre modul în care funcționează, puteți trimite valori HIGH (1) sau LOW (0) la bobinele de pe placa Arduino după cum urmează pentru pași:
Paso | Coil A. | Bobina B. | Bobina C | Bobina D. |
---|---|---|---|---|
1 | ÎNALT | ÎNALT | SCĂZUT | SCĂZUT |
2 | SCĂZUT | ÎNALT | ÎNALT | SCĂZUT |
3 | SCĂZUT | SCĂZUT | ÎNALT | ÎNALT |
4 | ÎNALT | SCĂZUT | SCĂZUT | ÎNALT |
Ca schița sau codul necesar pentru a vă programa mișcarea, deoarece ar fi următoarea utilizare Arduino IDE (modificați-l și experimentați pentru a testa modul în care mișcarea este modificată):
// 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); } }