Problemi misurazione ACS714

Salve ragazzi, da giorno sto sbattendo la testa per realizzare il seguente circuito

http://img39.imageshack.us/img39/7071/acs714witharduinouno.png

con ACS714LLCTR-30A-T per misurare la corrente elettrica in DC e in AC

comprato da http://www.robot-italy.com/product_info.php?products_id=2403

Ho preso spunto da:

http://www.lucadentella.it/2011/11/29/sensore-di-corrente-con-arduino/

Il problema è che misuro valori negativi come il seguente screenshot dello sketch:

http://img812.imageshack.us/img812/2107/screenshootsketchacs714.png

Lo sketch utilizzato è il seguente:

void loop() {
  float average = 0;
  for(int i = 0; i < 1000; i++) {
    average = average + (.074 * analogRead(A0) -37.9) / 1000;
    delay(1);
  }
  Serial.println(average);
}

Cosa sto sbagliando ?

Probabilmente è la formula di conversione. Da dove l'hai presa?

La formula per convertire i valori (units) della funzione analogRead() in Ampere, nel caso di un ACS714

secondo la linearità che sussiste tra la "Vout" e la "Ip", data dal datasheet :

A=(0,0049*analogRead(A0)-2,5)/(0,066)=.074 * analogRead(A0) -37.9

Il ACS714 da 66mA per ogni ampere di corrente e la tensione di uscita é di Ucc/2 per zero Ampere (offset).
Cosí hai con -30A Vout 0,52V e con +30A 4,480V con 5A 5V di alimentazione.

IL calcolo di conversione é:
(adc é il valore letto e 511 é metá di 1023)
((5V/1023)ADC) per arrivare ai V misurati
((5V/1023)
(ADC-511)) per arrivare alla tensione assoluta
Vmisurati /0,066 per arrivare agli A
tutto questo in una formula:
I = ((5V/1023)*(ADC-511))/0,066
trasformado la formula:
I = ((5V/1023/0,066)*ADC) - (5V/1023)511/0,066
I = 0,074
ADC -37,9

L' unica causa che ricavi un valore negativo é che manca l' offset. Hai attaccato il ACS714 al pin A0?

Prova di stampare sul terminale i valori ADC letti.

Ciao Uwe

Scusami Uwe quando parli di 5A di alimentazione volevi dire 5V di alimentazione ?

La formula è la stessa adesso ho ricontrollato tutti i contatti e c'era un falso contatto nei pin .... Pazzesco !!!

Grazie mille !! Adesso per misurare la corrente in Alternata 220V, si riesce a misurarla con ACS714 ?

wsnicky:
Scusami Uwe quando parli di 5A di alimentazione volevi dire 5V di alimentazione ?

Scusami, sono 5V e non 5A. Un errore mio.

wsnicky:
La formula è la stessa adesso ho ricontrollato tutti i contatti e c'era un falso contatto nei pin .... Pazzesco !!!

Sí pazzesco, riesco giá a fare diagnosi di errori HW; divento sempre piú bravo con la sfera di cristallo :wink: :wink: :wink: :wink:

wsnicky:
Grazie mille !! Adesso per misurare la corrente in Alternata 220V, si riesce a misurarla con ACS714 ?

Sí, si puoi misurare la corrente di un utenza a 230V. Il problema é misurarlo in modo da ricavare il valore effettivo o il valore massimo. La media artitmetica come da esempio non é giusto per ottenere il valore efficace. Devi fare la media geometrica (radice della media dei quadrati)

Per tensioni sinusoidali Veff equivale a Vmax/sqr(2).

Ciao Uwe

Grazie Uwe, sei un compilatore elettronico, invece per misuare le tensioni in DC che vanno 0 a 1000 V con correnti massimo di 8A? Cosa devo realizzare ?

L' ACS714 regge piú di 2000V valore efettivo tra parte misura corrente e alimentazione e uscita, non so se lo regge anche la schedina dove é saldato. Nella descrizione viene sempre nominato la tensione masima del ACS714 ma mai della schedina.

Non so darti una risposta affidabile perché mi mancano le informazioni.

Ciao Uwe

Giusta osservazione. La mia richiesta era un pò fuori topic, in quanto oltre alla corrente vorrei misuare una tensione da 0 a 1000V e una corrente da 0 a 10 ampere con un partitore resistivo opportunamente dimensionato indipendemente dall'ACS 714.
E' possibile farlo con quelle correnti ? Rischio di rompere arduino ? Oppure esiste un'altro modo ?

grazie

È possibile ma hai possibili problemi di isolamento / sicurezza contro scosse elettriche visto che in questo modo porti l' arduino a tensioi fino a 1000V.
Cosí genericamente non posso darti risposta.
Ciao Uwe

Cerco di essere più preciso il circuito che devo misurare è una stringa fotovoltaica così fatta:

In pratica la tensione da misurare è V = n*37volt dove n è un numero che varia da 1 a 30 quindi al massimo posso avere Vmax=1110 volt e Imax= 8 ampere. Come posso misurare tale tensione ? Ho visto il link sotto ma arriva a 200 volt ed è realizzata con un ICL7126: ( :()

http://www.ilprogettista.it/web/wp-content/uploads/2010/02/165.pdf

Forse dovrei utilizzare un trasformatore ? :frowning: :frowning: :frowning:

Bhe il trasformatore in continua suona strano... o ti riferisci a un convertitore DC-DC? e poi, ti conviene salire così in tensione?
Secondo me la cosa più semplice è utilizzare il partitore e misurare la tensione in maniera optoisolata (senza questo se si guasta il resistore più in basso mandi tutta la tensione allo strumento!).

Sinceramente quella scheedina per misurare la corrente con i cavi in tensione 1kV verso terra mi preoccuperebbe molto. E se usassi una pinza amperometrica per alimentare la schedina?

PS: Pensandoci un po', se misuri la corrente sul polo negativo la tensione dovrebbe essere circa 0...

Scusami, mi riferivo a un convertitore, infatti non mi conviene salire con tensioni così alte .... :frowning: Come si realizza un partitore in maniera optoisolata ? Essendo tensione 1kV così alte sono preoccupato pure io. Quale schedina parli ? Di arduino ?

wsnicky:
Come si realizza un partitore in maniera optoisolata ?

é una cosa che interessa anche a me.
La cosa che mi viene in mente é che ti costruisci un convertitore A/D dual slope dove puoi mettere de optoisolatori tra la aprte carica /scarica condensatore e misura e pilotaggio.
Ciao Uwe

Devo realizzarla anche io per un progettino simile... appena ho tempo, ma l'idea è la seguente:

  • con il partitore resistivo abbasso il livello di tensione da misurare (poi con la classica formula mi ricavo l'intera tensione);
  • questa tensione la utilizzo per alimentare un fotoaccoppiatore e l'uscita la posso amplificare ecc... per mandarla al microcontrollore.

Il principio è semplice, ma i soliti fotoaccoppiatori generalmente si utilizzano per segnali variabili e spesso digitali. Non conoscendo come si comportano in DC occorre fare delle prove. Sicuramente è possibile farlo utilizzando un led e un sensore di luminosità (anche se il fotoaccoppiatore in realtà è già fatto in questo modo!) che potrebbe risultare anche più sensibile per questa applicazione.

Una alternativa può essere quella di utilizzare un'altra schedina ad effetto hall per la misura della corrente nel partitore, ma deve essere molto sensibile (la corrente drenata è tutta energia persa!).

Per schedina intendevo quella della sonda hall per la misura della corrente.

Allora ragazzi, credo che dovremmo un momentino ragionare da un punto di vista elettrotecnico; il ragionamento vorrei farlo insieme a voi.

Noi abbiamo un generatore di tensione che può alimentare fino a 1000 Volt e una corrente massima di 8 Ampere, in parallelo c'e' il partitore resistivo composto da due resistenze, supponiamo, una da 100 Kohm e una da 6,8 Kohm da 1/4 di watt. Degli 8 Ampere erogati dal generatore quanti ne scorreranno sul ramo del partitore resistivo?
Credo che la corrente assorbita è proporzionale a quel 1/4 di watt, per cui facendo due conti facili facili si deduce che sarà dell'ordine di qualche milliAmper, con una tensione sulla resistenza verso il basso di 4,5 volt, quindi in linea con i valori che può supportare arduino.
Cosa ne pensate di questo mio ragionamento? Lo condividete? Ho sottovalutato qualcosa oppure ho detto delle imprecisioni?
Quindi la mia conclusione al ragionamento è che il partitore lo si può utilizzare, magari sarebbe opportuno mettere qualcosa per protezione anche un semplice diodo.

schema_1.png

Allora, la corrente nel partitore (che non dipende dalla potenza dissipabile dalla resistenza di 1/4 W) è:

1000 V / (100+6.8 ) kohm = 9.4 mA

La tensione sul resistore inferiore è:

6.8 kohm * 9.4 mA = 64 V

Potenza dissipata dalla resistenze:

6.8 kohm * 9.4^2 mA = 0.6 watt

100 kohm * 9.4^2 mA = 8.8 watt

Per avere al max 5 V sul secondo resistore devi avere un rapporto (R1+R2)/R2 pari a 1000/5. Inoltre, se per qualsiasi motivo si stacca la R2 tutti i 1000 V vanno ad Arduino!

wsnicky:
Cosa ne pensate di questo mio ragionamento? Lo condividete? Ho sottovalutato qualcosa oppure ho detto delle imprecisioni?
Quindi la mia conclusione al ragionamento è che il partitore lo si può utilizzare, magari sarebbe opportuno mettere qualcosa per protezione anche un semplice diodo.

Secondo me fai felice che vende Arduini perché ne elimini uno dopo l' altro. :wink: :wink:

Noi abbiamo un generatore di tensione che può alimentare fino a 1000 Volt e una corrente massima di 8 Ampere, in parallelo c'e' il partitore resistivo composto da due resistenze, supponiamo, una da 100 Kohm e una da 6,8 Kohm da 1/4 di watt. Degli 8 Ampere erogati dal generatore quanti ne scorreranno sul ramo del partitore resistivo?
Credo che la corrente assorbita è proporzionale a quel 1/4 di watt, per cui facendo due conti facili facili si deduce che sarà dell'ordine di qualche milliAmper, con una tensione sulla resistenza verso il basso di 4,5 volt, quindi in linea con i valori che può supportare arduino.

Secondo me é meglio che non ci metti mano, perché Ti mancano troppe basi per lavorare in modo sicuro per Te e per l'Arduino. La cosa migliore sarebbe fare un circuito ceh misura la tensione e la manda in modo isolato con un optocoppler a Arduino.

Ciao Uwe

Grazie per la stima!
I conti in effetti non tornano, perchè il partitore è fatto per misurare una tensione compresa fra 0 e 70 volt!
Quindi la soluzione è solo un optoisolatore!
Mi chiedo e vi chiedo se conoscete qualche sensore duale all'ACS714 per poter misurare direttamente la tensione.

Grazie!

Non credo sia una questione di stima, ma di salvaguardanti. Effettivamente se vuoi maneggiare 1 kV non puoi sbagliare questi calcoli. E poi, oltre a misurare tensione e corrente, con questa maxi stringa di pannelli cosa devi farci? Un impianto a isola, in grid o cosa? Alla fine hai un impianto nominale di 8 kW (non è che hai sbagliato a fare qualche altro conto?) che costa molto... quanto può incidere il costo di un wattmetro bello e fatto!?

Comunque... indipendentemente dalla taglia (V e I) se misuri la corrente nel partitore puoi risalire alla tensione. Questa misura di corrente puoi farla con un'altra ACS7.. meglio se alimentanta tramite una pinza amperometrica.

Come vedi queste sono tutte applicazioni della legge di Ohm (V=R*I), niente di trascendentale.