Microstepping Tutorial
Release status: Tutorial
Description | 4 manieren om stroom naar een Arduino te voeren
|
License | |
Author | |
Contributors | |
Based-on | [[]]
|
Categories | |
CAD Models | |
External Link | []
|
Inleiding
Microstepping wordt bereikt door gebruik te maken van pulsbreedtegemoduleerde (PWM) spanning om de stroom naar de motorwikkelingen te regelen. De driver stuurt twee spanningssinusgolven, 90 graden uit fase, naar de motorwikkelingen. Terwijl de stroom in de ene wikkeling toeneemt, neemt deze in de andere wikkeling af. Deze geleidelijke overdracht van stroom resulteert in een soepelere beweging en een consistentere koppelproductie dan volledige of halve stapregeling. A redirect has been set up for this page, which sends visitors to Zaber's website here: [Microstepping Tutorial]
Microstepping Theory
Een bipolaire stappenmotor heeft twee wikkelingen. De stroom door elke wikkeling wordt gevarieerd om de stappenmotor te laten draaien. Bij het overwegen van stappenmotoraandrijftechnieken is een "fasediagram" een nuttig visualisatiehulpmiddel. De stroom door de ene wikkeling Ia wordt uitgezet tegen de stroom door de andere wikkeling Ib. Werkingsmodi zoals volledige stappen, halve stappen, microstepping en werking bij verschillende stroomlimieten kunnen eenvoudig in een dergelijk diagram worden gevisualiseerd. Bovendien is het mogelijk om veranderingen in zowel het energieverbruik als het koppel te visualiseren als functie van de hoekpositie.
Eenvoudige stappenmotorcontrollers kunnen alleen een wikkeling aandrijven met volledige positieve stroom, geen stroom of volledige negatieve stroom. Gegeven deze beschikbare outputs is het alleen mogelijk om volledige stappen, halve stappen of golfstappen te implementeren.
De pijlen in elk fasediagram worden "fasers" genoemd. De hoek theta waarmee de fasor van de ene positie naar de volgende beweegt, is de stap- of microstaphoek. In een fasediagram komt 90° overeen met één volledige stap en 360° met een "volledige stapsequentie". Een volledige stappenreeks is een reeks stappen of microstappen die, wanneer ze worden herhaald, een continue rotatie van de motor veroorzaken. Ervan uitgaande dat er voldoende koppel is, zal elk continu pad dat de vier kwadranten van het fasediagram doorkruist met ten minste één punt per kwadrant voldoende zijn om de stappenmotor te laten draaien.
Als de controller is ontworpen met de mogelijkheid om de grootte van de stroom in elke wikkeling te regelen, kan microstepping worden geïmplementeerd. De onderstaande fasediagrammen tonen allemaal verschillende implementaties van microstepping "delen door 4". Merk op dat het de fasehoek (niet de lengte) is die de microstappositie bepaalt. De faselengte beïnvloedt het energieverbruik en het beschikbare koppel, zoals we later zullen zien.
Hoewel het handig is om te denken dat de Ia- en Ib-assen de volledige stapposities vertegenwoordigen, moet worden erkend dat dit een willekeurige keuze is en dat elke vier posities in de fasediagrammen die 90° uit elkaar liggen, kunnen als volledige stapposities worden beschouwd. Laten we echter voor de eenvoud de positieve Ia-as beschouwen als theta = 0°. Naarmate de theta toeneemt, beweegt de fasor vanuit deze positie tegen de klok in. Bij theta = 90° ligt de fasor langs de positieve Ib-as, één volledige stap verwijderd van zijn startpositie. Elke hoek theta tussen 0 en 90° vertegenwoordigt een mogelijke microstappositie (een positie tussen volledige stapposities). Als je microstepping "delen door 10" wilt implementeren, moet je waarden van Ia en Ib genereren die overeenkomen met waarden van theta gelijk aan 0, 9, 18, 27 ... 81, 90°, enz. Wiskundig gezien is theta gerelateerd naar Ia en Ib met de formule:
Er zijn veel waarden van Ia en Ib die kunnen worden gekozen om dezelfde fasorhoek theta te produceren. De keuze van de faserlengte wordt doorgaans bepaald op basis van het motorvermogen en de koppelvereisten van de toepassing. Vermogen en koppel zijn beide gerelateerd aan de faselengte. Het stroomverbruik bij elke gegeven hoekpositie wordt gegeven door de formule:
waarbij R de weerstand van de wikkeling is (beide wikkelingen moeten dezelfde weerstand hebben)
De lengte van de fasor() wordt gegeven door de formule:
De fasorlengte geeft dus een indicatie van het stroomverbruik bij elke microstaphoek. Het koppel is recht evenredig met de stroom (ervan uitgaande dat de magnetische verzadiging niet wordt bereikt). Het beschikbare koppel is dus direct evenredig met de faselengte, en het fasediagram geeft een indicatie van hoe het koppel kan variëren met de microstappositie. Terzijde: merk op dat de faserlengte evenredig is aan het koppel en aan Sqrt(Power). Daarom is het koppel evenredig met Sqrt(Power). Met andere woorden, een 2x toename van het koppel vereist een 4x toename van het vermogen (ervan uitgaande dat de magnetische verzadiging niet wordt bereikt).
Een fasor met een constante lengte wordt doorgaans gebruikt voor een soepele werking (minimale koppelrimpel) en een constant uitgangsvermogen. Dit resulteert in een cirkelvormig pad rond het fasediagram, waarbij de fasorlengte de straal van de cirkel is. Deze techniek wordt "sinus-cosinus-microstepping" genoemd omdat de doelwaarden voor Ib en Ia evenredig zijn met respectievelijk sin(theta) en cos(theta). In de praktijk verwijst de term microstepping meestal naar sinus-cosinus-microstepping, maar in theorie is sinus-cosinus-microstepping slechts één methode van microstepping. Zoals hierboven vermeld, kan een functionerend microstepping-algoritme worden ontworpen rond elk willekeurig pad dat de vier kwadranten van het fasediagram doorkruist en ten minste één punt per kwadrant heeft.
Het maximale continue vermogen van een motor wordt doorgaans door de fabrikant gespecificeerd. Dit stelt een bovengrens aan de faserlengte, sqrt(Ia2 + Ib2). De effectieve limiet die dit plaatst op Ia en Ib zal afhangen van de geometrie van het gekozen pad rond het fasediagram.
Men moet ook rekening houden met de beperkingen van de stroomvoorziening die wordt gebruikt om de motor aan te drijven. Bij spanningsgestuurde producten kunnen de maximale waarden van Ia en Ib beperkt worden door de voedingsspanning (I=V/R). In dit geval is het gebruik van een vierkant faseprofiel een manier om een hoger koppel te bereiken zonder dat een voeding met een hogere spanning nodig is.
In sommige MakerBase-producten kan de gebruiker kiezen tussen de vierkante fasemodus en de circulaire fasemodus, naast het opgeven van de huidige limiet (de waarde van Ia bij theta = 0). De vierkante fasemodus biedt een ongeveer 40% hoger koppel voor dezelfde stroomlimiet. Er is echter een prijs die moet worden betaald en dat is koppelrimpeling. Je kunt zien dat terwijl je door het fasediagram langs een vierkant pad beweegt, het koppel (evenredig met de lengte van de fase) voortdurend zal toenemen en afnemen. Dit resulteert in een minder soepele bediening en minder microstapnauwkeurigheid. Over het algemeen is het gemakkelijker om een hoger koppel te bereiken door simpelweg de stroomlimiet te verhogen. Soms wordt uw maximale stroomlimiet echter beperkt door uw voedingsspanning of de mogelijkheden van uw controller. In dit geval kunnen verminderde gladheid en nauwkeurigheid een acceptabel compromis zijn voor extra koppel.
Bronnen van fouten in microstepping-systemen
Stappenmotorbesturingssystemen zijn meestal open-lus. Dat wil zeggen dat de controller geen positiefeedback heeft en dus niet op de hoogte is van de "werkelijke" positie van de motor. Daarom is het belangrijk om op de hoogte te zijn van mogelijke foutenbronnen die ertoe kunnen leiden dat de werkelijke positie afwijkt van de berekende positie.
Kwantiseringsfout
In elke digitale controller is het onmogelijk om oneindig variabele Ia en/of Ib te bereiken. Alleen discrete of "gekwantiseerde" waarden zijn mogelijk. Het aantal discrete waarden is afhankelijk van de resolutie die de controller kan bereiken. Als de maximale stroomuitvoer van de controller bijvoorbeeld 1A is en de controller een resolutie van 0,1A heeft, zijn er 10 mogelijke stroomwaarden voor Ia en/of Ib, exclusief 0. Het aantal mogelijke discrete waarden bepaalt hoe dicht de fasor wiskundig kan worden ingesteld op een bepaalde lengte en microstaphoek. De fout tussen de gewenste fasorhoek en de daadwerkelijk bereikte fasorhoek is de kwantiseringsfout.
Een maximale kwantiseringsfout gelijk aan 0,5 microstappen is een typische ontwerpvereiste in elk microstepping-regelalgoritme. Houd er rekening mee dat het aanpassen van het eindpunt van de fasor aan een nabijgelegen Ia,Ib-punt in plaats van het vasthouden aan een strikt cirkelvormig of vierkant profiel vaak de kwantiseringsfout kan verminderen, maar wel wat koppelrimpeling kan toevoegen. De huidige resolutie die u nodig hebt voor Ia en Ib wordt dus bepaald door het aantal microstappen per stap dat u wilt bereiken, de kwantiseringsfout die u kunt tolereren en de koppelrimpeling die u kunt tolereren.
In MakerBase stappenmotorbesturingsalgoritme zijn onze ontwerpvereisten 128 microstappen per stap met een kwantiseringsfout van minder dan 0,5 microstappen en een koppelrimpeling van minder dan 2,5%. Het bepalen van hoeveel discrete stroomwaarden nodig zijn voor Ia en Ib is een taak die het beste kan worden overgelaten aan een spreadsheettoepassing zoals Excel. Zelfs dan vereist het een zekere mate van vallen en opstaan. Zoals blijkt, zijn er 80 discrete stroominstellingen (tussen 0 en de lopende stroom) nodig om 128 microstappen per stap te bereiken met een kwantiseringsfout van minder dan 0,5 microstappen en een koppelrimpeling van minder dan 2,5%. De resulterende kwantiseringsfout bij elke microstappositie is hieronder weergegeven.
Kwantiseringsfout
In elke digitale controller is het onmogelijk om oneindig variabele Ia en/of Ib te bereiken. Alleen discrete of "gekwantiseerde" waarden zijn mogelijk. Het aantal discrete waarden is afhankelijk van de resolutie die de controller kan bereiken. Als de maximale stroomuitvoer van de controller bijvoorbeeld 1A is en de controller een resolutie van 0,1A heeft, zijn er 10 mogelijke stroomwaarden voor Ia en/of Ib, exclusief 0. Het aantal mogelijke discrete waarden bepaalt hoe dicht de fasor wiskundig kan worden ingesteld op een bepaalde lengte en microstaphoek. De fout tussen de gewenste fasorhoek en de daadwerkelijk bereikte fasorhoek is de kwantiseringsfout.
Een maximale kwantiseringsfout gelijk aan 0,5 microstappen is een typische ontwerpvereiste in elk microstepping-regelalgoritme. Houd er rekening mee dat het aanpassen van het eindpunt van de fasor aan een nabijgelegen Ia,Ib-punt in plaats van het vasthouden aan een strikt cirkelvormig of vierkant profiel vaak de kwantiseringsfout kan verminderen, maar wel wat koppelrimpeling kan toevoegen. De huidige resolutie die u nodig hebt voor Ia en Ib wordt dus bepaald door het aantal microstappen per stap dat u wilt bereiken, de kwantiseringsfout die u kunt tolereren en de koppelrimpeling die u kunt tolereren.
Motorpoolplaatsingsfout
Motorpoolplaatsingsfout resulteert in een variërende stapgrootte. Er is doorgaans een fout die zich elke 4 stappen herhaalt (één complete stapcyclus), evenals een fout die zich elke volledige omwenteling herhaalt. Dit heeft een duidelijk effect op microstepping. De microstapgrootte binnen grote stappen is proportioneel groter dan de microstapgrootte in kleine stappen. De poolplaatsingsfout in een typische motor is minder dan 0,5 stappen cumulatieve fout over een halve omwenteling van de motor. Aangezien een typische motor 200 stappen per omwenteling heeft, vertaalt zich dat in een fout in stapgrootte van ongeveer +/- 0,5%. Het is mogelijk om de fout in de plaatsing van de polen in elke toepassing te elimineren door simpelweg in stappen van één volledige omwenteling van de motor te bewegen. Als dat niet mogelijk is, kan een fout worden geëlimineerd door in stappen van 4 stappen te bewegen. Echter, bewegen in stappen van 4 stappen of volledige omwentelingen is duidelijk geen microstepping. Daarom lijden alle microstepping-toepassingen steevast aan een fout in de plaatsing van de polen.
Leidingsschroefspoedfout
Veel gemotoriseerde systemen zetten roterende beweging om in lineaire beweging via een leidsschroef. Stappenmotortoepassingen vormen hierop geen uitzondering. In dit soort systemen draagt elke fout in de leidingsschroefspoed bij aan de totale systeemfout.
Sticktion- en spelingsfout
Bij microstepping-systemen zijn mechanische sticktion en speling vaak veel groter dan de microstep-resolutie. Er zijn veel systemen op de markt die in staat zijn tot microstappen van 256 microstappen per stap, maar dit heeft weinig zin als de mechanische sticktion in het systeem in de orde van grootte van 5 tot 10 microstappen zal zijn bij die microstapresolutie.
Sources of failure in microstepping systems
This discussion has centred on the challenges of designing a microstepping system, but there are also challenges when implementing a system. If the load on a stepper motor exceeds its maximum torque, then the motor poles will not follow the changing magnetic field and the motor stalls. To avoid this type of failure, microstepping systems must either keep the load below the maximum torque, or include position sensors to detect and compensate for stalls.