ATTiny13A: Betriebsspannung über Bandgap-Referenz messen?

Gast #3458486
Lesenswert?

Hi Leute !!!

Ich versuche gerade entsprechend dem 
Beitrag "Messung der Betriebsspannung mit internem ADC auf ATtiny85" die 
Batterieversorgungsspannung meines ATTiny13A zu messen (Bascom). Ich 
krieg's aber irgendwie nicht gebacken.

Wenn ich die notwendige Vorgehensweise richtig verstanden habe, dann 
braucht man dazu ja eigentlich nur folgende Punkte abarbeiten.

1.) AVCC als Referenzspannung für den ADC angeben
2.) interne Referenzspannung (Bandgap) messen
3.) Betriebsspannung mit VCC = 1100 / Bandgap * 1024 berechnen

1. stellt noch kein Problem dar:

Config Adc = Single , Prescaler = 8 , Reference = Avcc
Start Adc

Aber mit welchem Befehl komme ich an den Bandgap-Wert? Dazu müßte die 
interne Referenzspannung ja zunächst mal als ADC-Eingang geschaltet 
werden, richtig? Im Datenblatt zum ATTiny13A finde ich allerdings nur 
eine entsprechende Möglichkeit für den Analog Comperator:

Bit 6 – ACBG: Analog Comparator Bandgap Select
When this bit is set, a fixed bandgap reference voltage replaces the 
positive input to the Analog Comparator.

Bedeutet das nun, daß eine Betriebsspannungsmessung nach den 
obengenannten 3 Punkten mit dem ATTiny13A so nicht möglich ist? Wenn ja, 
welche andere Möglichkeit ohne zusätzliche externe Schaltung gibt es 
evtl. noch?


Grüße,
The SphereX
Gast #3458498
Lesenswert?

Das übberrascht mich jetzt auch etwas, aber es scheint wohl wirklich 
nicht zu gehen. Bei anderen AVRs kann die Badngap-Spannung über ADMUX 
ausgewählt werden, aber beim Tiny13 kann man dort nur die vier 
ADC-Eingangspins wählen.
Persönliche Seite #3458503
Lesenswert?

The SphereX schrieb:
> Bedeutet das nun, daß eine Betriebsspannungsmessung nach den
> obengenannten 3 Punkten mit dem ATTiny13A so nicht möglich ist?

Richtig. Beim tiny13 ist es nicht möglich die interne Referenz als 
Quelle auszuwählen.

> Wenn ja, welche andere Möglichkeit ohne zusätzliche externe Schaltung
> gibt es evtl. noch?

Ohne externe Beschaltung fällt mir spontan nichts ein. Wenn du jedoch 
die Versorgungsspannung extern mit einem Spannungsteiler herunter setzt 
und einem ADC Eingang zuführst und als Referenz die interne auswählst, 
geht das.
Gast #3459161
Lesenswert?

Hallo nochmal!

Ich habe da evtl. doch noch eine Möglichkeit gefunden. Was ist Euerer 
Meinung nach hiervon zu halten:

Hannes Lux schrieb:
> Eine weitere Methode, die (LiIon-) Akkuspannung bei akkubetriebenem AVR
> (auch Tiny13) zu ermitteln, ist das Messen der Flussspannung einer gegen
> GND geschalteten LED gegen VCC als Referenz. Dazu wird der Portpin, an
> dem eine sowiso genutzte LED mit Vorwiderstand hängt, kurzfristig mal
> als Eingang mit aktiviertem PullUp geschaltet, der ADC auf diesen Port
> eingestellt und die Spannung gemessen (der LED-Vorwiderstand ist gegen
> den internen PullUp fast ein Kurzschluss). Danach wird der Pin wieder
> auf Ausgang geschaltet und der korrekte LED-Zustand wieder eingestellt.
> Diese kurze Unterbrechung merkt der Benutzer gar nicht. Auch hier wird
> eine (fast) konstante Spannung (LED-Flussspannung) gegen eine variable
> Referenz (Vcc) gemessen, was "rückwärts" das Ermitteln der Akku-Spannung
> ermöglicht.

Grüße,
The SphereX

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren