Go Down

Topic: misurare la 230V(0 220V) su arduino con lcd (Read 1 time) previous topic - next topic

mitidj2008

ho fatto le prove. impressionante risposta  :smiley-mr-green: :D
funziona alla perfezione.
http://www.youtube.com/watch?v=irs3SvM7Hco
ho usato il riscaldatore potente come carico per vedere la variazione.
arudino per in quel caso era con la 220V sopra o il neutro. non era isolato l'ingresso del convertitore. faro delle prove per vede se con un trasformatore a 12V

mitidj2008

#6
Nov 14, 2012, 05:03 pm Last Edit: Nov 15, 2012, 11:44 pm by mitidj2008 Reason: 1
ecco un log:
Code: [Select]
valore=222.22
valore=221.82
valore=222.62
valore=220.62
valore=221.42
valore=221.02
valore=222.22
valore=221.02
valore=223.02
valore=222.62
valore=223.02
valore=222.62
valore=223.42
valore=222.62
valore=223.42
valore=222.62
valore=223.42
valore=222.62
valore=221.42
valore=221.82
valore=218.61
valore=214.21
valore=213.81
valore=215.01
valore=213.41
valore=214.61
valore=213.41
valore=215.81
valore=214.61
valore=215.81
valore=219.81
valore=220.21
valore=215.01
valore=215.81
valore=213.41
valore=214.61
valore=214.61
valore=215.81
valore=214.61
valore=215.81
valore=213.41
valore=215.01
valore=221.02
valore=222.22
valore=221.02
valore=222.22
valore=221.42
valore=222.22
valore=221.42
valore=222.62
valore=222.62
valore=223.42
valore=222.62

mitidj2008

#7
Nov 14, 2012, 05:48 pm Last Edit: Nov 15, 2012, 11:42 pm by mitidj2008 Reason: 1
ecco un altra prova. in questo caso arudino è  isolato con un trasformatore toroidale.
ha 2 secondari uno da 9Vac che raddrizzati diventano 12 e alimenta arduino e un altro duale da 21Vac/ramo, però ho usato gli estremi cioe avevo 42Vac ai capi del trasformatore che vanno nella scheda convertitore AC-DC
sul PIN 0 ho 0.600mV che ovviamente variano
vedro di avere 2.30V pari alla rete cosi ho da guadagnare sul ingresso arduino che fare i moltiplicatori interni.
per esempio adesso ho  dovuto moltiplicare per 412 per avere quelle cifre e sul display, ma alzando il guadagno ce piu errori e sbalzi per via delle basse tensioni e interferenze che ci sono al giro.
vout = (value * 412.0) / 1024.0;

http://www.youtube.com/watch?v=W5frqvJx8Zs
dopo il filmato ho aggiunto una rez da 1k tra PIN 0 e GND per stabili e abbasamento piu veloce infatti nel filmato si vede che varia lentamente per via di un grande condensatore da 6,3V a 3300uF
sketch completo:
Code: [Select]


#include <LiquidCrystal.h>



#define RS  8
#define EN  9
#define D7  7  
#define D6  6
#define D5  5
#define D4  4

/* Definizioni globali */
 float vref = 1.1;
 LiquidCrystal lcd( RS, EN, D4, D5, D6, D7 );
 int analogInput = 0;
 float vout = 0.0;
 float vin = 0.0;
 int value = 0;

/* Impostazione dell'hardware */

void setup()
{
 Serial.begin(9600);
 analogReference( INTERNAL );  
 pinMode(analogInput, INPUT);
 lcd.begin( 4, 20 );
 
}

void loop()
{
 lcd.clear();
 value = analogRead(analogInput);

 vout = (value * 412.0) / 1024.0;
 vin = vout ;  

 // print result to lcd display
 lcd.print("Vin=");
 lcd.setCursor(4, 0);
 lcd.print(vin);
 lcd.print("Vac");
 int valore = analogRead(0);
 Serial.print("valore=");
 Serial.println(vin);
 // sleep...
 delay(1000);
}

Go Up