Stappenmotor (28BYJ-48)

Stappenmotoren worden gebruikt waar draaibewegingen met kleine staphoeken en nauwkeurige positionering vereist zijn. In robots, bijvoorbeeld, zorgen ze voor een precieze beweging voor pick-and-place taken, omdat ze de nodige fijne controle mogelijk maken. Bovendien zijn ze dankzij hun betrouwbaarheid en precieze positionering ook in een groot aantal andere gebieden te vinden: hand- en werktuigmachines zijn net zo belangrijk als het gebruik in automatisering, medische- of besturingstechnologie.

Deze tutorial beschrijft hoe je een stappenmotor bestuurt met een Raspberry Pi. De stappenmotor 28BYJ-48 en de controllerkaart met de ULN2003A-chip worden samen verkocht. Dat maakt het heel eenvoudig om de stappenmotor aan te sluiten op de Raspberry Pi. Onderaan de tutorial vind je een ingezonden oplossing voor de Pico.

Je kunt niet direct een stappenmotor aansluiten op de GPIO-pinnen van de Raspberry Pi. Als je dat doet, beschadigt je de Raspberry Pi. De stroom die de stepper moet laten draaien is te hoog voor de GPIO-pinnen van de Raspberry Pi. Ze leveren maar een paar milliampères. Een driverchip zoals de ULN2003 is noodzakelijk voor de aansturing.

Toepassingen
De stappenmotor wordt gebruikt om veelgebruikte apparaten te bedienen die we elke dag zien. Van jaloezieën, kantelspiegels in de auto en dvd-spelers tot beveiligingscamera’s en nauwkeurige besturingsmachines. Stappenmotoren staan ​​dichter bij ons dan we ons realiseren.

Kenmerken
– Motortype: Unipolaire stappenmotor
– Verbindingstype: 5-draads verbinding (naar de motorcontroller)
– Spanning: 5-12 volt DC
– Frequentie: 100 Hz
– Stapmodus: Halve stapmodus aanbevolen (8 staps besturingssignaal)
– Staphoek: 5,625 graden per stap / 64 stappen per as omwenteling
– Volledige stapmodus: 4 stappen besturingssignaal, 11,25 graden per stap / 32 stappen per omwenteling van de interne motoras
– Overbrengingsverhouding Fabrikant: 64 : 1.

IJverige mensen op de forums hebben de tandwieloverbrenging van deze kleine motoren gedemonteerd en vastgesteld dat de exacte overbrengingsverhouding in feite 63,68395: 1 is. Dit betekent dat we in de aanbevolen halve-stapmodus hebben, te weten 64 stappen per motorrotatie x 63,684 overbrengingsverhouding = 4076 stappen per volledige omwenteling (ongeveer).

Volgens het gegevensblad, als de 28BYJ-48-motor in volledige stapmodus draait, komt elke stap overeen met een rotatie van 11,25 °. Dat betekent dat er 32 stappen per omwenteling zijn (360 ° / 11,25 ° = 32).

Daarnaast heeft de motor een 1/64 reductiekast. (Eigenlijk is het 1 / 63.68395 maar voor de meeste doeleinden is 1/64 een goede benadering)

Dit betekent dat er in feite 32 * 63,68395 stappen per omwenteling = 2037,8864 ~ 2038 stappen zijn!

Bedrading naar de ULN2003-controller:
A (blauw),
B (roze),
C (geel),
D (oranje),
E (rood, middelpunt)

Wat is de 28BYJ-48 stappenmotor?
De 28BYJ-48 stappenmotor is een veelgebruikte stappenmotor, die elektrische pulsen omzet in discrete mechanische rotatie. Waarom wordt vaak de naam stepper gebruikt. Dat komt omdat wanneer elektrische signalen worden toegepast, de stappenmotor roteert in nauwkeurige en vaste hoekstappen die bekend staan ​​als stappen.

De motor bestaat uit 4 spoelen die een ring vormen om de rotor. Deze spoelen staan ​​bekend als de stator, omdat ze stationair en statisch zijn. Elke spoel heeft een spanning nodig van +5V, waardoor deze eenvoudig te bedienen is met elke microcontroller, zoals een Raspberry Pi.

Het 8-staps besturingssignaal

Wat is het ULN2003-stuurprogramma?
Het ULN2003 IC is nodig om de motor met een Raspberry Pi aan te drijven. Het driverboard is goedkoop en voorzien van indicator-LED’s. Meestal wordt het board met de motor meegeleverd. De ULN2003 is een van de meest voorkomende motorbesturings-IC’s die een reeks van 7 Darlington-transistorparen herbergt, elk in staat om belastingen tot 500mA en 50V aan te sturen. Vier van de zeven paren worden op dit bord gebruikt.

Het bord heeft een connector die de motordraden perfect aansluit, waardoor het heel gemakkelijk is om de motor op het bord aan te sluiten. Er zijn ook aansluitingen voor vier stuuringangen en voedingsaansluitingen.

Het bord heeft vier LED’s die activiteit aangeven op de vier stuuringangslijnen (om de stepping-status aan te geven). Ze zorgen voor een mooi beeld bij het stappen.

Het bord wordt ook geleverd met een AAN/UIT-jumper om de stroom naar de stappenmotor te isoleren.

Schema
Hieronder zie je het schema van het board, aangesloten op de stappenmotor en de GPIO poort van de Raspberry Pi.

Schematische voorstelling van het driverboard

Verbinden
Eerst verbind we de stappenmotor met de motorcontroller. Hiervoor hoef je niet meer te doen dan de witte stekker in de witte connector op de module te steken. Daarna wordt de motorcontroller met de Raspberry Pi verbonden. De onderstaande tabel toont de pinnen van de stappenmotorcontroller en de GPIO-pinnen van de Raspberry Pi.

Aansluittabel

De stappenmotorcontroller heeft twee extra pinnen voor GND en Vcc. Het beste kun je deze op een aparte 5V voeding aansluiten om de Raspberry Pi er niet te veel mee te belasten. In dit voorbeeld heb ik de controller op de Raspberry aangesloten.

Python
Het testprogramma (random.py) zal de stappenmotor willekeurig met de klok mee of tegen de klok in draaien. De stappen die de stappenmotor zal draaien, worden ook willekeurig berekend voor elke programma-uitvoering. Je zou er een rad van fortuin van kunnen maken. Met het script instelstap.py stel je van te voren de pulstijd en het aantal stappen voor- en achteruit in.


Aansturing voor de Pico
Websitebezoeker Raf van de Vreugde heeft de aansturing voor de Pico beschikbaar gesteld. De basiscode laat de motor draaien. Wil je dat de motor bij de opstart van de Pico direct draait? Hernoem het script dan naar main.py.

Stappenmotor aansturing met de Pico

Have A Nice Day!