- Motor pas cu pas:
- Driver de pas cu pas ULN2003:
- Materiale necesare:
- Diagrama circuitului:
- Cod și explicație de lucru:
În acest tutorial vom interfața motorul pas cu pas folosind MSP430. MSP-EXP430G2 este un instrument de dezvoltare aka LaunchPad furnizate de Texas Instruments pentru a învăța și de a practica cu privire la modul de utilizare Microcontrolere lor. Această placă se încadrează în categoria MSP430 Value Line, unde putem programa toate microcontrolerele din seria MSP430. Dacă nu sunteți nou în MSP, verificați tutorialul nostru de început cu MSP430.
Motor pas cu pas:
Motorul pas cu pas este un tip de motor DC fără perii care transformă impulsurile electrice în mișcări mecanice distincte. Arborele unui motor pas cu pas se rotește în trepte discrete. Putem obține pași și viteze precise în funcție de nevoile noastre.
Vom folosi motorul pas cu pas 35BYJ46 bi-polar, care este disponibil ieftin pe piață. Are 6 fire, dar vine și cu 5 fire. Există 2 bobine în motorul nostru pas cu pas. Fiecare are 3 fire care ies din ea. Din cele 3 fire, 1 este centrat astfel încât să rămână 2 fire conectate direct cu bobina. În total, avem 4 fire de semnal și 2 fire centralizate care sunt conectate cu o sursă de alimentare de 5-12V.
În cazul în care, în total, sunt 5 fire care ies din motor, atunci 4 fire sunt fire de semnal și 1 este centrat, fixat pe ambele bobine. Asa.
Pentru a verifica ce fir este centrat sau care este firul de semnal, trebuie să verificați rezistența firelor care ies din motor. Deci, acele fire, care sunt conectate cu aceeași bobină, au o valoare de rezistență ridicată în comparație cu rezistența filetului centrat.
În diagrama de mai sus, dacă am verificat valoarea rezistenței firelor albastre și galbene și rezistența dintre ele este mai mare decât valoarea dintre galben și roșu sau albastru și roșu. Deci, Roșul este centrat Sârmă filată.
Am interfațat anterior motorul pas cu pas cu alte microcontrolere:
- Interfațarea motorului pas cu pas cu Arduino Uno
- Control motor pas cu pas cu Raspberry Pi
- Interfațarea motorului pas cu pas cu microcontrolerul 8051
- Interfațarea motorului pas cu pas cu microcontrolerul PIC
Motorul pas cu pas poate fi, de asemenea, controlat fără niciun microcontroler, consultați acest circuit al driverului motorului pas cu pas.
Driver de pas cu pas ULN2003:
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 MSP) 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.
În acest proiect, vom folosi driverul de motor ULN2003 IC. Diagrama pin a IC este dată mai jos:
Vom folosi 4 porturi de intrare și 4 ieșiri dacă IC.
Materiale necesare:
- MSP430
- 35BYJ46 sau 28-BYJ48 Motor pas cu pas
- ULN2003 IC
- Fire
- Breadboard
Diagrama circuitului:
În diagrama de mai sus, firul roșu al pasului de trecere nu este conectat cu PIN5 al IC. Trebuie conectat cu 5V. Codul de culoare al motorului dvs. Stepper poate fi diferit de culorile date în diagrama circuitului. Deci, conectați firele după ce ați verificat firele de semnal corecte.
Vom scrie codul nostru folosind Energia IDE. Este la fel ca Arduino IDE și ușor de utilizat. Exemplul de cod pentru conducerea stepper-ului poate fi găsit și în exemplul de meniu al Arduino IDE.
Cod și explicație de lucru:
Înainte de a începe programarea cu MSP430, permiteți-ne să înțelegem ce ar trebui să se întâmple de fapt în interiorul programului. Vom folosi metoda secvenței în 4 pași, așa că vom avea patru pași pentru a efectua o rotație completă. Luați în considerare A, B, C și D ca patru bobine.
Etapa |
Pin energizat |
Bobine energizate |
Pasul 1 |
6 și 7 |
A și B |
Pasul 2 |
7 și 8 |
B și C |
Pasul 3 |
8 și 9 |
C și D |
Pasul 4 |
9 și 6 |
D și A |
În acest tutorial, vom scrie codul motorului pas cu pas MSP430. 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
const int STEPS = 32;
Apoi trebuie să creați instanțe în care specificăm pinii la care am conectat motorul Stepper.
Stepper myStepper (STEPS, 6, 7, 8, 9);
Deoarece folosim biblioteca Stepper, putem seta viteza motorului folosind linia de mai jos. Viteza poate varia între 0 și 200 pentru motoarele pas cu pas 35BYJ46.
Mystepper.setSpeed (200);
Acum, pentru a face motorul să se miște cu un pas, putem folosi următoarea linie.
myStepper.step (STEPS);
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ă. Acum, încărcați codul de mai jos și schimbați nr. de pași în funcție de nevoile tale.
Acesta este modul în care puteți interfața motorul pas cu pas cu un microcontroler PIC, acum vă puteți folosi propria creativitate și puteți afla aplicații pentru acest lucru. Există o mulțime de proiecte care folosesc un motor pas cu pas.