2025 Auteur: John Day | [email protected]. Laatst gewijzigd: 2025-01-13 06:57
Mijn doel is om mijn Anet A8 3D-printer te upgraden door een voedingsregeling toe te voegen via de Octoprint-interface. Toch wil ik mijn 3D-printer ook "handmatig" kunnen opstarten, dus niet via de webinterface maar met een druk op de knop.
Stap 1: De bedrading
De AC-DC PSU wordt aangesloten met een Smart-plug (TP-Link) die bedienbaar is door middel van een smartphone (App Kasa) of een knop.
Deze PSU voedt de Raspberry Pi 3 B+ door middel van een LM2596 DC-DC Buck Converter Module (12V - 5V). De 4-Relais Module 5V met Optocoupler Low-Level-Trigger is direct aangesloten op de RPI 3B+ (geen behoefte aan 3,3V tuning).
4 Drukknoppen zijn als "pull-up weerstand" aangesloten op de RPI 3B+.
Voor de bedrading, kijk maar naar de schets.
Stap 2: De software
Voor de besturing door middel van drukknoppen heb ik Python gebruikt om het programma te schrijven, wat mij inspireerde door de volgende thread te lezen:
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…
Om de interactie met de besturing via Octoprint te verzekeren, is er een test om de huidige status van het relais te controleren en te wijzigen.
Het draaiboek is bijgevoegd.
Opmerkingen: Omdat de relais 1 het moederbord aanstuurt, wilde ik een beveiliging toevoegen door uit te schakelen met de drukknop. Het doel was om de knop gedurende 5 seconden ingedrukt te houden om de uitschakeling te bevestigen. Helaas werkt het script, maar niet betrouwbaar vanwege het rebound-effect. Als je een correctie hebt, deel deze dan gerust.
Om het script uitvoerbaar te maken: sudo chmod 777 /home/pi/script/Relay_board_control.py Om het script te testen:./Relay_board_control.py
Om het script te kopiëren: sudo cp Relay_board_control.py /usr/local/bin
Om het script automatisch aan het begin uit te voeren:
sudo nano /etc/rc.local
voeg het pad toe aan het script " /home/pi/scripts/Relay_board_control.py & " tussen fi en exit 0
Voor de besturing door middel van Octoprint is het goed gedocumenteerd op het web.
Er zijn twee stappen:
1- Bewerk het bestand /etc/init.d/octoprint door het blok "do_start()" toe te voegen net na RETVAL="$?:
gpio export 6 uit
gpio -g schrijven 6 1
gpio-export 13 uit
gpio -g schrijven 13 1
gpio export 19 uit
gpio -g schrijven 19 1
gpio-export 26 uit
gpio -g schrijven 26 1
2- Bewerk het bestand /home/pi/.octoprint/config.yaml door het blok "Systeem" toe te voegen:
systeem: acties:
- actie: Printer_ON
commando: gpio -g schrijf 6 0
bevestigen: false
naam: Printer_ON
- actie: Printer_OFF
commando: gpio -g schrijf 6 1
bevestigen: u staat op het punt de printer uit te schakelen.
naam: Printer_OFF
- actie: LED-String_ON
commando: gpio -g schrijf 13 0
bevestigen: false
naam: LED-String_ON
- actie: LED-String_OFF
commando: gpio -g schrijf 13 1
bevestigen: false
naam: LED-String_OFF
- actie: LED-Cam_ON
commando: gpio -g schrijf 19 0
bevestigen: false
naam: LED-Cam_ON
- actie: LED-Cam_OFF
commando: gpio -g schrijf 19 1
bevestigen: false
naam: LED-Cam_OFF
- actie: Relais-4_ON
commando: gpio -g schrijf 26 0
bevestigen: false
naam: Relais-4_ON
- actie: Relais-4_OFF
commando: gpio -g schrijf 26 1
bevestigen: false
naam: Relais-4_OFF
Stap 3: De test
Het werkt!
Het gedrag van de drukknoppen is wat lastig, maar na een paar keer proberen snap je het.
Stap 4: Voltooi het concept
Nu zal ik de drukknoppen op een perfboard solderen en een 5-pins connector toevoegen.
Tot slot heb ik 2 hoesjes ontworpen en geprint:
- een voor de RPI 3 B+ en de relaiskaart
- een om de bedrading aan de onderkant van de PSU af te dekken en om de LM2596 DC-DC Buck-convertermodule te bevestigen.
U kunt de *.stl- en *.gcode-bestanden vinden op www.thingiverse.com
-
-