Pages: [1]   Go Down
Author Topic: Lettura sballata sensore acs  (Read 518 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 1
Posts: 24
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao a tutti! Ho collegato Arduino UNO al mio impianto fotovoltaico ad isola. Per ora vorrei misurare i watt prodotti e i watt prelevati dalla batteria tramite un inverter. Ho messo un sensore acs758 da 200A bi-direzionale sul cavo che dai pannelli va verso la batteria, e un'altro sensore sul cavo che porta corrente all'inverter. Il sensore sulla produzione funziona bene, metre quello sull'inverter che dista circa 8 metri, mi segnala valori sballati. Va da un 450W a un meno 30w , 1900w....-340w..non so proprio da cosa possa dipendere. incollo li programma che ho creato, forse l'errore è lì.  Grazie della vostra collaborazione!
Code:
#include <LiquidCrystal.h>
LiquidCrystal schermo(12,11,5,4,3,2);
float corrente;
float voltaggio;
float consumo;

void setup ()
{
  schermo.begin(16,2);
  schermo.setCursor(0,0);
  schermo.print("Imp. STAND-ALONE");
  schermo.setCursor(3,1);
  schermo.print("BY  ANGELO");
  delay(2000);
  schermo.clear();

 
  
}

void loop()
{
  schermo.setCursor(0,0);
  schermo.print("A"); //Produzione Fotovoltaico
  schermo.setCursor(2,0);
  corrente=analogRead(A2);// Sensore Corrente Campo Fotovoltaico 200A fs.
  corrente=(((corrente-509)*0.004487)*100);
  schermo.print(corrente);
  schermo.setCursor(8,0);
  schermo.print("W");
  voltaggio=analogRead(A0);//Tensione  Banco Batterie
  voltaggio=(((5.0*voltaggio*10.0)/1023+2)*1000);
  schermo.setCursor(10,0);
  schermo.print((voltaggio*corrente)/1000);//ProduzioneCampo Fotovoltaico espresso in Watt
 
  //Seconda riga dello schermo. Assorbimento espresso in Watt dell'Inverter
  
  schermo.setCursor(0,1);
  schermo.print("A");
  schermo.setCursor(2,1);
  consumo=analogRead(A1);
  consumo=(((consumo-508)*0.004487)*100); //Leggi Sensore Corrente Inverter
  schermo.print(consumo);
  schermo.setCursor(8,1);
  schermo.print("W");
  voltaggio=analogRead(A0);//Tensione  Banco Batterie
  voltaggio=(((5.0*voltaggio*10.0)/1023+2)*1000);//Leggi Tensione Batterie
  schermo.setCursor(10,1);
  schermo.print((voltaggio*consumo)/1000);//ProduzioneCampo Fotovoltaico espresso in Watt
  delay(2000);//Attenti due secondi
}

Saluti!
« Last Edit: March 07, 2014, 03:51:28 pm by UweFederer » Logged

BZ (I)
Offline Offline
Brattain Member
*****
Karma: 271
Posts: 21939
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Forse perché la corrente che l' inverter prelieva dalla Batteria non é costante.
Che tensione misuri in continua e in alternata sul uscita del sensore di corrente tra battteria e inverter?

Ciao UWe
Logged

Offline Offline
Newbie
*
Karma: 1
Posts: 24
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao, allora ti posso dire che anche quado il consumo dell'inerter è costante ho degli sbalzi enormi. Per esempio ora sto prelevando dalle batterie 10A in continua (leggo questo valore da un'amperometro analogico), e in uscita dell'inverter ho 223Watt,metre arduino fluttua da 19A  3A 8A   21A 0,009A  4A  9A.......................ho misurato la tensione di ritorno del sensore ed è costante se non ricordo male 2,35v......quindi forse è il mio programma che non và.......
Logged

BZ (I)
Offline Offline
Brattain Member
*****
Karma: 271
Posts: 21939
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

leggi 2 volte
consumo=analogRead(A1);
e prendi solo il la seconda lettura.
Sei sicuro che il circuito sia giusto?
Ciao Uwe
Logged

Offline Offline
Newbie
*
Karma: 1
Posts: 24
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao! Grazie della risposta. Come faccio a prendere la seconda lettura? Devo togliere la seconda lettura della tensione?
Logged

BZ (I)
Offline Offline
Brattain Member
*****
Karma: 271
Posts: 21939
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Fai
Code:
...
consumo=analogRead(A1);
consumo=analogRead(A1);
...
cosí legge 2 volte e la prima lettura viene sovrascritta dalla seconda.
Ciao Uwe
Logged

Offline Offline
Newbie
*
Karma: 1
Posts: 24
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ok! Grazie! Domani provo e vi tengo informati. Grazie e buonanotte!
Logged

Offline Offline
Newbie
*
Karma: 1
Posts: 24
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao ragazzi! Qualche giono fà ho scambiato i due sensori per vedere se era il sensore difettoso. Risultato? Uguale  smiley-cry
Allora mi è venuta l'idea di mettere un piccolo condensatore elettrolitico tra il segnale e il GND, per cortocircuitare eventuali segnali spuri. Visto che il sensore si trova a circa 8 metri dall'arduino, nel locale batterie. Risultato?  smiley-lol Funziona!!!!
Il condensatore è un 22microfarad 16v.
Ora devo collegare la scheda SD all'arduino per poter memorizzare i dati provenienti dai due sensori. Ho fatto il partitore di resistenze da mettere tra l'arduino e la scheda SD. Un dubbio, nello schema dice di collegare i pin 12,11,13,10. Il fatto è che i pin 12 e 11 li uso per il display! Come posso fare? Grazie a tutti e buona serata.
Logged

Cagliari, Italy
Offline Offline
Tesla Member
***
Karma: 115
Posts: 7257
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Sposta i pin del display su pin liberi e modifichi l'inizializzazione. Anche il 6 e 7 se liberi vanno bene.
Code:
LiquidCrystal schermo(....,....,5,4,3,2);
Controlla per la SD se ti serve il pin 10 o il 4. Nel caso del 4 dei eliminarlo dal display e spostarlo su un'altro pin.

Quelli della SD sono fissi perché dipendono da una periferica interna al micro, quelli del display li puoi cambiare a piacere.
« Last Edit: March 21, 2014, 12:06:55 pm by PaoloP » Logged

Code fast. Code easy. Codebender --> http://codebender.cc/?referrer=PaoloP

Italy (Venice)
Offline Offline
Edison Member
*
Karma: 25
Posts: 1362
Quello che non c'è non si può rompere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

PaoloP  karma++;
Logged

Offline Offline
Newbie
*
Karma: 1
Posts: 24
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Grazie tante. In questi giorni faccio il cambio. Domani di dovrebbe arrivare un display 20x4 con solo 4 connessioni per il collegamento all'arduino. Se ho difficoltà chiederò senz'altro consigli! Grazie mille per ora! smiley-grin
Logged

Pages: [1]   Go Up
Jump to: