Schrittmotor 28BYJ-48 mit ULN2003 Treiberplatine

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Abb. 1: Schrittmotor 28BYJ-48 mit ULN2003 Treiberplatine

Autoren: Prof. Dr.-Ing. Schneider

Einleitung

Bei demSchrittmotor 28BYJ-48 handelt es sich um einen Motor, der sich speziell für kleine Anwendungen mit dem Arduino-Board eignet. Die Besonderheit liegt darin, dass er ohne eine externe Spannungsversorgung betrieben werden kann. Der Motor entwickelt dabei ein relativ hohes Drehmoment. Dies wird durch ein Getriebe realisiert, welches innerhalb des Metallgehäuses vor dem eigentlichen Schrittmotor verbaut wurde. Dadurch wird es in dieser kompakten Bauweise überhaupt erst möglich, dass sich eine ganze Umdrehung der Antriebswelle auf 2048 Einzelschritte aufteilen lässt. Ein kleiner daraus resultierender Nachteil ist die langsame maximale Drehgeschwindigkeit.

Der Schrittmotor wird an die Motorsteuerungsplatine ULN2003 Treiberplatine angeschlossen. Diese versorgt den Motor mit ausreichend elektrischer Energie, damit die Leistung nicht von den digitalen Pins des Arduino-Boards aufgebracht werden muss. Die Steuerungsplatine gibt es in zwei Versionen, bei denen die seitlich angebrachten Pins entweder nach oben oder nach unten aus der Platine herausragen. Die Anschlussbelegung ist jedoch gleich.

Abb. 2: Schrittmotor 28BYJ-48
Abb. 3: ULN2003 Treiberplatine mit SMD bestückt
Abb. 4: Ansteuerung des Schrittmotors

Technische Daten

Tabelle 1: Technische Daten des Schrittmotor 28BYJ-48 mit ULN2003 Treiberplatine (5 V Motorvariante)
Anzahl Phasen/Steuerleitungen 4
Frequenz 100 Hz
Getriebe 64:1 (Untersetzung)
Schritte pro Umdrehung 2048 (Vollschritt Modus)
4096 (Halbschritt Modus)
Schrittweite 11,25 °/64 (Vollschritt Modus)
Drehmoment 34.3 Nm
Nennspannung 5 V
Stromaufnahme pro Spule 100 mA
Stromaufnahme minimale Drehzahl 300 mA
Stromaufnahme minimale Drehzahl 170 mA
Spulenwiderstand 50 Ω
Lautstärke <40 dB
Kabellänge 24 cm
Leehrlaufgeschwindigkeit 17 UPM
Außendurchmesser Motorgehäuse 28 mm
Abmessungen ⌀28 mm x 19 mm (ohne Schaft)
Gewicht 30 g

Pinbelegung

Abb. 5: Anschlussplan des Schrittmotors an die Treiberplatine
Abb. 6: Anschlussplan für den Betrieb am Arduino
Tabelle 2: Pinbelegung des Schrittmotors 28BYJ-48
Pin Belegung Farbe
1 Versorgungsspannung (VCC, 5 V) Rot
2 Digitaler Ausgang (GND/5 V) Orange
3 Gelb
4 Versorgungsspannung VCC Pink
5 Versorgungsspannung VCC Blau

Ansteuerung

Die Steuerung von Schrittmotoren erfolgt über elektrische Impulse mit einer bestimmten Frequenz, Sequenz und Länge. So wird bestimmt wie schnell, wie viele Schritte und in welche Richtung der Schrittmotor sich drehen soll. Der Treiber übersetzt die Impulse vom Controller und versorgt den Schrittmotor mit Spannung.

Der Motor verfügt über 2 Spulen, die jeweils einen Mittelabgriff haben (vgl. Abb. 6). Der Mittelabgriff wird als roter Draht herausgeführt und an 5 V DC angeschlossen. Die spulen werden entsprechend Tabelle 3 auf GND gezogen, was den Motor vorantreibt. Der Schrittmotor dreht sich, wenn die Ansteuerung in der angegebennen Schrittfolge erfolgt. Diese Schrittfolge wird mit dem Treibermodul ULN2003 erzeugt. Dieser IC besteht aus einer Anordnung von 7 Darlington Transistorpaaren von denen jeder seine Last von bis zu 500 mA und 50 V treiben kann. Mit dem verdrehsichernen Molex-Stecker wird der Motor an das Treibermodul angeschlossen. Die LEDs zeigen Die Stati in Tabelle 3 an. Es gibt einen on/off Jumper, um den Schrittmotor zu deaktivieren. Der Jumper leitet die an 5 V Betriebsspannung an den Motoren und LEDs weiter (vgl. Abb. 7).

Der Motor verfügt über 4 Drahtspulen, die nacheinander mit Strom versorgt werden, um die magnetische Motorwelle in Drehung zu versetzen. Bei der Vollschrittmethode werden bei jedem Schritt 2 der 4 Spulen mit Strom versorgt. Die Standard-Stepper-Bibliothek, die mit der Arduino IDE vorinstalliert ist, verwendet diese Methode. Das 28BYH-48-Datenblatt gibt an, dass die bevorzugte Methode zum Antreiben dieses Schrittmotors die Verwendung der Halbschrittmethode ist, bei der wir zuerst nur Spule 1, dann Spule 1 und 2 zusammen, dann nur Spule 2 usw. mit Strom versorgen. Mit 4 Spulen bedeutet 8 verschiedene Signale, wie in der Tabelle unten.

Tabelle 3: Sequenz der Steuersignale für die 4 Anschlussdrähte
Schritt IN1 IN2 IN3 IN4
1 1 0 1 0
2 0 1 1 0
3 0 1 0 1
4 1 0 0 1
Abb. 7: Schaltplan

Getriebe

Abb. 8: Betriebe des Schrittmotors

Der Motortreiber unterscheidet zwischen Voll- und Halbschrittmodus. Im Vollschrittmodus entspricht jeder Schritt einer Drehung von 11,25 °. Es gibt somit Schritte pro Umdrehung.

Der Motor ist mit einem 64:1 Untersetzungsgetriebe ausgestattet (vgl. Tabelle , Abb. 8).

Tabelle 4: Untersetzungsgetriebe des 28BYJ-48 Motors
Motor #1 #2 #3 #4 Multipl. Übersetzung
Eingang 32 22 26 31 567424 63,68395
Ausgang 9 11 9 10 8910

Im Vollschrittmodus gibt es Schritte. Je nach getriebemodell rechnet man mit einer Übersetzung von 64:1 und 2048 Schritten pro Umdrehung.

Im Halbschrittmodus entspricht jeder Schritt einer Drehung von 5,625 °. Es gibt somit Schritte pro Umdrehung. Inklusive Getriebe entspricht dies 4096 Schritte pro Umdrehung.

Demo

Videos

Video 1: Der 28BYJ-48 Schrittmotor einfach erklärt, mit drei Beispiele
Video 2: 28BYJ-48 Stepper Motor Disassembly
Video 3: Arduino kurzgefasst - 28BYJ-48 der preiswerte Schrittmotor
Video 4: 28BYJ-48 stepper motor and ULN2003 Arduino
Video 5: The Cheapest Stepper Motor And How You Use It

Hilfreiche Links

Datenblatt

Literatur