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 
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
)
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.