- Stappenmotoren:
- Berekening van de stappen per omwenteling voor stappenmotor:
- Waarom hebben we driver-modules nodig voor stappenmotoren?
- Schakelschema voor roterende stappenmotor met potentiometer:
- Code voor Arduino Board:
- Werken:
Stappenmotoren nemen steeds meer hun plaats in de wereld van de elektronica in. Van een normale bewakingscamera tot een gecompliceerde CNC-machine / robot, deze stappenmotoren worden overal als actuatoren gebruikt, omdat ze nauwkeurige besturing bieden. In deze tutorial zullen we leren over de meest algemeen / goedkoop verkrijgbare stappenmotor 28-BYJ48 en hoe deze met Arduino kan worden gekoppeld met behulp van de ULN2003-stappenmotor.
In het laatste project hebben we simpelweg een Interfaced Stepper Motor met Arduino, waar je de stappenmotor kunt draaien door de rotatiehoek in te voeren in Serial Monitor of Arduino. Hier in dit project zullen we de stappenmotor draaien met behulp van Potentiometer en Arduino, alsof je de potentiometer met de klok mee draait, dan zal de stepper met de klok mee draaien en als je de potentiometer tegen de klok in draait, dan zal hij tegen de klok in draaien.
Stappenmotoren:
Laten we eens kijken naar deze 28-BYJ48 stappenmotor.
Oké, dus in tegenstelling tot een normale gelijkstroommotor heeft deze vijf draden van allerlei mooie kleuren die eruit komen en waarom is dat zo? Om dit te begrijpen, moeten we eerst weten hoe een stepper werkt en wat zijn specialiteit is. Allereerst steppers motoren niet draaien, ze stappen en dus zijn ze ook wel bekend als stappenmotoren. Dit betekent dat ze slechts één stap per keer zullen bewegen. Deze motoren hebben een reeks spoelen erin en deze spoelen moeten op een bepaalde manier worden bekrachtigd om de motor te laten draaien. Wanneer elke spoel wordt bekrachtigd, neemt de motor een stap en een opeenvolging van bekrachtiging zorgt ervoor dat de motor continue stappen maakt, waardoor hij draait. Laten we eens kijken naar de spoelen in de motor om precies te weten waar deze draden vandaan komen.
Zoals je kunt zien, heeft de motor een unipolaire spoel met 5 afleidingen. Er zijn vier spoelen die in een bepaalde volgorde moeten worden bekrachtigd. De rode draden worden geleverd met + 5V en de resterende vier draden worden naar de aarde getrokken om de respectieve spoel te activeren. We gebruiken een microcontroller zoals Arduino die deze spoelen in een bepaalde volgorde van energie voorzien en de motor het vereiste aantal stappen laten uitvoeren.
Dus waarom heet deze motor nu de 28-BYJ48 ? Ernstig!!! Ik weet het niet. Er is geen technische reden waarom deze motor zo wordt genoemd; misschien moeten we er veel dieper in duiken. Laten we eens kijken naar enkele van de belangrijke technische gegevens die zijn verkregen uit het gegevensblad van deze motor in de onderstaande afbeelding.
Dat is een hoofd vol informatie, maar we moeten een paar belangrijke bekijken om te weten welk type stepper we gebruiken, zodat we het efficiënt kunnen programmeren. Ten eerste weten we dat het een 5V stappenmotor is, aangezien we de rode draad bekrachtigen met 5V. Dan weten we ook dat het een vierfasige stappenmotor is omdat er vier spoelen in zitten. Nu wordt de overbrengingsverhouding gegeven op 1:64. Dit betekent dat de as die je aan de buitenkant ziet, alleen een volledige omwenteling maakt als de motor binnen 64 keer draait. Dit komt door de tandwielen die zijn verbonden tussen de motor en de uitgaande as, deze tandwielen helpen bij het verhogen van het koppel.
Een ander belangrijk gegeven om op te merken is de pashoek: 5.625 ° / 64. Dit betekent dat de motor, wanneer hij in een 8-stappenreeks werkt, voor elke stap 5,625 graden beweegt en dat er 64 stappen nodig zijn (5,625 * 64 = 360) om een volledige rotatie te voltooien.
Berekening van de stappen per omwenteling voor stappenmotor:
Het is belangrijk om te weten hoe je de stappen per omwenteling voor je stappenmotor berekent, want alleen dan kun je deze effectief programmeren.
In Arduino zullen we de motor in een reeks van 4 stappen laten werken, dus de pashoek zal 11,25 ° zijn, aangezien deze 5,625 ° is (gegeven in de datasheet) voor een reeks van 8 stappen, zal deze 11,25 ° zijn (5,625 * 2 = 11,25).
Stappen per omwenteling = 360 / staphoek
Hier 360 / 11,25 = 32 stappen per omwenteling.
Waarom hebben we driver-modules nodig voor stappenmotoren?
De meeste stappenmotoren werken alleen met behulp van een driver-module. Dit komt omdat de controllermodule (in ons geval Arduino) niet genoeg stroom kan leveren via de I / O-pinnen om de motor te laten werken. We zullen dus een externe module zoals de ULN2003- module gebruiken als stappenmotoraandrijving. Er zijn veel soorten stuurprogrammamodules en de classificatie van één zal veranderen op basis van het type motor dat wordt gebruikt. Het primaire principe voor alle stuurprogrammamodules is om voldoende stroom te genereren / af te voeren om de motor te laten werken.
Schakelschema voor roterende stappenmotor met potentiometer:
Het schakelschema voor de aansturende stappenmotor met behulp van een potentiometer en Arduino wordt hierboven weergegeven. We hebben de 28BYJ-48 stappenmotor en de ULN2003 driver module gebruikt. Om de vier spoelen van de stappenmotor van stroom te voorzien, gebruiken we de digitale pinnen 8, 9, 10 en 11. De driver module wordt gevoed door de 5V pin van het Arduino Board. Een potentiometer is verbonden met A0 op basis waarvan we de stappenmotor zullen draaien.
Maar voorzie de driver van stroom met externe voeding wanneer u wat belasting aansluit op de stappenmotor. Omdat ik de motor alleen voor demonstratiedoeleinden gebruik, heb ik de + 5V-rail van het Arduino-bord gebruikt. Vergeet niet om de aarde van de Arduino te verbinden met de aarde van de stuurprogrammamodule.
Code voor Arduino Board:
Voordat we beginnen met programmeren met onze Arduino, moeten we eerst begrijpen wat er eigenlijk in het programma moet gebeuren. Zoals eerder gezegd, zullen we de 4-staps sequentiemethode gebruiken, dus we zullen vier stappen moeten uitvoeren om een volledige rotatie te maken.
Stap |
Pin bekrachtigd |
Spoelen bekrachtigd |
Stap 1 |
8 en 9 |
A en B |
Stap 2 |
9 en 10 |
B en C |
Stap 3 |
10 en 11 |
C en D |
Stap 4 |
11 en 8 |
D en A |
De Driver-module heeft vier LED's waarmee we kunnen controleren welke spoel op een bepaald moment wordt bekrachtigd. De volledige demonstratievideo vindt u aan het einde van deze tutorial.
In deze tutorial gaan we de Arduino zo programmeren dat we de potentiometer aangesloten op pin A0 kunnen draaien en de richting van de stappenmotor kunnen regelen. Het volledige programma is te vinden aan het einde van de tutorial. Enkele belangrijke regels worden hieronder uitgelegd.
Het aantal stappen per omwenteling voor onze stappenmotor werd berekend op 32; vandaar dat we dat invoeren zoals weergegeven in de onderstaande regel
#define STAPPEN 32
Vervolgens moet u instanties maken waarin we de pinnen specificeren waarop we de stappenmotor hebben aangesloten.
Stepper stepper (STEPS, 8, 10, 9, 11);
Opmerking: het aantal pinnen is met opzet ongeordend als 8,10,9,11. U moet hetzelfde patroon volgen, zelfs als u de pinnen verandert waarop uw motor is aangesloten.
Omdat we de Arduino-stepperbibliotheek gebruiken, kunnen we de snelheid van de motor instellen met behulp van de onderstaande regel. De snelheid kan variëren van 0 tot 200 voor 28-BYJ48 stappenmotoren.
stepper.setSpeed (200);
Om de motor nu een stap met de klok mee te laten bewegen, kunnen we de volgende regel gebruiken.
stepper.step (1);
Om de motor een stap tegen de klok in te laten bewegen, kunnen we de volgende regel gebruiken.
stepper.step (-1);
In ons programma zullen we de waarde van de analoge pin A0 aflezen en deze vergelijken met de vorige waarde (Pval). Als het is toegenomen, gaan we 5 stappen met de klok mee en als het wordt verlaagd, gaan we 5 stappen tegen de klok in.
potVal = kaart (analogRead (A0), 0,1024,0,500); if (potVal> Pval) stepper.step (5); if (potVal
Werken:
Zodra de verbinding is gemaakt, zou de hardware er ongeveer zo uit moeten zien in de onderstaande afbeelding.
Upload nu het onderstaande programma in je Arduino UNO en open de seriële monitor. Zoals eerder besproken, moet je de potentiometer draaien om de rotatie van de stappenmotor te regelen. Door hem met de klok mee te draaien, wordt de stappenmotor met de klok mee gedraaid en vice versa.
Ik hoop dat je het project hebt begrepen en met plezier hebt gebouwd. De volledige werking van het project wordt getoond in de onderstaande video. Als je twijfels hebt, plaats ze dan in de commentaarsectie hieronder of op onze forums.