Raspberry Pi - Stappenmotor
Deze handleiding leert u hoe u met een Raspberry Pi een stappenmotor aanstuurt met een L298N Driver. We gaan in detail bekijken:
- Hoe u een Raspberry Pi en L298N driver gebruikt om een bipolaire stappenmotor aan te sturen
- Hoe u een programma schrijft voor de Raspberry Pi om de positie van de stappenmotor te regelen
- Hoe u de snelheid van de stappenmotor programmeert met de Raspberry Pi
- Hoe u de draairichting van de stappenmotor aanpast via de Raspberry Pi
Deze tutorial is toepasbaar op alle typen bipolaire stappenmotoren met vier draden. We gebruiken een NEMA 17 stappenmotor als voorbeeld.

Wilt u een ander type stappenmotor aansturen? Bekijk dan onze Raspberry Pi - 28BYJ-48 Stappenmotor handleiding.
Hardware Benodigdheden
Of u kunt de volgende kits kopen:
| 1 | × | DIYables Sensorkit (30 sensoren/displays) | |
| 1 | × | DIYables Sensorkit (18 sensoren/displays) |
Over Stappenmotor
Er bestaan twee voorkomende typen stappenmotoren:
- bipolair: deze motor heeft vier draadjes
- unipolair: deze motor heeft vijf of zes draadjes
Bij een 6-draads unipolaire stappenmotor kunnen we vier van de zes draadjes gebruiken en deze aansturen alsof het een bipolaire stappenmotor is.
Voor een 5-draads unipolaire stappenmotor verwijzen we u naar Raspberry Pi - aansturen 28BYJ-48 stappenmotor met ULN2003 driver.
In deze tutorial concentreren we ons uitsluitend op de bipolaire stappenmotor.
Bipolaire Stappenmotor pinout
De bipolaire stappenmotor heeft vier pennen en de naamgeving van deze pennen varieert per fabrikant. De volgende tabel geeft een overzicht van de meest voorkomende namen:
| PIN NR | Naam 1 | Naam 2 | Naam 3 |
|---|---|---|---|
| 1 | A+ | A | A |
| 2 | A- | A | C |
| 3 | B+ | B | B |
| 4 | B- | B | D |

De uitlijning van de pennen, de kleurcodering en de labels kunnen verschillen per fabrikant. Om de correcte koppeling tussen draadkleur en pinnaam te achterhalen, raadpleegt u de datasheet of handleiding. Afbeelding hierboven toont details van twee verschillende motors met verschillende labelingen en kleuren.
Stappen per Omwenteling
De specificatie van de motor geeft de DEG_PER_STEP aan (graden per stap). Afhankelijk van de besturingstechniek kan het aantal STEPS_PER_REVOLUTION worden berekend met onderstaande tabel:
| Besturingsmethode | Stappen per Omwenteling | Werkelijk aantal graden per stap |
|---|---|---|
| Volledige stap | STEPS_PER_REVOLUTION = 360 / DEG_PER_STEP | DEG_PER_STEP |
| Halve stap | STEPS_PER_REVOLUTION = (360 / DEG_PER_STEP) * 2 | DEG_PER_STEP / 2 |
| Microstap (1/n) | STEPS_PER_REVOLUTION = (360 / DEG_PER_STEP) * n | DEG_PER_STEP / n |
Bijvoorbeeld, als in de datasheet staat dat de motor 1.8 graden per stap draait:
| Besturingsmethode | Stappen per Omwenteling | Werkelijk aantal graden per stap |
|---|---|---|
| Volledige stap | 200 stappen/omwenteling | 1.8° |
| Halve stap | 400 stappen/omwenteling | 0.9° |
| Microstap (1/n) | (200 * n) stappen/omwenteling | (1.8 / n)° |
Hoe een stappenmotor aansturen met Raspberry Pi
Raspberry Pi kan signalen genereren om de stappenmotor aan te sturen, maar deze signalen voldoen niet qua spanning en/of stroomsterkte om de stappenmotor direct te laten werken. Daarom is een hardware driver nodig tussen Raspberry Pi en de stappenmotor. Deze driver heeft twee functies:
- Het versterken van de aansturingssignalen van Raspberry Pi in stroom en spanning
- Het beschermen van de Raspberry Pi tegen de hogere stroom en spanning die de stappenmotor vereist
Er zijn verschillende hardware drivers beschikbaar om stappenmotoren aan te sturen. Een van de meest gebruikte drivers voor stappenmotoren is de L298N Driver.
Over L298N Driver
Een L298N Driver kan twee DC-motoren of een stappenmotor aansturen. In deze handleiding leren we hoe u deze kunt gebruiken om een stappenmotor te regelen.
L298N Driver Pinout

De L298N Driver heeft 11 pennen en drie jumpers:
- VCC pin: Levert de voedingsspanning voor de motor, dit kan variëren van 5 tot 35V.
- GND pin: Dit is de gemeenschappelijke massa (0V), deze moet verbonden zijn met GND.
- 5V pin: Levert voeding voor de L298N module zelf; kan worden gevoed via 5V van de Raspberry Pi.
- IN1, IN2, IN3, IN4 pennen: Deze verbinden met de Raspberry Pi GPIO om stuurpulsen te ontvangen voor aansturing van de stappenmotor.
- OUT1, OUT2, OUT3, OUT4 pennen: Deze verbinden met de aansluitingen van de stappenmotor.
- ENA, ENB jumpers: Gebruikt om de stappenmotor aan te zetten; beide jumper's ENA en ENB moeten geplaatst zijn.
- 5V-EN jumper: Als deze geplaatst blijft, wordt de interne module voeding van VCC afgenomen en hoeft de 5V pin niet aangesloten te worden. Wordt deze jumper verwijderd, dan moet de module voeding via de 5V pin worden gevoed.
De L298N driver heeft twee voedingen:
- Eén voor de stappenmotor (via VCC en GND pennen): 5 tot 35 V.
- Eén voor de interne werking van het module (5V en GND pennen): 5 tot 7 V. Als de 5V-EN jumper geplaatst is, hoeft deze voeding niet apart aangesloten te worden.
Aansluitschema

This image is created using Fritzing. Click to enlarge image
※ Notiz:
- Houd de drie jumpers op de L298N module geplaatst als de voedingsspanning van de motor 12V of lager is.
- De pinuitgangen van stappenmotoren kunnen verschillen per fabrikant. Raadpleeg onderstaande tabellen voor de correcte aansluiting.
Tabel aansluiting tussen Raspberry Pi en L298N Driver
| Raspberry Pi pins | L298N pins |
|---|---|
| 12 | IN1 |
| 16 | IN2 |
| 20 | IN3 |
| 21 | IN4 |
Tabel aansluiting tussen L298N Driver en Stappenmotor
Belangrijk!: Let niet op de volgorde van de draden van de stappenmotor in het aansluitschema hierboven; dit is slechts een illustratie. De pinpositie van aansluitingen kan verschillen per fabrikant. Volg de tabel hieronder voor juiste aansluiting:
| L298N pennen | Stappenmotor pennen | Of | Of |
|---|---|---|---|
| OUT1 | A+ | A | A |
| OUT2 | A- | A | C |
| OUT3 | B+ | B | B |
| OUT4 | B- | B | D |
Voordat u een stappenmotor aanschaft, adviseren wij de datasheet of specificatie van de motor te controleren. Zorg dat er een koppeling is tussen pin kleur en naam. Bijvoorbeeld, deze stappenmotor heeft onderstaande kleurcodering zoals in de afbeelding getoond:

Op basis van die kleurcodering ziet de aansluitings-tabel er als volgt uit:
| L298N pennen | Stappenmotor pennen | Draadkleur |
|---|---|---|
| OUT1 | A | zwarte draad |
| OUT2 | C | groene draad |
| OUT3 | B | rode draad |
| OUT4 | D | blauwe draad |
※ Notiz:
In de aansluitings-tabellen tussen stappenmotor en L298N Driver zijn er meerdere mogelijke bedradingen. Zo kunnen OUT1 en OUT2, evenals OUT3 en OUT4 onderling gewisseld worden. Let op: hiermee verandert mogelijk de draairichting van de motor (van rechtsom naar linksom of andersom).
Raspberry Pi Code - Stappenmotor Code
De volgende code:
- Laat de motor één omwenteling met de klok mee draaien
- Pauzeert de motor 5 seconden
- Draait vervolgens één omwenteling tegen de klok in
- Pauzeert weer 5 seconden
- Herhaalt dit proces oneindig lang
Snelle stappen
- Zorg dat u Raspbian of een ander Raspberry Pi compatibel besturingssysteem op uw Pi hebt geïnstalleerd.
- Controleer dat uw Raspberry Pi verbonden is met hetzelfde lokale netwerk als uw pc.
- Zorg dat de Raspberry Pi internettoegang heeft als u bibliotheken wilt installeren.
- Als dit uw eerste keer is dat u een Raspberry Pi gebruikt, bekijk dan de Raspberry Pi aan de slag gids voor de basis.
- Maak verbinding met uw Raspberry Pi via SSH met behulp van de ingebouwde SSH client op Linux/macOS of PuTTY op Windows. Zie de handleiding hoe uw pc verbinden met Raspberry Pi via SSH.
- Controleer of de RPi.GPIO bibliotheek geïnstalleerd is. Zo niet, installeer deze met het volgende commando:
- Maak een Python scriptbestand aan met de naam stepper.py en voeg de volgende code toe:
- Sla het bestand op en start het script met het volgende commando in de terminal:
Het script draait in een oneindige lus tot u met Ctrl + C in de terminal stopt.
Door de waarde van de variabele delay in de code te wijzigen, kunt u de snelheid van de stappenmotor aanpassen.
U zult het volgende waarnemen:
- De stappenmotor draait één omwenteling met de klok mee.
- De stappenmotor pauzeert 5 seconden.
- De stappenmotor draait vervolgens één omwenteling tegen de klok in.
- De motor pauzeert weer 5 seconden.
- Dit proces wordt continu herhaald.
Uitleg van de Code
Lees de regel-voor-regel uitleg in de commentaren van de broncode!
Video Tutorial
We overwegen het maken van videotutorials. Als u videotutorials belangrijk vindt, abonneer u dan op ons YouTube-kanaal om ons te motiveren de video's te maken.
Bekijk onze video-tutorial voor een visuele begeleiding bij dit project! De video biedt extra inzichten en praktische tips die het begrip van de stappenmotor en L298N driver zullen versterken.