Forum: Mikrocontroller und Digitale Elektronik ADC Free Running AVR mega8


von der_muck (Gast)


Lesenswert?

Hallo,
ich habe mal eine Verständnis Frage zum ADC im Free Running Mode, im 
single mode hat alles soweit Funktioniert...

Ich möchte die Spannung eines Akkus Kontinuierlich messen und auswerten, 
zurzeit mache ich 10 single Messungen wie im Tutorial und werte sie aus.
Da ich es Kontinuierlich machen möchte kam die Idee den ADC im Free 
Running laufen zu lassen und den Wert bei bedarf auszulesen...

Der nachteil wird sein das ich keinen Mittelwert bilde und das Ergebnis 
sehr schwankt, der vorteil das der Prozessor in der zeit was anderes 
machen kann!

Verstehe ich das richtig das der ADC im Free Running, den gemessenen 
wert einfach im ADCW wie im Single mode schreibt
1
ADMUX  |= (1<<MUX0)|(0<<MUX1)|(0<<MUX2)|(0<<MUX3)| (1<<REFS0)|(0<<REFS1);   
2
    ADCSRA |= (1<<ADEN)|(1<<ADSC)|(1<<ADFR)|(0<<ADPS0)|(1<<ADPS1)|(1<<ADPS2);
Wenn ich ihn so Aktiviere schreibt er also die fertige Messung in ADCW 
und ich kann damit arbeit? Bei einer Messung bleibt im Register immer 
der alte wert? Jetzt könnte ich mir das Ergebnis ja z.B. jede Sekunde 
holen auf addieren und den Mittelwert bilden wo ist der nachteil der 
Methode?

LG

von Johannes M. (johnny-m)


Lesenswert?

Der Free-Running Mode arbeitet genauso wie die anderen Modi auch, nur 
dass nach Beendigung einer Wandlung sofort automatisch eine neue 
gestartet wird, ohne dass irgendein anderes Ereignis eintritt oder das 
Programm die Wandlung starten muss.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.