Hallo,
ich habe ein Projekt, bei dem ich den ADC nutze. Einmal um mehrere Potis auszulesen und um die Versorgungsspannung zu messen.
Meine Stromquelle ist ein 2S-Lipo, dessen Spannung regle ich mit nem 7805 runter.
Die Potis sind an VCC = 5Volt. Für den ADC verwende ich hierfür als Referenzspannung AVCC.
Die Versorgungsspannung, die ich vor dem 7805 abzwacke, brech ich mit einem Spannungsteiler runter und vergleich sie mit der internen Referenzspannung (Atmega644 -> 2,56V).
Jetzt muß ich ja im Programm die Referenz umschalten.
Was muß ich dabei beachten? Sind Waits nötig? Schreibt man dazu einfach nochmals die "Config ADC" neu?
Hab das jetzt schon mal probiert, jedoch bin ich mit dem Ergebnis überhaupt nicht zufrieden. Das Ergebnis ist meilenweit Weg von der Realität (5Volt <> 7,6Volt).
Hier mal ein Auszug meines Programmes, der ganze Code hat fast 3000 Zeilen:
Ist das Vorgehen so überhaupt richtig? Oder macht man das ganz anders?
Gruß
Gerhard
ich habe ein Projekt, bei dem ich den ADC nutze. Einmal um mehrere Potis auszulesen und um die Versorgungsspannung zu messen.
Meine Stromquelle ist ein 2S-Lipo, dessen Spannung regle ich mit nem 7805 runter.
Die Potis sind an VCC = 5Volt. Für den ADC verwende ich hierfür als Referenzspannung AVCC.
Die Versorgungsspannung, die ich vor dem 7805 abzwacke, brech ich mit einem Spannungsteiler runter und vergleich sie mit der internen Referenzspannung (Atmega644 -> 2,56V).
Jetzt muß ich ja im Programm die Referenz umschalten.
Was muß ich dabei beachten? Sind Waits nötig? Schreibt man dazu einfach nochmals die "Config ADC" neu?
Hab das jetzt schon mal probiert, jedoch bin ich mit dem Ergebnis überhaupt nicht zufrieden. Das Ergebnis ist meilenweit Weg von der Realität (5Volt <> 7,6Volt).
Hier mal ein Auszug meines Programmes, der ganze Code hat fast 3000 Zeilen:
Code:
Config Adc = Single , Prescaler = Auto , Reference = Avcc
... Potis auslesen
Config Adc = Single , Prescaler = Auto , Reference = Internal_2.56
... Akkuspannung messen
Ist das Vorgehen so überhaupt richtig? Oder macht man das ganz anders?
Gruß
Gerhard