So jetzt tut es wohl
nicht ganz genaue aber ich denk besser wird es nicht die ganz zahl stimm jetzt wenigstens.Code:WORD Result = 0; double Volt = 0; CLEARBIT(ADCSRA,ADEN); // aus schlaten damit ich den port wechseln kann // Messen an port 6 CLEARBIT(ADMUX,MUX4); CLEARBIT(ADMUX,MUX3); SETBIT(ADMUX,MUX2); SETBIT(ADMUX,MUX1); CLEARBIT(ADMUX,MUX0); SETBIT(ADCSRA,ADEN); // Bit invertieren messung starten ADCSRA |=_BV(ADSC); waitforad = 1; // warten bis messung abgesclossen ist und wert gültig while(waitforad != 0) { //warten auf den adwandler; }; // den wert aus dem register holen Result = ADCH*256 + ADCL; Volt = (((Result * 5)/ 1.024)*((float)22000+5100))/5100; // Berechnung Volt gemessen bei Ref von 5V // * 1000 für die komma stellen // Mit Spannungsteiler 22k 5,1 k // Das If grab an passen wenn mal die Akkus wirklich daran hängen if(Volt > 11) { if(Volt >=12) { if(Volt >= 13) { SendMCData(2,100); // frisch geladen } else { SendMCData(2,50); // Bat OK aber bald } } else { SendMCData(2,20); //fast leer } } else { SendMCData(2,0); // Batt ist leer }
es kommen 11,08 raus und mit dem muti meter messe ich 11,66
Gruß







Zitieren

Lesezeichen