mikrocontroller.net

Forum: Compiler & IDEs Bandgap ADC Atmega32


Autor: Michael Kentschke (mad_axe)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Irgendwie finde ich kein richtiges Beispiel wie ich die Bandgap Spannung
mit c auslesen kann. In Bascom hab ich was gefunden aber das nützt mir
nichts. Im allgemeinen bin ich auch noch nicht so der Profi, als das
ich das irgendwie mit dem Datenblatt des Atmega32 hinbekomme. Normale
ADC messungen z.B. der Temperatur hatte ich schonmal gemacht.
Wäre echt nett wenn mir da jemand ein bisschen auf die Sprünge helfen
könnte.
Danke
Micha

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was willst du denn genau?  Die Bandgap-Spannung ist ja normaler-
weise die Referenz, die kannst du natürlich nicht mit sich selbst
messen.  Gegen was willst du sie denn messen?

Autor: Michael Kentschke (mad_axe)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jetzt habe ich gerade beim Nachdenken einen Gedankenknick. Ich wollte
die aktuelle Batteriespannung messen. Das ganze wird ja aber durch
einen linearregler sagen wir mal auf 5V angepasst. In dem Board was ich
hier habe ist AREF und AVCC mit VCC verbunden, also liegen dort ja immer
5V an. Dann müsste ich mit der Batteriespannung über einen
Spannungsteiler an einen ADC Port gehen und das mit der internen
REferenzspannung ermitteln. Wie schaut das dann mit der Bandgap
Spannung aus. Würde ich dann an AVCC die Batteriespannung anlegen oder
wie ... irgendwie blicke ich gerade nicht mehr durch ... hatte hier im
Forum gelesen das es ohne Extra Pins geht ...

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
du nimmst einfach AVCC(Batteriespannung) als Referenz und misst die
Bandgap Spannung.

Sprich:
REFS(1..0) = 10 binär
ADMUX (4..0) = 11110 binär

Autor: Michael Kentschke (mad_axe)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jetzt blicke ich gar nich mehr durch. AVCC darf doch nicht viel größer
sein als VCC. Also müsste ich einen Spannungsteiler benutzen wenn ich
an AVCC die Batteriespannung hängen will. Sagen wir mal die
Batteriespannung ist 9V, und VCC ist 5V. Dann also über einen
Spannungsteiler die 9V auf mind 5V runter. Dementsprechend fällt der
Wert von AVCC langsam beim entladen der Batterie. Und den Wert
vergleiche ich dann mit der der Bandgap Spannung?

Autor: Fabian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Batteriespannung misst du am einfahcsten so.

als Referenz stellst du AVCC ein (RefS 1:0 = 01)
dem AD-Muxer stellst du auf Bandgap (MUX 4:0 = 11110)

wenn jetzt avcc sinkt steigt der AD-Wert, da die bandgap ja näher an
ARef rückt.

Aber denk dran dass die Bandgapref deutlich vom im Datenblatt angegeben
wert abweichen kann! Sie schwankt zwar nicht, aber liegt halt konstant
daneben...

Gruß
Fabian

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ach, sorry! Ich bin nicht davon ausgegangen, dass du einen
Spannunsgregler benutzt. Hmmmmm. Dann wirst du doch die
Batteriespannung über Spannungsteiler an einen ADC Eingang legen müssen
:-/ (Oder natürlich an AVCC, aber hier müssen bestimmte Bereiche
eingehalten werden)

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nachteil der Spannungsteilermethode ist, dass ein ständiger
Querstrom fließt, der die Batterie belastet.  Wenn der dich
stört, musst du den Spannungsteiler noch mit einem Transistor
zuschalten.

Autor: Michael Kentschke (mad_axe)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da hab ich auch schon drüber nachgedacht ... müsste der Strom nicht sehr
gering sein wenn ich sagen wir mal Widerstände im Mega Ohm bereich
verwende .. .oder hat das noch andere Auswirkungen ??

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naja, du musst die Widerstände klein genug machen, dass das
Eingangsverhalten des ADC-Pins den Spannungsteiler nicht
nennenswert beeinträchtigt.  Einerseits werden für den ADC
100 MOhm Eingangswiderstand angegeben (was recht gut ist),
andererseits steht in den allgemeinen Daten, dass der
Eingangsleckstrom bis zu 1 µA betragen kann.  Ich weiß nicht,
ob sich das auch auf als ADC-Eingänge verschaltete Pins
bezieht.

Ob ein Querstrom im Bereich von 1 µA für deine Batterie
tödlich ist oder nicht, musst du selbst entscheiden.  Ich kenne
Leute, denen das zu viel ist, in den meisten Applikationen wird
es vermutlich gehen.  Läuft aber auf Widerstände im Bereich von
10 MOhm hinaus, die auch nicht mehr jedermanns Sache sind
(Brummempfindlichkeit, Flussmittelreste können über einen längeren
Zeitraum schon zu nennenswerter Verfälschung des Spannungsteilers
führen).

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.