Verwendung des 28BYJ-48 Schrittmotors mit einem ULN2003 Treiber und Arduino
In diesem Tutorial werden wir lernen, wie man einen 28BYJ-48 Schrittmotor mit einem ULN2003 Treiber und einem Arduino steuert. Dieses Setup ermöglicht eine präzise Kontrolle der Position und Geschwindigkeit des Motors. Am Ende dieses Projekts werden Sie in der Lage sein, den Motor in beide Richtungen zu drehen und seine Schritte effektiv zu steuern.
Wir werden den 28BYJ-48 Schrittmotor verwenden, der aufgrund seiner geringen Kosten und Benutzerfreundlichkeit eine beliebte Wahl für verschiedene Robotik- und Automatisierungsprojekte ist. Die ULN2003 Treiberplatine verbindet den Schrittmotor mit dem Arduino, sodass wir Schritt-Signale senden können, die die Bewegung des Motors steuern. Dieses Tutorial wird Sie durch die erforderlichen Verdrahtungen und den Code führen, um Ihren Motor zum Drehen zu bringen.
Zur weiteren Klärung beziehen Sie sich bitte auf das Video, das mit diesem Tutorial verbunden ist (im Video bei 0:45).
Hardware erklärt
Die Hauptkomponenten dieses Projekts sind der 28BYJ-48 Schrittmotor und die ULN2003 Treiberplatine. Der Schrittmotor besteht aus mehreren Spulen, die in einer bestimmten Reihenfolge aktiviert werden können, um eine Drehung zu erzeugen. Der ULN2003 Treiber fungiert als Schalter und ermöglicht es dem Arduino, die Leistung zu steuern, die jeder Spule zugeführt wird.
Der ULN2003-Treiber verwendet ein Darlington-Transistor-Array, um den höheren Strom zu bewältigen, der vom Schrittmotor benötigt wird. Wenn ein Pin des Arduino ein HIGH-Signal ausgibt, ermöglicht er den Stromfluss zur entsprechenden Spule im Motor, wodurch dieser sich bewegt. Dies ermöglicht eine präzise Steuerung des Drehwinkels und der Geschwindigkeit des Motors.
Datenblattdetails
| Hersteller | ULN2003 |
|---|---|
| Teilenummer | ULN2003 |
| Logik/IO-Spannung | 5 V |
| Versorgungsspannung | 5-30 V (max) |
| Ausgangsstrom (pro Kanal) | 500 mA max |
| Spitzenstrom (pro Kanal) | 2 A max |
| PWM-Frequenzrichtlinien | N/A |
| Eingangslogikschwellen | 0,8 V (niedrig), 2,4 V (hoch) |
| Spannungsabfall / RDS(on)/ Sättigung | 1,5 V max |
| Thermische Grenzen | 70 °C max |
| Paket | DIP-16 |
| Hinweise / Varianten | Häufig verwendet mit 5V-Schrittmotoren. |
- Stellen Sie sicher, dass der Treiber die aktuellen Anforderungen Ihres Motors erfüllen kann.
- Verwenden Sie bei Bedarf Kühlkörper, um die thermischen Grenzen zu verwalten.
- Überprüfen Sie, ob alle Verbindungen sicher sind, um schwebende Eingänge zu vermeiden.
- Testen Sie den Motor, indem Sie einfache Schrittfolgen ausführen, bevor Sie ihn in größere Projekte integrieren.
- Stellen Sie sicher, dass der Motor mit einer angemessenen Versorgungsspannung betrieben wird.
Verdrahtungsanweisungen
Um den 28BYJ-48 Schrittmotor mit dem ULN2003 Treiber und Arduino zu verdrahten, befolgen Sie diese Schritte:
Zuerst verbinden Sie den Motor mit dem ULN2003-Treiber. Der Motor hat vier Drähte, die typischerweise farblich kodiert sind als orange, gelb, pink und blau. Verbinden Sie diese Drähte mit den entsprechenden Ausgangspins des ULN2003-Treibers. Die Verbindungen sind wie folgt:
Orangedraht zuOUT1Yellowdraht zuOUT2Pinkdraht zuOUT3Bluedraht zuOUT4
Als nächstes verbinden Sie den ULN2003-Treiber mit dem Arduino. Die Eingangs-Pins des Treibers entsprechen vier digitalen Pins am Arduino. Zum Beispiel:
IN1zuPin 10IN2zuPin 11IN3zuPin 12IN4zuPin 13
Schließlich verbinden Sie die Strom- und Masseanschlüsse des ULN2003-Treibers mit dem Arduino. Verbinden Sie dieVCCPin an den 5V-Ausgang des Arduino und denGNDPin an den Arduino-Masse. Stellen Sie sicher, dass alle Verbindungen sicher sind, bevor Sie das System einschalten.
Codebeispiele und Anleitung
Im Setup-Bereich des Arduino-Codes definieren wir die Pins, die mit dem ULN2003-Treiber verbunden sind:
int Pin1 = 10;
int Pin2 = 11;
int Pin3 = 12;
int Pin4 = 13;
Hier erklären wir vier Ganzzahlvariablen:Pin1,Pin2,Pin3, undPin4, die den digitalen Pins auf dem Arduino entsprechen. Diese Pins steuern die Bewegung des Schrittmotors.
In dersetup()Funktion, wir konfigurieren diese Pins als Ausgänge:
void setup() {
pinMode(Pin1, OUTPUT);
pinMode(Pin2, OUTPUT);
pinMode(Pin3, OUTPUT);
pinMode(Pin4, OUTPUT);
}
Dieses Setup stellt sicher, dass der Arduino Signale an den ULN2003-Treiber senden kann, um den Motor zu steuern.pinModeDie Funktion setzt jeden Pin in den OUTPUT-Modus, wodurch sie Signale senden können.
Schließlich erstellen wir in der Hauptschleife einen Switch-Case, um die Schritte des Motors basierend auf der Variablen zu steuern._step:
switch(_step){
case 0:
digitalWrite(Pin1, LOW);
digitalWrite(Pin2, LOW);
digitalWrite(Pin3, LOW);
digitalWrite(Pin4, HIGH);
break;
// Additional cases follow
}
In diesem Auszug verwenden wirdigitalWriteum HIGH- oder LOW-Signale an jeden Pin basierend auf dem aktuellen zu senden_step. Dies steuert, welche Spulen aktiviert werden, sodass der Motor rotieren kann. Der vollständige Code, der diese Snippets integriert, wird unter dem Artikel geladen.
Demonstration / Was zu erwarten ist
Sobald alles korrekt verkabelt ist und der Code hochgeladen wurde, sollte der Schrittmotor als Reaktion auf die Signale vom Arduino rotieren. Sie können den Motor testen, indem Sie die Verzögerung in der Schleife ändern oder die Schritte anpassen, um zu sehen, wie er reagiert. Seien Sie sich bewusst, dass der Motor möglicherweise nicht bewegt wird oder unberechenbar reagiert, wenn er nicht richtig mit Strom versorgt wird.
Kapitel
- Einführung - 0:00
- Hardware erklärt - 1:30
- Verdrahtungsanweisungen - 3:15
- Codebeispiele & Anleitung - 5:00
- Demonstration / Was zu erwarten ist - 7:45
Dinge, die Sie vielleicht brauchen
-
AliExpressKaufe 5 Stück 28BYJ-48 Schrittmotoren bei AliExpresss.click.aliexpress.com
-
AliExpress
Ressourcen & Referenzen
-
ExternKaufe 5 Stück 28BYJ-48 Schrittmotoren bei AliExpresss.click.aliexpress.com
-
Extern
-
Extern
-
Extern
-
Extern
-
Extern
-
Extern
-
Extern
Dateien📁
Keine Dateien verfügbar.