Progetto ReleDuino (Aggiornamento files al 18.07.2013)

Salve,
Mi chiamo Federico e ho progettato una scheda elettronica per usi domotici.
Può essere montata su modulo din e pilota 8 relè bistabili da 16 ampere e accetta 8 pulsanti in ingresso.
Si allaccia direttamente alla 220v e opera con varie tensioni (12v, 5v, 3.3v).
Le schede si dividono in "master" e "slave". Le schede master hanno un chip arduino atmega-328p-au e possono pilotare fino a 7 schede slave, per un totale di 64 relè e 64 pulsanti.
Si possono collegare fino a 32 schede master e 32x7 schede slave in una rete paritetica multimaster tramite protocollo rs485 (master to master) e i2c (master to slave).
Le comunicazioni avvengono tramite protocollo rs485 e i2c ed il chip si programma tramite protocollo spi o seriale (tx - rx), attraverso l'uso di una scheda arduino.
La scheda è predisposta anche per il protocollo 1-wire.
Qualsiasi info disponibile a richiesta.
In allegato trovere schema elettrico e circuito stampato in formato pdf.
Troverete anche i files dei programmi utilizzati nella dimostrazione pubblicata su youtube: Progetto ReleDuino - YouTube

ReleDuino.rar (761 KB)

ReleDuinoM.pdf (209 KB)

ReleDuinoM--brd.pdf (178 KB)

Programmi ReleDuino.rar (2.96 KB)

se funziona voto per lo spostamento nella sezione progetti

se funziona può dirlo solo lui, o un altro che si mette a montare tutto quanto; lo schema è bello carico, ma sulla sinistra del 328P vedo wire interrotti, come mai?

"se funziona può dirlo solo lui, o un altro che si mette a montare tutto quanto; lo schema è bello carico, ma sulla sinistra del 328P vedo wire interrotti, come mai?"

Grazie per i commenti, vorrei che il progetto trovasse dei collaboratori che mi affianchino, ma prima sono obbligato a brevettare tramite creative commons poichè sto sfruttando il bootloader e l'IDE di arduino per la programmazione del chip e sono partito da una scheda arduino nano per la creazione della mia ReleDuino (dell'arduino nano c'è rimasto ben poco però).
Rispondo alle domande:

  • Il progetto funziona ma ho bisogno di altre prove da effettuare: sono riuscito a programmare il chip (bootloader + programma) tramite il protocollo spi sfruttando un'interfaccia che collega 6 pin arduino ad un jack ethernet (progettata sempre da me). Non ho provato a caricare il programma tramite seriale (rx-tx) ma lo farò a breve. Sono riuscito a far commutare i relè tramite la pressione di pulsanti collegati a massa (sfruttando le caratteristiche del pcf8574), ed ho caricato anche un programma che fa commutare i relè automaticamente. I programmi sono semplicissimi e di pochi kilobyte. Non ci sono surriscaldamenti della scheda (verificato personalmente tutti i chip a riposo e a lavoro). La scheda master riesce a pilotare tranquillamente anche i 7 slave (anche di quello posso fornire lo schema elettrico che è come quello postato ma notevolmente semplificato); la master può trasformarsi in slave azionando 2 interruttori a slitta dall'alto verso il basso (uno serve a togliere l'alimentazione all'at-mega e l'altro a unire sda-scl dell'at-mega con quelli del pcf8574 e dell'mcp23017 (infatti sono separati come si evince dall schema elettrico). Il terzo interruttore a slitta serve a commutare il voltaggio dell'at-mega (5v o 3.3V) in modo da fargli risparmiare energia. Per far funzionare il chip con 3.3V bisogna caricare un bootloader che prevede l'uso del quarzo interno (a 8mhz o 1 mhz) disabilitando automaticamente quello esterno (l'arduino così consuma molto meno, soprattutto a 1 mhz, ma consiglio di farlo funzionare a 8 mhz per avere una risposta più celere del chip alle varie istruzioni).
    Nello schema postato ci sono solo 2 interruttori a slitta, il terzo l'ho inserito in un aggiornamento al progetto che posterò quando l'avrò licenziato tramite apposito brevetto creative commons (sono obbligato a rispettare lo stesso brevetto usato per licenziare le schede arduino). Mi manca da verificare le comunicazioni da master a master e da master ad uno slave collegato su master remoto.
  • Sulla sinistra del chip atmega 328P non ci sono wires interrotti, lo si può vedere chiaramente dal circuito in formato kicad che non ho postato.
    Se troverò persone interessate al progetto, posterò tutti i files in formato compatibile con kicad (l'unico professionale e open source che conosca) quando avrò licenziato il tutto sotto creative commons.
    Qualsiasi info disponibile a richiesta.
    Grazie dell'attenzione, Federico.

Mancano gli sketch oppure sono io che non li ho trovati?

Mi chiedevo se il progetto non fosse adattabile anche al MSP430 programmato con Energia, dove i consumi dovrebbero essere minori. La licenza dovrebbe essere la stessa.

Mi permetto di suggerirti l'impiego di Relè a stato solido (SSR) al posto dei soliti relè meccanici. Ti salvi da possibili, fastidiosi, problemi di spike di commutazione.

Ottimo suggerimento.

"Mi permetto di suggerirti l'impiego di Relè a stato solido (SSR) al posto dei soliti relè meccanici. Ti salvi da possibili, fastidiosi, problemi di spike di commutazione."

Grazie dell'attenzione posta al mio progetto. Spero che i suggerimenti si moltiplicheranno potendo contribuire all'evoluzione della scheda ReleDuino che renderò fruibile a tutti, sia dal punto di vista hardware che software (si programma molto facilmente con la libreria "Wire" presente nell'ide arduino.
All'epoca della scelta dei componenti da adottare, posi molta attenzione ad ogni tipo di soluzione da impiegare, tra le quali ovviamente il tipo di relè da inserire nella scheda. Prima di scrivere il perchè ho bocciato la scelta dei relè di tipo SSR, a favore di quelli EMR, vorrei fare un pò di chiarezza sulla differenza che c'è tra le due soluzioni, scusandomi in anticipo per gli errori che un elettronico non esperto quale sono potrà commettere. Ciò che scrivo è stato preso dalle informazioni pervenute dalla rete e da conoscenze apprese in passato durante la costruzione della ReleDuino. Ora veniamo al dunque:

I relè statici sono formati da un triac o da una coppia di SCR in antiparallelo i cui gates sono eccitati dalla luce proveniente da un LED. In questa maniera viene disaccoppiato galvanicamente il circuito di potenza dal circuto di segnale. Commutano l'alternata perchè triac e SCR si spengono solo quando la corrente principale che li attraversa passa per lo zero. Se ben dimensionati e ben costruiti sono praticamante eterni e possono avere cadenze di commutazione dei 5 Hz anche per grosse potenze (500V, 50A).
Altri circuiti alla stato solido, ieri con transistor per commutazione di alte correnti, poi con banchi di Hexfets di potenza in parallelo, oggi con IGBT, commutano la corrente continua. Da qui ne consegue che un relè potrà essere costruito o per communtare l'alternata o per la continua, mentre i relè meccanici possono communtare entrambe le correnti poichè fungono da mero interruttore.
I relè statici comandabili in zero crossing emettono basso rumore elettrico EMI.
A parte i costi, i relè statici sono penalizzati da caratteristiche tipiche dei semiconduttori di potenza. In conduzione hanno un tensione ai capi derivante o dalla RdsOn o dalla tensione di saturazione dell'ordine del volt che causa dissipazioni anche notevoli. Per commutare ad esempio i 16A dei relè EMR da me impiegati, con un interruttore statico bisogna dissipare circa 21W per fase.
Il secondo problema è nella conduzione residua a circuito aperto. Qualche milliampere scappa sempre, e non si può considerare l'interruttore statico come crcuito perfettamente aperto.
Il terzo problema è nella loro sensibilità ai picchi di sovratensione. Bastano energie di poche decine di mJ a tensioni di banali pochi kV impulsivi per distruggerli mettendoli in cortocircuiti ed alimentando involontarialente il circuito a valle o una sua singola fase. Per evitare ciò si dimensiona e realizza un circuito di snubber R-C e di scaricatori ad ossido di zinco che limitano i picchi.
Purtroppo un relè statico fra suo costo, radiatore di raffreddamento, protezioni con snubber e scaricatori, viene a costare molto di più rispetto ai suoi analoghi a funzionamento meccanico, e spesso per norme deve essere in serie ad un organo a sgancio magnetotermico, fusibili o cos'altro di sicurezza.

Un relè meccanico ha resistenza praticamente zero con cadute di tensione dei centesimi di volt e dissipazione delle decine di Watt. Ha un cadenza di commutazione bassa, da qualche commutazione al secondo a qualche commutazione al minuto. La bobina assorbe energia di pliotaggio e riflette l'energia elettromagnetica immagazzinata nel nucleo in sovratensione di apertura, che deve essere assorbito a un diodo di controcorrente (comando in continua) per non danneggiare i contatti di piccoli relè o transistor di comando.
Quando è aperto non vi è alcuna conduzione fra i contatti.
La loro durata è limitata in particolare quando chiudono grandi condensatori e aprono carichi induttivi: incollaggio dei contatti e sfiammature possono sempre verificarsi ma un buon relè, ben dimensionato e protetto contro danni da commutazione dura fino al milione di manovre.

Riepilogando possiamo dire riguardo ai relè SSR:

VANTAGGI

  • Bassa potenza di comando
  • Commutazione zero crossing o istantanea
  • Durata di vita/affidabilità
  • Tempo di risposta ridotto
  • Nessuna parte meccanica in movimento (nessun rimbalzo)
  • Nessuna usura meccanica
  • Compatibilità con circuiti digitali
  • Resistenza agli shock
  • Funzionamento silenzioso
  • Tenuta stagna

LIMITAZIONI

  • Caduta di tensione (da 1 a 1,5V)
  • Uscita solo A.C. o solo D.C.
  • Obbligo frequente del dissipatore
  • Utilizzo con piccoli segnali
  • Resistenza alle tensioni transitorie
  • Corrente in fuga

Detto questo vediamo perchè ho deciso di adottare i relè meccanici nella ReleDuino in base alle caratteristiche che deve avere:

Basso consumo
La scheda ReleDuino deve consumare poco in quanto ho previsto un'architettura "decentrata" dei vari moduli. Le varie scede verranno montate su cassette a modulo DIN come se fossero delle banali cassette di derivazione, e dalle cassette partiranno i vari cavi dell'alta e bassa tensione (in realtà dovrei dire bassa e bassissima tensione), ovvero dei cavi di comando (luci, persiane, prese di corrente) e dei cavi per la trasmissione dei segnali i2c. I relè meccanici bistabili, funzionando da mero interruttore e richiedendo energia solo in fase di commutazione, sono la scelta ideale da porre in questi casi.

Basso riscaldamento
Le schede, come ho detto prima, vengono montate all'interno di cassette tipo "da derivazione", che sono chiuse e non ventilate, pertanto il riscaldamento prodotto dai relè SSR sarebbe un problema da non trascurare, soprattutto in consideraione del fatto che potrebbero anche pilotare carichi di corrente importanti (fino a 16A per ogni relè, anche se per usi civili si sarebbe spesso limitati dai 3KV del contratto standard con il gestore di energia.

Basso costo
Le schede ReleDuino devono essere soluzioni complete ed economiche da adottare. Una soluzione domotica completa composta da varie schede non deve raggiungere i prezzi delle soluzioni proposte dai marchi "blasonati" che utilizzano lo standardo KNX. I relè meccanici, costando molto meno rispetto ad analoghi allo stato solido (parliamo di relè che possono communtare fino a 16A su 250V), sono anche qui la scelta ideale da adottare.

Ora affrontiamo il discorso del tanto amato"zero crossing".
Se il problema principale è l'eliminazione, o almeno la forte limitazione degli spike di corrente in fase di chiusura del circuito, sarei più propenso ad inserire nella scheda un integrato per la rilevazione del "punto zero" nell'onda sinusoidale della fase, in modo tale da inserire nel software un "ritardo calcolato" in modo che la commutazione dei relè avvenga vicino allo zero nell'onda di fase.
Mi spiego meglio: utilizzando il chip arduino sulla scheda, si metterà nel programma un ritardo nelle commutazioni di circa 6 ms dall'impulso dello zero crossing. Questo perche 6 ms + 4 ms per la commutazione del relè fa 10ms ovvero mezzo periodo dell'onda sinusoidale a 50 herz. Comunque, sebbene questi valori sono tipici della maggior parte dei relè, tali ritardi possono essere modificati nel programma della scheda in base ai relè che in futuro potrebbe adottare (attualmente sto usando gli ottimi relè tyco RT314F12).
Nel progetto non ho implementato tale circuito poichè le commutazioni in ambito domestico non sono così frequenti e raramente impegnano correnti importanti.

Alla fine di tutta questa pappardella, che sicuramente vi avrà fatto venire un sonno profondo, la mia domanda è: Che dite? Lascio la scheda così com'è? Integro un circuito per la rilevazione dello zero crossing? Metto i relè solidi? Aspetto le vostre risposte.

Federico, complimenti per il progetto.
Per quanto riguarda i relè non è possibile metterne di due tipi? Ad esempio 6 normali meccanici e 2 solidi in modo da dare la possibilità di scegliere tra i due tipi. Oppure fare due versioni della scheda dato che se ne possono usare fino a 7 slave.

"Federico, complimenti per il progetto.
Per quanto riguarda i relè non è possibile metterne di due tipi? Ad esempio 6 normali meccanici e 2 solidi in modo da dare la possibilità di scegliere tra i due tipi. Oppure fare due versioni della scheda dato che se ne possono usare fino a 7 slave."

Grazie per i complimenti, ma sarebbero ben accette anche critiche.
E' possibile modificare i fori e le piste nel file CAD per adattare la scheda ai relè solidi, che tra l'altro sono anche meno ingombranti dei relè EMR, anche se bisognerebbe prevedere un'aletta di raffreddamento discretamente importante, ma si può fare facilmente e l'integrazione sarebbe praticamente totale con le schede aventi i relè meccanici.
Non capisco perchè quest'amore verso i relè SSR, che sicuramente hanno numerosi vantaggi, ma che francamente non rilevo essere adatti per usi domotici, soprattutto con l'integrazione di un chip per la rilevazione dello zero crossing che allungherebbe sicuramente la vita (già molto lunga) dei relè meccanici, fermo restando il fatto che si potrebbero facilmente cambiare alla loro rottura con l'uso di un banalissimo saldatore e un pò di euro di spesa.

Non è che li ami, la mia era solo una idea per dare la possibilità a tutti di scegliersi quello che vogliono. A me ad esempio i relè meccanici basterebbero però se qualcuno ha esigenze particolari quelli ssd potrebbero essere comodi.

per i meccanici non ci sono mica dei socket in modo che il relè possa essere cambiato in modo semplice e veloce, senza uso di strumenti esterni?

lesto:
per i meccanici non ci sono mica dei socket in modo che il relè possa essere cambiato in modo semplice e veloce, senza uso di strumenti esterni?

Mi sa di no. Io li ho sempre visti da saldare (hanno 5 piedini di solito e nemmeno allineati tutti,impossibile usare un socket).

Critiche:
Gli schemi nel pdf hanno parecchi fili non collegati (non so se sia un problema mio)
Un lcd + tastierino 5 tasti sarebbero stati utili

"per i meccanici non ci sono mica dei socket in modo che il relè possa essere cambiato in modo semplice e veloce, senza uso di strumenti esterni?"

Avevo considerato l'uso di socket per rendere più agevole l'operazione di cambio relè in caso di rottura, ma non sono riuscito a trovare un tipo compatibile con i relè che adopero.
Nel caso specifico, i relè bistabili a doppia bobina utilizzano 3 connettori per i segnali di comando, il centrale connesso alla 12v dc e gli altri ai lati connessi a massa. Sono riuscito a trovare solo socket con 2 connettori (relè monobobina) e comunque vista la lunga durata dei relè in questione ho abbandonato l'idea (anche in funzione del costo della scheda, che sarebbe salito di almeno un'altra decina di euro). Vorrei che la scheda avesse un costo complessivo intorno ai 150,00 euro (prezzo al pubblico), che è un prezzo direi stracciato rispetto a schede analoghe.

Gli zoccoli per relè esistono di molte forme diverse.

Quanto agli SSR credo che si sia rimasti a 5 anni fa... Oggi ci sono componenti molto performanti che gestiscono contemporaneamente AC e DC.



Questa mi è nuova, non si finisce mai di imparare :slight_smile: .

"Mi sa di no. Io li ho sempre visti da saldare (hanno 5 piedini di solito e nemmeno allineati tutti,impossibile usare un socket).

Critiche:
Gli schemi nel pdf hanno parecchi fili non collegati (non so se sia un problema mio)
Un lcd + tastierino 5 tasti sarebbero stati utili"

I socket ci sono ma non ne ho visti per i relè a doppia bobina. I relè che uso io, i tyco RT314F12, hanno 9 piedini in totale, 3 per la sezione comando e 6 per la sezione potenza; c'è anche un'altra versione monoscambio a doppia bobina che ha 2 piedini di potenza in meno e sono totalmente compatibili con la scheda.
I fili non collegati ci sono e li ho lasciati perchè avevo previsto in passato l'uso di connettori a pettine come quelli che vengono utilizzati nelle schede arduino; in futuro potrei riprendere quest'idea collegando i vari pin del chip arduino ai relativi connettori. Quando avrò finito con la parte hardware mi occuperò di prendisporre un software, probabilmente in java, per comandare i vari relè da dispositivi android. Se trovassi programmatori esperti potrei accelerare i tempi.
Grazie delle critiche.

"Gli zoccoli per relè esistono di molte forme diverse.

Quanto agli SSR credo che si sia rimasti a 5 anni fa... Oggi ci sono componenti molto performanti che gestiscono contemporaneamente AC e DC."

Se mi trovassi socket come nella prima foto aventi 3 piedini sulla parte di comando, sarebbero quelli che cerco (relè doppia bobina).
Sarei anche contento se mi proponessi un tipo di relè ssr che non ha gli svantaggi da me descritti precedentemente, che non ha problemi di dissipazione del calore, a consumo zero quando il relè non è in fase di commutazione, sufficientemente economico, a bassa resistenza, senza cadute di tensione rilevanti, etc...

Ma che razza di relè sei andato a pescare!

Questo è uno dei problemi più sentiti dai progettisti: quello di non imbarcarsi in componenti particolari di difficile reperibilità e/o sostituzione. Sopratutto senza una vera necessità di progetto. :roll_eyes:

"Ma che razza di relè sei andato a pescare!

Questo è uno dei problemi più sentiti dai progettisti: quello di non imbarcarsi in componenti particolari di difficile reperibilità e/o sostituzione. Sopratutto senza una vera necessità di progetto."

Grazie della critica, ed ora la risposta.
Quel tipo di relè è l'unico che si adatta perfettamente ai darlington uln2803 impiegati nella scheda, i quali vengono pilotati dal GPIO mcp23017, altamente impiegato con le schede arduino.
Se mi vuoi consigliare un tipo di relè di facile reperibilità, che si adatta alla mia scheda senza complicare il circuito complessivo, che riescono a gestire carichi di corrente così importanti, te ne sarei grato.