Sommario:

Controllo di una scheda relè da Octoprint su un Raspberry Pi: 5 passaggi
Controllo di una scheda relè da Octoprint su un Raspberry Pi: 5 passaggi

Video: Controllo di una scheda relè da Octoprint su un Raspberry Pi: 5 passaggi

Video: Controllo di una scheda relè da Octoprint su un Raspberry Pi: 5 passaggi
Video: Come installare Octoprint per controllare la stampante 3D da remoto - Raspberry Pi 4 2024, Dicembre
Anonim
Controllo di una scheda relè da Octoprint su un Raspberry Pi
Controllo di una scheda relè da Octoprint su un Raspberry Pi

Quindi hai un Raspberry Pi con Octoprint e hai persino una configurazione della fotocamera. L'ultima cosa di cui hai bisogno è un modo per accendere e spegnere la tua stampante 3D e magari controllare una luce. Questo istruibile è per te!

Questo è ispirato e semplificato da:

Assicurati di controllare la mia precedente istruzione in cui ho costruito una scatola di recinzione / cappa aspirante per la mia stampante 3D, poiché questo è il sequel.

Testato con:

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

Versione OctoPrint: 1.3.11 Versione OctoPi: 0.16.0

Dichiarazione di non responsabilità: non mi assumo alcuna responsabilità per qualsiasi cosa negativa possa accadere seguendo queste istruzioni.

Forniture

  • Scheda relè 5V con fotoaccoppiatore (ebay)
  • Alcuni ponticelli
  • Una scatola elettrica con prese (opzionale)

Passaggio 1: collegamento della scheda relè al tuo Raspberry Pi

Collegamento della scheda relè al tuo Raspberry Pi
Collegamento della scheda relè al tuo Raspberry Pi

Sebbene le schede relè siano realizzate per la logica a 5 V, si attiveranno correttamente a 3,3 V. Sapendo questo, sono stato in grado di evitare qualsiasi modifica alla scheda originale.

Scudo relè Lampone

------------ --------- Bobine: JD-VCC - 5V VCC - Non connesso GND - GND Logica: GND - Non connesso IN1 - GPIO #23 IN2 - GPIO # 18 VCC - 3,3 V

È importante rimuovere il ponticello tra JD-VCC e VCC se ne hai uno. Ciò consentirà di alimentare 5 V per le bobine mentre alimenta 3,3 V per gli ingressi logici. E poiché entrambi i GND sono cablati insieme internamente, ne colleghiamo solo uno.

Passaggio 2: SSH sul tuo Raspberry Pi e configuralo

SSH sul tuo Raspberry Pi e configuralo
SSH sul tuo Raspberry Pi e configuralo

Usando putty o il tuo client ssh preferito, connettiti al tuo raspberry pi usando lo stesso indirizzo IP che usi per accedere a Octoprint. Il nome utente predefinito è pi e la password è raspberry.

La prima cosa che farei è verificare che i relè rispondano correttamente. Per fare ciò, impartisci questi comandi

gpio -g modalità 18 out

gpio -g mode 23 out gpio -g write 18 0 gpio -g write 23 0 gpio -g write 18 1 gpio -g write 23 1

Le prime 2 righe consentono di impostare il GPIO come uscita. Quindi attiva e disattiva le uscite. Questo dovrebbe far scattare il relè. Quando gli ingressi sono bassi (0), il relè dovrebbe accendersi e quando gli ingressi sono alti (1) dovrebbero spegnersi. Quindi sì, questo è un po' controintuitivo, ma è così!

Passaggio 3: aggiungi nuove opzioni di menu a Octoprint per controllare i tuoi relè

Aggiungi nuove opzioni di menu a Octoprint per controllare i tuoi relè
Aggiungi nuove opzioni di menu a Octoprint per controllare i tuoi relè
Aggiungi nuove opzioni di menu a Octoprint per controllare i tuoi relè
Aggiungi nuove opzioni di menu a Octoprint per controllare i tuoi relè

Dovrai modificare il file config.yaml:

sudo nano.octoprint/config.yaml

All'interno di quel file, individua la sezione "sistema" e aggiungi quanto segue:

sistema:

azioni: - azione: stampante accesa comando: gpio -g scrivi 18 0 nome: accendi la stampante - azione: stampante spenta comando: gpio -g scrivi 18 1 conferma: stai per spegnere la stampante. nome: Spegni la stampante - azione: lon comando: gpio -g write 23 0 nome: LightOn - azione: loff comando: gpio -g write 23 1 nome: LightOff

Dopo aver salvato il file (ctrl+x), riavvia il raspberry pi:

sudo reboot

Ora dovresti essere in grado di controllare i relè dall'interfaccia web di Octoprint!

Passaggio 4: cablaggio ad alta tensione (attenzione)

Cablaggio ad alta tensione (attenzione)
Cablaggio ad alta tensione (attenzione)

Un relè funge da interruttore, solo che viene attivato da un controller, in questo caso un lampone pi. L'interruttore è costituito da un elettromagnete che collegherà i pin insieme, ovvero il clic che si sente.

Per il cablaggio hai due scelte. O tagli uno dei fili dell'alimentatore della tua stampante 3D e colleghi le estremità al relè, oppure crei una presa di corrente per quello. Preferisco il secondo modo, in quanto ciò consentirà di spostare più facilmente la stampante. Userò anche la seconda presa per collegare la mia ventola di scarico (vedi il mio altro istruibile: cappa aspirante per stampante 3D facile ed economica).

Ora l'altro relè deve controllare una luce. È lo stesso principio, ma in questo caso ti consiglio di tagliare solo uno dei fili dal cavo di alimentazione e collegare le estremità al relè, molto probabilmente non sarà necessario spostarlo.

Passaggio 5: configurare le uscite GPIO e impedire che i relè si accendano al riavvio di Raspberry Pi

Per riassumere il problema, i GPIO sono impostati su un livello basso al riavvio di raspbian (almeno per alcune versioni del kernel). A quanto pare, non c'è molto che possiamo fare… vabbè! Quindi l'idea è di chiamare uno script che lo ripristinerà una volta terminato l'avvio impostando gli output su alti.

Vedi questo thread del forum per maggiori informazioni:

Ma soprattutto, questo script imposta i GPIO come output, altrimenti le voci di menu non funzioneranno in Octoprint.

Crea uno script usando nano:

nano /home/pi/setupgpio.sh

Incolla questo codice e salva il file.

#!/bin/sh

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

Rendi eseguibile il file:

chmod +x /home/pi/setupgpio.sh

Modifica il file rc.local:

sudo nano /etc/rc.local

E chiama lo script che hai appena creato aggiungendo queste righe:

# imposta i pin gpio per il controllo del cancello

/home/pi/setupgpio.sh

Riavvia il tuo lampone e controlla che funzioni correttamente.

Consigliato: