En stepmotor er en type DC-motor, der fungerer i diskrete trin og bruges overalt fra et overvågningskamera til sofistikerede robotter og maskiner. Trinmotorer giver nøjagtig kontrol og kan differentieres på baggrund af drejningsmoment, trin pr. Omdrejning og indgangsspænding. I vores tidligere projekt styrede vi 28-BYJ48 trinmotor ved hjælp af Arduino. 28-BYJ48 har relativt lavere drejningsmoment end de andre trinmotorer som NEMA 14, NEMA17.
I denne vejledning skal vi styre NEMA17-trinmotor ved hjælp af Arduino Uno- og A4988-stepper-drivermodul. Nema17 trinmotor har højere drejningsmoment og højere driftsspænding end 28-BYJ48. Her vil et potentiometer også blive fastgjort til at styre retningen af trinmotor.
Komponent påkrævet
- Arduino UNO
- NEMA17 trinmotor
- A4988 Stepper Driver Module
- 47 µf kondensator
- Potentiometer
NEMA17 trinmotor
Drift af Nema17 svarer til normale Stepper Motors. NEMA 17 trinmotor har en 1,7 x 1,7-tommer frontplade, og den har normalt mere drejningsmoment end de mindre varianter, såsom NEMA 14. Denne motor har seks ledninger, og den nominelle spænding er 12 volt. Den kan betjenes ved en lavere spænding, men drejningsmomentet falder. Trinmotorer roterer ikke, de træder, og NEMA17-motoren har en trinvinkel på 1,8 grader. betyder, at den dækker 1,8 grader i hvert trin. Ledningsdiagram for NEMA17 er angivet nedenfor.
Som du kan se, har denne motor et unipolært seks-leder arrangement. Disse ledninger er forbundet i to splitviklinger. Sorte, gule, grønne ledninger er en del af første vikling, hvor sort er midterhanen, og gul og grøn er spoleenden, mens rød, hvid og blå er en del af en anden vikling, hvor hvid er midterhanen og rød og blå er spiral ende ledninger. Normalt er ledningerne i midten af hanen ikke koblet fra.
Trin pr. Revolution for NEMA17
Trin per omdrejning for en bestemt trinmotor beregnes ved hjælp af trinvinklen på den trinmotor. Så i tilfældet er NEMA 17 trinvinkel 1,8 grader.
Trin pr. Revolution = 360 / trinvinkel 360 / 1,8 = 200 trin pr. Revolution
Specifikationer for NEMA17
- Nominel spænding: 12V DC
- Trinvinkel: 1,8 grader
- Antal faser: 4
- Motorlængde: 1,54 tommer
- 4-leder, 8-tommer bly
- 200 trin pr. Omdrejning, 1,8 grader
- Driftstemperatur: -10 til 40 ° C
- Unipolar holdemoment: 22,2 oz-in
Tjek også forskellige trinmotorrelaterede projekter her, som ikke kun omfatter grundlæggende grænseflader med forskellige mikrocontrollere, men også har robotikprojekter, der involverer trinmotor.
A4988 Stepper Driver Module
Et stepper driver-modul styrer arbejdet med en stepmotor. Stepper drivere sender strømmen til stepmotoren gennem forskellige faser.
Den A4988 Nema 17 stepper chauffør er en microstepping driver modul, der bruges til at styre bipolar stepper motorer. Dette drivermodul har en indbygget oversætter, der betyder, at vi kan styre trinmotoren ved hjælp af meget få ben fra vores controller.
Ved hjælp af dette Nema 17-motordrivermodul kan vi styre trinmotor ved kun at bruge to ben, dvs. STEP og RETNING. STEP pin bruges til at styre trinene, mens DIRECTION pin bruges til at styre motorens retning. A4988-drivermodulet giver fem forskellige trinopløsninger: fuld-trin, haft-trin, kvart-trin, otte-trin og sekstende trin . Du kan vælge de forskellige trinopløsninger ved hjælp af opløsningsvælgerbenene ((MS1, MS2 og MS3). Sandhedstabellen for disse ben er angivet nedenfor:
MS1 | MS2 | MS3 | Microstep opløsning |
Lav | Lav | Lav | Fuldt trin |
Høj | Lav | Lav | ½ trin (halvt trin) |
Lav | Høj | Lav | ¼ Trin (kvart trin) |
Høj | Høj | Lav | 1/8 trin (ottende trin) |
Høj | Høj | Høj | 1/16 trin (sekstende trin) |
Specifikationer for A4988
Maks. Driftsspænding: 35V
Min. Driftsspænding: 8V
Maks. Nuværende pr. Fase: 2A
Microstep-opløsning: Fuldt trin, ½ trin, ¼ trin, 1/8 og 1/16 trin
Beskyttelse mod omvendt spænding: Nej
Dimensioner: 15,5 × 20,5 mm (0,6 ″ × 0,8 ″)
Kredsløbsdiagram
Kredsløbsdiagram til styring af Nema 17 trinmotor med Arduino er vist i ovenstående billede. Da A4988-modulet har en indbygget oversætter, betyder det, at vi kun behøver at forbinde trin- og retningsstifterne til Arduino. Trinstift bruges til at styre trinnene, mens retningspinden bruges til at styre retningen. Trinmotor får strøm fra en 12V strømkilde, og A4988-modulet får strøm via Arduino. Potentiometer bruges til at styre motorens retning.
Hvis du drejer potentiometeret med uret, roterer stepper med uret, og hvis du drejer potentiometeret mod uret, vil det dreje mod uret. En 47 µf kondensator bruges til at beskytte kortet mod spændingsspidser. MS1-, MS2- og MS3-stifter er afbrudt, hvilket betyder, at føreren fungerer i fuld-trin-tilstand.
Komplette forbindelser til Arduino Nema 17 A4988 angivet i nedenstående tabel.
S.NO. |
A4988 Pin |
Forbindelse |
1 |
VMOT |
+ ve batteri |
2 |
GND |
-batteri |
3 |
VDD |
5V af Arduino |
4 |
GND |
GND af Arduino |
5 |
STP |
Pin 3 af Arduino |
6 |
DIR |
Pin 2 af Arduino |
7 |
1A, 1B, 2A, 2B |
Stepper Motor |
Kode Forklaring
Komplet kode med fungerende videokontrol Nema 17 med Arduino er givet i slutningen af denne tutorial, her forklarer vi det komplette program for at forstå projektets funktion.
Først og fremmest skal du tilføje trinmotorbiblioteket til din Arduino IDE. Du kan downloade trinmotorbiblioteket herfra.
Derefter defineres antallet af trin for NEMA 17. Som vi beregnede, nr. trin per omdrejning for NEMA 17 er 200.
#omfatte
Derefter skal du angive de ben, som drivermodulet er tilsluttet, og definere motorinterfacetypen som Type1, fordi motoren er forbundet via drivermodulet.
Stepper step (TRIN, 2, 3); #define motorInterfaceType 1
Indstil derefter hastigheden for trinmotor ved hjælp af stepper.setSpeed- funktionen. Maksimal motorhastighed for NEMA 17 er 4688 RPM, men hvis vi kører den hurtigere end 1000 RPM, falder momentet hurtigt.
ugyldig opsætning () { stepper.setSpeed (1000);
Nu i vigtigste loop, vil vi læse potentiometer værdi fra A0 pin. I denne sløjfe er der to funktioner, den ene er potVal , og den anden er Pval . Hvis den aktuelle værdi, dvs. potVal er højere end den foregående værdi, dvs. Pval, vil den bevæge sig ti trin i retning med uret, og hvis den aktuelle værdi er mindre end den forrige værdi, vil den flytte ti trin i retning mod uret.
potVal = kort (analogRead (A0), 0,1024,0.500); hvis (potVal> Pval) stepper.step (10); hvis (potVal
Tilslut nu Arduino med din bærbare computer, og upload koden til dit Arduino UNO-kort ved hjælp af Arduino IDE, vælg Board og portnr., Og klik derefter på upload-knappen.
Nu kan du styre retningen på Nema17 trinmotor ved hjælp af potentiometeret. Den komplette bearbejdning af projektet vises i videoen nedenfor. Hvis du er i tvivl om dette projekt, skal du sende dem i kommentarfeltet nedenfor.