Difference between revisions of "Arduino - De stappenmotor"

From SPAD-it Wiki
Jump to: navigation, search
(Werking)
Line 2: Line 2:
  
 
===Werking===
 
===Werking===
Het voert te ver voor hier om de werking van een [https://nl.wikipedia.org/wiki/Elektromotor elektromotor] uit te leggen, maar het basisprincipe is dat een elektromagneet een andere magneet (bijvoorbeeld een permanente magneet) afwisselend aantrekt en afstoot. Een elektromagneet bestaat uit een draad die om een kern is gewikkeld (een spoel). De richting van het magneetveld wordt bepaald door de stroomrichting en de sterkte van het veld door de stroomsterkte. Een stappenmotor is precies zo'n type elektromotor met permanente magneten en elektromagneten. Het verschil zit in de aansturing waarbij de elektromagneten zo geschakeld worden dat ze de dichtstbijzijnde permanente magneet aantrekken of juist afstoten. Met een slim uitgedachte opzet van permanente magneten en spoelen kan een stappenmotor een stapje maken door de juiste spoel in de juiste stroomrichting te bekrachtigen. Zo'n stapje komt dan overeen met een bepaalde draaihoek die afhankelijk is van de opzet van de stappenmotor.
+
Het voert te ver voor hier om de werking van een [https://nl.wikipedia.org/wiki/Elektromotor elektromotor] uit te leggen, maar het basisprincipe is dat een elektromagneet een andere magneet (vaak een permanente magneet) afwisselend aantrekt en afstoot. Een elektromagneet bestaat uit een draad die om een kern is gewikkeld (een spoel). De richting van het magneetveld wordt bepaald door de stroomrichting en de sterkte van het veld door de stroomsterkte. Een stappenmotor is precies zo'n type elektromotor met permanente magneten en elektromagneten. Het verschil zit in de aansturing waarbij de elektromagneten zo geschakeld worden dat ze de dichtstbijzijnde permanente magneet aantrekken of juist afstoten. Met een slim uitgedachte opzet van permanente magneten en spoelen kan een stappenmotor een stapje maken door de juiste spoel in de juiste stroomrichting te bekrachtigen. Zo'n stapje komt dan overeen met een bepaalde draaihoek die afhankelijk is van de opzet van de stappenmotor.
  
In het huis van sommige stappenmotoren zit soms ook een tandwielhuis dat voor extra vertraging zorgt en dus voor meer kracht, maar ook voor meer stappen per rotatie (en dus meer precisie). In het algemeen hebben stappenmotoren de eigenschap dat ze hun positie bevriezen als er geen stroom door loopt. Een extra tandwielvertraging versterkt deze eigenschap extra.
+
In het huis van sommige stappenmotoren zit ook een tandwielhuis dat voor extra vertraging zorgt en dus voor meer kracht, maar ook voor meer stappen per rotatie (en dus meer precisie). Daarbij kunnen stappenmotoren hun positie bevriezen en een extra tandwielvertraging vergemakkelijkt deze eigenschap.
  
Er zijn twee soorten stappenmotoren. De bipolaire stappenmotoren hebben spoelen waar de stroom in de ene of in de andere richting doorheen gaat. Omdat de stroomrichting door die spoelen soms moet omkeren heet dit type bipolair. Het andere, veel minder voorkomende type, heeft voor elke stroomrichting eigen spoelen. De stroom door elk van deze spoelen loopt altijd in dezelfde richting zodat dit type wordt aangeduid als unipolaire stappenmotoren. Het aansturen van unipolaire stappenmotoren komt erop neer dat de spoelen in de juiste volgorde bekrachtigd moeten worden. Dat is een betrekkelijk eenvoudig klusje voor een Arduino. Voor bipolaire stappenmotoren moet echter vaak de stroom''richting'' worden omgedraaid. Dat kan de Arduino niet. Om dat voor elkaar te krijgen moet gebruik worden gemaakt van een brug-schakeling met vier (elektronische) schakelaars die tegelijk omschakelen. Dit is aanzienlijk lastiger maar met de moderne elektronica toch goed uit te voeren. Daarom raakt de unipolaire stappenmotor - die duurder is aan spoelen - langzaamaan in onbruik.
+
Er zijn twee soorten stappenmotoren. De bipolaire stappenmotoren hebben spoelen waar de stroom in de ene of in de andere richting doorheen gaat. Omdat de stroomrichting door die spoelen dus moet kunnen omkeren heet dit type bipolair. Het andere, minder voorkomende type, heeft voor elke stroomrichting eigen spoelen. De stroom door elk van deze spoelen loopt altijd in dezelfde richting zodat dit type wordt aangeduid als unipolaire stappenmotoren.
 +
 
 +
Bipolaire stappenmotoren hebben twee groepen spoelen, terwijl unipolaire stappenmotoren vier groepen spoelen hebben. Spoelen van een groep worden tegelijk en op dezelfde wijze aangestuurd. Bij bipiolaire stappenmotoren zijn er drie mogelijkheden: een positieve stroom, een negatieve stroom, of natuurlijk geen stroom. Voor unipolaire stappenmotoren zijn er maar twee: stroom of geen stroom - de stroomrichting wordt niet omgedraaid. Daarentegen hebben die dus twee keer zoveel spoel-groepen. Twee groepen spoelen betekent dat een bipolaire stappenmotor vier aansluitdraden heeft: twee voor elke groep spoelen. Een unipolaire stappenmotor, met vier groepen spoelen, heeft vijf aansluitdraden omdat alle spoelen aan een kant aan een gemeenschappelijke draad zitten. Als je ooit ergens een motor vindt (of uit sloopt) kun je aan het aantal aansluitdraden meestal zien wat voor soort motor het is:
 +
* twee dragen: normale elektromotor
 +
* vier draden: bipolaire stappenmotor
 +
* vijf draden: unipolaire stappenmotor
 +
Door de juiste afwisseling van aansturing kan de stappenmotor stapje voor stapje zetten: de spoelen trekken het anker van de motor dwingend in een bepaalde richting. Als dit met hoge frequentie gebeurt kan de motor zelfs behoorlijk wat toeren maken. Het aansturen van unipolaire stappenmotoren komt erop neer dat de spoelen in de juiste volgorde bekrachtigd moeten worden. Dat is een betrekkelijk eenvoudig klusje voor een Arduino. Maar voor bipolaire stappenmotoren moet dus de stroom''richting'' worden omgedraaid. Dat kan een Arduino niet. Daarvoor moet gebruik worden gemaakt van een brug-schakeling met vier (elektronische) schakelaars die tegelijk omschakelen. Dit is aanzienlijk lastiger maar met de moderne elektronica toch goed uit te voeren. Daarom raakt de unipolaire stappenmotor - die duurder is aan spoelen - langzaamaan in onbruik.
  
 
{|class="wikitable"
 
{|class="wikitable"
Line 15: Line 21:
 
|}
 
|}
  
Voor de aansturing van een bipolaire stappenmotor gebruiken we een driver schakeling die voor weinig geld te koop zijn. Een bijkomend voordeel van zo'n driver is dat hij tevens veel meer stroom kan leveren dan met rechtstreekse aansluiting op de Arduino mogelijk zou zijn. Daardoor kunnen we ook stappenmotoren gebruiken die behoorlijk wat sterker kunnen zijn dan de mini-motortjes in de servo's van een eerder project.
+
Voor de aansturing van een bipolaire stappenmotor worden drivers gebruikt die voor weinig geld te koop zijn. Een bijkomend voordeel van zo'n driver is dat hij tevens veel meer stroom kan leveren dan met rechtstreekse aansluiting op de Arduino mogelijk zou zijn (<u>+</u>40mA). Ook unipolaire stappenmotoren kunnen beter via een (ander soort) driver worden aangesloten. Dankzij deze drivers kunnen we stappenmotoren gebruiken die behoorlijk wat sterker kunnen zijn dan de mini-motortjes in de servo's van een eerder project. Een ander voordeel is drivers de Arduino beschermen tegen piekspanningen die de spoelen van de motor kunnen geven. Spoelen verzetten zich namelijk tegen verandering van de stroom door de spoel en genereren een tegen-spanning bij het (snel) afsluiten van de stroom. Die piekspanning kan zo hoog zijn dat het gevoelige elektronica beschadigt.
  
 
===De schakeling===
 
===De schakeling===

Revision as of 11:37, 4 February 2018

Een stappenmotor is precies wat de naam suggereert: een motor die niet gewoon toeren maakt, maar stapjes zet. Elk stapje wordt afzonderlijk aangestuurd en de motor kan ook weer stapjes terug doen. Door snel achter elkaar, met hoge frequentie, veel stapjes te zetten kan een stappenmotor toch toeren maken, maar daarin blinken ze niet uit en dat is ook niet primair de bedoeling van stappenmotoren. In plaats daarvan zijn ze heel goed in het maken van een precies aantal stappen, bijvoorbeeld om iets in een bepaalde positie te brengen. Een voorbeeld is de printkop van een printer. Ook kun je met enig prutswerk een servo vaak vervangen door een stappenmotor. Maar terwijl een servo beperkt is tot een deel van 360 graden, kunnen stappenmotoren zonder probleem vele slagen maken. Daarbij meet een servo steeds de positie, terwijl een stappenmotor niet beschikt over een positiemeting. Je moet er dus vanuit gaan dat het aantal gezette stappen klopt. Als die stappen te snel komen wordt er wel eens een telfoutje gemaakt en dan is er geen vanzelfsprekende correctie. En als de stroom uitvalt heb je helemaal geen idee meer wat de positie is van het ding dat door de stappenmotor wordt aangestuurd. Daarom hebben systemen met stappenmotoren doorgaans een ingebouwd ijkpunt. Zo kun je de motor terugdraaien totdat iets een positie-signaal afgeeft, bijvoorbeeld doordat een uitsteeksel tegen een knopje aankomt. Dat kan dan het beginpunt zijn vanaf waar je begint met tellen. Afgezien daarvan kun je er doorgaans op vertrouwen dat de aansturing zodanig is dat er geen telfouten optreden. Een stappenmotor is dan een prachtig stuk techniek waarmee posities nauwkeurig kunnen worden ingesteld zonder terugkoppeling door middel van een meting.

Werking

Het voert te ver voor hier om de werking van een elektromotor uit te leggen, maar het basisprincipe is dat een elektromagneet een andere magneet (vaak een permanente magneet) afwisselend aantrekt en afstoot. Een elektromagneet bestaat uit een draad die om een kern is gewikkeld (een spoel). De richting van het magneetveld wordt bepaald door de stroomrichting en de sterkte van het veld door de stroomsterkte. Een stappenmotor is precies zo'n type elektromotor met permanente magneten en elektromagneten. Het verschil zit in de aansturing waarbij de elektromagneten zo geschakeld worden dat ze de dichtstbijzijnde permanente magneet aantrekken of juist afstoten. Met een slim uitgedachte opzet van permanente magneten en spoelen kan een stappenmotor een stapje maken door de juiste spoel in de juiste stroomrichting te bekrachtigen. Zo'n stapje komt dan overeen met een bepaalde draaihoek die afhankelijk is van de opzet van de stappenmotor.

In het huis van sommige stappenmotoren zit ook een tandwielhuis dat voor extra vertraging zorgt en dus voor meer kracht, maar ook voor meer stappen per rotatie (en dus meer precisie). Daarbij kunnen stappenmotoren hun positie bevriezen en een extra tandwielvertraging vergemakkelijkt deze eigenschap.

Er zijn twee soorten stappenmotoren. De bipolaire stappenmotoren hebben spoelen waar de stroom in de ene of in de andere richting doorheen gaat. Omdat de stroomrichting door die spoelen dus moet kunnen omkeren heet dit type bipolair. Het andere, minder voorkomende type, heeft voor elke stroomrichting eigen spoelen. De stroom door elk van deze spoelen loopt altijd in dezelfde richting zodat dit type wordt aangeduid als unipolaire stappenmotoren.

Bipolaire stappenmotoren hebben twee groepen spoelen, terwijl unipolaire stappenmotoren vier groepen spoelen hebben. Spoelen van een groep worden tegelijk en op dezelfde wijze aangestuurd. Bij bipiolaire stappenmotoren zijn er drie mogelijkheden: een positieve stroom, een negatieve stroom, of natuurlijk geen stroom. Voor unipolaire stappenmotoren zijn er maar twee: stroom of geen stroom - de stroomrichting wordt niet omgedraaid. Daarentegen hebben die dus twee keer zoveel spoel-groepen. Twee groepen spoelen betekent dat een bipolaire stappenmotor vier aansluitdraden heeft: twee voor elke groep spoelen. Een unipolaire stappenmotor, met vier groepen spoelen, heeft vijf aansluitdraden omdat alle spoelen aan een kant aan een gemeenschappelijke draad zitten. Als je ooit ergens een motor vindt (of uit sloopt) kun je aan het aantal aansluitdraden meestal zien wat voor soort motor het is:

  • twee dragen: normale elektromotor
  • vier draden: bipolaire stappenmotor
  • vijf draden: unipolaire stappenmotor

Door de juiste afwisseling van aansturing kan de stappenmotor stapje voor stapje zetten: de spoelen trekken het anker van de motor dwingend in een bepaalde richting. Als dit met hoge frequentie gebeurt kan de motor zelfs behoorlijk wat toeren maken. Het aansturen van unipolaire stappenmotoren komt erop neer dat de spoelen in de juiste volgorde bekrachtigd moeten worden. Dat is een betrekkelijk eenvoudig klusje voor een Arduino. Maar voor bipolaire stappenmotoren moet dus de stroomrichting worden omgedraaid. Dat kan een Arduino niet. Daarvoor moet gebruik worden gemaakt van een brug-schakeling met vier (elektronische) schakelaars die tegelijk omschakelen. Dit is aanzienlijk lastiger maar met de moderne elektronica toch goed uit te voeren. Daarom raakt de unipolaire stappenmotor - die duurder is aan spoelen - langzaamaan in onbruik.

Brugschakeling.png
Spoel in brugschakeling

Voor de aansturing van een bipolaire stappenmotor worden drivers gebruikt die voor weinig geld te koop zijn. Een bijkomend voordeel van zo'n driver is dat hij tevens veel meer stroom kan leveren dan met rechtstreekse aansluiting op de Arduino mogelijk zou zijn (+40mA). Ook unipolaire stappenmotoren kunnen beter via een (ander soort) driver worden aangesloten. Dankzij deze drivers kunnen we stappenmotoren gebruiken die behoorlijk wat sterker kunnen zijn dan de mini-motortjes in de servo's van een eerder project. Een ander voordeel is drivers de Arduino beschermen tegen piekspanningen die de spoelen van de motor kunnen geven. Spoelen verzetten zich namelijk tegen verandering van de stroom door de spoel en genereren een tegen-spanning bij het (snel) afsluiten van de stroom. Die piekspanning kan zo hoog zijn dat het gevoelige elektronica beschadigt.

De schakeling

Extra benodigdheden:

  • 1 (bipolaire) stappenmotor
  • 1 stappenmotor driver module
Bestand:naam bestand.png
Beschrijving bovenstaande figuur

Het programma

Hier de broncode van het programma 

Uitleg

Beetje spelen

Verdiepende opdrachtjes

Navigatie