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
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.
Das Vorgehen mit Vref = Vcc und Kanal = Bandgap gibt es beim tiny13 nicht. Aus diesem Grund bevorzuge ich die tinyX5-Reihe :-)
The SphereX schrieb: > 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? Keine, nimm also Tiny85 ...
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.
Alles klar, ich danke Euch. Hab' mir schon sowas in der Art gedacht. Beim nächsten Mikrocontroller-Einkauf bin ich dann schlauer ;) .... Grüße, The SphereX
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
The SphereX schrieb: > Hannes Lux schrieb: Hier ist es noch etwas konkreter beschrieben: Beitrag "Re: ATtiny13 mit Li-Io betreiben - Spannung richtig messen" Frohen Resr vom Fest... ...
PERFEKT ... Besten Dank :-) !!! Grüße, The SphereX
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.