Der 28BYJ-48 Schrittmotor!

Was ist der 28BYJ-48 Schrittmotor?

Der Schrittmotor 28BYJ-48 ist ein Motor, der häufig in kleinen Robotikprojekten sowie in verschiedenen anderen Anwendungen wie automatisierten Jalousien, 3D-Druckern und Kameraschiebern eingesetzt wird. Zur einfachen Steuerung vom Motor wird das ULN2003 Driver Board verwendet.

Im Gegensatz zu herkömmlichen Gleichstrommotoren bewegt sich der 28BYJ-48 Schrittmotor in kleinen, präzisen Schritten, die durch elektrische Impulse gesteuert werden, anstatt sich kontinuierlich zu drehen. Das macht ihn ideal für Anwendungen, bei denen eine präzise Steuerung der Motorbewegung erforderlich ist.

Der 28BYJ-48 ist kein besonders leistungsfähiger Motor und bietet nur ein begrenztes Drehmoment. Daher eignet er sich besser für Anwendungen mit leichteren Lasten und geringem mechanischem Widerstand. In einigen Versionen des 28BYJ-48 ist ein Reduktionsgetriebe integriert, um das Drehmoment zu erhöhen und die Schrittauflösung zu erhöhen.

Ein Schrittmotor kann 2-Phasen, 4-Phasen, 5-Phasen oder mehr haben, je nachdem, wie die Spulen angeordnet sind. Jede Phase entspricht einem bestimmten Schritt und hat zwei Schaltzustände (A und B). Durch das Umschalten zwischen den Schaltzuständen können die Spulen ein magnetisches Feld erzeugen, das den Rotor in eine neue Position zieht.

Die Reihenfolge, in der die Spulen ein- und ausgeschaltet werden, wird als Schrittmuster bezeichnet. Die richtige Abfolge ist entscheidend, um den Motor präzise und effizient zu betreiben. Die gängigsten Schrittmuster sind “Vollschritt” und “Halbschritt”, bei denen entweder nur eine Spule oder zwei benachbarte Spulen gleichzeitig aktiviert werden.

Um den Schrittmotor zu betreiben, wird eine spezielle Schrittmotorsteuerung oder ein Treiber benötigt. Dieser Treiber liefert die notwendigen elektrischen Impulse, um die Spulen in der richtigen Reihenfolge zu aktivieren und so die gewünschten Schritte auszuführen.

Material:

Der 28BYJ-48 Schrittmotor am Arduino UNO

Machen wir jetzt ein praktisches Beispiel mit dem Arduino UNO und dem Schrittmotor, der über das ULN2003 Modul versorgt wird. Da der Motor sehr viel Strom zieht, ist es sehr wichtig, dass wir den Motor NIEMALS direkt über die Arduino Pins versorgen. Noch dazu kommt, dass ein Motor induktive elektrische Ströme erzeugen kann, die den Arduino beschädigen würde.

Die Standard-Stepper-Bibliothek, die mit der Arduino-IDE vorinstalliert ist, unterstützt nur die Vollschritt-Methode und hat nur begrenzte Funktionen. Die 28BYJ-48-Motoren sollen in der Halbschritt-Methode betrieben werden und sie laufen daher nicht so effizient im Vollschritt-Modus. Daher verwenden wir die AccelStepper Library, mit der wir auch mehrere Motoren gleichzeitig ansteuern können. Zusätzlich können wir noch Werte für die Beschleunigung angeben.

				
					#include <AccelStepper.h>
const byte Fullstep = 4;
const byte Halfstep = 8;
const short fullRevolution = 2038;
const float SteppDegree = 11.32; // Half/Full 11.32 / 5.66

// Pins IN1-IN3-IN2-IN4
AccelStepper stepper1(Halfstep, 11, 9, 10, 8);

void setup(void) {
  stepper1.setMaxSpeed(1000);     // set the maximum speed
  stepper1.setSpeed(200);         // set initial speed  
  stepper1.setAcceleration(50);   // set acceleration
  stepper1.setCurrentPosition(0); // set position
}

void loop(void) {
  float degree = 45;  // im Uhrzeigersinn
  float moveRev = degree * SteppDegree;
  stepper1.moveTo(-moveRev);  // - für Uhrzeigersinn
  stepper1.run();
}
				
			

Zwei weitere praktische Beispiele

Hier gehts zu den Sketches auf Github

Zum Video

★☆★ Wenn ihr den Kanal unterstützen wollt über ★☆★

oder über

Twint Spenden Code

Letzte Aktualisierung am 6.05.2024 / Affiliate Links / Bilder von der Amazon Product Advertising API