Table des matières:

Contrôler une carte relais depuis Octoprint sur un Raspberry Pi : 5 étapes
Contrôler une carte relais depuis Octoprint sur un Raspberry Pi : 5 étapes

Vidéo: Contrôler une carte relais depuis Octoprint sur un Raspberry Pi : 5 étapes

Vidéo: Contrôler une carte relais depuis Octoprint sur un Raspberry Pi : 5 étapes
Vidéo: Tutoriel OctoPrint avec extinction automatique de l'imprimante 3D 2024, Novembre
Anonim
Contrôler une carte relais depuis Octoprint sur un Raspberry Pi
Contrôler une carte relais depuis Octoprint sur un Raspberry Pi

Vous avez donc un Raspberry Pi avec Octoprint et même une configuration de caméra. La dernière chose dont vous avez besoin est un moyen d'allumer et d'éteindre votre imprimante 3D et peut-être de contrôler une lumière. Cette instructable est pour vous !

Ceci est inspiré et simplifié de:

Assurez-vous de vérifier mon précédent instructable où j'ai construit une boîte de boîtier / hotte pour mon imprimante 3d, car il s'agit de la suite.

Testé avec:

Linux octopi 4.14.79-v7+ #1159 SMP Dim 4 novembre 17:50:20 GMT 2018 armv7l GNU/Linux

Version OctoPrint: 1.3.11Version OctoPi: 0.16.0

Avis de non-responsabilité: je ne prends aucune responsabilité pour tout ce qui pourrait arriver si vous suivez ces instructions.

Fournitures

  • Carte relais 5V avec optocoupleur (ebay)
  • Quelques fils de liaison
  • Un coffret électrique avec prises (optionnel)

Étape 1: connexion de la carte relais à votre Raspberry Pi

Connecter la carte relais à votre Raspberry Pi
Connecter la carte relais à votre Raspberry Pi

Bien que les cartes relais soient conçues pour une logique 5V, elles se déclencheront correctement à 3,3V. Sachant cela, j'ai pu éviter toute modification de la carte d'origine.

Bouclier relais Framboise

------------ --------- Bobines: JD-VCC - 5V VCC - Non connecté GND - GND Logique: GND - Non connecté IN1 - GPIO #23 IN2 - GPIO # 18 VCC - 3,3 V

Il est important de retirer le cavalier entre JD-VCC et VCC si vous en avez un. Cela permettra d'alimenter 5V pour les bobines tout en alimentant 3,3V pour les entrées logiques. Et comme les deux GND sont câblés ensemble en interne, nous n'en connectons qu'un seul.

Étape 2: SSH sur votre Raspberry Pi et configurez-le

SSH sur votre Raspberry Pi et configurez-le
SSH sur votre Raspberry Pi et configurez-le

À l'aide de putty ou de votre client ssh préféré, connectez-vous à votre raspberry pi en utilisant la même adresse IP que vous utilisez pour accéder à Octoprint. Le nom d'utilisateur par défaut est pi et le mot de passe est raspberry.

La première chose que je ferais est de vérifier que les relais répondent correctement. Pour ce faire, exécutez ces commandes

gpio -g mode 18 sorties

gpio -g mode 23 sortie gpio -g écriture 18 0 gpio -g écriture 23 0 gpio -g écriture 18 1 gpio -g écriture 23 1

Les 2 premières lignes permettent de définir le GPIO comme sortie. Ensuite, vous activez et désactivez les sorties. Cela devrait faire cliquer le relais. Lorsque les entrées sont basses (0), le relais doit s'allumer et lorsque les entrées sont hautes (1), elles doivent s'éteindre. Alors oui, c'est un peu contre-intuitif, mais c'est comme ça !

Étape 3: Ajoutez de nouvelles options de menu à Octoprint pour contrôler vos relais

Ajoutez de nouvelles options de menu à Octoprint pour contrôler vos relais
Ajoutez de nouvelles options de menu à Octoprint pour contrôler vos relais
Ajoutez de nouvelles options de menu à Octoprint pour contrôler vos relais
Ajoutez de nouvelles options de menu à Octoprint pour contrôler vos relais

Vous devrez éditer le fichier config.yaml:

sudo nano.octoprint/config.yaml

Dans ce fichier, localisez la section "système" et ajoutez ce qui suit:

système:

actions: - action: imprimante allumée commande: gpio -g écriture 18 0 nom: allumer l'imprimante - action: imprimante éteinte commande: gpio -g écriture 18 1 confirmer: vous êtes sur le point d'éteindre l'imprimante. nom: éteignez l'imprimante - action: lon commande: gpio -g write 23 0 nom: LightOn - action: loff commande: gpio -g write 23 1 nom: LightOff

Après avoir sauvegardé le fichier (ctrl+x), redémarrez le raspberry pi:

redémarrage sudo

Vous devriez maintenant pouvoir contrôler les relais depuis l'interface web d'Octoprint !

Étape 4: Câblage haute tension (soyez prudent)

Câblage haute tension (soyez prudent)
Câblage haute tension (soyez prudent)

Un relais agit comme un interrupteur, seul il est déclenché par un contrôleur, en l'occurrence un raspberry pi. L'interrupteur se compose d'un électro-aimant qui connectera les broches ensemble, c'est le clic que vous entendez.

Pour le câblage, vous avez deux choix. Soit vous coupez un des fils de l'alimentation de votre imprimante 3D et vous connectez les extrémités au relais, soit vous faites une prise de courant pour cela. Je préfère la deuxième façon, car cela permettra de déplacer l'imprimante plus facilement. J'utiliserai également la deuxième sortie pour connecter mon ventilateur d'extraction (voir mon autre instructable: hotte d'imprimante 3D facile et bon marché).

Maintenant, l'autre relais est de contrôler une lumière. C'est le même principe, mais dans ce cas, je vous recommande de simplement couper un des fils du câble d'alimentation et de connecter les extrémités au relais, il n'aura probablement pas besoin d'être déplacé.

Étape 5: Configurez les sorties GPIO et empêchez vos relais de s'allumer lorsque le Raspberry Pi redémarre

Pour résumer le problème, les GPIO sont définis à un niveau bas lors du redémarrage de raspbian (au moins pour certaines versions du noyau). Apparemment, nous ne pouvons pas faire grand-chose… eh bien ! L'idée est donc d'appeler un script qui l'annulera une fois le démarrage terminé en définissant les sorties à un niveau élevé.

Voir ce fil de discussion pour plus d'informations:https://www.raspberrypi.org/forums/viewtopic.php?t=35321

Mais plus important encore, ce script définit les GPIO comme sorties, sinon les éléments de menu ne fonctionneront pas dans Octoprint.

Créez un script en utilisant nano:

nano /home/pi/setupgpio.sh

Collez ce code et enregistrez le fichier.

#!/bin/sh

echo 18 > /sys/class/gpio/export echo 23 > /sys/class/gpio/export udevadm set echo high > /sys/class/gpio/gpio18/direction echo high > /sys/class/gpio/gpio23/direction

Rendez le fichier exécutable:

chmod +x /home/pi/setupgpio.sh

Editez le fichier rc.local:

sudo nano /etc/rc.local

Et appelez le script que vous venez de créer en ajoutant ces lignes:

# configurer les broches gpio pour le contrôle de la porte

/home/pi/setupgpio.sh

Redémarrez votre framboise et vérifiez qu'elle fonctionne correctement.

Conseillé: