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
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?
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 ...
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
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?
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
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)
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.
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 ??
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.