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 Modul) 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.
Technische Daten
Tabelle 1: Technische Daten des Schrittmotor 28BYJ-48 mit ULN2003 Treiberplatine
Anzahl Phasen
4
Frequenz
100 Hz
Getriebe
64:1
Schritte pro Umdrehung
2048
Schrittweite
5,625 °/64 (Halbschritt Modus)
Drehmoment
34.3 Nm
Nennspannung
5 V
Stromaufnahme pro Spule
100 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
Tabelle 2: Pinbelegung des Schrittmotors 28BYJ-48
Pin
Belegung
Farbe
1
Versorgungsspannung (VCC, 5 V)
Rot
2
Masse (GND)
Orange
3
Gelb
4
Versorgungsspannung VCC
Pink
5
Versorgungsspannung VCC
Blau
Schrittsequenz
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
Stepper.h - Stepper library for Wiring/Arduino - Version 1.1.0
// ensure this library description is only included once#ifndef Stepper_h#define Stepper_h// library interface descriptionclassStepper{public:// constructors:Stepper(intnumber_of_steps,intmotor_pin_1,intmotor_pin_2);Stepper(intnumber_of_steps,intmotor_pin_1,intmotor_pin_2,intmotor_pin_3,intmotor_pin_4);Stepper(intnumber_of_steps,intmotor_pin_1,intmotor_pin_2,intmotor_pin_3,intmotor_pin_4,intmotor_pin_5);// speed setter method:voidsetSpeed(longwhatSpeed);// mover method:voidstep(intnumber_of_steps);intversion(void);private:voidstepMotor(intthis_step);intdirection;// Direction of rotationunsignedlongstep_delay;// delay between steps, in ms, based on speedintnumber_of_steps;// total number of steps this motor can takeintpin_count;// how many pins are in use.intstep_number;// which step the motor is on// motor pin numbers:intmotor_pin_1;intmotor_pin_2;intmotor_pin_3;intmotor_pin_4;intmotor_pin_5;// Only 5 phase motorunsignedlonglast_step_time;// time stamp in us of when the last step was taken};#endif