- 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?
- Diagrama circuitului pentru rotirea motorului pas cu pas folosind potențiometru:
- Cod pentru placa Arduino:
- Lucru:
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 actuatoare, deoarece oferă un control precis. În acest tutorial vom învăța despre cel mai frecvent / ieftin motor pas cu pas disponibil 28-BYJ48 și cum să-l interfațăm cu Arduino folosind modulul pas cu pas ULN2003.
În ultimul proiect, am pur și simplu interfațat motorul pas cu pas cu Arduino, unde puteți roti motorul pas cu pas introducând unghiul de rotație în monitorul serial al Arduino. Aici, în acest proiect, vom roti motorul pas cu pas folosind potențiometru și Arduino, de exemplu, dacă rotiți potențiometrul în sensul acelor de ceasornic, atunci pasul se va roti în sensul acelor de ceasornic și, dacă rotiți potențiometrul în sens invers acelor de ceasornic, acesta se va roti în sens antiorar.
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ă.
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.
Diagrama circuitului pentru rotirea motorului pas cu pas folosind potențiometru:
Diagrama circuitului pentru controlul motorului pas cu pas folosind potențiometru și 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. Un potențiometru este conectat la A0 bazat pe ale cărui valori vom roti motorul pas cu pas.
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 Driver.
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 demonstrativ complet poate fi găsit la sfârșitul acestui tutorial.
În acest tutorial vom programa Arduino în așa fel încât să putem roti potențiometrul conectat la pinul A0 și să controlăm direcția motorului Stepper. 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 în sensul acelor de ceasornic, putem folosi următoarea linie.
stepper.step (1);
Pentru a face motorul să se miște cu un pas în sens invers acelor de ceasornic, putem folosi următoarea linie.
stepper.step (-1);
În programul nostru vom citi valoarea pinului analogic A0 și o vom compara cu valoarea anterioară (Pval). Dacă a crescut, mișcăm 5 pași în sensul acelor de ceasornic și dacă este micșorat, atunci mișcăm 5 pași în sens antiorar.
potVal = map (analogRead (A0), 0,1024,0,500); if (potVal> Pval) stepper.step (5); if (potVal
Lucru:
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 anterior, trebuie să rotiți potențiometrul pentru a controla rotația motorului Stepper. Rotirea acestuia în sensul acelor de ceasornic va roti motorul pas cu pas în sensul acelor de ceasornic și invers.
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 sau pe forumurile noastre.