Inhaltsverzeichnis:

Raspberry Pi, Python und ein TB6600-Schrittmotortreiber - Gunook
Raspberry Pi, Python und ein TB6600-Schrittmotortreiber - Gunook

Video: Raspberry Pi, Python und ein TB6600-Schrittmotortreiber - Gunook

Video: Raspberry Pi, Python und ein TB6600-Schrittmotortreiber - Gunook
Video: Raspberry PI treibt Schrittmotor für Fräsmaschine 2024, Juni
Anonim
Raspberry Pi, Python und ein TB6600-Schrittmotortreiber
Raspberry Pi, Python und ein TB6600-Schrittmotortreiber

Dieses Instructable folgt den Schritten, die ich unternommen habe, um einen Raspberry Pi 3b an einen TB6600-Schrittmotor-Controller, ein 24 VDC-Netzteil und einen 6-Draht-Schrittmotor anzuschließen.

Ich bin wahrscheinlich wie viele von euch und habe zufällig eine "Grabbag" mit Restteilen aus vielen alten Projekten. In meiner Sammlung hatte ich einen 6-Draht-Schrittmotor und entschied, dass es an der Zeit war, etwas zu lernen mehr darüber, wie ich dies mit einem Raspberry Pi Modell 3B verbinden könnte.

Als kleiner Disclaimer, ich habe das Rad hier nicht erfunden, ich habe einfach eine Reihe von Informationen zusammengetragen, die im Web verfügbar sind, fügte meine kleine Schräge hinzu und versuchte, es zum Laufen zu bringen

Die Absicht hier war wirklich nur, ein paar Dinge zusammenzubringen (zu minimalen Kosten), etwas Python-Code für meinen Raspberry Pi zu schreiben und den Motor zum Drehen zu bringen. Genau das ist mir gelungen.

Also lasst uns anfangen…

Schritt 1: Der Raspberry Pi

Der Himbeer-Pi
Der Himbeer-Pi

Was den Raspberry Pi betrifft, habe ich drei Standard-GPIO-Pins verwendet, damit dies mit jedem Pi oder Orange Board, Tinker Board oder Klonen funktionieren sollte (ich habe es nicht getestet), die da draußen erhältlich sind. Sie können (und sollten) meinen übermäßig kommentierten Python-Code durchkämmen und verschiedene GPIO-Pins auswählen, wenn Sie einen anderen Prozessor verwenden oder einfach nur etwas ändern möchten.

Bitte beachten Sie, dass ich eine direkte Verbindung zu den GPIO-Pins des RPi verbinde, daher begrenze ich die Spannung, die die GPIO-Pins sehen, auf 3,3 Volt.

Schritt 2: TB6600 Schrittmotortreiber / Controller

TB6600 Schrittmotortreiber / Controller
TB6600 Schrittmotortreiber / Controller

Wie ich bereits erwähnt habe, habe ich mich für einen TB6600 Schrittmotortreiber / Controller entschieden.

Dieser Controller ist:

  • Leicht verfügbar (suchen Sie eBay, Amazon, Ali Express oder viele andere).
  • Sehr konfigurierbar mit leicht zugänglichen Schaltern.
  • Konfigurations- und Verdrahtungsdetails sind auf dem Gehäuse aufgedruckt.
  • Eingangsspannungsbereich von 9 VDC bis 40 VDC
  • Fähig bis zu 4 Ampere Motorantriebsleistung.
  • Hat einen internen Lüfter und einen anständigen Kühlkörper.
  • Ist mit 3 abnehmbaren Anschlüssen ausgestattet.
  • Hat einen kleinen Fußabdruck,
  • Einfach zu montieren.

Aber die niedrigen Anschaffungskosten haben den Deal wirklich besiegelt.

Schritt 3: Der Schrittmotor…

Der Schrittmotor…
Der Schrittmotor…

Der Schrittmotor, den ich verwendet habe, ist ein bisschen unbekannt. Ich habe ihn seit vielen Jahren und erinnere mich nicht an die Geschichte, wie ich ihn erworben habe oder wie er früher verwendet wurde.

In diesem Instructable werde ich nicht detailliert beschreiben, wie man seine Fähigkeiten herausfindet - ich habe keine echte Verwendung dafür (außer experimentell), also überspringe ich das.

Ich habe einen ziemlich generischen Schrittmotor verwendet. Ich habe ein bisschen Zeit auf YouTube und hier auf Instructables verbracht, um zu versuchen, die daraus kommenden Drähte zu entziffern.

Mein Motor hat tatsächlich 6 Drähte … In dieser Anwendung habe ich die beiden "Center Tap" -Drähte isoliert und unverbunden gelassen.

Wenn Sie einen ähnlichen "generischen" Schrittmotortyp haben, bin ich mir sicher, dass Sie mit einem Ohmmeter und etwas Zeit auch die Verkabelung herausfinden und auf diese Weise zum Laufen bringen können. Es gibt viele YouTube-Videos, die Sie dabei unterstützen, Ihren eigenen Motor einfach zu sortieren.

Schritt 4: Stromversorgung und Netzteile

Stromversorgung und Netzteile
Stromversorgung und Netzteile

Hier ist Vorsicht geboten…

Abhängig von Ihrem Build müssen Sie möglicherweise eine Verbindung zu Netzspannungen (Hausstrom) herstellen. Achten Sie darauf, alle geeigneten Sicherheitsvorkehrungen zu treffen:

  • Versuchen Sie NICHT, elektrische Verbindungen zu stromführenden Stromquellen herzustellen.
  • Verwenden Sie Sicherungen und Schutzschalter geeigneter Größe
  • Verwenden Sie einen Netzschalter, um Ihr Netzteil mit Strom zu versorgen (dies macht es einfach, das Netzteil von stromführenden Netzspannungen zu isolieren).
  • Schließen Sie alle Drähte ordnungsgemäß ab und stellen Sie robuste Verbindungen her. Verwenden Sie keine Clips, ausgefranste Drähte oder schlecht sitzende Anschlüsse.
  • Verwenden Sie KEIN Elektrikerband als Isolator

Ich habe ein 24 VDC (5 Ampere) Netzteil verwendet, um den Schrittmotortreiber-Controller mit Strom zu versorgen. Ich habe auch den Ausgang desselben Netzteils verwendet, um ein DC-zu-DC-Buck-Netzteil zu betreiben, um 3,3 Volt zu erzeugen, die als Quelle für die ENA-, PUL- und DIR-Signale verwendet werden (siehe Schaltplan)

Versuchen Sie NICHT, den RPi zu verwenden, um Strom aus einer 5,0-V-Gleichstromquelle zu ziehen.

Ich empfehle NICHT zu versuchen, die " + "-Seiten des PUL-, DIR- und ENA-Signals mit 3,3 VDC vom RPI zu versorgen.

Schritt 5: Stromkreisschutz…

Beachten Sie, dass ich im folgenden Schaltplan nicht erwähne, wie das Netzteil an "AC Power" angeschlossen wird, oder einen Schutzschalter dafür aufliste. Wenn Sie beabsichtigen, ein ähnliches Testsystem zu bauen, müssen Sie sich die Zeit nehmen, einen Leistungsschalter und eine Sicherung anzugeben, die zu den von Ihnen verwendeten Netzteilen passen. Auf den meisten modernen Netzteilen sind Spannungs- und Stromspezifikationen aufgeführt. Diese müssen befolgt und entsprechende Schutzschaltungen installiert werden.

Bitte… Überspringen Sie diesen wichtigen Schritt nicht.

Schritt 6: Der Schaltplan

Der Schaltplan
Der Schaltplan

Netzteile

Der Ausgang des 24 VDC Netzteils ist mit einer 5-A-Sicherung abgesichert und dann geführt auf:

  • TB6600 Schrittmotortreiber / Controller "VCC" Pin (ROTER Draht im Diagramm).
  • Es wird auch auf den Eingang des 3,3 VDC "DC to DC Converter" geführt (wieder eine ROTE Ader im Diagramm).

Der Ausgang des 3,3 VDC "DC to DC Converter" wird auf die Pins "2", "4" und "6" des TB6600 Schrittmotortreibers / Controllers geleitet (BLAUES Kabel im Diagramm).

HINWEIS - Der Controller selbst markiert diese Pins als "5V". Es funktioniert, wenn 5V an diese Pins geliefert werden, aber aufgrund der Nennspannung der GPIO-Pins am RPI habe ich mich dafür entschieden, die Spannung auf 3,3 VDC zu begrenzen.

HINWEIS - Ich empfehle NICHT zu versuchen, die " + "-Seiten der PUL-, DIR- und ENA-Signale mit 3,3 VDC vom RPI zu versorgen.

GPIO-Zuordnung

GPIO Mapping GPIO 17 PUL PINK Draht im Diagramm GPIO27 DIR ORANGE Draht im Diagramm GPIO22 ENA GRÜN Draht im Diagramm

Schritt 7: Betrieb

Betrieb
Betrieb

Grundsätzlich steuert die Raspberry Pi-Hardware drei Signale:

GPIO-Zuordnung GPIO 17 PUL GPIO27 DIR GPIO22 ENA

GPIO22 - ENA - Aktiviert oder deaktiviert die Funktionalität des Schrittmotortreibers / Controllers.

Bei LOW ist der Controller DEAKTIVIERT. Dies bedeutet, dass, wenn diese Leitung HIGH oder NICHT angeschlossen ist, der TB6600 AKTIVIERT ist, und wenn die richtigen Signale angelegt werden, dreht sich der Motor.

GPIO27 - DIR - Legt die Drehrichtung des Motors fest.

Bei HIGH oder Nicht verbunden dreht sich der Motor in eine Richtung. Wenn sich der Motor in diesem Modus nicht in die gewünschte Richtung dreht, können Sie die beiden A-Motorkabel miteinander oder die beiden B-Motorkabel miteinander vertauschen. Tun Sie dies an den grünen Anschlüssen am TB6600.

Wenn dieser Pin auf LOW geht, schaltet der TB6600 die internen Transistoren und die Motorrichtung ändert sich.

GPIO10 - PUL - Impulse vom RPI, die dem TB6600 Schrittmotortreiber / Controller mitteilen, wie schnell er sich drehen soll.

Die Einstellung der von mir verwendeten Schrittmotortreiber / Controller-Schalterpositionen entnehmen Sie bitte den beigefügten Bildern.

Schritt 8: Python-Code

Im Anhang ist mein übermäßig kommentierter Code.

Fühlen Sie sich frei, dies nach Belieben zu verwenden und zu bearbeiten. Ich habe Teile davon im Web gefunden und zu Test- und Evaluierungszwecken hinzugefügt.

== == ==

Schritt 9: Zusammenfassung

Es hat funktioniert.. es gibt viel Raum für Verbesserungen und der Code könnte aufgeräumt werden, aber OK.

Ich würde mich freuen, Ihre Meinungsvorschläge und alle Änderungen / Aktualisierungen zu hören, die Sie vornehmen.

Vielen Dank.

Empfohlen: