- Motoare pas cu pas:
- Calculul pașilor pe revoluție pentru motorul pas cu pas:
- De ce avem nevoie de module de driver pentru motoare pas cu pas?
- Schema circuitului de control al poziției motorului pas cu pas Arduino și explicație:
- Cod pentru placa Arduino:
- Funcționarea motorului pas cu pas cu Arduino:
Motoarele pas cu pas își iau din ce în ce mai mult poziția în lumea electronică. Pornind de la o cameră de supraveghere normală la o mașină CNC complicată / robot, aceste motoare pas cu pas sunt utilizate oriunde ca actuatori, deoarece oferă un control precis. Un motor pas cu pas este un motor sincron, fără perii, care finalizează o rotație completă în mai multe etape. În acest tutorial cu motor pas cu pas Arduino vom afla despre cel mai frecvent disponibil motor pas cu pas 28-BYJ48 și cum să-l interfațăm cu Arduino utilizând modulul motor pas cu pas ULN2003.
Motoare pas cu pas:
Să aruncăm o privire la acest motor pas cu pas 28-BYJ48.
Bine, deci spre deosebire de un motor DC normal, acesta are cinci fire de toate culorile fanteziste care ies din el și de ce este așa? Pentru a înțelege acest lucru, ar trebui să știm mai întâi cum funcționează un pas cu pas și care este specialitatea sa. Mai întâi de toate motoarele pas cu pas nu se rotesc, pasesc și așa că sunt cunoscute și sub numele de motoare pas cu pas. Adică, se vor mișca doar un pas la rând. Aceste motoare au o secvență de bobine prezente în ele și aceste bobine trebuie să fie alimentate într-un mod special pentru a face motorul să se rotească. Când fiecare bobină este alimentată, motorul face un pas și o secvență de energizare îl va face să facă pași continui, făcându-l astfel să se rotească. Să aruncăm o privire asupra bobinelor prezente în interiorul motorului pentru a ști exact de unde provin aceste fire.
După cum puteți vedea, motorul are un aranjament unipolar cu 5 conductoare. Există patru bobine care trebuie alimentate într-o anumită secvență. Firele roșii vor fi furnizate cu + 5V, iar restul de patru fire vor fi trase la sol pentru declanșarea bobinei respective. Folosim un microcontroler precum Arduino care energizează aceste bobine într-o anumită secvență și facem motorul să efectueze numărul necesar de pași.
Deci acum, de ce acest motor este numit 28-BYJ48 ? Serios!!! Nu știu. Nu există niciun motiv tehnic pentru care acest motor să fie numit astfel; poate ar trebui să ne scufundăm mult mai adânc în el. Să ne uităm la câteva dintre datele tehnice importante obținute din fișa tehnică a acestui motor în imaginea de mai jos.
Acesta este un cap plin de informații, dar trebuie să ne uităm la câteva importante pentru a ști ce tip de stepper folosim, astfel încât să îl putem programa eficient. Mai întâi știm că este un motor pas cu pas de 5V, deoarece energizăm firul roșu cu 5V. Apoi, știm, de asemenea, că este un motor pas cu patru faze, deoarece avea patru bobine în el. Acum, raportul de transmisie este de 1:64. Aceasta înseamnă că arborele pe care îl vedeți în exterior va face o rotație completă numai dacă motorul din interior se rotește de 64 de ori. Acest lucru se datorează angrenajelor care sunt conectate între motor și arborele de ieșire, aceste angrenaje ajută la creșterea cuplului.
O altă informație importantă de remarcat este unghiul de pas: 5,625 ° / 64. Aceasta înseamnă că motorul atunci când funcționează în secvența de 8 pași se va deplasa cu 5,625 grade pentru fiecare pas și va dura 64 de pași (5,625 * 64 = 360) pentru a finaliza o rotație completă. Puteți afla mai multe despre funcționarea motoarelor pas cu pas cu ajutorul ARM LPC2148, microcontroler ATMega16, MSP430.
Calculul pașilor pe revoluție pentru motorul pas cu pas:
Este important să știți cum să calculați pașii pe Revoluție pentru motorul dvs. pas cu pas, deoarece numai atunci îl puteți programa eficient.
În Arduino vom opera motorul în secvență în 4 pași, astfel încât unghiul de pas va fi de 11,25 °, deoarece este 5,625 ° (dat în foaia tehnică) pentru secvența în 8 pași, va fi 11,25 ° (5,625 * 2 = 11,25).
Pași pe rotație = 360 / unghi de pas
Aici, 360 / 11,25 = 32 de pași pe rotație.
De ce avem nevoie de module de driver pentru motoare pas cu pas?
Majoritatea motoarelor pas cu pas vor funcționa numai cu ajutorul unui modul driver. Acest lucru se datorează faptului că modulul controlerului (în cazul nostru Arduino) nu va putea furniza suficient curent de la pinii I / O pentru ca motorul să funcționeze. Deci vom folosi un modul extern precum modulul ULN2003 ca driver de motor pas cu pas. Există o mulțime de tipuri de module de driver și ratingul unuia se va modifica în funcție de tipul de motor utilizat. Principiul primar pentru toate modulele driverului va fi de a furniza / scufunda suficient curent pentru ca motorul să funcționeze.
Schema circuitului de control al poziției motorului pas cu pas Arduino și explicație:
Diagrama circuitului pentru proiectul de control al motorului pas cu pas arduino este prezentată mai sus. Am folosit motorul pas cu pas 28BYJ-48 și modulul Driver ULN2003. Pentru a alimenta cele patru bobine ale motorului pas cu pas folosim pinii digitali 8,9,10 și 11. Modulul driverului este alimentat de pinul de 5V al plăcii Arduino.
Dar alimentați driverul cu sursă de alimentare externă atunci când conectați o sarcină la motorul de stepă. Deoarece folosesc doar motorul în scop demonstrativ, am folosit șina + 5V a plăcii Arduino. De asemenea, nu uitați să conectați pământul Arduino la pământul modulului Diver.
Cod pentru placa Arduino:
Înainte de a începe programarea cu Arduino, permiteți-ne să înțelegem ce ar trebui să se întâmple de fapt în interiorul programului. După cum sa spus mai devreme, vom folosi metoda secvenței în 4 pași, așa că vom avea patru pași de realizat pentru a face o rotație completă.
Etapa |
Pin energizat |
Bobine energizate |
Pasul 1 |
8 și 9 |
A și B |
Pasul 2 |
9 și 10 |
B și C |
Pasul 3 |
10 și 11 |
C și D |
Pasul 4 |
11 și 8 |
D și A |
Modulul Driver va avea patru LED-uri cu ajutorul cărora putem verifica care bobină este alimentată la un moment dat. Videoclipul care arată secvența de energizare poate fi găsit la sfârșitul acestui tutorial.
În acest tutorial vom scrie codul motorului pas cu pas arduino și pentru asta vom programa Arduino în așa fel încât să putem introduce numărul de pași care trebuie parcurși de motorul pas cu pas prin monitorul serial al Arduino. Programul complet poate fi găsit la sfârșitul tutorialului, câteva linii importante sunt explicate mai jos.
Numărul de pași pe rotație pentru motorul nostru pas cu pas a fost calculat la 32; prin urmare, introducem acest lucru așa cum se arată în linia de mai jos
#define PASI 32
Apoi trebuie să creați instanțe în care specificăm pinii la care am conectat motorul Stepper.
Stepper stepper (STEPS, 8, 10, 9, 11);
Notă: Numărul pinilor este dezordonat ca 8,10,9,11 în mod intenționat. Trebuie să urmați același model chiar dacă schimbați pinii la care este conectat motorul.
Deoarece folosim biblioteca stepper Arduino, putem seta viteza motorului folosind linia de mai jos. Viteza poate varia între 0 și 200 pentru motoarele pas cu pas 28-BYJ48.
stepper.setSpeed (200);
Acum, pentru a face motorul să se miște cu un pas, putem folosi următoarea linie.
stepper.step (val);
Numărul de pași care trebuie mutați va fi furnizat de variabila „val”. Deoarece avem 32 de pași și 64 ca raport de transmisie, trebuie să mutăm 2048 (32 * 64 = 2048), pentru a face o rotație completă.
Valoarea variabilei „val” poate fi introdusă de utilizator utilizând monitorul serial.
Funcționarea motorului pas cu pas cu Arduino:
Odată ce conexiunea este realizată, hardware-ul ar trebui să arate cam așa în imaginea de mai jos.
Acum, încărcați programul de mai jos în Arduino UNO și deschideți monitorul serial. După cum sa discutat mai sus, va trebui să facem 2048 de pași pentru a face o rotație completă, așa că atunci când intrăm în 2048, motorul va face o rotație completă în sensul acelor de ceasornic făcând 2048 de pași. Pentru a roti în sens invers acelor de ceasornic, introduceți numărul cu semnul negativ „-“. Deci, introducerea -1024 va face ca motorul să se rotească pe jumătate în sens antiorar. Puteți introduce valorile dorite, cum ar fi introducerea 1 va face ca motorul să facă un singur pas.
Sper că ați înțeles proiectul și v-a plăcut să îl construiți. Lucrarea completă a proiectului este prezentată în videoclipul de mai jos. Dacă aveți nelămuriri, postați-le în secțiunea de comentarii de mai jos pe forumurile noastre.