Inhaltsverzeichnis:

Schrittmotor-Testvorrichtung - Gunook
Schrittmotor-Testvorrichtung - Gunook

Video: Schrittmotor-Testvorrichtung - Gunook

Video: Schrittmotor-Testvorrichtung - Gunook
Video: Schrittmotor Test 2 2024, November
Anonim
Image
Image
Verdrahtung
Verdrahtung

Ich hatte wenig bis keine Erfahrung mit Schrittmotoren, also bevor ich die 'Antique' Auto Correcting Analog Clock (https://www.instructables.com/id/Antique-Auto-Correcting-Analog-Clock/) mit einem Schrittmotor, entschied ich mich, die Software mit einer viel einfacheren Testvorrichtung zu entwerfen und zu testen. Wenn Sie, wie ich, wenig bis keine Erfahrung mit Schrittmotoren haben, dann hilft hoffentlich dieses kurze Instructable mit Quellcode.

Die Prüfvorrichtung benötigt folgende Komponenten:

  • Ein Prototyping-Board.
  • Ein Adafruit Feather ESP32 mit Buchsenleisten.
  • Ein ULN2003-basiertes Stepper-Controller-Board.
  • Ein 28BYJ-48 5vdc Schrittmotor.
  • Einige männliche zu weibliche Überbrückungsdrähte.
  • Eine Adafruit 3,7-VDC-Lithiumbatterie.
  • Eine 3D-gedruckte Indikatorhand.

Der Schrittcontroller, der Schrittmotor und die Überbrückungsdrähte, die ich verwendet habe, sind in einem 5-Pack enthalten, das ich als Kit online gekauft habe (suchen Sie nach "TIMESETL 5pcs DC 5V Stepper Motor 28BYJ-48 + 5pcs ULN2003 Driver Board + 40pcs Male Female Jumper Wire Cable ").

Der Akku ist optional. Beachten Sie die Batterieausgänge 3,7 VDC, aber die Stepper-Controller-Platine und der Stepper sind 5 VDC. Die Testhalterung funktioniert nur mit Batteriestrom, auch bei niedrigerer Spannung.

Ich habe ein Video beigefügt, das die Schritte zeigt, die erforderlich sind, um die Software auf den ESP32 herunterzuladen, den ESP32 mit der Schrittmotorsteuerung zu verbinden und den Schrittmotor und die Batterie anzuschließen.

Schritt 1: Verkabelung

Verdrahtung
Verdrahtung
Verdrahtung
Verdrahtung

Ich habe die im Kit enthaltenen männlichen / weiblichen Überbrückungsdrähte verwendet, um die Testvorrichtung zu verdrahten. Es werden sechs Drähte benötigt, die wie folgt eingefügt werden:

  1. ESP32-Pin 14 (männlich) zu Stepperplatinen-Pin IN4 (weiblich).
  2. ESP32-Pin 32 (männlich) zum Schrittplatinen-Pin IN3 (weiblich).
  3. ESP32-Pin 15 (männlich) zum Stepper-Board-Pin IN2 (weiblich).
  4. ESP32-Pin 33 (männlich) zum Schrittplatinen-Pin IN1 (weiblich).
  5. ESP32-Pin "GND" (männlich) zum Stepperboard-Pin "-" (weiblich).
  6. ESP32 Pin "USB" (männlich) für USB-Betrieb ODER "BAT" (männlich) für Batteriebetrieb, zum Stepperboard Pin "+" (weiblich).

Sobald die Drähte eingesteckt und überprüft wurden, stecken Sie das Schrittmotorkabel in den Anschluss der Schrittmotor-Controller-Platine. Der Stecker ist codiert und passt nur in eine Richtung.

Wenn Sie eine Batterie verwenden, schließen Sie sie schließlich an den ESP32-Batterieanschluss an.

Schritt 2: Indikator

Indikator
Indikator

Für einen Indikator am Schrittmotor habe ich eine Indikatorhand "Hand.stl" entworfen und 3D gedruckt. Ich habe den Indikatorzeiger auf 0,15 mm Schichthöhe, 20% Füllung ohne Stützen gedruckt und dann auf die Schrittmotorwelle gedrückt.

Alternativ kann als Indikator auch Klebeband, Karton oder anderes Material verwendet werden.

Schritt 3: Software

Software
Software

Ich habe die Stepper-Testsoftware in der Arduino 1.8.5-Umgebung geschrieben. Falls noch nicht geschehen, laden Sie die Arduino-Umgebung und die notwendigen USB-Treiber auf Ihren Computer herunter und installieren Sie sie. Besuchen Sie auch die Adafruit-Website für weitere Adafruit ESP32-bezogene Software. Ich fand diesen Link sehr hilfreich: Adafruit ESP32 und die Arduino-Umgebung.

Wenn ein USB-Kabel zwischen Ihrem Computer und dem ESP32 angeschlossen ist und "Stepper.ino" in die Arduino-Umgebung geladen wurde, laden Sie "Stepper.ino" auf den ESP32 herunter.

Nach dem Herunterladen sollte der Stepper einmal pro Sekunde um 6 Grad gehen.

Ich habe diese Testsoftware aus zwei Gründen geschrieben; erstens, um zu lernen, wie man einen Schrittmotor antreibt, und zweitens, um die 4096 Schritte pro Umdrehung des Schrittmotors in 60 eine Sekunde 6 Grad "Ticks" für die Uhr umzuwandeln.

Die Funktion "Step(nDirection)" treibt den Schrittmotor an. Diese Funktion unterhält eine lokale (statische) Integer-Variable "nPhase", die entsprechend dem Vorzeichen des Funktionsarguments nDirection um eins erhöht oder verringert wird (jedes Mal, wenn die Funktion aufgerufen wird). Diese Variable ist im Bereich auf 0 bis 7 begrenzt, die bei Verwendung zusammen mit dem Gehäuseschalter die Motorphasen gemäß den Herstellerspezifikationen für jeden Schritt ansteuert.

Die Funktion "Update()" bestimmt, wann und wie viele Schritte für jeden Tick ausgeführt werden müssen, um 60 Ticks pro 360 Grad Drehung gleichmäßig zu verteilen. Diese Funktion führt den Schrittmotor entweder 68 oder 69 Schritte für jeden Tick. Wenn die Funktion beispielsweise nur 68 Schritte pro Tick verwendet, dann wären (68 Schritte * 60 Ticks) = 4080 Schritte nicht genug Schritte, um die 360 Grad Drehung abzuschließen (denken Sie daran, dass der Stepper 4096 Schritte für 360 Grad Drehung benötigt). Und wenn die Funktion 69 Schritte pro Tick verwendet, dann wären (69 Schritte * 60 Ticks) = 4140 zu viele Schritte. Der einfache Algorithmus, den ich geschrieben habe, verteilt gleichmäßig 68 und 69 Schrittticks über die 360-Grad-Drehung und kann bestimmen, welche Drehrichtung am schnellsten zum gewünschten Sekundenzähler (verwendet in der Uhr) ist.

Und so habe ich die Software für 'Antique' Auto Correcting Analog Clock entwickelt und getestet.

Wenn Sie Anregungen und / oder Fragen haben, können Sie gerne einen Kommentar abgeben und ich werde mein Bestes tun, um sie zu beantworten.

Empfohlen: