Forum: Compiler & IDEs Bandgap ADC Atmega32


von Michael K. (mad_axe)


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

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


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?

von Michael K. (mad_axe)


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 ...

von Simon K. (simon) Benutzerseite


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

von Michael K. (mad_axe)


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?

von Fabian (Gast)


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

von Simon K. (simon) Benutzerseite


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)

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


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.

von Michael K. (mad_axe)


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 ??

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


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).

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.