Power Meter
Dopo un tempo relativamente lungo mi sono deciso a mettere online un po' di
materiale su PowerMeter, il sistema di misura della potenza (ma non solo) che
utilizza la scheda sonora. Devo ringraziare caldamente tutti i partecipanti del
newsgroup it.hobby.elettronica che mi
hanno chiarito parecchi dettagli teorici, in particolar modo Franco (inewd@hotmail.com). Potete leggere l'intero
thread (o quasi) della discussione su PowerMeter tramite questi due link a Google
Groups: link
1 e link
2.
Qualche premessa e un po' di teoria
Come si vede da questo
schema, il principio di funzionamento di PowerMeter è molto semplice:
Il trasformatore in alto fa da trasformatore voltmetrico. La tensione di
linea è prelevata, attenuata e poi inviata al canale sinistro della scheda
sonora. Il trimmer serve per regolare l'ampiezza del segnale, gli zener in
antiserie hanno lo scopo di proteggere la scheda sonora da eventuali
sovratensioni.
Il trasformatore in
basso fa da trasformatore amperometrico. La corrente che scorre sulla
resistenza di shunt da 0.1 ohm crea una caduta di tensione ai suoi capi, che
viene amplificata dal trasformatore (usato "al contrario" rispetto al
solito, col rapporto spire più grande al secondario). Questo segnale in
tensione, proporzionale alla corrente assorbita dal carico, viene poi spedito
al canale destro della scheda sonora.
Per maggior comodità ed economia ho utilizzato due comuni trasformatori 220:12
da qualche VA, di quelli che si trovano in qualsiasi negozio di elettronica. È
chiaro che per ottenere dei risultati migliori occorrerebbe utilizzare degli appositi
trasformatori di misura, più costosi ma con una risposta decisamente più
lineare. Come si vedrà, specialmente per il segnale della corrente (che è più
sporco e caratterizzato da più armoniche a frequenze superiori) le distorsioni
introdotte dai trasformatori che ho usato non saranno trascurabili.
Una volta che i due segnali (uno proporzionale alla tensione, uno alla
corrente) sono stati inviati alla scheda sonora, non resta che campionarli a
una frequenza adeguata e poi effettuare via software tutti i calcoli per
ricavare le grandezze desiderate. Per alcune grandezze (ad esempio la potenza
istantanea e i valori efficaci di tensione e corrente) è sufficiente utilizzare
direttamente i campioni letti, mentre per altre (ad esempio la potenza reattiva
o il cosfi) sarà necessario spostarsi nel dominio delle frequenze e fare
l'analisi spettrale del segnale.
PowerMeter esegue i calcoli su una lettura di 8192 campioni a 25600 Hz (durata
complessiva di 320 ms, che corrispondono a sedici periodi completi del segnale
di rete a 50 Hz). L'analisi spettrale è fatta sull’intero campione, quindi disponiamo
di 4096 bande distribuite sulla frequenza di Shannon di 12800 Hz; ogni banda è
perciò larga 3,125 Hz. Per ogni lettura avremo i campioni nel dominio del tempo
discreto v[j] e i[j] (con j che va da 0 a 8191) e i campioni nel dominio
della frequenza discreto va[k], vp[k], ia[k] e ip[k] (con k che va da 0 a 4095). Il pedice “a” significa che
si tratta dell’ampiezza dell’armonica, mentre “p” è la fase.
Di seguito definisco analiticamente le grandezze calcolate da PowerMeter. Le
definizioni sono state prese da alcuni testi, fra i quali riporto i seguenti:
Ch15slide.pdf (91 kB)
Interfacing_Optical_Current.pdf (307
kB)
PFCHarmonics.pdf (580 kB)
Valore efficace o RMS
(root-mean-square) di tensione e corrente (VRMS e IRMS): è la radice della media dei quadrati dei
campioni v[j] o i[j].
Dove N è il numero dei
campioni nel dominio del tempo (nel nostro caso N=8192).
Valore picco picco (VPP
e IPP): è la
differenza fra il campione più grande di v (o i) e il campione più piccolo di v
(o i).
Potenza attiva (P): è la media delle potenze istantanee.
Dove N è il numero dei
campioni nel dominio del tempo (nel nostro caso N=8192).
Potenza apparente (S): è il prodotto fra tensione e corrente efficaci.
Potenza reattiva (Q): va calcolata solo con le componenti a frequenza
fondamentale.
Dove k è l’indice
della fondamentale nei campioni nel dominio delle frequenze (nel nostro caso
k=16).
Cosfi: è il coseno dello sfasamento fra le armoniche
fondamentali di tensione e corrente.
Dove k è l’indice
della fondamentale nei campioni nel dominio delle frequenze (nel nostro caso
k=16).
Distorsione
percentuale (DV%, DI%): sono
definite come il rapporto fra il valore efficace dell’armonica fondamentale di
V (o I) e il valore efficace di V (o I), convertito in percentuale.
Dove k è l’indice
della fondamentale nei campioni nel dominio delle frequenze (nel nostro caso
k=16).
Fattore di potenza
(FP): è definito come il
rapporto fra potenza attiva e potenza apparente.
Fattore di
distorsione (FD): è definito
come il rapporto fra il valore efficace dell’armonica fondamentale di I e il
valore efficace di I.
Dove k è l’indice
della fondamentale nei campioni nel dominio delle frequenze (nel nostro caso
k=16).
Fattore di
spostamento o “displacement factor” (FS): è definito come il rapporto fra il fattore di potenza e il fattore
di distorsione.
Qualche parola sul software
Potete scaricare il
programma PowerMeter 0.3 da qui:
PowerMeter 0.3 (18 kB)
Il programma è per ora
molto semplice, quasi spartano. Nella parte superiore della finestra sono
mostrate le grandezze descritte in precedenza, mentre nella parte inferiore
sono mostrati dei grafici significativi dei segnali letti in tempo reale. Si
può scegliere fra la visualizzazione nel dominio del tempo (tensione sopra,
corrente sotto), nel dominio delle frequenze (idem) oppure una visualizzazione
X-Y (tensione in ascissa, corrente in ordinata). Si possono anche regolare le
scale mediante degli appositi slider, anche se per ora le scale numeriche non
sono mostrate e quindi la visualizzazione è solo di tipo “qualitativo”.
La prima cosa che si
deve fare è la taratura dello strumento; è necessario che l’ampiezza dei
segnali in ingresso non sia eccessiva (altrimenti verranno “tagliati” dalla
scheda sonora) né troppo piccola (pena la perdita di sensibilità). Per tarare
lo strumento è sufficiente premere il pulsante “taratura” e seguire le
istruzioni.
Il software è anche in
grado di salvare su un file di testo i valori calcolati, per la successiva
importazione col programma di calcolo preferito. Ogni lettura (che, ricordo,
dura 320 millisecondi) occupa una singola riga del file di testo; le grandezze
sono separate da una virgola e sono riportate in questo ordine:
VRMS, IRMS,
VPP, IPP, P, Q, S, DV%, DI%, fi, FP, FD, FS
Per concludere, una nota
che mi sembra doveroso fare è che la libreria per la FFT (Fast Fourier Transform)
non l’ho scritta io, l’ho presa da qui:
http://www.fullspectrum.com/deeth/programming/fft.html#FFTDLL
Cose da sistemare
Le cose da mettere a
posto sono ancora tante; in base al vostro interesse per questo progetto
potremo apportare assieme tutte le modifiche e migliorie necessarie. In futuro
probabilmente pubblicherò anche i sorgenti del software.
- La frequenza di rete
non è sempre esattamente di 50 Hz. Nel corso di brevi esperimenti ho
registrato delle fluttuazioni anche di 50 mHz (uno per mille) in pochi
minuti, e niente mi porta a dubitare che le derive possano essere ancora maggiori.
Questo problema si manifesta in modo abbastanza evidente osservando il
grafico in realtime dell’analisi spettrale: attorno alla riga
dell’armonica fondamentale si formano delle piccole righe dovute alla
deriva in frequenza. Non credo che questo fenomeno incida in maniera
apprezzabile sulle misure, ma è sicuramente fastidioso da vedere. Ci sono
varie strade per risolvere il problema: o si effettua un windowing
dei dati da sottoporre alla FFT oppure – ancora meglio, secondo me – si
adatta direttamente la frequenza di campionamento in base alla frequenza
di rete. Qualsiasi scheda sonora permette di regolare la frequenza di
campionamento in passi da un hertz, quindi in linea di principio noi potremmo
misurare la frequenza del segnale in ingresso (ad esempio contando i
passaggi per lo zero su un periodo sufficientemente lungo) e in base a
questo adattare in maniera opportuna la frequenza di campionamento. Come
mi ha fatto notare Franco, questa tecnica assomiglia molto al principio di
funzionamento di un PLL!
- Occorre migliorare la
visualizzazione in realtime, in particolare si dovrebbero aggiungere le
scale di visualizzazione e studiare un metodo un po’ più ortodosso per
regolarle.
- La scheda (perlomeno
quella che ho costruito io) manifesta un offset sul segnale della
corrente. In pratica leggo una corrente anche quando non c’è nessun carico
collegato. Abbiamo un po’ provato a pensare a cosa potesse essere dovuto
questo offset, ma per ora non siamo giunti a nessuna conclusione. Io
sospetto che si tratti di un fenomeno di crosstalk fra i due canali della
scheda sonora, ma per avere qualsiasi conferma o smentita preferisco
aspettare che anche voi costruiate il circuito e facciate qualche prova!