Innehållsförteckning:
- Steg 1: Bestäm kraven
- Steg 2: Bygg en dynamometer
- Steg 3: Välj Candidate Step Motor Drivers
- Steg 4: Välj Candidate Step Motors
- Steg 5: Mät vridmoment mot kandidaternas hastighet
- Steg 6: Konstant spänningsdrift av 57BYGH207 halvspole vid märkström
- Steg 7: Konstant strömdrift av 57BYGH207 halvspole vid märkström
- Steg 8: Konstant strömdrift på 57BYGH207 fullspole vid märkström
- Steg 9: Konstant strömdrift på 57BYGH104 hel spole vid ½ märkström
- Steg 10: Konstant strömdrift på 57BYGH104 fullspole vid 3/4 märkström
- Steg 11: Konstant strömdrift på 57BYGH104 fullspole vid märkström
- Steg 12: Gör det slutliga valet
Video: Välja en stegmotor och drivrutin för ett Arduino Automated Shade Screen Project: 12 steg (med bilder)
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:44
I den här instruktionsboken kommer jag att gå igenom stegen som jag tog för att välja en stegmotor och drivrutin för ett prototyp Automated Shade Screen -projekt. Skärmskärmarna är de populära och billiga Coolaroo handvevade modellerna, och jag ville byta ut handvevarna mot stegmotorer och en central styrenhet som kan programmeras för att höja och sänka nyanser baserat på beräknade soluppgångar och solnedgångstider. Projektet har utvecklats genom minst fem iterationer till en produkt som du kan hitta på Amazon.com eller AutoShade.mx, men processen för att välja stegmotor och dess förarelektronik är en som bör vara tillämplig på många andra Arduino -baserade projekt.
Den ursprungliga konfigurationen som valdes för prototypelektroniken var Arduino Uno (Rev 3) -processorn (Adafruit #50) med brädor för visning (Adafruit #399), realtidsur (Adafruit #1141) och tvåstegsmotordrivrutiner (Adafruit #1438). Alla kort kommunicerar med processorn med ett seriellt I2C -gränssnitt. Programvarudrivrutiner är tillgängliga för alla dessa, vilket gör utvecklingen av skärmskärmskontrollen mycket enklare.
Steg 1: Bestäm kraven
Nyanserna ska fungera minst lika snabbt som vid handvridning. En ihållande hastighet för handen kan vara 1 vev per sekund. De flesta stegmotorer har en stegstorlek på 1,8 grader, eller 200 steg per varv. Så minsta steghastighet bör vara cirka 200 steg per sekund. Två gånger skulle det vara ännu bättre.
Vridmomentet för att höja eller sänka skuggan genom Coolaroo snäckväxel mättes på 9 skärmskärmar på toppen och botten av resan med en kalibrerad skruvmejsel (McMaster Carr #5699A11 med en räckvidd på +/- 6 in-lbs). Detta var vridmomentet "utbrytning", och det varierade mycket. Minsta var 0,25 tum och maximalt 3,5 tum. Den rätta metriska måttenheten för vridmoment är N-m och 3 in-lbs är.40 N-m som jag använde som det nominella "friktionsmomentet".
Stegmotorleverantörer anger motormoment i enheter på kg-cm av någon anledning. Ovanstående minsta vridmoment på 0,4 N-m är 4,03 kg-cm. För en anständig vridmomentsmarginal ville jag ha en motor som kunde leverera dubbelt så mycket eller cirka 8 kg-cm. Att titta över stegmotorerna som listas hos kretsspecialister indikerade snabbt att jag behövde en ramstorlek 23 motor. Dessa finns i korta, medellånga och långa stapellängder och en mängd olika lindningar.
Steg 2: Bygg en dynamometer
Stegmotorer har ett distinkt vridmoment vs hastighetskaraktäristik som beror på hur deras lindningar drivs. Det finns två anledningar till att vridmomentet minskar med hastigheten. Den första är att en bakre EMF (spänning) utvecklas i lindningarna som motsätter sig den applicerade spänningen. För det andra motsätter sig lindningsinduktansen förändringen i ström som uppstår med varje steg.
Prestanda för en stegmotor kan förutses med hjälp av en dynamisk simulering, och den kan mätas med en dynamometer. Jag gjorde båda, men kommer inte att diskutera simuleringen eftersom testdata verkligen är en kontroll av simuleringens noggrannhet.
En dynamometer gör det möjligt att mäta motorns vridmomentkapacitet när den körs med kontrollerad hastighet. En kalibrerad magnetisk partikelbroms applicerar lastmomentet på motorn. Det finns ingen anledning att mäta varvtalet eftersom det kommer att vara lika med motorns steghastighet tills lastmomentet överstiger motorns kapacitet. När detta händer förlorar motorn synkronisering och gör en hög racket. Testförfarandet består i att styra en konstant hastighet, långsamt öka strömmen genom bromsen och notera dess värde strax innan motorn tappar synk. Detta upprepas vid olika hastigheter och plottas som vridmoment vs hastighet.
Den valda magnetiska partikelbromsen är en Placid Industries modell B25P-10-1 köpt på Ebay. Denna modell är inte längre listad på tillverkarens webbplats, men från artikelnumret är den klassad för att ge ett maximalt vridmoment på 25 in-lb = 2.825 N-m, och spolen är konstruerad för 10 VDC (max). Detta är idealiskt för att testa motorer i storlek 23 som övervägs för att ge toppmoment på cirka 1,6 N-m. Dessutom kom denna broms med ett pilothål och monteringshål som är identiska med dem som används på NMEA 23 -motorer, så att den kan monteras med samma monteringsfäste som motorn. Motorerna har ¼ tum axlar och bromsen kom med en ½ tum axel så en flexibel kopplingsadapter med axlar av samma storlek anskaffades också på Ebay. Allt som krävdes var att montera på två fästen på en aluminiumbas. Fotot ovan visar teststället. Monteringsfästena är lätt tillgängliga på Amazon och Ebay.
Bromsmomentet för magnetpartikelbromsen är proportionellt mot lindningsströmmen. För att kalibrera bromsen, var en av två momentmätskruvmejslar anslutna till axeln på motsatt sida av bromsen som stegmotor. De två skruvmejslarna som användes var McMaster Carr artikelnummer 5699A11 och 5699A14. Den förstnämnda har ett maximalt vridmomentintervall på 6 in-lb = 0,678 N-m och det senare har ett maximalt vridmomentintervall på 25 in-lb = 2,825 N-m. Ström levererades från en variabel likström CSI5003XE (50 V/3A). Grafen ovan visar det uppmätta vridmomentet mot strömmen.
Observera att i intervallet för dessa tester kan bromsmomentet närmas nära av det linjära förhållandet Torque (N-m) = 1,75 x Bromsström (A).
Steg 3: Välj Candidate Step Motor Drivers
Stegmotorer kan drivas med en lindning som är helt aktiv vid en tid som vanligtvis kallas SINGLE stepping, båda lindningarna fullt aktiva (DOUBLE stepping) eller båda lindningarna delvis aktiva (MICROSTEPPING). I denna applikation är vi intresserade av maximalt vridmoment, så endast DOUBLE stepping används.
Vridmoment är proportionellt mot lindningsströmmen. En stegmotor kan drivas med en konstant spänning om lindningsmotståndet är tillräckligt högt för att begränsa steady state -strömmen till motorns nominella värde. Adafruit #1438 Motorshield använder konstantspänningsdrivrutiner (TB6612FNG) som är märkta till 15 VDC, högst 1,2 ampere. Denna drivrutin är den större tavlan som visas på det första fotot ovan (utan de två dotterbrädorna till vänster).
Prestanda med en konstant spänningsdrivare är begränsad eftersom strömmen vid hastighet reduceras kraftigt på grund av både lindningsinduktansen och bakre EMF. Ett alternativt tillvägagångssätt är att välja en motor med lägre motstånd och induktanslindning och att köra den med en konstant ström. Den konstanta strömmen produceras genom att pulsbredden modulerar den applicerade spänningen.
En bra enhet som används för att tillhandahålla konstantström -enheten är DRV8871 tillverkad av Texas Instruments. Denna lilla IC innehåller en H -bro med en intern strömkänsla. Ett externt motstånd används för att ställa in önskad konstant (eller maximal) ström. IC: n kopplar automatiskt bort spänningen när strömmen överstiger det programmerade värdet och återansluter den när den sjunker under något tröskelvärde.
DRV8871 är märkt till 45 VDC, max 3,6 ampere. Den innehåller en intern över-temperaturavkänningskrets som kopplar bort spänningen när övergångstemperaturen når 175 grader C. IC: n är endast tillgänglig i ett 8-stifts HSOP-paket som har en termisk kudde på undersidan. TI säljer en utvecklingskort som innehåller en IC (två krävs för enstegsmotor), men det är väldigt dyrt. Adafruit och andra säljer en liten prototypplatta (Adafruit #3190). För test monterades två av dessa utombordare på en Adafruit Motorshield som visas på det första fotot ovan.
De nuvarande drivfunktionerna för både TB6612 och DRV8871 begränsas i praktiken av temperaturhöjningen inuti delarna. Detta kommer att bero på värmesänkning av delarna samt omgivningstemperaturen. I mina rumstemperaturprov nådde DRV8871 -dotterbrädorna (Adafruit #3190) sina övertemperaturgränser på cirka 30 sekunder vid 2 ampere, och stegmotorerna blir mycket oregelbundna (enfasvis intermittent när övertemperaturkretsen bryter in och ut). Att använda DRV8871 som dotterbrädor är i alla fall en kludge, så en ny skärm designades (AutoShade #100105) som innehåller fyra av drivrutinerna för att driva tvåstegsmotorer. Denna bräda var utformad med en stor mängd markplan på båda sidor för att värmesänka IC: erna. Den använder samma seriella gränssnitt till Arduino som Adafruit Motorshield, så samma biblioteksprogram kan användas för drivrutinerna. Det andra fotot ovan visar detta kretskort. För mer information om AutoShade #100105, se listan på Amazon eller AutoShade.mx webbplats.
I min skärmskärmsprogram tar det 15 till 30 sekunder att höja eller sänka varje nyans beroende på hastighetsinställningen och skuggavståndet. Strömmen bör därför begränsas så att övertemperaturgränsen aldrig uppnås under drift. Tiden för att nå övertemperaturgränserna på 100105 är större än 6 minuter med en strömstyrka på 1,6 amp och mer än 1 minut med en strömstyrka på 2,0 ampere.
Steg 4: Välj Candidate Step Motors
Circuit Specialists har två stegmotorer i storlek 23 som ger det moment på 8 kg-cm som krävs. Båda har tvåfaslindningar med mittkranar så att de kan anslutas så att antingen hela eller halvlindningarna drivs. Specifikationerna för dessa motorer anges i de två tabellerna ovan. Båda motorerna är nästan identiskt mekaniskt, men elektriskt har 104 -motorn ett mycket lägre motstånd och induktans än 207 -motorn. Förresten, de elektriska specifikationerna är för halv spole excitation. När hela lindningen används fördubblas motståndet och induktansen ökar med en faktor 4.
Steg 5: Mät vridmoment mot kandidaternas hastighet
Med hjälp av dynamometern (och simuleringen) bestämdes vridmoment vs hastighetskurvor för ett antal motor-/lindnings-/strömdrivkonfigurationer. Programmet (skiss) som används för att köra dynamometern för dessa tester kan laddas ner från AutoShade.mx webbplats.
Steg 6: Konstant spänningsdrift av 57BYGH207 halvspole vid märkström
57BYGH207 -motorn med halvspole driven vid 12V (konstant spänningsläge) ger 0,4 ampere och var den ursprungliga drivkonfigurationen. Denna motor kan köras direkt från Adafruit #1434 Motorshield. Ovanstående figur visar de simulerade och uppmätta vridmomenthastighetsegenskaperna tillsammans med värsta friktionen. Denna konstruktion faller långt under det önskade vridmomentet som krävs för drift med 200 till 400 steg per sekund.
Steg 7: Konstant strömdrift av 57BYGH207 halvspole vid märkström
Att fördubbla den applicerade spänningen men använda chopper -drivenheten för att begränsa strömmen till 0,4 ampere förbättrar prestandan avsevärt enligt ovan. Att öka den applicerade spänningen ytterligare skulle förbättra prestandan ännu mer. Men drift över 12 VDC är oönskad av flera skäl.
· DRV8871 är spänningsbegränsad till 45 VDC
· Väggmonterade nätaggregat med högre spänning är inte så vanliga och är dyrare
· Spänningsregulatorerna som används för att leverera 5 VDC -effekten för logikkretsarna som används i Arduino -designen är begränsade till max. 15 VDC. Så att driva motorerna vid högre spänningar än detta skulle kräva två nätaggregat.
Steg 8: Konstant strömdrift på 57BYGH207 fullspole vid märkström
Detta undersöktes med simuleringen men testades inte eftersom jag inte hade en 48 V strömförsörjning. Vridmomentet vid låga hastigheter fördubblas när hela spolen drivs med märkströmmen, men faller sedan snabbare med hastigheten.
Steg 9: Konstant strömdrift på 57BYGH104 hel spole vid ½ märkström
Med 12 VDC och en ström på 1,0A resulterar vridmomenthastighetskarakteristiken som visas ovan. Testresultaten uppfyller kraven för drift med 400 steg per sekund.
Steg 10: Konstant strömdrift på 57BYGH104 fullspole vid 3/4 märkström
Ökning av lindningsströmmarna till 1,6 ampere ökar vridmomentsmarginalen avsevärt.
Steg 11: Konstant strömdrift på 57BYGH104 fullspole vid märkström
Om lindningsströmmarna ökas till 2A och vridmomentet ökar som visas ovan, men inte så mycket som simuleringen skulle förutsäga. Så det händer något i verkligheten som begränsar vridmomentet vid dessa högre strömmar.
Steg 12: Gör det slutliga valet
Att använda hela spolen snarare än hälften är definitivt bättre men är inte önskvärt med 207 -motorn på grund av den högre spänning som krävs. Motorn 104 tillåter drift vid lägre applicerad spänning. Denna motor är därför vald.
Hela spolmotståndet för 57BYGH104 -motorn är 2,2 ohm. Motståndet hos föraren FETS i DRV8871 är cirka 0,6 ohm. Typiskt ledningsmotstånd till och från motorerna är cirka 1 ohm. Så den effekt som försvinner i en motorkrets är lindningsströmmen i kvadrat gånger 3,8 ohm. Total effekt är dubbelt så stor eftersom båda lindningarna drivs samtidigt. För lindningsströmmarna som övervägs ovan visas resultaten i denna tabell.
Genom att begränsa motorströmmarna till 1,6 ampere kan vi använda en mindre och billigare strömförsörjning på 24 watt. Mycket liten vridmomentsmarginal går förlorad. Stegmotorer är inte heller tysta enheter. Att köra dem med en högre ström gör dem högre. Så av intresse för lägre effekt och tystare drift valdes den nuvarande gränsen till 1,6 ampere.
Rekommenderad:
28BYJ-48 5V stegmotor och A4988-drivrutin: 4 steg
28BYJ-48 5V stegmotor och A4988-drivrutin: Har du någonsin velat få en robot att vrida i en exakt vinkel, med bara några få utgångar från din Arduino eller mikro: bit? Allt detta billigt? Det är det instruerbara för dig! I denna instruerbara kommer vi att se hur man kör en mycket billig stegmotor med endast
Stegmotorstyrd stegmotor - Stegmotor som roterande kodare: 11 steg (med bilder)
Stegmotorstyrd stegmotor | Stegmotor som roterande kodare: Har ett par stegmotorer liggande och vill göra något? I denna instruerbara, låt oss använda en stegmotor som en roterande kodare för att styra en annan stegmotors position med en Arduino -mikrokontroller. Så utan vidare, låt oss ge
Hur man använder stegmotor som roterande kodare och OLED -display för steg: 6 steg
Så här använder du stegmotor som roterande kodare och OLED -skärm för steg: I denna handledning lär vi oss hur du spårar stegmotorstegen på OLED -skärmen. Titta på en demonstrationsvideo. Kredit för den ursprungliga handledningen går till YouTube -användaren " sky4fly "
'Home Alone' inbrottslarm/ Använd Attiny13 för att köra en stegmotor och en servo: 5 steg
'Home Alone' inbrottstjuv/ använd Attiny13 för att köra en stegmotor och en servo: Det här kan vara ett av mina konstigaste projekt än :-) Men även om du inte är intresserad av att hålla inbrottstjuvar borta kan det här projektet användas för allt där du behöver köra en stegmotor eller servomotor, eller till och med flera likströmsmotorer med en Attiny13.Mo
Smart styrsystem för robotbilar som använder stegmotor för gammal diskett/CD -enhet: 8 steg (med bilder)
Smart styrsystem för robotbilar med stegmotor för gammal diskett/CD -enhet: Smart styrsystem för robotbilar Är du orolig för att skapa ett bra styrsystem för din robotbil? Här är en utmärkt lösning bara med dina gamla diskett/ CD/ DVD -enheter. se upp det och få en uppfattning om det Besök georgeraveen.blogspot.com