Inhaltsverzeichnis:
2025 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2025-01-13 06:56
Mein Ziel ist es, meinen Anet A8 3D-Drucker aufzurüsten, indem ich eine Stromversorgungssteuerung über die Octoprint-Schnittstelle hinzufüge. Trotzdem möchte ich meinen 3D-Drucker auch "manuell" starten können, also nicht über das Webinterface, sondern einfach per Knopfdruck.
Schritt 1: Die Verkabelung
Das AC-DC-Netzteil ist mit einem Smart-Plug (TP-Link) verbunden, der über ein Smartphone (App Kasa) oder einen Taster steuerbar ist.
Dieses Netzteil versorgt den Raspberry Pi 3 B+ mit einem LM2596 DC-DC Buck Converter Module (12V - 5V). Das 4-Relais-Modul 5V mit Optokoppler Low-Level-Trigger wird direkt an das RPI 3B+ angeschlossen (kein 3.3V-Tuning erforderlich).
4 Taster sind als „Pull-Up-Widerstand“am RPI 3B+ angeschlossen.
Für die Verkabelung schauen Sie einfach in die Skizze.
Schritt 2: Die Software
Für die Steuerung mittels Drucktasten habe ich Python verwendet, um das Programm zu schreiben, inspiriert durch das Lesen des folgenden Threads:
www.raspberrypi.org/forums/viewtopic.php?t…https://invent.module143.com/daskal_tutorial/raspbe…
invent.module143.com/daskal_tutorial/raspbe…
www.hertaville.com/introduction-to-accessin…
www.hertaville.com/introduction-to-accessin…
Um die Interaktion mit der Steuerung über Octoprint sicherzustellen, gibt es einen Test, um den aktuellen Status des Relais zu prüfen und zu ändern.
Das Skript ist beigefügt.
Bemerkungen: Da das Relais 1 das Mainboard steuert, wollte ich eine Absicherung durch Ausschalten mit dem Taster hinzufügen. Ziel war es, die Taste 5 Sekunden lang gedrückt zu halten, um das Ausschalten zu bestätigen. Leider funktioniert das Skript aber aufgrund des Rebound-Effekts nicht zuverlässig. Wenn Sie eine Korrektur vorschlagen möchten, können Sie diese gerne teilen.
Um das Skript ausführbar zu machen: sudo chmod 777 /home/pi/script/Relay_board_control.pyUm das Skript zu testen:./Relay_board_control.py
Um das Skript zu kopieren: sudo cp Relay_board_control.py /usr/local/bin
Um das Skript beim Start automatisch auszuführen:
sudo nano /etc/rc.local
füge den Pfad zum Skript " /home/pi/scripts/Relay_board_control.py & " zwischen fi und exit 0 hinzu
Für die Steuerung mittels Octoprint ist es im Web gut dokumentiert.
Es gibt zwei Schritte:
1- Bearbeiten Sie die Datei /etc/init.d/octoprint, indem Sie den Block "do_start()" direkt nach RETVAL="$?" hinzufügen:
gpio-Export 6 aus
gpio -g schreiben 6 1
gpio-export 13 aus
gpio -g schreiben 13 1
gpio-export 19 aus
gpio -g schreiben 19 1
gpio-export 26 aus
gpio -g schreiben 26 1
2- Bearbeiten Sie die Datei /home/pi/.octoprint/config.yaml, indem Sie den Block "System" hinzufügen:
System: Aktionen:
- Aktion: Printer_ON
Befehl: gpio -g schreibe 6 0
bestätigen: falsch
Name: Printer_ON
- Aktion: Printer_OFF
Befehl: gpio -g schreibe 6 1
Bestätigen: Sie sind dabei, den Drucker aus_AUSzuschalten.
Name: Printer_OFF
- Aktion: LED-String_ON
Befehl: gpio -g schreiben 13 0
bestätigen: falsch
Name: LED-String_ON
- Aktion: LED-String_OFF
Befehl: gpio -g schreibe 13 1
bestätigen: falsch
Name: LED-String_OFF
- Aktion: LED-Cam_ON
Befehl: gpio -g schreiben 19 0
bestätigen: falsch
Name: LED-Cam_ON
- Aktion: LED-Cam_OFF
Befehl: gpio -g schreibe 19 1
bestätigen: falsch
Name: LED-Cam_OFF
- Aktion: Relais-4_ON
Befehl: gpio -g schreiben 26 0
bestätigen: falsch
Name: Relais-4_ON
- Aktion: Relais-4_OFF
Befehl: gpio -g schreiben 26 1
bestätigen: falsch
Name: Relais-4_OFF
Schritt 3: Der Test
Es klappt!
Das Verhalten der Drucktasten ist etwas knifflig, aber nach ein paar Versuchen bekommt man es hin.
Schritt 4: Konzept abschließen
Jetzt löte ich die Druckknöpfe auf einem Perfboard und füge einen 5-poligen Stecker hinzu.
Schließlich habe ich 2 Hüllen entworfen und gedruckt:
- eine für das RPI 3 B+ und die Relaisplatine
- eine zum Abdecken der Verkabelung an der Unterseite des Netzteils und zur Befestigung des DC-DC-Abwärtswandlermoduls LM2596.
Sie finden die *.stl- und *.gcode-Dateien auf www.thingiverse.com
-
-