Inhoudsopgave:

Een stappenmotor en driver selecteren voor een Arduino geautomatiseerd schaduwschermproject: 12 stappen (met afbeeldingen)
Een stappenmotor en driver selecteren voor een Arduino geautomatiseerd schaduwschermproject: 12 stappen (met afbeeldingen)

Video: Een stappenmotor en driver selecteren voor een Arduino geautomatiseerd schaduwschermproject: 12 stappen (met afbeeldingen)

Video: Een stappenmotor en driver selecteren voor een Arduino geautomatiseerd schaduwschermproject: 12 stappen (met afbeeldingen)
Video: Control Position and Speed of Stepper motor with L298N module using Arduino 2024, Juni-
Anonim
Een stappenmotor en driver selecteren voor een Arduino geautomatiseerd schaduwschermproject
Een stappenmotor en driver selecteren voor een Arduino geautomatiseerd schaduwschermproject

In deze Instructable zal ik de stappen doorlopen die ik heb genomen om een stappenmotor en driver te selecteren voor een prototype Automated Shade Screen-project. De zonneschermen zijn de populaire en goedkope Coolaroo-modellen met handslinger, en ik wilde de handslingers vervangen door stappenmotoren en een centrale controller die kon worden geprogrammeerd om de zonneschermen omhoog en omlaag te brengen op basis van berekende zonopkomst- en zonsondergangtijden. Het project is door ten minste vijf iteraties geëvolueerd tot een product dat je kunt vinden op Amazon.com of AutoShade.mx, maar het proces voor het selecteren van de stappenmotor en de bijbehorende elektronica is er een die van toepassing zou moeten zijn op veel andere op Arduino gebaseerde projecten.

De initiële configuratie die werd gekozen voor de prototype-elektronica was de Arduino Uno (Rev 3) processor (Adafruit #50) met borden voor weergave (Adafruit #399), realtime kloktiming (Adafruit #1141) en dual-step motordrivers (Adafruit #1438).). Alle kaarten communiceren met de processor via een seriële I2C-interface. Voor al deze zijn softwarestuurprogramma's beschikbaar, waardoor de ontwikkeling van de schaduwschermcontroller veel eenvoudiger wordt.

Stap 1: Bepaal de vereisten

De rolgordijnen moeten minstens zo snel werken als bij handmatig aanzwengelen. Een aanhoudende handstartsnelheid kan 1 crank per seconde zijn. De meeste stappenmotoren hebben een stapgrootte van 1,8 graden, oftewel 200 stappen per omwenteling. Dus de minimale stapsnelheid moet ongeveer 200 stappen per seconde zijn. Twee keer zou dat nog beter zijn.

Het koppel om het scherm door het Coolaroo-wormwiel omhoog of omlaag te brengen, werd gemeten op 9 schermschermen aan de boven- en onderkant van hun slag met behulp van een gekalibreerde momentschroevendraaier (McMaster Carr #5699A11 met een bereik van +/- 6 in-lbs). Dit was het "ontsnappingskoppel", en het varieerde veel. Het minimum was 0,25 in-lbs en het maximum was 3,5 in-lbs. De juiste metrische maateenheid voor koppel is N-m en 3 in-lbs is.40 N-m, die ik heb gebruikt als het nominale "wrijvingskoppel".

Verkopers van stappenmotoren specificeren om de een of andere reden het motorkoppel in eenheden van kg-cm. Het bovengenoemde minimale koppel van 0,4 N-m is 4,03 Kg-cm. Voor een behoorlijke koppelmarge wilde ik een motor die twee keer dit of ongeveer 8 kg-cm kon leveren. Toen ik de stappenmotoren van Circuit Specialists doorkeek, bleek al snel dat ik een motor met framemaat 23 nodig had. Deze zijn verkrijgbaar in korte, middellange en lange stapellengtes en een verscheidenheid aan wikkelingen.

Stap 2: Bouw een dynamometer

Bouw een dynamometer
Bouw een dynamometer
Bouw een dynamometer
Bouw een dynamometer

Stappenmotoren hebben een duidelijke koppel- versus snelheidskarakteristiek die afhangt van de manier waarop hun wikkelingen worden aangedreven. Er zijn twee redenen waarom het koppel afneemt met de snelheid. De eerste is dat in de wikkelingen een tegen-EMF (spanning) wordt ontwikkeld die de aangelegde spanning tegenwerkt. Ten tweede verzet de wikkelinductantie zich tegen de stroomverandering die bij elke stap optreedt.

De prestatie van een stappenmotor kan worden voorspeld met behulp van een dynamische simulatie en kan worden gemeten met een dynamometer. Ik heb beide gedaan, maar zal de simulatie niet bespreken omdat de testgegevens echt een controle zijn op de nauwkeurigheid van de simulatie.

Een dynamometer maakt het mogelijk het koppelvermogen van een motor te meten terwijl deze met een gecontroleerde snelheid draait. Een gekalibreerde magnetische deeltjesrem past het belastingskoppel toe op de motor. Het is niet nodig om de snelheid te meten, omdat deze gelijk zal zijn aan de stapsnelheid van de motor totdat het belastingskoppel het vermogen van de motor overschrijdt. Zodra dit gebeurt, verliest de motor de synchronisatie en maakt hij een luid lawaai. De testprocedure bestaat uit het besturen van een constante snelheid, het langzaam verhogen van de stroom door de rem en het noteren van de waarde net voordat de motor de synchronisatie verliest. Dit wordt herhaald bij verschillende snelheden en uitgezet als koppel versus snelheid.

De gekozen magnetische deeltjesrem is een Placid Industries-model B25P-10-1, gekocht op Ebay. Dit model wordt niet langer vermeld op de website van de fabrikant, maar volgens het onderdeelnummer levert het een piekkoppel van 25 in-lb = 2,825 N-m, en de spoel is ontworpen voor 10 VDC (max). Dit is bij uitstek geschikt voor het testen van de motoren van maat 23 in kwestie, die zijn geclassificeerd om piekkoppels van ongeveer 1,6 Nm te produceren. Bovendien werd deze rem geleverd met een geleidegat en montagegaten die identiek zijn aan die van NMEA 23-motoren, zodat hij kan worden gemonteerd met een montagebeugel van dezelfde grootte als de motor. De motoren hebben inch assen en de rem werd geleverd met een ½ inch as, dus een flexibele koppelingsadapter met assen van dezelfde maat werd ook op Ebay aangeschaft. Het enige dat nodig was, was om twee beugels op een aluminium basis te monteren. Op de foto hierboven is de testopstelling te zien. De montagebeugels zijn direct verkrijgbaar op Amazon en Ebay.

Het remkoppel van de magnetische deeltjesrem is evenredig met de wikkelstroom. Om de rem te kalibreren, werd een van de twee koppelmeetschroevendraaiers aangesloten op de as aan de andere kant van de rem als de stappenmotor. De twee gebruikte schroevendraaiers waren McMaster Carr onderdeelnummers 5699A11 en 5699A14. De eerste heeft een maximaal koppelbereik van 6 in-lb = 0,678 N-m en de laatste heeft een maximaal koppelbereik van 25 in-lb = 2,825 N-m. Stroom werd geleverd door een variabele gelijkstroomvoeding CSI5003XE (50 V/3A). De bovenstaande grafiek toont het gemeten koppel versus stroom.

Merk op dat in het gebied dat van belang is voor deze tests, het remkoppel goed kan worden benaderd door de lineaire relatie Koppel (N-m) = 1,75 x remstroom (A).

Stap 3: Selecteer kandidaat-stappenmotorstuurprogramma's

Selecteer kandidaat-stuurprogramma's voor stappenmotoren
Selecteer kandidaat-stuurprogramma's voor stappenmotoren
Selecteer kandidaat-stuurprogramma's voor stappenmotoren
Selecteer kandidaat-stuurprogramma's voor stappenmotoren

Stapmotoren kunnen worden aangedreven met één wikkeling die tegelijk volledig actief is, gewoonlijk SINGLE stepping genoemd, beide wikkelingen volledig actief (DOUBLE stepping) of beide wikkelingen gedeeltelijk actief (MICROSTEPPING). In deze toepassing zijn we geïnteresseerd in het maximale koppel, dus alleen DUBBELE stappen worden gebruikt.

Het koppel is evenredig met de wikkelstroom. Een stappenmotor kan worden aangedreven met een constante spanning als de wikkelingsweerstand hoog genoeg is om de stationaire stroom te beperken tot de nominale waarde voor de motor. De Adafruit #1438 Motorshield maakt gebruik van drivers met constante spanning (TB6612FNG) met een nominaal vermogen van 15 VDC, maximaal 1,2 ampère. Dit stuurprogramma is het grotere bord dat wordt weergegeven op de eerste foto hierboven (zonder de twee dochterborden aan de linkerkant).

De prestaties met een driver met constante spanning zijn beperkt omdat de stroom bij snelheid sterk wordt verminderd vanwege zowel de wikkelinductantie als de tegen-EMK. Een alternatieve benadering is om een motor met een lagere weerstand en inductantiewikkeling te selecteren en deze met een constante stroom aan te drijven. De constante stroom wordt geproduceerd door pulsbreedtemodulatie van de aangelegde spanning.

Een geweldig apparaat dat wordt gebruikt om de constante stroomaandrijving te leveren, is de DRV8871 van Texas Instruments. Dit kleine IC bevat een H-brug met een interne stroomdetectie. Een externe weerstand wordt gebruikt om de gewenste constante (of maximale) stroom in te stellen. Het IC ontkoppelt automatisch de spanning wanneer de stroom de geprogrammeerde waarde overschrijdt en past deze opnieuw toe wanneer deze onder een bepaalde drempel daalt.

De DRV8871 heeft een vermogen van 45 VDC, maximaal 3,6 ampère. Het bevat een intern circuit voor het detecteren van oververhitting dat de spanning onderbreekt wanneer de junctietemperatuur 175 ° C bereikt. Het IC is alleen beschikbaar in een 8-pins HSOP-pakket met een thermisch kussen aan de onderkant. TI verkoopt een ontwikkelbord dat één IC bevat (twee zijn vereist voor één stappenmotor), maar het is erg duur. Adafruit en anderen verkopen een klein prototypebord (Adafruit #3190). Voor de test werden er twee buitenboord van een Adafruit Motorshield gemonteerd, zoals te zien is op de eerste foto hierboven.

De huidige aandrijfmogelijkheden van zowel de TB6612 als de DRV8871 worden in de praktijk beperkt door de temperatuurstijging in de onderdelen. Dit is afhankelijk van de warmteafvoer van de onderdelen en de omgevingstemperatuur. In mijn kamertemperatuurtests bereikten de DRV8871-dochterkaarten (Adafruit #3190) hun overtemperatuurlimieten in ongeveer 30 seconden bij 2 ampère, en de stappenmotoren werden erg grillig (enkele fasering met tussenpozen als het oververhittingscircuit in- en uitschakelde). Het gebruik van de DRV8871's als dochterborden is sowieso een kludge, dus is er een nieuw schild ontworpen (AutoShade #100105) dat vier van de stuurprogramma's bevat om twee stappenmotoren te bedienen. Dit bord is ontworpen met een grote hoeveelheid grondvlak aan beide zijden om de IC's te koelen. Het gebruikt dezelfde seriële interface naar de Arduino als het Adafruit Motorshield, dus dezelfde bibliotheeksoftware kan worden gebruikt voor de stuurprogramma's. De tweede foto hierboven toont deze printplaat. Voor meer informatie over de AutoShade #100105, zie de vermelding op Amazon of de AutoShade.mx-website.

In mijn schaduwschermtoepassing duurt het 15 tot 30 seconden om elke schaduw omhoog of omlaag te brengen, afhankelijk van de snelheidsinstelling en de schaduwafstand. De stroom moet daarom zodanig worden begrensd dat de overtemperatuurgrens tijdens bedrijf nooit wordt bereikt. De tijd om de overtemperatuurlimieten op de 100105 te bereiken, is langer dan 6 minuten met een stroomlimiet van 1,6 ampère en meer dan 1 minuut met een stroomlimiet van 2,0 ampère.

Stap 4: Selecteer kandidaat-stappenmotoren

Selecteer kandidaat stappenmotoren
Selecteer kandidaat stappenmotoren
Selecteer kandidaat stappenmotoren
Selecteer kandidaat stappenmotoren

Circuit Specialists heeft twee stappenmotoren van maat 23 die het vereiste koppel van 8 kg-cm leveren. Beide hebben tweefasige wikkelingen met middenaftakkingen zodat ze zo kunnen worden aangesloten dat ofwel de volledige of halve wikkelingen worden aangedreven. De specificaties voor deze motoren staan vermeld in de twee bovenstaande tabellen. Beide motoren zijn mechanisch bijna identiek, maar elektrisch heeft de 104-motor een veel lagere weerstand en inductantie dan de 207-motor. Trouwens, de elektrische specificaties zijn voor bekrachtiging met een halve spoel. Wanneer de gehele wikkeling wordt gebruikt, verdubbelt de weerstand en neemt de inductantie met een factor 4 toe.

Stap 5: Meet koppel versus snelheid van kandidaten

Met behulp van de dynamometer (en de simulatie) werden de koppel vs snelheidscurves bepaald voor een aantal motor/wikkeling/stroomaandrijvingsconfiguraties. Het programma (schets) waarmee de rollenbank voor deze tests wordt uitgevoerd, kan worden gedownload van de website AutoShade.mx.

Stap 6: Constante spanningsaandrijving van 57BYGH207 halve spoel bij nominale stroom

Constante spanningsaandrijving van 57BYGH207 halve spoel bij nominale stroom
Constante spanningsaandrijving van 57BYGH207 halve spoel bij nominale stroom

De 57BYGH207-motor met halve spoel aangedreven op 12V (constante spanningsmodus) resulteert in 0,4 ampère en was de oorspronkelijke aandrijfconfiguratie. Deze motor kan direct vanuit de Adafruit #1434 Motorshield worden aangedreven. De bovenstaande afbeelding toont de gesimuleerde en gemeten koppelsnelheidskarakteristieken samen met de wrijving in het slechtste geval. Dit ontwerp valt ver onder het gewenste koppel dat nodig is voor gebruik met 200 tot 400 stappen per seconde.

Stap 7: Constante stroomaandrijving van 57BYGH207 halve spoel bij nominale stroom

Constante stroomaandrijving van 57BYGH207 halve spoel bij nominale stroom
Constante stroomaandrijving van 57BYGH207 halve spoel bij nominale stroom

Een verdubbeling van de aangelegde spanning maar het gebruik van de chopperaandrijving om de stroom te beperken tot 0,4 ampère verbetert de prestaties aanzienlijk, zoals hierboven weergegeven. Het verder verhogen van de aangelegde spanning zou de prestaties nog meer verbeteren. Maar bedrijf boven 12 VDC is om verschillende redenen ongewenst.

· De DRV8871 heeft een spanningslimiet van 45 VDC

· Wandgemonteerde voedingen met een hoger voltage zijn niet zo gebruikelijk en zijn duurder

· De spanningsregelaars die worden gebruikt om de 5 VDC-voeding te leveren voor de logische schakelingen die in het Arduino-ontwerp worden gebruikt, zijn beperkt tot maximaal 15 VDC. Dus om de motoren op hogere spanningen te laten werken, zijn twee voedingen nodig.

Stap 8: Constante stroomaandrijving van 57BYGH207 Full Coil bij nominale stroom

Constante stroomaandrijving van 57BYGH207 volledige spoel bij nominale stroom
Constante stroomaandrijving van 57BYGH207 volledige spoel bij nominale stroom

Dit is bij de simulatie bekeken maar niet getest omdat ik geen 48V voeding had. Het koppel bij lage snelheden verdubbelt wanneer de volledige spoel wordt aangedreven met de nominale stroom, maar daalt dan sneller met snelheid.

Stap 9: Constante stroomaandrijving van 57BYGH104 Full Coil bij "Nominale stroom"

Constante stroomaandrijving van 57BYGH104 Full Coil bij Nominale stroom
Constante stroomaandrijving van 57BYGH104 Full Coil bij Nominale stroom

Met 12 VDC en een stroomsterkte van 1,0 A resulteert de hierboven getoonde koppel-snelheidskarakteristiek. De testresultaten voldoen aan de eisen voor werking met 400 stappen per seconde.

Stap 10: Constante stroomaandrijving van 57BYGH104 Full Coil bij 3/4 nominale stroom

Constante stroomaandrijving van 57BYGH104 volledige spoel bij 3/4 nominale stroom
Constante stroomaandrijving van 57BYGH104 volledige spoel bij 3/4 nominale stroom

Het verhogen van de wikkelstromen tot 1,6 ampère verhoogt de koppelmarge aanzienlijk.

Stap 11: Constante stroomaandrijving van 57BYGH104 Full Coil bij nominale stroom

Constante stroomaandrijving van 57BYGH104 volledige spoel bij nominale stroom
Constante stroomaandrijving van 57BYGH104 volledige spoel bij nominale stroom

Als de wikkelstromen worden verhoogd tot 2A en het koppel toeneemt zoals hierboven weergegeven, maar niet zoveel als de simulatie zou voorspellen. Er gebeurt dus in werkelijkheid iets dat het koppel bij deze hogere stromen beperkt.

Stap 12: De definitieve selectie maken

De definitieve selectie maken
De definitieve selectie maken

Het gebruik van de volledige spoel in plaats van de helft is zeker beter, maar is niet wenselijk met de 207-motor vanwege de hogere vereiste spanning. De 104-motor maakt gebruik mogelijk bij een lagere aangelegde spanning. Deze motor is daarom geselecteerd.

De volledige spoelweerstand van de 57BYGH104-motor is 2,2 ohm. De weerstand van de driver-FETS in de DRV8871 is ongeveer 0,6 ohm. Typische bedradingsweerstand van en naar de motoren is ongeveer 1 ohm. Dus het vermogen dat in één motorcircuit wordt gedissipeerd, is de wikkelstroom in het kwadraat keer 3,8 ohm. Het totale vermogen is twee keer zo groot omdat beide wikkelingen tegelijkertijd worden aangedreven. Voor de hierboven beschouwde wikkelstromen worden de resultaten in deze tabel getoond.

Door de motorstromen te beperken tot 1,6 ampère kunnen we een kleinere en goedkopere 24 watt voeding gebruiken. Er gaat zeer weinig koppelmarge verloren. Ook zijn stappenmotoren geen stille apparaten. Als ze met een hogere stroom worden aangedreven, worden ze luider. Dus in het belang van een lager vermogen en een stillere werking, werd de stroomlimiet gekozen op 1,6 ampère.

Aanbevolen: