Hallo zusammen,
ich habe ein Problem mit dem ADC des Attiny45V, bei dem ich allein nicht mehr weiter komme. So wie es aussieht, misst der Kontroller Mist. Für eine Akkuüberwachung soll er die Spannung erfassen und bei zu niedriger Spannung die Last abschalten und ein erneutes Einschalten verhindern. Bei den ersten Tests, wurde aber erst bei einer niedrigeren Spannung abgeschaltet, als es vom Programm her sein sollte. Um Schaltungsfehler auszuschließen, wurde der Kontroller mit einer Minimalversion von Hard- und Software (siehe Schaltplan und Listing) getestet. Ein Minimalprogramm erfasst die Spannung die an ADC3 ( Pin2) anliegt und sendet sie über eine softwaremäßige serielle Schnittstelle an einen PC. Dabei ist aufgefallen, dass der Digitalwert nicht mit dem gemessenen Analogwert an Pin 2 übereinstimmt.
Analogwert Digitalwert
0,8040V 790 > 0,8486V
0,8925V 897 > 0,9635V
1,0027V 975 > 1,0473V
Wenn ihr einen Tipp habt, woran das Verhalten liegen könnte, ich bin für jeden Hinweis dankbar
LG Volker
CodeBox BascomAVR
ich habe ein Problem mit dem ADC des Attiny45V, bei dem ich allein nicht mehr weiter komme. So wie es aussieht, misst der Kontroller Mist. Für eine Akkuüberwachung soll er die Spannung erfassen und bei zu niedriger Spannung die Last abschalten und ein erneutes Einschalten verhindern. Bei den ersten Tests, wurde aber erst bei einer niedrigeren Spannung abgeschaltet, als es vom Programm her sein sollte. Um Schaltungsfehler auszuschließen, wurde der Kontroller mit einer Minimalversion von Hard- und Software (siehe Schaltplan und Listing) getestet. Ein Minimalprogramm erfasst die Spannung die an ADC3 ( Pin2) anliegt und sendet sie über eine softwaremäßige serielle Schnittstelle an einen PC. Dabei ist aufgefallen, dass der Digitalwert nicht mit dem gemessenen Analogwert an Pin 2 übereinstimmt.
Analogwert Digitalwert
0,8040V 790 > 0,8486V
0,8925V 897 > 0,9635V
1,0027V 975 > 1,0473V
Wenn ihr einen Tipp habt, woran das Verhalten liegen könnte, ich bin für jeden Hinweis dankbar
LG Volker
CodeBox BascomAVR
'*************************************************************** '*ADC Messung '* '*************************************************************** $regfile "ATtiny45.dat" $crystal = 8000000 $hwstack = 32 $swstack = 10 $framesize = 40 '*************************************************************** '* Definition Variablen '*************************************************************** Dim Spannung As Word ' Wert Akkuspannung '*************************************************************** '* ADC Konfiguration '* Adc wird mit interner Referenz von 1,1 Volt betrieben '* das bedeutet eine Auflösung von 0,001075 V / Bit '* '* '************************************************************** Config Adc = Single , Prescaler = Auto , Reference = Internal_1.1 Start Adc Baud = 1200 Open "comb.1:1200,8,n,1" For Output As #2 Waitms 500 Do Spannung = Getadc(3) Print #2 , Spannung Waitms 1000 Loop