Salve a tutti ragazzi. Ho un problema con le porte analogiche di Arduino Uno. Devo leggere la potenza tramite fotovoltaico. Ho fatto questo semplice codice:
float vl1=0;
float vl2=0;
float tens1=0;
float tens2=0;
float potenza=0;
float resistenza=4.5; //resistenza 4.5ohm
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
}
void loop() {
// put your main code here, to run repeatedly:
vl1=analogRead(A1); //tensione 1
vl2=analogRead(A0); //tensione 2
tens1=5*vl1/1024;
tens2=5*vl2/1024;
potenza= tens1*( (tens1-tens2)/resistenza );
if (potenza<0)
{
potenza=potenza*(-1);
}
Serial.println(potenza,6);
delay(200);
}
Quando leggo i valori con il monitor seriale, ottengo valori che variano senza motivo (vi allego l'immagine). Molto probabilmente il tutto è dovuto ad un rumore ( o lettura errata) dell'adc interno. Come posso risolvere il problema per riuscire a stabilizzare i valori?? Grazie a tutti per l'aiuto. ( se può essere di aiuto anche quando metto tensioni stabili in ingresso ho queste "variazioni")
Oddio! Scusatemi tanto! Ora ho letto tutto! (se riuscite spostate pure la conversazione nella zona "software"!) Allego lo schema fatto a mano di come ho collegato il pannello fotovoltaico ad arduino.
Non so che tensioni o correnti hai. presumo che hai corrente continua.
Comunque su una resistenza da 4,5Ohm ci si perde troppa tensione per avere una misura sensata.
Per fare una differenza di 2 valori serve una risoluzione molto alta.
I valori che Tu ottieni e la loro variazione sono inprecisazioni nella misura +/- 1 Digit.
Si sono imprecisioni dell'ordine di + o - 1 ! Non ci si può far niente contro queste imprecisioni? Magari mettere un diodo zener, un condensatore boh! (comunque grazie per la disponibilità!)