Si puo creare un sistema Domotico complesso usando Arduino Mega 2560 in grado di soddisfare i 3 requisiti fondamentali di una buona progettazione?

Premessa:

Tutto quello che qua ho scritto e frutto della mia personale esperienza, che ho avuto nel realizzare un progetto molto complesso, sviluppato nel tempo libero dopo il lavoro, che mi ha impegnato per ben 15 anni (chi la dura la vince). Questo progetto è stato realizzato per fini esclusivamente personali, didattici, e di ricerca, ed è funzionante tutto a bassa tensione 5V o al massimo 12V per motivi di sicurezza. Quindi, voglio precisare fin da subito, che non si tratta di un progetto realizzato per fini commerciali, e neanche fatto per certificare l’Atmega 2560 (non spetta a me farlo), e su questo ultimo punto volevo essere ben chiaro. Nel descrivere il progetto sono stato volutamente molto vago per tre motivi. Il primo è per un motivo di sicurezza, il secondo per non violare le regole di questo Forum, e per ultimo che alcuni concetti e soluzioni avanzate siano utilizzati da qualcuno per scopi commerciali, come pultroppo mi è gia capitato. Il mio unico scopo, nel aprire questa discussione, è quello di migliorare ancora di più questo progetto, sentendo che cosa ne pensano altri progettisti che come me condividono la stessa passione, e se anche loro approvano, oppure no, alcune scelte che io ho fatto. A causa della complessità della descrizione dell’argomento ho suddiviso il tutto in 2 Parti, e mi scuso per la sua lunghezza. Grazie

Parte 1

Buona sera. Mi chiamo Massimo G. e sono Marchigiano (PU), e sono nuovo in questo forum. Come la maggior parte di voi sono un appassionato e studioso di sistemi automatici da molti anni. Nel 2015, grazie ad Arduino, ho realizzato il sistema kit 2015, chiamato cosi perché fa uso di tante soluzioni e progetti un po presi dal web (devo ringraziare a tal scopo questo forum) e un po sviluppati da me, miscelati tutti insieme, al fine realizzare un sistema parlante veramente molto utile, che grazie alla sua affidabilità, guadagnata nel corso degli anni, è ormai diventato un membro della famiglia, che tutti chiamano affettuosamente Kitt (in onore della serie televisiva Super Car a cui mi sono ispirato). Tra le sue mansioni principali e quello di proteggere tutti i membri della famiglia (monitorando se necessario anche i loro parametri fisiologici) ed anche della casa in cui sta. Ad esempio si occupa di fare discrete previsioni metereologiche, ovviamente solo a livello locale, e di prendere provvedimenti in caso di arrivo di temporali, molto frequenti dalle mie parti (e di proteggersi di conseguenza in maniera appropriata mediante l’uso di alcune tecniche che qua non posso dire), di rispondere al telefono di casa (liquidando all'occorrenza eventuali
scocciatori), di rispondere al videocitofono (liquidando anche qua, se si vuole, eventuali scocciatori che suonano al campanello), di prendere provvedimenti in caso di scosse sismiche (anche queste purtroppo ricorrenti ultimamente), avviare la pulizia dei pavimenti, ecc ecc. Questo sistema e stato progettato per restare acceso 24 su 24, 7 giorni su 7, per sempre. Per ultimo posso aggiungere con orgoglio che la mansione di antifurto è decisamente la meno importante e copre circa il 5 /10 per cento di quello che realmente è in grado di fare (ammetto che forse la famosa area 51 non è cosi difesa come la mia casa :grinning:). Vi do ora una breve descrizione di questo progetto.

Il Sistema Kit fa uso di molte schede Arduino Mega 2560 (collegate tutte fra loro) le cui uscite fanno capo a molti relè a 12V (circa 100), e le loro entrate a molti sensori (circa 50). Come gia detto questo sistema funziona tutto a bassa tensione (5V o 12V) mediante l’uso di batterie al Gel da 6V o 12V opportunamente caricate da ottimi alimentatori (MeanWell).

Questo sistema fa uso di 7 moduli principali, tutti indipendenti fra loro, ma che dialogano uno con l’altro, al fine di diminuire il loro carico di lavoro, e ciascuno è adibito ad una ben precisa mansione. Posso dire anche che ciascuno di questi moduli è racchiuso, per motivi di sicurezza (e di cui accennerò piu avanti) dentro ad un contenitore in metallo dallo spessore di ben 4mm resistente principalmente ad incendio, ad esplosioni (di batterie o materiale elettronico), martellate, manomissione, ecc (per contro non resiste ovviamente all’acqua diretta a causa di una necessaria circolazione dell’aria al suo interno, ma che però è in grado di resistere alle variazioni di temperatura e di umidita). Ogni uno di questi 7 moduli pesano circa 15Kg (peso dovuto al mobile+batteria+relè ecc), per cui tutto il sistema pesa quasi 1 quintale. Vi dico questo per darvi l’idea della complessità del progetto.

Dopo questa breve descrizione del progetto, torniamo alla domanda iniziale.

A mio modesto parere, in base allo scopo a cui il progetto è stato realizzato e concepito, deve rispettare le tre condizioni essenziali di un buon progetto, e su questo mi piacerebbe sentire se siete d’accordo con me oppure no.

Come gia detto non si tratta di un progetto per fini commerciali, per cui non sono stato costretto, come facevo una volta in ambito lavorativo (nella progettazione e riparazione di sistemi elettronici) a raggiungere un compromesso tra costi del materiale, prestazioni e sicurezza che si vuole raggiungere, per cui ho fatto una cosi detto sovradimensionamento di tutto il sistema (con conseguente aumento dei costi).

Questi sono i 3 requisiti fondamentali che, a mio parere, un progettista deve rispettare per creare un buon progetto duraturo nel tempo.

1 – Sicurezza + Affidabilità

2 -- Facilita nella sua riparazione, con semplice ricerca guasti

3 – Possibilita di trovare, a distanza di anni, i suoi pezzi di ricambio senza problemi.

Ci sarebbe anche un 4 punto, che è la semplicità del progetto, perché ovviamente più il sistema è semplice da realizzare e più, come è noto, è soggetto a meno guasti, a meno problemi di stabilità, costa meno, ecc., ma questo punto non sono riuscito a realizzarlo.

Incominciamo con il descrivere il punto 3 (che è il più semplice da descrivere)

Volendo realizzare un progetto i cui ricambi fossero facili da trovare, anche a distanza di anni, ho utilizzato per quanto riguarda il pilotaggio di carichi leggeri o pesanti dei classici relè a 12v o dei contattori a 12V, che sono ormai sul mercato da tantissimi anni e che lo saranno per altri anni ancora. Molti si chiederanno perché non ho utilizzato gli efficentissimi relè SSR, che come è noto hanno molte più caratteristiche a loro favore rispetto ai tradizionali relè a bobina meccanica, quali ad esempio maggior capacità di reggere picchi (o spunti) di corrente iniziali molto alti, totale assenza di disturbi dovuti ad eventuali scintille che si producono sui carichi prettamente induttivi, elevatissime velocita di commutazione on/off, un buon isolamento galvanico tra il circuito pilota ed il carico, ecc. ecc, ma che io non ho scelto per un motivo che sarà esposto più avanti.

Per quanto riguarda invece la scelta della Cpu da utilizzare, questa è stata una scelta molto difficile, consapevole, che se fatta male, mi avrebbe compromesso tutto il progetto.

All’inizio avevo pensato alla CPU Raspberry, che nel 2015, quando cioè ho iniziato questo progetto, era uscita da pochi anni sul mercato, e leggendo le recensioni di quel periodo non mi aveva molto convinto, per il fatto dei numerosi problemi che aveva, e anche per il fatto che il progetto che volevo realizzare doveva restare acceso 24 su 24 ore 7 giorni su 7 per sempre.

Poi ho pensato all’uso di CPU della classe PLC, quindi certificata, molto affidabili, ma sentendo le opinioni di chi li usava quotidianamente per il suo lavoro, mi hanno detto che in caso di guasto o del modulo alimentatore o del modulo i/o, la reperibilità dei ricambi non era sempre garantita nel corso di diversi anni, (e soprattutto non volevo dipendere dalle sorti di un ben preciso marchio di fabbrica), oltre che dall’alto costo che avevano in quel periodo, per cui non le ho scelte.

Quindi alla fine ho optato per la scheda Mega2560 Rev3 (basata su un microcontrollore AVR da 8bit ATmega2560 che gia conoscevo in ambito lavorativo), che pur non essendo certificata, ma data la sua semplicità e facilità di reperibilità, il suo basso costo, e la sua enorme diffusione a livello globale, mi ha convinto nella sua scelta perché mi ha garantito sempre nei prossimi anni una sua eventuale sostituzione, ed è stato cosi.

A questo punto mi fermo, e prima di passare alla parte 2, volevo sapere se la discussione vi interessa oppure no, se siete d’accordo oppure no delle decisioni che ho preso fino a questo punto, e per ultimo se vi è piaciuta l'idea dell'uso che ho fatto delle schede Mega 2560, per realizzare questo progetto. Grazie

1 Like

Prosegui che mi intrippa

Ciao. Grazie per il tuo interessamento. Mi fa piacere che la cosa ti interessa. Appena possibile, lavoro permettendo, pubblicherò la seconda parte del "trattato" (decisamente più interessante), con anche qualche foto

foto kit complete.pdf (486,0 KB)

Parte 2

Buona sera. Come promesso pubblico la 2 parte di questa discussione. Ho anche aggiunto, in allegato, un paio di foto che fanno vedere in concreto i primi 3 moduli (di un totale di 7) del sistema Kit 2015, chiamati rispettivamente, Kit CPU, Kit Sensori, Kit Light. Gli altri restanti 4 moduli, completati ormai da un paio di anni, chiamati rispettivamente Kit Medica (si occupa del telesoccorso+parametri vitali), Kit Cammer (si occupa della gestione della video sorveglianza+videocitofono intelligente), Kit Power (non posso dirlo), Kit Automazione (si occupa della gestione delle persiane + e altre cose ancora), ma comunque
le loro foto non posso mostrarli per motivo di sicurezza ecc. In allegato troverete anche uno abbozzo di schema elettronico, fatto a mano per motivi di tempo (e mi scuso per questo, e anche per aver fatto un paio di errori che sono stati comunque postati nella discussione) che vi aiuterà a capire meglio i discorsi che sto per affrontare.
Faccio notare ai più inesperti, che per costruire una casa, prima si costruiscono delle ottime fondamenta (nel nostro caso va realizzato un ottimo hardware) e poi si fa tutto il resto, cioè muri tetto ecc (nel nostro caso si sviluppa il software per adibirlo a ciò che si vuole)

Parliamo ora di Sicurezza + Ricerca guasti (nel mio caso le due cose vanno a braccetto)

Per quanto riguarda il discorso della sicurezza del sistema, penso di averlo realizzato a prova di incendio e di esplosione delle batterie, per via dell’uso, come già detto nella parte 1, di appositi mobili, come è mostrato in alcune foto.
Infatti come è noto, l’elettronica è molto a rischio di incendio o esplosione in caso di guasto, specialmente quando si manipolano con superficialità batterie al Gel da 12V aventi vari Ampere.
Quindi onde evitare spiacevoli fumate od esplosioni di componenti elettronici, tutti i circuiti elettronici di input e di output provenienti dal processore (compresi le batterie e gli alimentatori) sono stati protetti da molti fusibili di tipo Fast o Slow (ne ho usati circa 150, uno per ogni circuito indipendente, di cui 100 per l’output e 50 per l’input), più anche qualche fusibile auto ripristinante.
Questo enorme numero di fusibili non è stato messo solo per sicurezza di tutti i circuiti, ma bensì si sono rilevati molto utili per fare una ricerca gusti praticamente immediata.
Infatti, dato che ogni uno di questi 150 circuiti presentano tutti dei led di segnalazione, uno rosso, uno verde, e uno giallo, chiaramente se salta uno di questi fusibili di bassissimo amperaggio, subito mi viene evidenziato il circuito difettoso dalla non accensione di questi led (ovviamente ho realizzato un apposito Sw di ricerca guasti). Quindi anche una persona non esperta del settore, come mio nonno, sarebbe in grado di riparare un circuito (per quanto complesso) semplicemente sostituendolo (quello che ha i led che non sono tutti accesi, o tutti spenti), dato che ne ha tanti di ricambio, per giunta tutti uguali :grinning:
Faccio presente che a causa di tutti questi circuiti, o modulini, che sono dotati di 3 led ciascuno, se tutti i circuiti funzionano regolarmente (e quindi tutti accesi), questi 3x150=450 led mi consumerebbero un botto di corrente, anche se ovviamente non capiterà mai che tutti i moduli siano in realtà contemporaneamente tutti accesi.
È per questo che sono stato costretto a ridurli di intensità pilotandoli con resistenze di valore molto alto da 47Kohm invece dei classici 1.2Kohm per i 12V, ma comunque si vedono lo stesso.
Questi 100 modulini, che chiameremo “modulo pilotaggio a relè”, che come già detto sono tutti muniti di un fusibile, hanno tutti la caratteristica essere sfilati con facilità dal mobile, per eventuali riparazioni, grazie all’uso di un connettore pin strip simili a quello che monta la Cpu Mega
Ho cosi soddisfatto anche il punto 2 di questa discussione (e anche la prima parte della 1), cioè facile riparazione e semplice ricerca guasti del sistema, e anche della sicurezza del sistema

Parliamo ora di Affidabilità del sistema (argomento molto importante nei circuiti complessi, specialmente in campo domotico)

Uno dei più grandi problemi che ho dovuto risolvere, tenendo presente che queste mega di fatto mi azionano tanti relè a 12V, ciascuno dei quali mi azionano carichi critici quali ad esempio sirena acustica di allarme, oppure un’elettrovalvola a 12v ecc ecc, la domanda che mi sono posto è la seguente:
Come faccio a rendere la Cpu Mega2560, che come sappiamo non è certificata, un prodotto affidabile è sicuro.
Per affidabile intendo questo (ed è questo il fulcro di tutta questa discussione).
Io devo trovare qualche stratagemma, di tipo Hw o Sw che mi impedisca l’attivazione involontaria di un relè (con evidenti conseguenze), quando accadono eventi eccezionali, quali guasti hw di vario tipo, oppure quando subentrano disturbi EMC al processore
Quindi qualsiasi relè di questo sistema kit 2015 non si deve attivare mai, ad eccezione di quando sono io, tramite apposito programma, a decidere la loro accensione.
Spero su questo di essere stato abbastanza chiaro.
Di tutti questi 150 circuiti i più critici sono certamente quelli di output che sono in totale 100 (per quelli di input ho dovuto usare altre strategie che si differenziava da sensore a sensore), e che o chiamato, come già detto precedentemente, “modulo pilotaggio a relè”.
Questi modulini sono completamente isolati galvanicamente uno dall’altro, e soprattutto dalla cpu mega, mediante l’uso di foto accoppiatori di vario tipo, e sono tutti alimentati indipendentemente uno dall’altro da dei piccoli convertitori DC/DC isolati galvanicamente (ad alto rendimento) della serie HI-LINK.
Grazie a questi convertitori DC/DC, questi moduli hanno tutti una propria massa, che è separata da quella della Cpu mega, e questa è una delle strategie utili per ridurre i disturbi EMC prodotte dalla commutazione dei vari relè (altri sistemi saranno citati più avanti)
Questi moduli contengono al loro interno, ovviamente dei relè, più altri componenti elettronici quali CD40193 che è un contatore binario, ed altre cose come è visibile dallo schema fornito.

Da questo punto in poi inizia una lunga descrizione dettagliata della strategia da me adottata per risolvere il problema, che potrebbe rilevarsi per i più inesperti molto noiosa.

A chi non interessa può passare direttamente alle conclusioni finali

Piccola parentesi, che sarà utile per capire meglio il motivo del perché ho fatto certe scelte
Come ho già anticipato nella mia presentazione in questo forum, ho lavorato per molti anni nella progettazione e riparazione di schede elettroniche con processore. Riparando quindi queste schede mi sono accorto di questo fatto.
1- Quando un processore si brucia o si danneggia, per un qualsiasi motivo, ho constatato (sempre ammesso che risultino ancora alimentati dalla scheda) che statisticamente le sue porte di uscita o vanno tutte a +Vcc, oppure rimangono a Gnd, oppure per ultimo mi rimangono ad uno stato indefinito di tensione compresa tra circa i 0.7V e circa i 3.5V (tensione purtroppo sufficiente per attivare la base di un BJT).
Confesso che raramente mi siano capitati processori danneggiati che avessero pin adiacenti uno a +Vcc e l’altro vicino a Gnd
2- Nella riparazione di schede di potenza a relè o a triac o a SSR o SCR ho costatato invece le seguenti cose.
Sempre parlando in termini statistici o costato che la maggior parte degli SSR che ricevevo in riparazione o erano completamente interrotti (esplosi), oppure risultavano in corto.
Invece per quanto riguarda le schede di potenza con uscita a relè, mi sono arrivati quasi sempre relè con contatti bruciati (sfiammati), quindi non più in grado di chiudere efficacemente i suoi contatti, oppure aventi bobine bruciate, quindi interrotte o in corto. Per ultimo molto raramente mi sono invece capitati relè con i contatti incollati, cioè tra loro in corto. Da una attenta analisi mi sono accorto che in questi casi il filtro snubber non era ben progettato, e soprattutto (forse per motivi di costi) il relè che si era scelto non era sovradimensionato per lo scopo a cui era destinato.
Da queste considerazioni o tratto che, al fine degli obbiettivi del mio progetto (cioè alta affidabilità del progetto come già detto), l’uso dei relè, per quanto antiquati e non avendo necessita di elevate velocità di commutazione, era da preferirsi rispetto ai relè SSR (che di fatto al loro interno hanno degli SCR chiamati tiristore)
Infatti, se io nel progetto utilizzo un ottimo relè a 12 a doppio scambio (il motivo e spiegato subito dopo) sovradimensionato per l’uso che deve fare, più in aggiunta ad un ottimo snubber messi nei suoi contatti (di tipo RC+ VAR) per la parte in alternata, il rischio che col tempo mi mandi i suoi contatti in corto (contatti incollati o fusi tra loro) è molto basso
L’ altro sistema da me usato per ridurre l’arco voltaico che si sviluppa tra i suoi contatti, e quello di spezzare in due l’arco voltaico utilizzando il secondo contatto lasciato libero in un relè a 12 volt con doppio scambio. Infatti, mettendo in serie i due contatti NA (per chi non conosce i relè il termine NA sta per contatti normalmente aperti) o costatato che l’arco voltaico il più delle volte viene dimezzato, se non addirittura soppresso (dipende ovviamente da come i due contatti risultano tra loro sincronizzati durante la loro commutazione).
Tutti questi sistemi da me adottati per i relè mi hanno reso il mio sistema, per quanto riguarda la commutazione dei carichi pesanti, a prova di incollaggio dei suoi contatti (se non siete d’accordo ditelo pure)
Oltre a questo, non meno importante, con queste tecniche o ridotto di molto i disturbi EMC che arrivano al processore (di cui parlerò brevemente più avanti)

Descriviamo ora brevemente il funzionamento del “circuito pilota relè” introdotto precedentemente. Come potete vedere dall’abbozzo dello schema che vi ho introdotto (scusate se non lo ho fatto su Spice, ma ho poco tempo a mia disposizione)
Come vedete nella parte superiore destra ce il convertitore DC/DC che ha lo scopo di isolare galvanicamente le due masse GND1, cioè quella usata dal processore Mega, e quella GND2 usata invece da ogni uno di questi moduli. In questa prima versione del progetto avevo usato i transistor per azionare il relè, ma come è noto, facendo così riducevo di ben 1.3V la tensione che effettivamente arrivava alla bobina del relè. Ed è per questo che nella nuova versione ho utilizzato per le commutazioni dei Mosfet del tipo IRF. Ad ogni modo il suo funzionamento rimane pressoché identico (al fine didattico dello schema)
Come già anticipato, ho chiamato questo circuito “sistema a doppia sicurezza” per il semplice fatto che l’attivazione del relè avviene solo se si verifica queste due condizioni:
1- Per prima cosa attivo per un attimo il pin di uscita D4 di Arduino, al fine di effettuare il reset del contatore (si veda lo schema allegato)
2- Poi sul pin uscita D2 di Arduino devo inviare 3 impulsi in sequenza Clock), mediante opportuno codice. In questo modo il contatore ad esso collegato incomincia a contare, attivando al terzo impulso quella uscita che vedete, che a sua volta mi attiva il TR1 che a sua volta attiva TR2 fornendo così la tensione di quasi 12v al relè. Si noti però che ancora il relè non è scattato.
3- Infine, (doppia sicurezza) devo mandare a +Vcc il pin di uscita D3 di Arduino. Facendo così mando in saturazione TR3 che mi eccita finalmente il relè TR3. Quindi come si vede, il relè si attiva solo se il processore funziona e non in altre condizioni.
Per spegnere il relè devo invece fare questo:
1 Per prima cosa attivo per un attimo il pin di uscita D4 di Arduino, al fine di effettuare il reset del contatore (si veda lo schema allegato), e immediatamente TR1 e TR2 si disattivano, interrompendo la tensione al relè
2 Infine, (doppia sicurezza) devo portare a zero il pin di uscita D3 di Arduino per disattivare il relè, che risulta già diseccitato dal punto 1
Questo artificio, per quanto può sembrare macchinoso da farsi, se ben fatto, nel senso che se si inviano al contatore i tre impulsi nella giusta sequenza, e se si è progettato bene il circuito con le dovute sicurezze antidisturbo, il progetto funziona.
Io poi per garantirmi il suo funzionamento, e cioè per essere sicuro che il relè ogni volta mi commuta, mediante l’uso di un altro accoppiatore 4N35 messo in parallelo alla bobina del relè (si veda schema sulla destra in alto accanto al relè), la sua uscita mi va a finire su una porta di ingresso del processore, in modo da fargli capire se il relè è scattato oppure no (se non lo è rimanda di nuovo tutta la sequenza dopo aver prima azzerato il contatore). Questo stratagemma lo ho usato solo per la commutazione di carichi importanti (altrimenti se no mi occorrerebbero tantissime porte del processore oppure tanti moltiplicatori di In/Out per Arduino, con conseguente aumento della complessità del sistema)
Vi chiedereste ora perché ho complicato in questo modo una semplice accensione di un relè, quando di fatto mi bastava una sola porta di uscita del processore collegato ad un buon mosfet.
Be il motivo è presto detto. A tal scopo occorre fare un’analisi tra i vantaggi e gli svantaggi di questa tecnica, sempre alla luce dell’affidabilità che io voglio per questo sistema, che, come vi ricordo, non voglio assolutamente che i relè si azionino senza che io gli autorizzi (diciamo così), in qualsiasi circostanza, cioè di caso guasto Hardware o in caso di disturbi EMC provenienti dalle più svariate sorgenti a RF.

Iniziamo dai vantaggi

Supponiamo che il processore Mega2560 si danneggi per un qualsiasi motivo, che cosa succede?
Be se tutti i pin del processore vanno a +Vcc, TR3 sicuramente si attiva (ma non ancora il Relè) mentre invece TR1+TR2 rimangono ancora disattivati, perché grazie al contatore al massimo avanzerà di una posizione, ma non oltre dato che non ha più il clock necessario per avanzare, per cui certamente OK
Se tutti i pin vanno a zero, meglio ancora cioè OK
Se i pin rimangono in uno stato indefinito, ci ritroviamo nel primo caso quindi ancora Ok
Supponiamo ora invece che il processore riceva un disturbo di tipo EMC, che cosa succede al relè?
Un disturbo di tipo EMC al massimo mi attiverà un pin a caso tipo D2 oppure D3, oppure entrambi D2+D3, ma come già detto il relè rimarrà sempre spento.
Se mi attiva invece D4+D3+D2 a maggior ragione il relè mi rimarrà diseccitato, e così via per tutte le permutazioni possibili di questi 3 pin
Supponiamo ora che si bruci li contatore. Capite che ancora non capita assolutamente niente perché, il relè per accendersi deve ricevere anche la conferma del pin D3 di Arduino
L’unico caso ad alto rischio, ma che è un evento statisticamente bassissimo, in quanto non esiste nessun collegamento tra i due circuiti (cioè tra la mega e questo circuito), è che si bruci contemporaneamente sia il processore che il contatore.
Capite che questo evento si può verificare solo se arriva una fortissima scarica elettrica capace di perforare isolamento di tutti gli opto (che come è noto resistono fino ai 5 KV).
Ma se ciò accadesse salterebbero sicuramente i fusibili dei micro-alimentatori, garantendo ancora la altissima sicurezza del sistema
Quindi capite che qualsiasi cosa succede, questo relè non si attiverà mai se il processore non funziona, oppure, come spesso accade in seguito ad un disturbo di tipo EMC in cui la cpu si resetta, ma comunque senza produrre danni.

Vediamo ora quali sono invece gli svantaggi di questa tecnica

1 Maggior complessità del sistema. Infatti, per attivare un solo relè ho bisogno di un circuito più complesso, con conseguente aumento dei costi, ma questo a me non interessa
2 Per attivare un solo relè devo utilizzare ben 3 porte del processore, con conseguente, utilizzo di più processori Mega2560, ma anche questo a me non interessa.
Chiaramente io ho scelto questa strada al fine dello scopo che avevo.
Sicuramente esistono altri metodi per raggiungere lo stesso scopo, con un minor spreco di porte del processore, ma a me andava bene questo, anche perché ho raggiunto il mio obbiettivo.

Parliamo un attimo di disturbi EMC

Chiaramente io non voglio che la CPU si resetti continuamente ad ogni disturbo, oppure che mi attivi dei pin a casaccio.
Ed è per questo che anche la cpu presenta una ottima schermatura ai disturbi, essendo anche essa alimentata da un convertitore Dc/Dc a 5V, isolato galvanicamente, che fa sì che anche la massa della cpu sia diversa da quella dei relè. Oltre a questo, tutti i pin del processore sono disaccoppiati dal resto dei circuiti, grazie all’uso di tanti opto TLP281 e anche di altro tipo, messi su tutti i pin I/O, e anche per le seriali (per i pin analogici in molti casi sono stati settati anche loro come I/O).
Per finire la Cpu è stata inglobata dentro ad una specie di gabbia di Faraday messa a terra.

Conclusione finale

I più inesperti si chiederanno a che cosa serve fare tutte queste sicurezze (per molti esagerate) sull’attivazione dei relè.
A tal scopo facciamo un semplice esempio
Be, che cosa succederebbe se mentre dormite, scattasse ad esempio senza motivo la sirena di allarme da 120Db, in caso di guasto o di un disturbo EMC ? (sai che salto :grinning: )
Questo è solo un esempio dell'importanza di questi discorsi in ambienti domotici (ad esempio)
Volevo aggiungere, per finire questa discussione, che per pura curiosità, e solo per fini didattici, ho portato un modulo (KIT Sensori) in un laboratorio dove si fanno le certificazioni, grazie ad un amico che me lo ha portato, conosciuto quando lavoravo nel settore degli apparecchi elettromedicali che dovevano essere continuamente certificati.
Ebbene il risultato è stato positivo, nel senso che i relè non si sono mai eccitati senza motivo in seguito alle classiche prove EMC, ed è quello che volevo. L’unica nota che mi ha riferito è che non ha superato una prova delle vibrazioni e urti (si è sfilata purtroppo una schedina dal connettore pin strip abbinato ad un relè), ma quello è stata per colpa mia in quanto non gli avevo bloccati con la colla a caldo.
E anche vero che il processore mega si è resettato più volte, ma ha comunque resistito alle forti scariche elettriche

Spero che questa discussione abbia raggiunto gli scopi didattici a cui volevo mirare, e che vi sia piaciuta l'idea dell'uso che ho fatto con le schede Mega 2560, e vi ringrazio per la vostra attenzione. Chi fosse interessato a piu dettagli, sempre nel rispetto delle regole del Forum, ecc, sono disponibile per ulteriori chiarimenti. Grazie ancora per avermi seguito in questa lunga discussione.

Hoops scusate. Nello schema elettronico ho fatto un errore. Il terzo opto funziona ovviamente a 12V, dato che in questi moduli non esiste il 5V
Grazie ancora e scusate per l'errore

Un sistema è ben progettato quando risponde in modo efficace ed efficiente alle specifiche tecnice e funzionali e assolve il compito per il quale è stato ideato.

Le contromisure per mitigare il danno che può essere causato da un guasto o da un evento impevisto devono essere proporzionali alla probabilità di guasto e all'entità del danno stesso (approccio "risk based").

Ora tu parli di un sistema di domotica se non ho capito male, capisco che lo hai fatto principalmente per "sfizio" e passione personale, ma francamente a me sembra tutto un po' esagerato, senza contare il costo abnorme di tutta la baracca.
Tutte queste ridondanze possono avere senso su un sistema di controllo di volo di un aereo o di una centrale nucleare in cui il rischio residuo deve essere zero, ma per gestire una casa proprio no a mio avviso...

Nello schema elettronico ho fatto un errore

Anche il reset del contatore non quaglia nello schema.

Un gran lavoro per preservare i contatti... ma non hai implementato la fast demagnetization :wink: (ancora più importante se i carichi sono in continua). Sempre per la continua, c'è lo snubber RCD.

Per quanto riguarda la doppia sicurezza, ho usato anch'io un sistema simile (contatore) per abilitare un chip RAM-disk alla scrittura. Ma non è infallibile. Ho visto più volte delle CPU crashare per disturbi condotti, generare su alcune uscite delle onde quadre (ma ammetto non, per ora, su Arduino) .

Nel tuo caso i disturbi condotti li hai bloccati sul nascere con la separazione delle masse, e ritengo che in ambiente "casa" non ci saranno mai problemi, anche se è sempre possibile che qualcosa passi per via capacitiva attraverso i convertitori (e, volendo anche per i pochi picofarad degli optoisolatori o di piste troppo vicine).

A tal riguardo può essere interessante questa discussione: https://forum.arduino.cc/t/connessione-usb-che-si-interrompe/469388

Ciao, e grazie per la risposta. Be come detto, lo schema fornito è di proposito reso sempliciotto per fini didattici (come appunto piu volte detto), realizzato per dare una spiegazione semplice anche ai cosidetti non addetti ai lavori
Nella realtà ogni modulino ingloba tutti i componenti necessari al fine della sua stabilità elettromagnetica e maggior sicurezza quali ad esempio il circuito Crowbar, ma lo ho omesso per non rendere troppo pesante lo schema e la spiegazione. Il reset invece per fortuna, quaglia, anche se poi nella realta gli sono stati aggiunti altri componenti per evitare il fenomeno del doppio clock (cioe il contatore conta di piu di quello che deve) Per il filtraggio del modulino anche qua i condensatori sono stati decisamente aumentati nella realtà.

Mi dimenticavo che i carichi ovviamente non sono tutti in continua. Il buon 90% sono in alternata.

Ciao. E grazie per la risposta. Be come detto piu volte nella discussione non ho guardato a spese nella realizzazione, dato che mi interessava solo realizzare un sistema, diciamo domotico, molto sicuro, al fine di una elevatissima sicurezza per me e per i mie cari

Il mio giudizio personale e che la sicurezza delle persone, alla fine non ha prezzo, nel senso che sono soldi spesi bene. Se non siete d'accordo ditelo pure

Io sono dell'idea che se un sistema è più complesso del necessario, di fatto è meno sicuro e che non si può demandare tutto all'elettronica.

Il rischio incendio ad esempio, sarebbe più opportuno presidiarlo usando materiali autoestinguenti, quindi va benissimo il contenitore in metallo, ma tutto quello che è in più ha poco o nessun valore aggiunto.

Il rischio esplosione potevi presidiarlo prevedendo un'adeguata ventilazione dei vani dove hai riposto le batterie piombo-gel e cosi via.

Ciao. Hai perfettamente ragione sul reset dello schema, in quanto non mi sono accorto che ho fatto un errore nel disegno, in quanto l'opto va messo a +12 e non ha massa. Scusa ancora per la svista (sono stato troppo frettoloso nel pubblicarlo)

Ciao, e grazie per la risposta. Be anche tu hai perfettamente ragione e concordo con te sul fatto che un sistema deve essere il piu semplice possibile. Non per nulla nella prima parte ne ho parlato a questo riguardo. Per quanto riguarda la ventilazione dei mobili il rischio esplosione per eventuale surriscaldamento delle batterie (specialmente nel periodo estivo) e praticamente nullo in quanto ogni mobile presenta al suo interno un sistema di ventilazione forzata che interviene se necessario, mantenendo l'interno di ogni mobile sempre alla temperatura non superiore a 40 gradi (max temperatura per le batterie al gel)

Secondo voi, il sistema che ho progettato è sufficientemente sicuro ed affidabile (con riguardo solo dell hardware, perché sul Sw ci sono tanti altri problemi), oppure no, tralasciando ovviamente i discorsi sui costi la complessità, sviluppo Sw ecc. Cioè, detto in soldoni, pur essendo un sistema che non è di fatto certificato, ci si può dormire sogni tranquilli oppure no?

Nel formularvi questa domanda a secco, mi sono dimenticato di sottolineare che stiamo trattando un discorso puramente didattico, quindi stiamo trattando di un ipotetico sistema che ha quelle caratteristiche piu volte descritte, che va al di là se questo prototipo sia stato, o no adibito realmente ad applicazioni domotiche (ogni uno e libero di fare le proprie scelte). Grazie.

Secondo me, la risposta alla domanda di questa discussione è SI

io sono per questa definizione...

1 Like

Be. Io concordo con te per un uso prettamente commerciale e di risparmio di risorse, come viene insegnato ad ingegneria. Ma tu, sinceramente parlando (scusa se ti do del tu) per la sicurezza dei tui cari, non avresti fatto , piu o meno come me.

Sinceramente faccio fatica a comprendere questo tuo presupposto.

Se parliamo di un sistema automatico, la sicurezza è un requisito di legge prima ancora di tutte le varie certificazione che puoi (oppure no) ottenere, a prescindere dal fatto che il sistema sarà usato da un tuo parente o da un perfetto sconosciuto.

Per quella che è la mia personale esperienza, è dal 2000 che mi occupo di sistemi di automazione industriale destinati ad essere usati da operatori (non sono parenti, ma il discorso non cambia :wink:), ed io non ho mai e dico mai incontrato un sistema che per quanto complesso facesse uso di 150 (centocinquanta!) fusibili :dizzy_face:

Tanto per chiacchierare... ho lavorato in una famosa azienda farmaceutica dove i tubetti di crema vengono prodotti con una macchina degli anni '60 controllata in logica booleana realizzata con dei relè 24Vac. Di sicuro non c'erano tutte queste accortezze per preservare il contatto di scambio (che in AC è meno sollecitato), eppure ha sfornato e continua a sfornare milioni e milioni di tubetti di crema.
L'unico guasto che ogni tanto la fermava era l'allentamento dalla sede di alcuni microswitch montati "a molla" su una camma meccanica: bastava usare le viti e non c'era nemmeno 'sto problema.
La macchina è ben progettata: si perché assolveva in modo egregio il compito.
La macchina è sicura: si perché gli organi in movimento sono segregati da coperture adeguate che se aperte interrompo il circuito di sicurezza.
La macchina si può riparare facilmente: si perchè un relé lo trovi ovunque.

Ora il mio punto di vista è sicuramente influenzato dall'esperienza personale, ma se devo minimizzare il rischio operativo piuttosto aggiungo un sistema di controllo ridondante invece che cercare di prevedere tutte le casistiche con un unico sistema.
Se l'obiettivo primario invece è la massima sicurezza uomo e macchina, aggiungo un sistema di controllo dei dispositivi di sicurezza che lavora in parallelo al sistema di gestione (in ambito commerciale/professionale usando dispositivi certificati per lo scopo, ma anche in ambito casalingo il principio rimane lo stesso).

Qualsiasi sistema automatico può fallire, ma il rischio si riduce in modo più efficace con la ridondanza piuttosto che rendendo il sistema più complesso.

Ora ci aggiungo anche il tocco "campanilistico"!
I sistemi con più "seghe mentali" sono tipicamente quelli di progettazione tedesca e guarda caso, a dispetto della ingiustificata fama di cui godono, sono quelli che si guastano più spesso e che sono più complessi da rispristinare.