Circuito per ACS712

Elettronica lineare e digitale: didattica ed applicazioni

Moderatori: Foto Utentecarloc, Foto Utenteg.schgor, Foto UtenteBrunoValente, Foto UtenteIsidoroKZ

Avatar utente
Foto Utenteandrea1984
0 2
Messaggi: 6
Iscritto il: 2 lug 2011, 1:01
0
voti

[1] Circuito per ACS712

Messaggioda Foto Utenteandrea1984 » 2 lug 2011, 1:10

Salve a tutti,
ho acquistato il sensore di corrente Allegro ACS712, ma ho delle difficoltà ad interfacciarlo ad un PIC per poter calcolare il valore RMS della corrente (a 50Hz).

Il datasheet comprende anche una serie di applicazioni, ma non le ho trovate molto utili.
Il problema principale è che il sensore dà in uscita una tensione AC proporzionale alla corrente, nel mio caso 100mV/A (è la versione 20A).
Usare un diodo (applicazione 4 del datasheet) a mio avviso elimina la maggior parte della dinamica del segnale, che va da 0 a 2 volt.
Il mio intento è quindi di amplificare e traslare il segnale in modo che sia tutto tra 0 e 5V (tensione massima per l'ADC del PIC16f87), oppure raddrizzarlo sempre nella stessa gamma di tensioni (che è anche meglio perché mi aumenta la sensibilità).
Vi ringrazio per l'aiuto.

Avatar utente
Foto Utenteg.schgor
57,8k 9 12 13
G.Master EY
G.Master EY
Messaggi: 16971
Iscritto il: 25 ott 2005, 9:58
Località: MILANO
Contatta:
0
voti

[2] Re: Circuito per ACS712

Messaggioda Foto Utenteg.schgor » 2 lug 2011, 7:12

Puoi rettificare il segnale con una configurazione
ad amplificatore operazionale come illustrato qui.
Attenzione però che facendone poi la media (con filtro)
abbassi la risposta dinamica, quindi bisogna fare
un compromesso fra precisione e velocità di risposta.

Avatar utente
Foto Utenteandrea1984
0 2
Messaggi: 6
Iscritto il: 2 lug 2011, 1:01
0
voti

[3] Re: Circuito per ACS712

Messaggioda Foto Utenteandrea1984 » 2 lug 2011, 8:42

Si ma bisogna usare un raddrizzatore a doppia semionda, altrimenti viene malissimo.
Mi sono dimenticato di dire che io ho solo una alimentazione, 5V, per cui non so se si riesce a fare un raddrizzatore a doppia semionda.


Attualmente avevo pensato ad un opamp a singola tensione, con amplificazione unitaria (tanto il segnale di ingresso oscilla tra -2 e 2, quindi 4 volt di dinamica), che trasla a 2 volt. In questo modo ho il segnale sempre positivo (0 - 4 volt) e posso fare acquisizione dal PIC per ricavare il valore RMS.

Avatar utente
Foto Utentecarloc
33,8k 6 11 13
G.Master EY
G.Master EY
Messaggi: 2153
Iscritto il: 7 set 2010, 19:23
1
voti

[4] Re: Circuito per ACS712

Messaggioda Foto Utentecarloc » 2 lug 2011, 9:18

Direi che non devi raddrizzare proprio niente.... prendi l'uscita e la porti all'ADC -il filtro LPF anti-alias è integrato-

Il datasheet dell'ACS712 riporta che "Zero Current Output Voltage = 0.5 x Vcc" :D ... in pratica a riposo hai metà dell'alimentazione... proprio quello che ti serve...

D'altra parte per la corrente efficace ancora ancora poteva andare di raddrizzare di precisione ad onda intera... ma se poi aggiungi una "presa voltmetrica" per avere anche tensione, potenza attiva (secondo me miravi qui :D ), reattiva, cosphi.... beh allora raddrizzando rischi ambiguità sui segni...
Se ti serve il valore di beta: hai sbagliato il progetto!

Avatar utente
Foto Utenteandrea1984
0 2
Messaggi: 6
Iscritto il: 2 lug 2011, 1:01
0
voti

[5] Re: Circuito per ACS712

Messaggioda Foto Utenteandrea1984 » 2 lug 2011, 9:44

Non ci avevo proprio fatto caso, il range di escursione del segnale se alimento a 5V varia da 0.5 a 4.5, tutto entro i limiti! Io devo misurare la potenza attiva, quindi lo porto direttamente al pin del PIC, e poi campiono il segnale velocemente per stimare il valore RMS. Mi sapreste dare una frequenza di campionamento sufficiente per la stima, sapendo che il segnale è a 50Hz, che può essere anche un po' sporco essendo la rete di casa?

Avatar utente
Foto Utentecarloc
33,8k 6 11 13
G.Master EY
G.Master EY
Messaggi: 2153
Iscritto il: 7 set 2010, 19:23
1
voti

[6] Re: Circuito per ACS712

Messaggioda Foto Utentecarloc » 2 lug 2011, 10:23

Eh bella domanda.....

oltre che sporco c'è il fatto che tensioni e specialmente correnti saranno ben lontane dalla "sinusoide" -gli alimentatorei switching, praticamente tutti oggigiorno, sono spesso pessimi da questo punto di vista.
In breve armoniche a profusione....(BTW chissà che banda hanno i contatori dell'ENEL??)

Poi un discorso ben fatto non può prescindere dalla risoluzione dell'ADC, banda e tipo dei filtri anti-alias, accuratezza richiesta, derive varie...
Se ti serve il valore di beta: hai sbagliato il progetto!

Avatar utente
Foto Utenteandrea1984
0 2
Messaggi: 6
Iscritto il: 2 lug 2011, 1:01
0
voti

[7] Re: Circuito per ACS712

Messaggioda Foto Utenteandrea1984 » 2 lug 2011, 14:56

Ho anche un sensore di corrente non invasivo, SCT-013-030, 30A -> 1V, in questo caso ha senso fare lo shifting e l'amplificazione con l'operazinale in quanto il sensore è solo un trasformatore di corrente.

Secondo me un campionamento a 200Hz con 400 campioni da una buona stima dell'RMS.
Spero solo che le variabili dei PIC siano ababstanza capienti da potermi contenere la somma dei quadrati di 400 campioni...

Avatar utente
Foto Utentecarloc
33,8k 6 11 13
G.Master EY
G.Master EY
Messaggi: 2153
Iscritto il: 7 set 2010, 19:23
1
voti

[8] Re: Circuito per ACS712

Messaggioda Foto Utentecarloc » 2 lug 2011, 15:31

Ma con un TA a parte filtri, protezioni etc. etc., potresti fare semplicemente così


Per la frequenza di campionamento a 200Hz ti danno una banda di Nyquist di 100Hz, levato le non idealità del filtro anti-alias direi che non prendi neanche la seconda armonica :( :( con 4 punti per periodo... che forma d'onda vuoi ricostruire :(

non ho fatto conti ma così, ad occhio, direi almeno 10 volte tanto... 2kHz
Se ti serve il valore di beta: hai sbagliato il progetto!

Avatar utente
Foto Utenteandrea1984
0 2
Messaggi: 6
Iscritto il: 2 lug 2011, 1:01
0
voti

[9] Re: Circuito per ACS712

Messaggioda Foto Utenteandrea1984 » 2 lug 2011, 16:58

L'ideale sarebbe non prenderla la seconda armonica, visto che mi interessa calcolare l'RMS.
Sto provando a simulare il PIC per vedere quanto ci mette, ma a 2kHz ci vogliono un sacco di campioni, è una cosa fattibile con un PIC?

Avatar utente
Foto Utentecarloc
33,8k 6 11 13
G.Master EY
G.Master EY
Messaggi: 2153
Iscritto il: 7 set 2010, 19:23
1
voti

[10] Re: Circuito per ACS712

Messaggioda Foto Utentecarloc » 2 lug 2011, 17:13

andrea1984 ha scritto:L'ideale sarebbe non prenderla la seconda armonica [...]


beh qui non sono d'accordo... sei vuoi calcolare qualsiasi cosa su un segnale che non è sinosoudale dovresti cercare di prendere tutte le -quelle che si può- armoniche...

piuttosto mica è necessario fare un sistema real time... potresti catturare tensione e corrente di un periodo... 20ms a 2kS/s sono 40+40 valori (ma potresti anche aumentare dato che il uP non deve far altro nel frattempo), poi smetti di campionare e ti fai tutti i conti che vuoi su quei dati, una volta finito ricominci.

Così avrai una frequenza di conteggio più bassa e magari ti perdi dei transitori... ma tutto non si può avere.

Comunque, non conosco bene la famiglia, ma ci sono PIC per tutti i gusti, anche piuttosto veloci e potenti

OT: non c'entra niente ma è da quando ho visto il titolo del thread che ce l'ho in testa :D :D :D
AC127.jpg
AC127.jpg (31.51 KiB) Visto 5668 volte
Se ti serve il valore di beta: hai sbagliato il progetto!


Torna a “Elettronica generale”