Table des matières:
2025 Auteur: John Day | [email protected]. Dernière modifié: 2025-01-13 06:57
Mon objectif est de mettre à niveau mon imprimante 3D Anet A8 en ajoutant un contrôle d'alimentation via l'interface Octoprint. Néanmoins, je souhaite également pouvoir démarrer "manuellement" mon imprimante 3D, c'est-à-dire ne pas utiliser l'interface Web mais simplement appuyer sur un bouton.
Étape 1: Le câblage
Le bloc d'alimentation AC-DC est connecté à une prise intelligente (TP-Link) qui est contrôlable au moyen d'un smartphone (App Kasa) ou d'un bouton.
Ce bloc d'alimentation alimente le Raspberry Pi 3 B+ au moyen d'un module convertisseur LM2596 DC-DC Buck (12V - 5V). Le module 4 relais 5V avec optocoupleur Low-Level-Trigger est directement connecté au RPI 3B+ (pas besoin de réglage 3,3V).
4 Les boutons poussoirs sont connectés en tant que "résistance pull-up" au RPI 3B+.
Pour le câblage, il suffit de regarder le croquis.
Étape 2: Le logiciel
Pour le contrôle par boutons poussoirs, j'ai utilisé Python pour écrire le programme, m'inspirant de la lecture du fil suivant:
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…
Pour assurer l'interaction avec la commande via Octoprint, il existe un test pour vérifier l'état actuel du relais et le changer.
Le script est joint.
Commentaires: Comme le Relay 1 contrôle la carte mère, j'ai voulu rajouter une sécurité en éteignant avec le bouton poussoir. Le but était de maintenir le bouton enfoncé pendant 5 secondes pour confirmer l'extinction. Malheureusement, le script fonctionne mais pas de manière fiable en raison de l'effet de rebond. Si vous avez une correction à proposer n'hésitez pas à la partager.
Pour rendre le script exécutable: sudo chmod 777 /home/pi/script/Relay_board_control.pyPour tester le script:./Relay_board_control.py
Pour copier le script: sudo cp Relay_board_control.py /usr/local/bin
Pour exécuter automatiquement le script au démarrage:
sudo nano /etc/rc.local
ajouter le chemin au script " /home/pi/scripts/Relay_board_control.py & " entre fi et exit 0
Pour le contrôle au moyen d'Octoprint, c'est bien documenté sur le web.
Il y a deux étapes:
1- Editez le fichier /etc/init.d/octoprint en ajoutant dans le bloc "do_start()" juste après RETVAL="$?:
exportation gpio 6 sur
gpio -g écrire 6 1
exportation gpio 13 sur
gpio -g écrire 13 1
exportation gpio 19 sur
gpio -g écrire 19 1
exportation gpio 26 sur
gpio -g écrire 26 1
2- Editez le fichier /home/pi/.octoprint/config.yaml en ajoutant le bloc "Système":
système: actions:
- action: Imprimante_ON
commande: gpio -g écriture 6 0
confirmer: faux
nom: Imprimante_ON
- action: Imprimante_OFF
commande: gpio -g écriture 6 1
confirmez: vous êtes sur le point d'éteindre l'imprimante.
nom: Imprimante_OFF
- action: LED-String_ON
commande: gpio -g écriture 13 0
confirmer: faux
nom: LED-String_ON
- action: LED-String_OFF
commande: gpio -g écriture 13 1
confirmer: faux
nom: LED-String_OFF
- action: LED-Cam_ON
commande: gpio -g écriture 19 0
confirmer: faux
nom: LED-Cam_ON
- action: LED-Cam_OFF
commande: gpio -g écriture 19 1
confirmer: faux
nom: LED-Cam_OFF
- action: Relais-4_ON
commande: gpio -g écrire 26 0
confirmer: faux
nom: Relais-4_ON
- action: Relais-4_OFF
commande: gpio -g écrire 26 1
confirmer: faux
nom: Relais-4_OFF
Étape 3: le test
Ça marche!
Le comportement des boutons poussoirs est un peu délicat mais après quelques essais on y arrive.
Étape 4: Finaliser le concept
Maintenant, je vais souder les boutons-poussoirs sur un perfboard et ajouter un connecteur à 5 broches.
Enfin, j'ai conçu et imprimé 2 coques:
- un pour le RPI 3 B+ et la carte relais
- un pour couvrir le câblage à la base du PSU et pour fixer le Module Convertisseur DC-DC Buck LM2596.
Vous pouvez trouver les fichiers *.stl et *.gcode sur www.thingverse.com
-
-