En trinnmotor er en type DC-motor som fungerer i diskrete trinn og brukes overalt fra et overvåkingskamera til sofistikerte roboter og maskiner. Stepper motorer gir nøyaktig kontroll, og kan differensieres på grunnlag av dreiemoment, trinn per omdreining og inngangsspenning. I vårt forrige prosjekt kontrollerte vi 28-BYJ48 trinnmotor ved hjelp av Arduino. 28-BYJ48 har relativt lavere dreiemoment enn de andre trinnmotorene som NEMA 14, NEMA17.
I denne opplæringen skal vi kontrollere NEMA17 trinnmotor ved hjelp av Arduino Uno og A4988 stepper driver module. Nema17 trinnmotor har høyere dreiemoment og høyere driftsspenning enn 28-BYJ48. Her blir det også festet et potensiometer for å kontrollere retningen på trinnmotoren.
Komponent påkrevd
- Arduino UNO
- NEMA17 trinnmotor
- A4988 Stepper Driver Module
- 47 µf kondensator
- Potensiometer
NEMA17 trinnmotor
Driften av Nema17 ligner på normale Stepper Motors. NEMA 17 trinnmotor har en 1,7 x 1,7-tommers frontplate, og den har vanligvis mer dreiemoment enn de mindre variantene, for eksempel NEMA 14. Denne motoren har seks ledninger, og nominell spenning er 12 volt. Den kan brukes med lavere spenning, men dreiemomentet vil synke. Steppermotorer roterer ikke, de trår, og NEMA17-motoren har en trinnvinkel på 1,8 grader. betyr at den dekker 1,8 grader i hvert trinn. Koblingsskjema for NEMA17 er gitt nedenfor.
Som du kan se at denne motoren har et unipolært seks-leder arrangement. Disse ledningene er koblet sammen i to splittede viklinger. Svarte, gule, grønne ledninger er en del av første vikling der svart er midtkran, og gul og grønn er spiralenden mens rød, hvit og blå er en del av en andre vikling, der hvit er midtkran og rød og blå er spiral ende ledninger. Normalt er ledningene på midten av kranene koblet fra.
Trinn per revolusjon for NEMA17
Trinn per revolusjon for en bestemt trinnmotor beregnes ved hjelp av trinnvinkelen til den trinnmotoren. Så i tilfelle er NEMA 17 trinns vinkel 1,8 grader.
Trinn per revolusjon = 360 / trinnvinkel 360 / 1,8 = 200 trinn per revolusjon
Spesifikasjoner for NEMA17
- Nominell spenning: 12V DC
- Trinnvinkel: 1,8 grader.
- Antall faser: 4
- Motorlengde: 1,54 tommer
- 4-leder, 8-tommers ledning
- 200 trinn per omdreining, 1,8 grader
- Driftstemperatur: -10 til 40 ° C
- Unipolar holdemoment: 22,2 oz-in
Sjekk også forskjellige trinnmotorrelaterte prosjekter her, som ikke bare inkluderer grunnleggende grensesnitt med forskjellige mikrokontrollere, men også har robotikkprosjekter som involverer trinnmotor.
A4988 Stepper Driver Module
En trinndrivermodul styrer arbeidet til en trinnmotor. Stepper drivere sender strømmen til trinnmotor gjennom forskjellige faser.
Den A4988 NEMA 17 stepper driveren er en microstepping drivermodul som brukes til å styre bipolare trinnmotorer. Denne drivermodulen har en innebygd oversetter som betyr at vi kan kontrollere trinnmotoren ved hjelp av svært få pinner fra kontrolleren vår.
Ved hjelp av denne Nema 17-motordrivermodulen kan vi kontrollere trinnmotoren ved å bruke bare to pinner, dvs. STEP og RETNING. STEP pin brukes til å kontrollere trinnene mens DIRECTION pin brukes til å kontrollere motorens retning. A4988 drivermodul gir fem forskjellige trinnoppløsninger: full-trinn, haft-trinn, kvart-trinn, åtte-trinn og sekstende trinn . Du kan velge de forskjellige trinnoppløsninger ved hjelp av oppløsningsvelgerpinnene ((MS1, MS2 og MS3). Sannhetstabellen for disse pinnene er gitt nedenfor:
MS1 | MS2 | MS3 | Microstep oppløsning |
Lav | Lav | Lav | Fullt trinn |
Høy | Lav | Lav | ½ trinn (halv trinn) |
Lav | Høy | Lav | ¼ Step (Quarter Step) |
Høy | Høy | Lav | 1/8 trinn (åttende trinn) |
Høy | Høy | Høy | 1/16 trinn (sekstende trinn) |
Spesifikasjoner for A4988
Maks. Driftsspenning: 35V
Min. Driftsspenning: 8V
Maks. Gjeldende per fase: 2A
Microstep oppløsning: Full trinn, ½ trinn, ¼ trinn, 1/8 og 1/16 trinn
Omvendt spenningsvern: Nei
Dimensjoner: 15,5 × 20,5 mm (0,6 ″ × 0,8 ″)
Kretsdiagram
Kretsskjema for å kontrollere Nema 17 trinnmotor med Arduino er gitt i bildet ovenfor. Siden A4988-modulen har en innebygd oversetter, betyr det at vi bare trenger å koble trinn- og retningspinnene til Arduino. Trinnpinne brukes til å kontrollere trinnene mens retningspinnen brukes til å kontrollere retningen. Stepper motor drives av en 12V strømkilde, og A4988-modulen drives av Arduino. Potensiometer brukes til å kontrollere motorens retning.
Hvis du dreier potensiometeret med klokken, vil stepper rotere med klokken, og hvis du dreier potensiometeret mot klokken, vil det rotere mot klokken. En kondensator på 47 µf brukes til å beskytte kortet mot spenningsspisser. MS1-, MS2- og MS3-pinner er frakoblet, det betyr at sjåføren vil operere i full-trinn-modus.
Komplette tilkoblinger for Arduino Nema 17 A4988 gitt i tabellen nedenfor.
S.NO. |
A4988 Pin |
Forbindelse |
1 |
VMOT |
+ ve batteri |
2 |
GND |
-Batteri |
3 |
VDD |
5V av Arduino |
4 |
GND |
GND av Arduino |
5 |
STP |
Pin 3 av Arduino |
6 |
DIR |
Pin 2 av Arduino |
7 |
1A, 1B, 2A, 2B |
Stepper Motor |
Kode Forklaring
Komplett kode med fungerende videokontroll Nema 17 med Arduino er gitt på slutten av denne opplæringen, her forklarer vi det komplette programmet for å forstå hvordan prosjektet fungerer.
Først av alt, legg trinnmotorbiblioteket til Arduino IDE. Du kan laste ned trinnmotorbiblioteket herfra.
Etter det definerer du antall trinn for NEMA 17. Som vi beregnet, er nr. trinn per revolusjon for NEMA 17 er 200.
#inkludere
Deretter spesifiserer du pinnene som drivermodulen er koblet til, og definerer motorgrensesnittstypen som Type1 fordi motoren er koblet til gjennom drivermodulen.
Stepper stepper (TRINN, 2, 3); #define motorInterfaceType 1
Still deretter hastigheten for trinnmotor ved hjelp av funksjonen stepper.setSpeed . Maksimal motorhastighet for NEMA 17 er 4688 RPM, men hvis vi kjører den raskere enn 1000 RPM, faller det raskt.
ugyldig oppsett () { stepper.setSpeed (1000);
Nå i hovedsløyfen , vil vi lese potensiometer verdien fra A0 pin. I denne sløyfen er det to funksjoner, den ene er potVal , og den andre er Pval . Hvis den nåværende verdien, dvs. potVal er høyere enn den forrige verdien, dvs. Pval , vil den bevege seg ti trinn mot urviseren, og hvis den nåværende verdien er mindre enn forrige verdi, vil den bevege seg ti trinn mot urviseren..
potVal = kart (analogRead (A0), 0,1024,0,500); if (potVal> Pval) stepper.step (10); hvis (potVal
Koble nå Arduino til den bærbare datamaskinen og last opp koden til Arduino UNO-kortet ved hjelp av Arduino IDE, velg Board og port no og klikk deretter på opplastingsknappen.
Nå kan du kontrollere retningen på Nema17 trinnmotor ved hjelp av potensiometeret. Fullstendig bearbeiding av prosjektet er vist i videoen nedenfor. Hvis du er i tvil angående dette prosjektet, legg dem inn i kommentarfeltet nedenfor.