En stegmotor är en typ av likströmsmotor som fungerar i diskreta steg och används överallt från en övervakningskamera till sofistikerade robotar och maskiner. Stegmotorer ger noggrann styrning och kan differentieras utifrån vridmoment, steg per varv och ingångsspänning. I vårt tidigare projekt kontrollerade vi 28-BYJ48 stegmotor med Arduino. 28-BYJ48 har relativt lägre vridmoment än de andra stegmotorerna som NEMA 14, NEMA17.
I den här handledningen ska vi styra stegmotorn NEMA17 med hjälp av Arduino Uno och A4988 stegdrivmodul. Stegmotor Nema17 har högre vridmoment och högre driftspänning än 28-BYJ48. Här kommer också en potentiometer att anslutas för att styra stegmotorns riktning.
Komponent krävs
- Arduino UNO
- NEMA17 stegmotor
- A4988 Stepper Driver Module
- 47 µf kondensator
- Potentiometer
NEMA17 stegmotor
Driften av Nema17 liknar vanliga Stepper Motors. Stegmotor NEMA 17 har en 1,7 x 1,7-tums frontplatta och har vanligtvis mer vridmoment än de mindre varianterna, till exempel NEMA 14. Denna motor har sex ledningstrådar och märkspänningen är 12 volt. Den kan drivas med lägre spänning, men vridmomentet kommer att sjunka. Stegmotorer roterar inte de trampar, och NEMA17-motorn har en stegvinkel på 1,8 grader. betyder att den täcker 1,8 grader i varje steg. Kopplingsschema för NEMA17 ges nedan.
Som du kan se att den här motorn har ett unipolärt sex-trådsarrangemang. Dessa trådar är anslutna i två delade lindningar. Svarta, gula, gröna ledningar är en del av första lindningen där svart är mittkran och gult och grönt är spoländ medan rött, vitt och blått är en del av en andra lindning, där vitt är mittkran och rött och blått är spole ändtrådar. Normalt är kranarna i mitten vanliga frånkopplade.
Steg per revolution för NEMA17
Steps Per Revolution för en viss stegmotor beräknas med stegmotorns stegvinkel. Så i fallet är NEMA 17 stegvinkel 1,8 grader.
Steg per revolution = 360 / stegvinkel 360 / 1,8 = 200 steg per revolution
Specifikationer för NEMA17
- Märkspänning: 12V DC
- Stegvinkel: 1,8 grader.
- Antal faser: 4
- Motorlängd: 1,54 tum
- 4-ledare, 8-tums ledning
- 200 steg per varv, 1,8 grader
- Arbetstemperatur: -10 till 40 ° C
- Unipolärt hållmoment: 22,2 oz-in
Kontrollera också olika stegmotorrelaterade projekt här, som inte bara innefattar grundläggande gränssnitt med olika mikrokontroller utan också har robotikprojekt som involverar stegmotor.
A4988 Stepper Driver Module
En stegmotormodul styr hur en stegmotor fungerar. Stegardrivrutiner skickar strömmen till stegmotorn genom olika faser.
Den A4988 Nema 17 stepper föraren är en mikrostegdrivmodul som används för att styra bipolära stegmotorer. Denna förarmodul har en inbyggd översättare som innebär att vi kan styra stegmotorn med mycket få stift från vår styrenhet.
Med hjälp av denna Nema 17-motorförare-modul kan vi styra stegmotorn genom att bara använda två stift, dvs STEG och RIKTNING. STEP-stift används för att styra stegen medan DIRECTION-stift används för att styra motorns riktning. A4988 föraren modul ger fem olika steg upplösningar: full steg, skaft-steg, kvarts steg, åtta steg och sextonde-steg . Du kan välja de olika stegupplösningarna med hjälp av upplösningsväljartapparna ((MS1, MS2 och MS3). Sanningstabellen för dessa stift ges nedan:
MS1 | MS2 | MS3 | Microstep-upplösning |
Låg | Låg | Låg | Fullt steg |
Hög | Låg | Låg | ½ steg (halvt steg) |
Låg | Hög | Låg | ¼ Step (Quarter Step) |
Hög | Hög | Låg | 1/8 steg (åttonde steg) |
Hög | Hög | Hög | 1/16 steg (sextonde steg) |
Specifikationer för A4988
Max. Driftspänning: 35V
Min. Driftspänning: 8V
Max. Ström per fas: 2A
Microstep-upplösning: Fullt steg, ½ steg, ¼ steg, 1/8 och 1/16 steg
Omvänd spänningsskydd: Nej
Mått: 15,5 × 20,5 mm (0,6 ″ × 0,8 ″)
Kretsschema
Kretsschema för att styra Nema 17 stegmotor med Arduino ges i bilden ovan. Eftersom A4988-modulen har en inbyggd översättare betyder det att vi bara behöver ansluta steg- och riktningsstiften till Arduino. Stegstift används för att styra stegen medan riktningsstiftet används för att styra riktningen. Stegmotorn drivs med en 12V strömkälla och A4988-modulen drivs via Arduino. Potentiometer används för att styra motorns riktning.
Om du vrider potentiometern medurs roterar steget medurs och om du vrider potentiometern moturs kommer den att rotera moturs. En kondensator på 47 µf används för att skydda kortet från spänningspinnar. MS1-, MS2- och MS3-stift lämnas frånkopplade, det betyder att föraren kommer att fungera i fullstegsläge.
Kompletta anslutningar för Arduino Nema 17 A4988 i nedanstående tabell.
S.NO. |
A4988 Pin |
Förbindelse |
1 |
VMOT |
+ Batteri |
2 |
GND |
-Batteri |
3 |
VDD |
5V Arduino |
4 |
GND |
GND av Arduino |
5 |
STP |
Stift 3 i Arduino |
6 |
DIR |
Stift 2 i Arduino |
7 |
1A, 1B, 2A, 2B |
Stegmotor |
Kodförklaring
Komplett kod med fungerande videokontroll Nema 17 med Arduino ges i slutet av denna handledning, här förklarar vi hela programmet för att förstå hur projektet fungerar.
Först och främst, lägg till stegmotorbiblioteket i din Arduino IDE. Du kan ladda ner stegmotorbiblioteket härifrån.
Därefter definierar du antalet steg för NEMA 17. Som vi beräknade kommer nej. steg per varv för NEMA 17 är 200.
#omfatta
Därefter anger du stiften till vilken drivarmodul är ansluten och definierar motorgränssnittstypen som Type1 eftersom motorn är ansluten via drivarmodulen.
Stegsteg (STEG, 2, 3); #define motorInterfaceType 1
Ställ sedan in hastigheten för stegmotor med funktionen stepper.setSpeed . Högsta motorhastighet för NEMA 17 är 4688 RPM, men om vi kör den snabbare än 1000 RPM, faller det snabbt.
ogiltig installation () { stepper.setSpeed (1000);
Nu i huvudslingan , kommer vi att läsa potentiometer värdet från A0 stift. I den här slingan finns det två funktioner, den ena är potVal och den andra är Pval . Om det aktuella värdet, dvs potVal är högre än det tidigare värdet, dvs Pval än, kommer det att flytta tio steg medurs och om det aktuella värdet är mindre än det tidigare värdet än kommer det att flytta tio steg moturs.
potVal = karta (analogRead (A0), 0,1024,0,500); om (potVal> Pval) stepper.step (10); if (potVal
Anslut nu Arduino med din bärbara dator och ladda upp koden till ditt Arduino UNO-kort med Arduino IDE, välj Board och portnr och klicka sedan på uppladdningsknappen.
Nu kan du styra riktningen på Nema17 stegmotor med potentiometern. Hela arbetet med projektet visas i videon nedan. Om du är osäker på detta projekt, lägg upp dem i kommentarsektionen nedan.