Festlegen eines Schwellwertes ATmega328

Gast #3761856
Lesenswert?
• ▲
▼
Hey ich bin neu hier im Forum und auch neu in Sache uC.

Mein Problem: Ich habe eine 5V Eingangsspannung, die von einer Batterie 
stammt. Am Avcc und am Vcc Pin sind diese 5V eingespeist.
Nun, da die Batterie nach einer gewissen Zeit weniger Spannung 
bereitstellt, möchte ich einen Schwellwert von ungefähr 4,83 V 
erreichen, um dann eine Led zum leuchten zu bringen, die signalisiert, 
dass aufgeladen werden muss.

Leider weiß ich nicht wie ich diesen Fixwert von 4,83 V einstellen kann.
Ich benötige einen Interrupt nur welchen?

Hoffe auf hilfreiche Antworten.

P.S.: Tutorial für ADC hab ich schon durch, nur ist es mir immer noch 
nicht klar.
Gast #3761896
Lesenswert?
• ▲
▼
Aked schrieb:
> Ich benötige einen Interrupt nur welchen?

In erster Linie brauchst du eine geeignete Schaltung und das heißt hier 
vor allem: Spannungsreferenz. Der ATmega328 kennt drei 
Spannungsreferenzen für den ADC: AVcc, Aref und die interne Referenz von 
1,1 V. Die Referenz muss höher sein als die zu messende Spannung.

AVcc ist nur geeignet, wenn du deine Spannungsversorgung bei einem 
konstanten Wert höher als 4,83 V hältst. Du kannst also die Batterie 
nicht mehr direkt an den uC anschließen.

Aref hat grundsätzlich das gleiche Problem. Wenn du die Versorgung nicht 
stabilisieren willst, könnte man hier eine externe Spannungsreferenz 
anschließen.

Die interne Referenz ist zu niedrig. Das Eingangssignal müsste also 
zuerst auf eine geeignete Spannung abgesenkt werden, z.B. mit einem 
Spannungsteiler.

Das sind nur drei grobe Ideen, die alle ihre Tücken haben. Vor allem 
sind externe Bauteile erforderlich, außerdem ist eine Auflösung von 10 
mV bei guter Genauigkeit in diesem Setup nicht so einfach erreichbar. 
Datenblätter lesen und verstehen, Kopf benutzen. Die Aufgabenstellung 
lässt sich ohne uC (viel einfacher) lösen - aber das war wohl nicht dein 
Plan.

Aked schrieb:
> P.S.: Tutorial für ADC hab ich schon durch, nur ist es mir immer noch
> nicht klar.

Daran würde ich dann zuerst arbeiten. Vielleicht bastelst du zuerst ein 
paar einfache ADC-Schaltungen bis du es wirklich verstanden hast.
#3761931
Lesenswert?
• ▲
▼
Fritz schrieb:
> Das sind nur drei grobe Ideen, die alle ihre Tücken haben.

Fehlt nur leider die entscheidende vierte.

Aked schrieb:
> Leider weiß ich nicht wie ich diesen Fixwert von 4,83 V einstellen kann.
> Ich benötige einen Interrupt nur welchen?

Stell beim ADC Vcc als Referenz ein und miss die 
Bandgap-Spannung(Channel 14). Eine zusätzliche Beschaltung ist nicht 
nötig.
Die Bandgap-Spannung ist konstant. Die Referenz, Vcc, aber nicht. Das 
heisst, der gemessene Wert steigt stetig an. Irgendwann hast du den Wert 
erreicht, der einer Vcc von 4,83V entspricht.
Diese Messung muss nicht 10000 Mal in der Sekunde erfolgen. Da reicht 
auch einmal pro Minute.

mfg.

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.