Strumenti Utente

Strumenti Sito


raspberry:relay

Questa è una vecchia versione del documento!


Esperienza con la scheda di gestione relè
La scheda l'ho comprata su ebay ed è questa: http://jap.hu/electronic/relay_module.html
Il collegamento viene effettuato tramite il bus “i2c”
poi deve essere alimentata a 12v in quanto le bobine dei relè funzionano a 12v.
si installa l'i2c-tools

apt-get install i2c-tools

si controlla la presenza della scheda nel bus corretto

i2cdetect -y 1

     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: 20 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --

Quindi è correttamente identificata all'indirizzo 0x20
e' possibile attivare i relè tramite i seguenti comandi:

i2cset -y 1 0x20 0xa 0xff

il precedente comando attiva tutti i relè
in sostanza si dice di selezionare il device i2c (1)
di individuare l'indirizzo del nostro dispositivo sul bus (0x20)
di individuare l'indirizzo del dato da modificare (0xa)
e il codice corrispondente all'attivazione di uno o più relè
cioè se io faccio:

i2cset -y 1 0x20 0xa 0x01

attivo solo il primo relè
se faccio

i2cset -y 1 0x20 0xa 0x04

attivo il terzo relè
se faccio

i2cset -y 1 0x20 0xa 0x03

attivo il primo e il secondo
eccetera
insomma tramite la combinazione degli ultimi codici attivo esattamente quello che mi serve
potrei ad esempio attivare il primo, il terzo e il quarto (codice x) poi a questi devo attivare ad es il 7 e quindi mettero un'altro codice (y).

Se invece voglio leggere lo stato attuale devo usare il comando i2cget
ad es:

i2cget -y 1 0x20 0xa b

il risultato sarà ad esempio

0x07

che corrisponde all'accensione del relè 1, 2, 3

che in modo simile alla scrittura identifico il device (1)
il dispositivo sul bus (0x20)
e l'indirizzo del dato da leggere (0xa)
e l'opzione (b) che significa leggi nel formato esadecimale
Questo è l'esempio fatto con i comandi su shell minimali fatti con il programma di default i2c
per usare il python o altro devo ancora provare.
Un'altra nota riguarda il consumo testato con l'ina219.
in pratica con le bobine non eccitate non c'è consumo (2 milliwat)
ogni bobina (relè eccitato) consuma circa 360 milliwat
tre relè (1 watt abbondante)
ecc..
per un totale con tutte e 8 le bobine eccitate di 2,8 watt
ed un assorbimento minimo di 27 milliampere e un massimo di circa 220 milliampere

raspberry/relay.1507236059.txt.gz · Ultima modifica: 2023/04/17 14:25 (modifica esterna)