Wusstest Du, dass Du mit einem Arduino Schrittmotor Dein Spielzeugauto in einen richtig schnellen Flitzer verwandeln kannst? Stell Dir vor, mit Deinem neuen Rennauto könntest Du Deine Freunde bei jedem Wettrennen besiegen. Ganz schön cool, oder? Wie Du einen derartigen Motor mit dem Arduino einrichtest, erfährst Du in diesem Tutorial.
Arduino Schrittmotor – Die technischen Details
Einen Schrittmotor mit dem Arduino zu steuern, klingt zu Beginn ziemlich kompliziert. Dabei lässt sich das kleine Gerät ganz einfach mit dem Breadboard verbinden, sodass Dein Auto von einem Motor angetrieben wird. So verhelfen Dir Deine Skills in Arduino zur Pole-Position.
Doch was macht einen Schrittmotor eigentlich aus? Hierbei handelt es sich um einen speziellen Motortyp, der in der Elektronik zum Einsatz kommt. So werden diese zum Beispiel in der Autoindustrie verwendet, um Klappen zu öffnen und Druckknöpfe zu bewegen. Im Inneren eines Schrittmotors finden sich Spulen, die durch ihr elektromagnetisches Feld die Welle (das ist der Metallstift, der auf einer Seite herausragt) in kleinen Schritten drehen können. Dabei wird in der Praxis eine Kupplung und anschließend ein Gewindestab befestigt. Doch zum Ausprobieren eines einfachen Schrittmotors benötigen wir die vielen Komponenten nicht. Damit der Motor läuft, muss dieser lediglich mit dem Arduino verbunden werden. Denn dieser enthält neben den Anschluss-Pins einen IC (Integrierten Schaltkreis), der das schwache Steuersignal des Arduino verstärkt, sodass der Schrittmotor damit betrieben werden kann.
Indes ist die Besonderheit des Motors, dass dieser ohne eine externe Spannungsversorgung funktionstüchtig ist. Dabei entwickelt er ein relativ hohes Drehmoment. Doch Arduino kann noch viel mehr! Zum Beispiel kannst Du damit auch ein Gewächshaus ins Leben rufen, wie es beim spannenden Projekt der Humboldt Universität zu Berlin beschrieben wird. Du siehst: Mit spannenden Projekten wird das Coding zu einem echten Highlight. Wenn Du Lust hast, ein neues Projekt auszutesten, dann lies Dir einfach den Artikel zum Arduino Pro Micro durch.
Die erforderlichen Bauteile
Für unseren Arduino Schrittmotor musst Du folgende Bauteile im Elektromarkt besorgen. Natürlich kannst Du alle Materialien auch kostengünstig im Internet bestellen:
- ein Schrittmotor 28BYJ-48 mit Treiberplatine ULN2003
- ein Breadboard mit Verbindungskabeln
Damit beim Kauf auch gar nichts schiefgehen kann, findest Du in Abbildung 1 das exakte Aussehen der benötigten Bauteile!
In 3 Schritten einen Arduino Schrittmotor erstellen
Nun kennst Du alle Bauteile inklusive der technischen Details, um Deinen Schrittmotor mit dem Arduino anzusteuern. Damit beim Tüfteln auch alles reibungslos klappt, brauchst Du noch die passende Anleitung. Also, pack Dein Arduino Board aus, bereite Deinen Arbeitsplatz vor und starte mit dem Tüfteln.
1. Einrichtung der Schaltung
Bevor wir uns an den kniffligen Teil des Projektes wagen, kümmern wir uns zuerst um die Verkabelung aller Bauteile und richten anschließend Schritt-für-Schritt die Schaltung ein. Denn schließlich ist das richtige Montieren ausschlaggebend für die reibungslose Funktionsweise des Motors. Dabei wird für den Anschluss weder ein Breadboard noch ein Lötkolben benötigt. Die Kabel lassen sich ganz einfach am Arduino und an der Treiberplatine befestigen. Zunächst steckst Du den am Motorkabel befestigten Stecker in die dafür vorgesehene Buchse der Treiberplatine. Doch aufgepasst! Der Stecker muss korrekt eingesteckt werden. Daher solltest Du auf die Schlitze in der Buchse und auf die entsprechenden Gegenstücke am Stecker achten.
Danach werden die mit GND und VCC gekennzeichneten Pins der Treiberplatine mit den Anschlüssen GND und 5V des Arduino verbunden. Doch keine Sorge! Die Platine ist beschriftet, sodass Du die entsprechenden Pins schnell finden solltest. Schließlich werden noch die Pins IN1, IN2, IN3 und IN4 der Treiberplatine verkabelt und zwar mit den Arduino-Pins 6, 5, 4, und 3. Damit der Schrittmotor läuft, sollte die angegebene Reihenfolge unbedingt eingehalten werden. Falls Du hierbei noch etwas Hilfe benötigst, kannst Du Dich an Abbildung 2 orientieren.
2. Das Micro-Board anschließen
Alle Bauteile sind richtig verbunden? Perfekt, dann begeben wir uns nun ans Coden. Falls das Dein erstes Projekt sein sollte, welches Du mit dem Micro-Board umsetzt, musst Du zu Beginn erstmal den Arduino Download durchführen. Doch keine Panik! Das Einrichten der Software ist super einfach, denn unter Windows führt Dich ein Assistent in Windeseile durch die Installation. Falls Du die Software auf Deinem Mac verwenden möchtest, kannst Du es anhand eines Doppelklicks öffnen. Nach dem Start der IDE muss zunächst der Anschluss-Port ausgewählt werden. Hierfür verbindest Du den Arduino mit dem Rechner, indem Du in den Einstellungen im Verzeichnis Werkzeuge die Kategorie Port auswählst.
Ob alles reibungslos funktioniert, kannst Du ganz einfach überprüfen. So werden Dir im Erfolgsfall unter Werkzeuge > Boardinformationen holen ein paar Daten zum Board angezeigt werden. Wenn alles funktioniert, geht es nun ans Coden.
3. Schrittmotor einrichten
Wenn nun alles erfolgreich eingerichtet wurde, erstellen wir im nächsten Schritt den Code. Dabei greifen wir hierfür auf die sogenannten Arduino-Sketches zurück. Wenn Du nun die Entwicklungsumgebung startest, ist bereits ein leerer Sketch geöffnet. Er besteht aus den beiden Routinen setup() und loop().
In beide kannst Du innerhalb der geschweiften Klammern Deinen eigenen Code erstellen. Dabei kannst Du die vorhandenen Kommentare einfach löschen. Der Code, den Du in der Routine setup() erstellst, wird beim Start einmalig ausgeführt. Hier lassen sich beispielsweise Variablen initialisieren. Der Code in loop() dagegen wird in einer Endlosschleife ausgeführt. Im Folgenden findest Du den Code für die Anbindung des Schrittmotors.
#include <Stepper.h>
int steps = 2048;
Stepper Schrittmotor(steps, 3, 5, 4, 6);
void setup() {
Schrittmotor.setSpeed(5);
}
void loop() {
Schrittmotor.step(2048);
delay(1000);
Schrittmotor.step(-2048);
delay(1000);
}
Zunächst wird hier die Bibliothek Stepper in den Code importiert. Sie ist bereits auf dem Arduino installiert. Weitere Infos zu den enthaltenen Funktionen findest Du hier. Als Nächstes wird im Code die Anzahl der Schritte pro vollständiger 360° Umdrehung festgelegt. Hier sind das 2048 winzige Bewegungen. Mit dieser Information und den Nummern der verkabelten Pins wird danach eine Instanz der Stepper-Klasse namens Schrittmotor angelegt. Diese kennt die Funktion setSpeed(), mit der die Umdrehungen pro Minute (RPMs) definiert wird. Das geschieht hier einmalig in der setup()-Funktion. In loop() wird der Motor dann mithilfe der Funktion step() um 2048 Schritte gedreht. Nach einer Pause von 1000 Millisekunden erfolgt dann die Bewegung in die andere Richtung.
Wow, Du hast soeben Deinen eigenen Schrittmotor mit dem Arduino erstellt. Du kannst richtig stolz auf Dich sein! Wenn Du auf der Suche nach weiteren spannenden DIYs bist, dann lass Dich doch von der Vielfalt unserer Arduino Projekte inspirieren. Wenn Du dem nächsten Spieleabend eine besondere Note verleihen möchtest, kannst Du Dein eigenes Arduino Reaktionsspiel entwerfen. Also, auf die Bauteile, fertig, los!
FAQs zum Arduino Schrittmotor
Tja, diese JST-Stecker sind tückisch. Du wärst nicht der Erste, der dabei die Kabel aus dem Stecker gerissen hat. Die wichtigste Regel ist deshalb immer nur an der Plastikverbindung des Steckers zu ziehen und nicht an den Kabeln. Wenn etwas einmal klemmen sollte, ruckelst Du etwas am Stecker. Sollte das nicht helfen, drückst Du notfalls ganz vorsichtig mit einer Nadel in die Schlitze.
Nein, das ist nicht zwingend notwendig. Allerdings erleichtert die Arduino-IDE das Arbeiten und gerade als Anfänger solltest Du diese verwenden. Falls Du noch tiefer in die Materie einsteigen möchtest, dann ist unser Computerkurs genau das Richtige.
Die Zahlen stehen klein auf dem Board neben den Pins. Die Belegung findet man aber auch im Internet mit einer Bildersuche nach Arduino Pinout. Den Umgang mit den Pins kannst Du anhand praktischer Projekte schnell verinnerlichen. Schau doch mal, welche Pins für den Arduino Bewegungsmelder gebraucht werden.