Brainstorming: ADC Stromsparmodus Interrupt

Gast #3432663
Lesenswert?
• ▲
▼
Hallo

ich möchte meine Platine stromsparend betreiben und werde dem Controller 
zwischendurch eine Ruhepause gönnen (Sleep modus)

Wie kann ich es am geschicktesten anstellen, alle 1,2,3 sekunden 2-3 
analoge Signale abzufragen.

Bisher habe ich einmal vor der WhileSchleife den ADC initialisiert und 
eine analoge Messung im Programm durchgeführt. Das ist im aktuellen Fall 
nicht mehr nötig sondern ein Messintervall von 2,3 Sekunden ist 
ausreichend.

Jetzt mit dem Stromsparmodus suche ich eine eine andere Möglichkeit.
- Soll ich den ADC nach jeder Messung abschalten?
- Muss vor der Messung jedes mal erneut ein Dummy Read-out gemacht 
werden?
- Wie kann ich vorgehen? In der Timer ISR eine ADC Messung auslösen? und 
in der ADC ISR die Messung auswerten?

Bin über hilfreiche Tipps sehr dankbar.
#3432669
Lesenswert?
• ▲
▼
Mike schrieb:
> Hallo
>
> ich möchte meine Platine stromsparend betreiben und werde dem Controller
> zwischendurch eine Ruhepause gönnen (Sleep modus)
>
> Wie kann ich es am geschicktesten anstellen, alle 1,2,3 sekunden 2-3
> analoge Signale abzufragen.
>
> Bisher habe ich einmal vor der WhileSchleife den ADC initialisiert und
> eine analoge Messung im Programm durchgeführt. Das ist im aktuellen Fall
> nicht mehr nötig sondern ein Messintervall von 2,3 Sekunden ist
> ausreichend.
>
> Jetzt mit dem Stromsparmodus suche ich eine eine andere Möglichkeit.
> - Soll ich den ADC nach jeder Messung abschalten?
> - Muss vor der Messung jedes mal erneut ein Dummy Read-out gemacht
> werden?
> - Wie kann ich vorgehen? In der Timer ISR eine ADC Messung auslösen? und
> in der ADC ISR die Messung auswerten?
>
> Bin über hilfreiche Tipps sehr dankbar.

Das geht beides nicht.
Ein Intel MCS-48 hat weder einen AD-wandler noch einen Sleepmode.

mfg.
Gast #3432715
Lesenswert?
• ▲
▼
Mike schrieb:
> Jetzt mit dem Stromsparmodus suche ich eine eine andere Möglichkeit.
> - Soll ich den ADC nach jeder Messung abschalten?
> - Muss vor der Messung jedes mal erneut ein Dummy Read-out gemacht
> werden?
> - Wie kann ich vorgehen? In der Timer ISR eine ADC Messung auslösen? und
> in der ADC ISR die Messung auswerten?

Was willst du da brainstormen? Es ist doch alles bekannt.

Schau in das Datenblatt deines Prozessors bei welchem Modus er welchen 
Strom benötigt und entscheide selbst.


Wenn gar nichts mehr hilft kannst du die Stromaufnahme sogar selbst 
messen (z.B. über Kondensatorentladung) ;-).
Gast #3432724
Lesenswert?
• ▲
▼
Der Rächer der Transistormorde schrieb:
> Was willst du da brainstormen? Es ist doch alles bekannt.

Dir ist es vielleicht aus deinen bisherigen Erfahrungen bekannt, mir 
aber noch nicht.
Bisher habe ich den AD-Wandler 1x initialisiert und dann im programm 
Messungen gemacht.
Jetzt würde ich ihn gerne hauptsächlich ausgeschaltet lassen und nur 
alle 2 Sekunden für die Messungen aufwecken. Reicht es ihn einzuschalten 
oder muss der Dummy-Readout gemacht werden, wie geht man da am besten 
vor, ohne das Rad neu zu erfinden...
#3432838
Lesenswert?
• ▲
▼
Hallo Mike,

wenn Du ihn aus und wieder einschalltest, dann würde ich immer eine 
Dummywandlung machen und das Ergebnis verwerfen.

Auch sollte man sich genügend Zeit zwischen Wechsel des Kanals und dem 
Start einer neuen Wandlung lassen --> Datenblatt.

Für ein Messergebnis verwende ich zwischen 4 - 16 ADC-Werte zur 
Mittelwertbildung.

Dann hat der ADC noch zwei Messungenauigkeiten, einen offset Fehler und 
einen linearitäts Fehler.
Den gleiche ich immer mit einem 2-Punkt Abgleich, bei einer kleinen (~8% 
Vref) und größeren Spannung (~80% Vref) aus.
Die Berechnung kann mit Fix-Point-Arithmetik, also als Long mit einer 
Skalierung mit 65536=2^16 erfolgen.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.