Innholdsfortegnelse:
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-13 06:58
Målet mitt er å oppgradere min Anet A8 3D-skriver ved å legge til en strømforsyningskontroll via Octoprint-grensesnittet. Likevel vil jeg også kunne starte 3D-skriveren "manuelt", det vil si ikke å bruke webgrensesnittet, men bare trykke på en knapp.
Trinn 1: Kabling
AC-DC PSU er tilkoblet med en Smart-plugg (TP-Link) som kan kontrolleres ved hjelp av en smarttelefon (App Kasa) eller en knapp.
Denne PSU driver Raspberry Pi 3 B+ ved hjelp av en LM2596 DC -DC Buck Converter Module (12V - 5V). 4-stafettmodulen 5V med Optocoupler Low-Level-Trigger er direkte koblet til RPI 3B+ (trenger ikke 3.3V tuning).
4 Trykknapper er koblet som "pull-up motstand" til RPI 3B+.
For ledninger, bare se på skissen.
Trinn 2: Programvaren
For kontroll ved hjelp av trykknapper, har jeg brukt Python til å skrive programmet, inspirerende meg ved å lese følgende tråd:
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…
For å sikre samspillet med kontrollen via Octoprint, er det en test for å kontrollere statusen til reléet og endre det.
Skriptet er vedlagt.
Kommentarer: Ettersom relé 1 styrer hovedkortet, ønsket jeg å legge til en sikkerhet ved å slå av med trykknappen. Målet var å holde knappen inne i 5 sekunder for å bekrefte utkoblingen. Dessverre fungerer skriptet, men ikke pålitelig på grunn av rebound -effekt. Hvis du har en rettelse å foreslå, del den gjerne.
For å gjøre skriptet kjørbart: sudo chmod 777 /home/pi/script/Relay_board_control.pyFor å teste skriptet:./Relay_board_control.py
For å kopiere skriptet: sudo cp Relay_board_control.py/usr/local/bin
For å kjøre skriptet automatisk i starten:
sudo nano /etc/rc.local
legg til banen til skriptet "/home/pi/scripts/Relay_board_control.py &" mellom fi og exit 0
For kontroll ved hjelp av Octoprint, er det godt dokumentert på nettet.
Det er to trinn:
1- Rediger filen /etc/init.d/octoprint ved å legge til i blokken "do_start ()" like etter RETVAL = "$ ?:
gpio export 6 out
gpio -g skrive 6 1
gpio export 13 ut
gpio -g skrive 13 1
gpio export 19 ut
gpio -g skrive 19 1
gpio eksport 26 ut
gpio -g skrive 26 1
2- Rediger filen /home/pi/.octoprint/config.yaml ved å legge til blokken "System":
system: handlinger:
- handling: Printer_ON
kommando: gpio -g skrive 6 0
bekreft: usant
navn: Printer_ON
- handling: Printer_OFF
kommando: gpio -g skrive 6 1
bekreft: Du er i ferd med å slå av skriveren.
navn: Printer_OFF
- handling: LED-String_ON
kommando: gpio -g skrive 13 0
bekreft: usant
navn: LED-String_ON
- handling: LED-String_OFF
kommando: gpio -g skrive 13 1
bekreft: usant
navn: LED-String_OFF
- handling: LED-Cam_ON
kommando: gpio -g skrive 19 0
bekreft: usant
navn: LED-Cam_ON
- handling: LED-Cam_OFF
kommando: gpio -g skrive 19 1
bekreft: usant
navn: LED-Cam_OFF
- handling: Relé-4_ON
kommando: gpio -g skrive 26 0
bekreft: usant
navn: Relé-4_ON
- handling: Relé-4_OFF
kommando: gpio -g skrive 26 1
bekreft: usant
navn: Relé-4_OFF
Trinn 3: Testen
Det fungerer!
Oppførselen til trykknappene er litt vanskelig, men etter noen få forsøk får du det.
Trinn 4: Fullfør konseptet
Nå skal jeg lodde trykknappene på et perfboard og legge til en 5-pins kontakt.
Til slutt har jeg designet og skrevet ut to esker:
- en for RPI 3 B+ og relékortet
- en for å dekke ledningene ved foten av PSU og for å fikse LM2596 DC-DC Buck Converter Module.
Du finner *.stl- og *.gcode -filene på www.thingiverse.com
-
-