Verwendung des 28BYJ-48 Schrittmotors mit einem ULN2003 Treiber und Arduino

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

HerstellerULN2003
TeilenummerULN2003
Logik/IO-Spannung5 V
Versorgungsspannung5-30 V (max)
Ausgangsstrom (pro Kanal)500 mA max
Spitzenstrom (pro Kanal)2 A max
PWM-FrequenzrichtlinienN/A
Eingangslogikschwellen0,8 V (niedrig), 2,4 V (hoch)
Spannungsabfall / RDS(on)/ Sättigung1,5 V max
Thermische Grenzen70 °C max
PaketDIP-16
Hinweise / VariantenHä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 zuOUT1
  • Yellowdraht zuOUT2
  • Pinkdraht zuOUT3
  • Bluedraht 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 10
  • IN2zuPin 11
  • IN3zuPin 12
  • IN4zuPin 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
6-The source code for stepper motor 28BYJ-48 with ULN2003 for Arduino
Sprache: C++
Kopiert!

Dateien📁

Keine Dateien verfügbar.