Registratore consumi elettrici (prima puntata)

di Grazia Ancona
La forte attenzione al risparmio energetico è mossa principalmente da due componenti: il rispetto ambientale ed un’attenta gestione delle risorse economiche. In questo articolo vi mostriamo come interpretare e valutare i consumi domestici o aziendali rilevando il loro andamento nell’arco di 12 o 24 ore. La curva di consumo reale così ottenuta ci aiuterà a correggere eventuali sprechi d’energia cogliendo, in tal modo, i benefici a cui abbiamo accennato.

La potenza istantanea e la potenza utilizzata

Tutti noi conosciamo il concetto di potenza elettrica: essa è il prodotto della tensione ai capi di un utilizzatore moltiplicata per la corrente che l’attraversa. Questo concetto, valido per le correnti continue, è quasi (e sì, c’è sempre un “quasi” di mezzo…) perfettamente assimilabile anche per le correnti alternate periodiche sinusoidali fornite dai vari gestori. Naturalmente, in questa breve trattazione, ci occuperemo di queste ultime. La potenza elettrica è misurata in W (Watt) ma per scopi energetici domestici si preferisce utilizzare il KW, equivalente a 1000 W. Riassumendo, possiamo dire che ai capi di un carico puramente resistivo (ad esempio la resistenza di un boiler o una stufa elettrica) alimentato a 220 V alternati, la potenza elettrica che sarà convertita in calore (fatto salvo alcune perdite di cui per semplicità non ci occuperemo) è pari a:

W = 220 x I

In cui I è la corrente assorbita dal carico. Ad esempio se questa corrente è pari a 4 A alternati avremo una potenza pari a 220×4=880 W (0,88 KW). Diremo, a proposito dell’esempio, che il valore così calcolato è la potenza istantanea. Infatti nessuno può prevedere se, un attimo dopo, l’utente spegne il suo asciugacapelli per ricaricare il telefono cellulare. Inoltre, se il carico non è perfettamente resistivo ma presenta componenti induttive (ad esempio una lavatrice) o capacitive (ad esempio alcuni vecchi alimentatori per PC) il calcolo sopra visto si complica un pochino.
[iscritti]

Figura 1: Totalizzazione media dei consumi elettrici in un’ora.
Figura 1: Totalizzazione media dei consumi elettrici in un’ora.

Tuttavia, in ogni caso, utilizzeremo dell’energia che ci viene fornita da gestore esterno e che sarà fatturata proporzionalmente al suo consumo. La tensione alternata della rete elettrica è comunque affetta da una certa tolleranza, in particolare può variare del più o del meno fino ad un massimo del 10%. Ovvero, ai capi delle nostre prese, potremmo trovare 198 VCA in un momento di massimo “calo” così come, ad esempio durante la notte, possiamo misurare fino a 242 VCA. A fronte di ciò, il gestore preferisce calcolare la potenza da noi utilizzata direttamente in KW. Nel compiere questa operazione non farà una misura istantanea e non utilizzerà una media di più misure rilevate. Semplicemente calcolerà il consumo continuo in un’ora. Cosicché il nostro KW ora diventa KWh (Kilowattora) e rappresenta la totalizzazione (integrazione nel tempo) di tutti i consumi elettrici dell’utente nell’arco di un’ora (vedi figura 1). Tutto questo pur considerando la fluttuazione della tensione alternata dovuta alla sua tolleranza e l’inserimento, nella linea elettrica, di carichi non esattamente resistivi.

Il contatore fornito dal gestore energetico

La misura dell’energia utilizzata è fatta da un apposito strumento che, familiarmente, è chiamato “contatore”. In realtà il suo vero nome dovrebbe essere “wattometro orario” ma noi, per semplicità, continueremo a chiamarlo con il suo nome al secolo.

Figura 2: Impulso proveniente dal LED I.R.
Figura 2: Impulso proveniente dal LED I.R.

Tutti noi abbiamo ben presente il vecchio contatore a disco mobile, ormai non più in uso, sostituito da nuovi contatori elettronici gestibili direttamente dalla centrale di distribuzione. L’utilizzo di questi moderni strumenti di lettura ha colto i seguenti vantaggi:

  • Assoluta impossibilità di contraffazione da parte dell’utente circa i reali consumi.
  • Gestibilità completa dalla centrale dell’ente erogante con conseguente riduzione dei costi d’intervento del personale (telegestione).
  • Maggiore precisione nella rilevazione dei consumi di potenza attiva.
  • Indicazione quantitativa della potenza utilizzata da carichi a forte componente induttiva o capacitiva (potenza reattiva, misurata in KWARh). Questo tipo di carico non è permesso dal contratto se supera una certa soglia.
  • Disponibilità, anche da parte dell’utente, di informazioni di carattere tecnico e fiscale (alcune sono presentate su un display LCD).

Il moderno contatore ha anche un’altra importante funzione che, in precedenza, era svolta da dispositivi ausiliari, sempre forniti dal gestore. Stiamo accennando all’ interruzione della linea interna dell’utente in caso di sovraccarico. A questo proposito c’è da dire che il gestore, su un impianto standard per casa privata da 3 KW massimi, accetta un sovraccarico del 10% in più. Ovvero potremmo consumare fino a 3,3 KW senza che vi sia interruzione di corrente dovuta agli organi disgiuntori, quest’ultimi integrati nel contatore stesso. L’interruzione è ovviamente garantita anche in caso di corto-circuito. Tuttavia, in questa eventualità, dovrebbe aprirsi anche l’interruttore differenziale magneto-termico che il gestore ci impone di installare, a nostre spese e responsabilità, subito a valle del contatore.

Figura 3 A-B: Impulsi contati in un minuto, in un secondo e potenza erogata corrispondente.
Figura 3 A-B: Impulsi contati in un minuto, in un secondo e potenza erogata corrispondente.

Quello che il contatore per adesso non è in grado di fare è mostrarci una relazione precisa e leggibile di quelli che sono i nostri consumi nell’arco di 24 ore. Ed è proprio questo, invece, il compito della nostra applicazione: informarci, con un grafico accurato, dei consumi elettrici per ogni momento della giornata. I dati acquisiti ci aiuteranno a razionalizzare i consumi, magari rivedendo la fascia d’utilizzo di elettrodomestici particolarmente “energivori”, C’è da dire, inoltre, che alcuni gestori applicano sconti a consumi prodotti in fasce orarie di riposo energetico (la notte o il primo mattino). Anche in questi casi, la nostra applicazione, potrà rivelarsi di notevole aiuto.

Il principio di misura della potenza erogata a mezzo LED infrarosso

Come accennato, i moderni contatori hanno la possibilità di visualizzare informazioni di vario tipo, a mezzo visualizzazione su display LCD, anche dati relativi al consumo totalizzato dall’utente. Ovviamente, prendendo nota dei dati del giorno prima e confrontandoli con l’esatta ora del giorno dopo, si avrà il consumo totale giornaliero. Tuttavia questo dato, pure importante, non ci dice nulla di come è distribuito il consumo nell’arco della giornata presa in considerazione. I progettisti del contatore hanno però considerato la possibilità di esaminare in tempo reale la potenza erogata, lo hanno fatto in due diversi modi:

  1. Utilizzando un apposito simbolo (un puntino di medie dimensioni) sul display LCD.
  2. Utilizzando un diodo LED ad emissione infrarossa posto sul pannello frontale del contatore.

La filosofia di funzionamento, quasi identica in entrambi i casi, è molto semplice: il consumo è proporzionale al numero di lampeggi nell’unità di tempo. Il simbolo grafico su LCD (tra l’altro non presente in tutte le versioni di contatore) ha una mera funzione indicatrice. Ovvero, a meno di non avere molto tempo a disposizione ed un buon cronometro, non può esserci d’aiuto nella nostra applicazione. Utilizzeremo invece il LED I.R. che, nei manuali forniti a corredo del contatore, è indicato con la dicitura “SEGNALE OTTICO KWh AD USO TECNICO”. Naturalmente il segnale emesso. essendo nello spettro infrarosso, non è visibile da occhio umano. La modalità con cui questo LED ci informa del consumo sono semplici: un fascio I.R. continuo è interrotto da impulsi aventi fronte iniziale negativo e forma rettangolare (vedi figura 2). La scelta di utilizzare impulsi a fronte negativo, apparentemente poco ovvia, è invece orientata a garantire la rivelazione continua del fascio I:R. Infatti, qualsivoglia mancanza della portante infrarossa, magari dovuta ad un mancato allineamento della sonda ottica, può essere avvertita dal dispositivo di lettura in modo semplice e diretto. Viceversa, disponendo di impulsi a fronte iniziale positivo, la mancanza del fascio I.R. poteva confondersi con il mancato prelievo di energia da parte dell’utente (zero consumi). Il protocollo di modulazione del fascio I.R., come accennavamo, è semplice: il numero degli impulsi nell’arco di un’ora esprime la potenza utilizzata in KWh. In particolare viene osservata la relazione:

1 KWh = 1.000 impulsi x ora

Vedremo meglio, più avanti, eventuali varianti quantitative di questa formula, derivanti dal tipo di contatore fornito. Tuttavia il concetto è sempre lo stesso: contare il numero degli impulsi nell’unità di tempo per avere una misura della potenza erogata.

Figura 4: Taratura in impulsi per KWh sul contatore.
Figura 4: Taratura in impulsi per KWh sul contatore.

Ovviamente, nota la relazione, possiamo anche decidere di analizzare il numero degli impulsi in un arco di tempo più breve, ad esempio un minuto (vedi figura 3A). Infatti, sapendo che 1.000 impulsi in un’ora sono equivalenti ad 1 KWh, è facile dedurre quanti impulsi sono necessari, nell’arco di un solo minuto per una potenza equivalente. Sapendo che un’ora è composta da 60 minuti si otterrà:

1 KWh = (1.000 / 60) imp. x 1 minuto = 16,66 imp. ogni minuto

E’ anche possibile una misura per secondo, in questa guisa il dato è sicuramente più facilmente elaborabile per i nostri scopi. Tenendo conto che un’ora è formata da 3600 secondi si otterrà:

1 KWh = (1.000 / 3600) imp. x secondo = 0,27 imp./sec

Supponiamo adesso di utilizzare la massima energia disponibile per un impianto da 3 KW ovvero 3,3 KWh. In questo caso il calcolo deve tener presente anche del rapporto di potenza, ovvero:

3,3 KWh = ((3300/1000)x1000)/3600 ) imp. x sec. = 0,91 imp./sec

Quando la frequenza degli impulsi è inferiore all’unità è più conveniente pensare in termini di periodo (vedi figura 3B). In questo caso il periodo di ripetizione degli impulsi sarà pari al reciproco della loro frequenza al secondo:

Periodo di ripetizione impulsi a 3,3 KWh = 1 / 0,91 = 1,098 secondi

Una volta assimilato il concetto sarà molto facile progettare un’applicazione che, contando gli impulsi in una certa unità di tempo, ci fornirà dei dati di consumo ad intervalli regolari. Questi dati, raccolti in un grafico, ci daranno un’idea esatta del prelievo d’energia nell’arco di una giornata.

Figura 5: Schema a blocchi dell’applicazione.
Figura 5: Schema a blocchi dell’applicazione.

C’è da dire che nelle nostre formule abbiamo sempre considerato un conteggio per singolo KWh pari a 1000 impulsi/ora. Questo non è sempre vero poiché esistono contatori che, nell’ambito di un’ora, forniscono invece 10.000 impulsi per un KWh. Un maggior numero di impulsi orari consente una migliore precisione della lettura, tuttavia è stato necessario tenerne conto durante lo sviluppo dell’applicazione. Infatti, non possiamo sapere a priori che tipo di contatore ha l’utente che sta utilizzando il nostro registratore di consumi. Il problema è stato risolto nel firmware che, a sua volta, ne è informato per mezzo di un DIP-FIX che sarà predisposto dall’utente. Quest’ultimo, per un’esatta impostazione, dovrà leggere i dati presenti alla sinistra del LED I. R. del proprio contatore: Il tutto è riassunto graficamente in figura 4.

Le specifiche della nostra applicazione

In base a quanto esposto, sarà ora possibile progettare un hardware che ci permetta di soddisfare tutte le considerazioni fatte nella nostra breve analisi. Tuttavia occorre ancora qualche ulteriore considerazione. Intanto il nostro dispositivo deve essere semplice ed economico poiché, molto spesso, il contatore può trovarsi in locali comuni, facilmente accessibili, oppure all’aperto. In questi casi, essendo sottoposto alla “pubblica fiducia”, è bene valutarne la perdita per asportazione. Ne consegue che il valore materiale dell’applicazione deve essere, abbastanza modesto. Niente display o componenti costosi, l’interfaccia con l’utente deve essere più semplice possibile: un semplice pulsante. La visualizzazione dei stati del dispositivo è affidata a due semplici LED e la sonda I. R. è un comunissimo ed economicissimo fotodiodo che sarà, vedremo meglio in seguito come, opportunamente filtrato. L’alimentazione dovrà necessariamente essere costituita da batterie ricaricabili in quanto, sembra un controsenso, nei pressi del contatore potrebbero non esserci prese elettriche. Tale necessità implica un’attenzione particolare ai consumi ed una meticolosa scelta delle soluzioni progettuali. Abbiamo accennato al fatto che il prodotto di questo registratore di consumi è un grafico su foglio EXCEL.

Figura 6: Tutte le fasi richieste per ottenere il grafico dei consumi giornalieri.
Figura 6: Tutte le fasi richieste per ottenere il grafico dei consumi giornalieri.

Di conseguenza occorrerà un interfaccia in grado di inviare i dati direttamente sulla seriale del PC. Avendo nella nostra scheda pre-cablata (già interessata ad altre applicazioni) un’interfaccia di tipo RS232, abbiamo pensato di utilizzarla per diminuire i tempi di sviluppo. Il lettore, se lo desidera, potrà usare un altro tipo di protocollo (ad esempio usando la porta USB) modificando leggermente lo schema elettrico e una piccola parte del firmware. Purtroppo, il programma EXCEL non è in grado di accettare direttamente i dati in caratteri ASCII provenienti dalla porta seriale. Per ovviare a questa limitazione,, è stato implementato come macro EXCEL un piccolo programma in BASIC che permette ai dati l’accesso al livello di presentazione-visualizzazione. Per una maggiore comodità di utilizzo, la nostra scheda è dotata di una memoria EEPROM (opzionale) in grado di “ricordare” i dati raccolti. E questo anche se nel frattempo il dispositivo è stato spento o le batterie si sono scaricate del tutto. In figura 5 possiamo vedere la rappresentazione a blocchi di quanto esposto. Come potete notare, il tutto è improntato alla massima semplicità e minimo uso di componentistica. Quindi, riassumendo, la nostra applicazione dovrà essere in grado di raccogliere i dati di consumo energetico in 12 o 24 ore, mantenerli (nel caso sia installata la EEPROM) e poi riversarli su un PC in cui vi sia installato EXCEL.

Figura 7: Schema elettrico.
Figura 7: Schema elettrico.

Se l’utente non installa la EEPROM tutte queste operazioni dovranno essere fatte con la scheda che riamane alimentata altrimenti i dati raccolti andranno persi. La figura 6 illustra, a scanso di equivoci, tutti questi passaggi. Di seguito forniamo invece le caratteristiche principali:

  • Potenza massima registrabile: 3,5 KW/h.
  • Durata campionamento: 12 o 24 ore impostabili dall’utente.
  • Cadenza impulsi accettata: 1000 imp./KWh oppure 10000 imp./KWh selezionabili dall’utente in base al contatore presente nell’impianto.
  • Risoluzione grafico (su modello fornito): 100 W/h (sono possibili risoluzioni maggiori modificando il foglio EXCEL).
  • Errore medio sui dati campionati: inferiore a ± 2% (a 20 gradi centigradi).
  • Consumo in fase di campionamento: 8,5 mA.
  • Alimentazione: 4 batt. NiCd da 1,2 V con 0,8 A/h (minimo).
  • Interfaccia: tipo RS232C (nessun protocollo richiesto).
  • Test automatico all’accensione delle principali funzioni hardware.
  • Possibilità di attivare un test che monitorizza gli impulsi provenienti dal contatore.
  • Comandi a disposizione dell’utente: singolo pulsante.
  • Visualizzazione stati macchina: a mezzo due LED (rosso e verde).
  • Possibilità di mantenere i dati raccolti per un tempo lunghissimo anche con il dispositivo spento.
  • Temperatura d’utilizzo: da 0 a 50 gradi centigradi.

Analisi dello schema elettrico

Tutto questo bel dire si riassume nello schema elettrico di figura 7 e nella lista componenti di tabella 1. Come premesso, si conferma la grande semplicità ed economia dell’insieme. Le interfacce utente sono ridotte al minimo: due LED ed un solo pulsante, quest’ultimo avente tripla funzione. La scelta della CPU, un PIC 18F252 famiglia HIGH PERFORMANCE, potrebbe sembrare affetta da una certa ridondanza di caratteristiche. In effetti, molte possibilità offerte da questa versatile CPU non sono sfruttate.

Tabella 2: Funzione dei pin del PIC 18F252.
Tabella 2: Funzione dei pin del PIC 18F252.

Tuttavia, l’economia del componente, la buona dimensione della memoria programma, la presenza di un interfaccia I2C implementata nell’H.W. e la facile reperibilità (è anche in vendita su I.E: SHOP, come parte di un conveniente bundle, nella sua versione finestrata, comunque usabile in questa applicazione) ne “impongono” la scelta. In tabella 2 possiamo vedere il riassunto dei vari pin secondo la loro funzione nel nostro schema elettrico. Il lettore attento noterà la presenza di 2 quarzi. Dando per quasi scontata la presenza di uno, destinato al clock di sistema, l’altro quarzo rappresenta l’unica particolarità di questo circuito. In effetti il quarzo a 4,00 MHz è il clock generale mentre il quarzo a 32768 Hz è un clock ausiliario i cui impulsi sono posti all’ingresso del contatore TMR1, uno dei 3 contatori di cui dispone il PIC 18F252. In figura 8 possiamo vedere gli elementi interni di TMR1 usati nella nostra applicazione e la loro gestione nel firmware (per semplicità sono stati omessi alcuni blocchi funzionali). Il contatore TMR1 ha un compito importante: è l’orologio che decide i tempi d’intervallo dei campionamenti.

Figura 8: Sezione relativa a TMR1 su PIC 18F252 (semplificata).
Figura 8: Sezione relativa a TMR1 su PIC 18F252 (semplificata).

Essendo questi pari a 6 minuti, un tempo abbastanza lungo, si è dovuto ricorrere ad un clock di frequenza diversa dal clock di sistema, sensibilmente più bassa: 32,768 KHz. La scelta di questa frequenza, un valore apparentemente insolito, è imposta dalla sua divisibilità con potenze di 2 (16, 32, 64, ecc.) e quindi molto gestibile da parte di divisori binari. Quarzi di questo tipo, oltre ad essere molto economici, sono anche reperibilissimi sul mercato. Tuttavia, anche la scelta di un clock a periodo abbastanza alto non consentiva di raggiungere i fatidici 360 secondi che intercorrono fra un campione ed il successivo. E questo nonostante il prescaler di TMR1 fosse settato al massimo divisore possibile e l’impostazione iniziale dei registri TMR1H e TMR1L (vedi sempre figura 8) utilizzati entrambi per un totale di 16 bit, fosse bassissima. Infatti esiste una relazione per calcolare, dato un input a frequenza costante e nota, il tempo totale di conteggio. Quest’ultimo è inteso come il massimo numero raggiungibile prima che i registri di conteggio, arrivati al loro massimo (ovvero il numero binario 11111111 – 11111111), ricomincino da capo e venga settando il flag di overflow (chiamato TMR1F). La relazione è la seguente:

T = (65536 – impost.contat) x (1 / ( 32768 / presc)

In cui il valore 32768 è, per l’appunto, il clock del contatore. Dalla relazione risulta, impostando un periodo di 15 secondi e settando il prescaler alla sua massima divisione:

impost.contat = 65536 – (15 / (1 / ( 32768 / 8)))

Con un tempo massimo di conteggio pari a 15 secondi, l’impostazione iniziale dei contatori sarà il numero 4060. Tuttavia, come accennato, 15 secondi sono ancora troppo poco per i nostri scopi, di conseguenza occorrerà un piccolo aiuto, ovvero un divisore software. Questi non è altro che una variabile ad 8 bit che conta il numero di overflow di TMR1.

tabella 3 A - B: Modifiche e collegamenti sul modulo EEPROM CLICK.
tabella 3 A – B: Modifiche e collegamenti sul modulo EEPROM CLICK.

Essi sono comunicati al programma con un’interruzione che è del tutto “asincrona” dal flusso principale. Sapendo che abbiamo bisogno di 360 secondi, possiamo dedurre facilmente l’overflow di questo ulteriore prescaler software:

Overflow prescaler software = 360 / 15 = 24

Quindi, ogni volta che la variabile del prescaler software è giunta al numero 24, ci sarà un campionamento perché sono passati 360 secondi (ovvero 6 minuti). Questo meccanismo, per funzionare, ha poi bisogno di un’ulteriore variabile che conti il numero dei campioni rilevati. Ricordiamo che essi sono 240 con settaggio a 24 ore e 120 con settaggio a 12 ore. La memoria EEPROM, osservando lo schema elettrico, è posta in un riquadro tratteggiato. Questa particolarità grafica indica che il componente è opzionale. Nel caso l’utente decida di installarla può usare il modulo EEPROM CLICK, prodotto da MIKROELEKTRONIKA, in vendita da I. E. SHOP (sul sito è visibile anche lo schema elettrico). L’uso di questa piccola scheda, equipaggiata con una EEPROM tipo 28C08L e pochi atri componenti, consentirà una semplificazione del montaggio, tuttavia occorre fare attenzione alla piedinatura ed alle predisposizioni “a saldare”. La disposizione dei vari ponticelli e le piccolissime modifiche necessarie sono riassunte nella tabella 3A, nella tabella 3B è invece riportata la piedinatura dello zoccolo rispetto ai collegamenti sullo schema elettrico. Il valore delle resistenze di pool-up, necessarie al bus I2C, e del condensatore di shunt presenti sul modulo EEPROM CLICK sono invece simili a quelli presenti sullo schema di figura 7. E’ anche possibile l’acquisto del singolo componente, comunque rintracciabile sul sito di I. E. SHOP. Nel caso il lettore voglia provvedere con una EEPROM in suo possesso, ricordi che alcuni componenti non hanno l’alimentazione che può scendere sotto i 5 VDC. Essendo il nostro circuito alimentato con 4 batterie al NiCd da 1,2 V cadauna (totale 4,8 V), è necessaria una EEPROM avente tensione di alimentazione minima almeno pari a 4 V (le batterie purtroppo si scaricano…).

Figura 9: Modifica circuitale per sostituire il fotodiodo BPPW34.
Figura 9: Modifica circuitale per sostituire il fotodiodo BPPW34.

Consultare quindi il data-sheet del componente ricordando che, per molte case produttrici, la presenza della lettera “L” nella sigla garantisce un funzionamento con un range inferiore pari a 3,5 V. Per quanto riguarda il funzionamento del bus seriale I2C non vorrei soffermarmi troppo, rimando il lettore che ne vuol sapere di più all’ottimo articolo di M. Paolizzi e S. Silvestri, su F.E: un vero tutorial chiaro e completo (in alternativa consultare le citazioni nel paragrafo “Bibliografia”). Nel nostro progetto, per una maggiore integrità dei dati, è gestita anche la protezione della scrittura sul pin WP. Mentre il riconoscimento da parte del firmware della presenza della EEPROM, come accennato, avviene in maniera automatica: nessuna predisposizione è richiesta. Questa funzione è molto semplice: facendo riferimento allo schema elettrico di figura 7, si noterà la presenza di un resistore da 100 Kohm fra la linea SCL (clock seriale I2C) e la massa. Questo resistore garantisce un livello basso sul relativo pin della CPU se il modulo di memoria o le resistenze di pull-up non sono presenti. Ovviamente in questo caso non è installata alcuna memoria seriale. Se invece il modulo o la memoria sono presenti, e con quest’ultima anche i suoi resistori di pool-up, la linea SCL, per effetto della partizione resistiva (il resistore di pool-up ha un valore molto basso rispetto al resistore da 100 Kohm) sarà a livello alto. E’ quindi sufficiente interrogare la linea RC3, prima che essa sia dedicata al bus I2C, per sapere se la EEPROM è presente o meno. Per quanto riguarda il RESET nulla o poco da dire: un semplice circuito RC garantisce la massima affidabilità. Tutti i pool-up delle predisposizioni e dell’unico pulsante sono a livello alto in modo da garantire un assorbimento minimo. Il pulsante, in particolare, è dotato di un semplice circuito RC antirimbalzo (R9 e C14). Il convertitore TTL – RS232 è il “popolare” MAX 232 che, nell’applicazione, è sfruttato in una sola direzione e con una sola porta. Infatti, i dati possono fluire solo dal nostro circuito al PC e non viceversa. Un accenno al fotodiodo infra-rosso, si tratta di un comune ed economico BPW34. Per evitare incertezze sul livello d’ingresso alla CPU, esso è interfacciato da un comune BJT. Questi è stato scelto di tipo PNP in modo che almeno un pin del fotodiodo (l’anodo) possa essere in comune con la linea di massa. Tale accorgimento permette una certa riduzione del rumore che, inevitabilmente e per ragioni diverse (lampade a filamento, segnali R.F., ecc.) troviamo sovrapposto agli impulsi provenienti dal contatore. In ogni caso, il collegamento fra scheda e sonda ottica dovrà essere fatto con cavetto schermato (schermo posto a massa soltanto all’estremità di J2) e non dovrà essere più lungo di circa 30 cm. Non è questa però la sola accortezza. Purtroppo il fotodiodo è sensibile anche a parte dello spettro di luce visibile e la luce stessa, pure se proveniente da sorgenti artificiali, è composta anche da una forte componente di raggi infrarossi, Tutto questo impone la necessità di un piccolo filtro ottico, viceversa si corre il rischio di saturare, con luce ambiente accidentale, la nostra sonda I. R. impedendogli, di fatto, la corretta rilevazione degli impulsi I. R..

Figura 10: Particolari costruttivi della sonda ottica I. R.
Figura 10: Particolari costruttivi della sonda ottica I. R.

Nel caso il lettore avesse a disposizione altri fotodiodi e volesse sostituirli al BPW34 consiglio una piccola modifica al front-end ottico. Essa è visibile in figura 9. Si tratta in pratica di sostituire il resistore R8 (68 Kohm) con un gruppo resistore e trimmer di valore come in figura 9. La taratura andrà fatta schermando completamente dalla luce il fotodiodo e portando, inizialmente, il cursore del trimmer verso il positivo VBATT. Ponendo un comune tester fra il collettore di U4 e la massa dovremmo poter leggere, in queste condizioni, un livello pari a circa VBATT. In altri termini U4 sta conducendo anche con la debolissima corrente inversa prodotta dal fotodiodo al “buio”. Ora, si giri lentamente il cursore del trimmer fino a leggere 0 Volt sul tester. Una volta raggiunta questa condizione, si giri ancora il cursore del trimmer di pochissimi gradi nella stessa direzione. Ciò ci consentirà di stare tranquilli nei confronti di eventuali aumenti di temperatura che, com’è noto, provocano aumenti della corrente inversa. Colleghiamo il tutto al contatore, stabilendo una connessione ottica, e portiamo il nostro dispositivo in modalità TEST MONITOR,

Figura 11:Fissaggio della sonda ottica I. R. al contatore.
Figura 11:Fissaggio della sonda ottica I. R. al contatore.

Per farlo è sufficiente tenere premuto il pulsante P1 al momento dell’accensione. Se abbiamo un utilizzatore di energia attivo (meglio se di potenza) e tutto è andato bene, dovremmo poter vedere gli impulsi I. R. del contatore ripetuti sul LED rosso LD1. Se ciò non avvenisse possono essere due i casi:

  • La taratura va ritoccata spostando leggermente il cursore del trimmer verso la massa.
  • Il fotodiodo non è di tipo compatibile.

Accennavamo, poco sopra, alla necessità di un filtro ottico. Io l’ho ottenuto ritagliando la plastica di un vecchio display a LED a sette segmenti di luminescenza rossa. Il tutto è stato poi racchiuso in un contenitore plastico per jack audio miniatura. I piccoli filtri, meglio se 2 o 3 uniti fra loro, sono posti all’imboccatura del jack, Se sono ritagliati di dimensioni adeguate possono benissimo incastrarsi fra le righe della filettatura (vedi figura 10). Il fissaggio al contatore potrà avvenire con l’ausilio di una graffetta, opportunamente piegata, e qualche giro di scotch. La grafica di figura 11 illustra i vari passaggi.

Conclusione

Una volta terminata la costruzione della scheda e della sonda sarà possibile il test dell’insieme con le modalità viste al paragrafo precedente (TEST MONITOR). Ricordarsi comunque di impostare il DIP_FIX JP1 secondo quanto riassunto nella figura 4 (vedi) e di avviare qualche elettrodomestico per avere un certo consumo di energia. Nella prossima (ed ultima) puntata affronteremo le caratteristiche del firmware, l’interfaccia utente e la raccolta dei dati su foglio EXCEL.

Bibliografia

“I2C-bus specification and user manual” UM10204 Rev. 6 (NXP Semiconductors).

Tabella 1: Elenco componenti
B1        4 batterie ricar.
          1,2 V 1-1,2 Ah
C1,C12    100 nF 50 VL poliest
C2,C3     10 uF 16VL elettrol
C4,C7,C8,
C9,C10    2.2 uF 25 VL elettrol
C5,C6
C15,C16   22 pF ceramico disco
C14       1 nF 50 VL ceram disc
D1        1N4148 Diodo G. P.
FD1       BPW34 Fotodiodo IR
J1        Conn. DB9 maschio
J2        Morsett vite 5 cont
JP1,JP2   Dip fix a 2 cont
LD1       Led 3 mm rosso
LD2       Led 3 mm verde
P1        Pulsante NA
R1,R2     10 K Resist 1/4 W 2%
R11,R12   22 K Resist 1/4 W 2%
R6,R7     560 Resist 1/4 W 2%
R8        68 K Resist 1/4 W 2%
R3,R4,R5  4,7 K Resist 1/4 W 2%
R9,R10    100 K Resist 1/4 W 2%
U1        24C08L EEPROM 1Kbit
          I2C Bus (DIP 8)
U2        PIC18F252 Microcontr
          (DIP 28)
U3        MAX 232 Convertitore
          TTL RS232 (DIP 16)
U4        BC558 Transistor PNP
          (TO92)
X1        4,00 MHz Quarzo
          subminiatura
X2        33768 Hz Quarzo
          subminiatura
GIOVANNI DI MARIA