www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Batterieüberwachung mit ATTiny 2313


Autor: Thomas Burkhart (escamoteur)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

ich möchte gerne meinen ATTiny2313 an einer 3,3V Lithiumzelle betreiben. 
Nun würde ich gerne überwachen, ob die Batterie noch genug Spannung 
abgibt, soll heißen, ich will alamiert werden wenn die Spannung auf 2,8V 
abgesunken ist.

Leider hat der 2313 keinen ADC sondern nur einen analog comparataor, der 
einfach zwei externe Spannungen vergleicht. Nur woher bekomme ich meine 
stabilen 2,8V mit denen ich die Batteriespannung vergleichen kann?

Danke & gruß

Thomas

Autor: Gast2 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hat der keinen BOD?
Doch hat er, im Datenblatt auf Seite 38 beschrieben.

Gast2

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Thomas Burkhart wrote:
> Leider hat der 2313 keinen ADC

Dann nimm doch nen ATtiny13.


Peter

Autor: Thomas Burkhart (escamoteur)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, aber ich will ja keinen Reset sondern will einfach eine Nachricht an 
einen Master Controller senden. Oder läßt dich der BOD so ummstellen 
dass er nur nen IRQ auslöst? Hab ich jetzt nicht gesehen?

Gruß

Thomas

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Thomas Burkhart wrote:
> Leider hat der 2313 keinen ADC sondern nur einen analog comparataor, der
> einfach zwei externe Spannungen vergleicht.
Nö, der kann auch die interne Bandgap-Referenz auf einen Eingang 
bekommen (auf den nichtinvertierenden).

> Nur woher bekomme ich meine
> stabilen 2,8V mit denen ich die Batteriespannung vergleichen kann?
Mit nem Spannungsteiler brauchst Du keine stabilen 2,8 V. Die 
Bandgap-Referenz hat 1,1 V (OK, ±10%). Wenn Du die Versorgungsspannung 
entsprechend runtergeteilt an den anderen Eingang legst, kannste ganz 
flexibel die Schwelle einstellen.

Oder (alternativ) die BOD benutzen, wie Gast2 schon vorgeschlagen hat. 
Die hat nur den Nachteil, dass es bei Unterschreiten der Schwelle einen 
Reset gibt. Mit dem Komparator haste dagegen die Möglichkeit, direkt 
softwaremäßig zu reagieren...

Autor: Thomas Burkhart (escamoteur)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
D.h. ich baue einen Spannungsteiler, der sicherstellt, dass bei 
Spannungen >2,8V am Comparator eine Spannung von >1,1V anliegt. Richtig?

Wie hochohmig kann ich den Spannungsteiler denn bauen um Strom zu 
sparen?

Danke & Gruß

Thomas

Autor: Thomas Burkhart (escamoteur)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peter Dannegger wrote:
> Thomas Burkhart wrote:
>> Leider hat der 2313 keinen ADC
>
> Dann nimm doch nen ATtiny13.
>
>
> Peter

Weil ich auch noch nen UART brauche.

Thomas

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Code für Software-UART gibt's bei Atmel als Application Note.

Autor: Thomas Burkhart (escamoteur)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Aber wieso sich das Leben schwerer machen als Notwendig? Außerdem 
brauche ich auch ein paar IOs mehr als der 15er hat.

Gruß

Thomas

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Thomas Burkhart wrote:
> Peter Dannegger wrote:
>> Thomas Burkhart wrote:
>>> Leider hat der 2313 keinen ADC
>>
>> Dann nimm doch nen ATtiny13.
>>
>>
>> Peter
>
> Weil ich auch noch nen UART brauche.


Ist kein Problem, einfach in Software machen.

Dann ist allerdings ein ATtiny25 besser (einen Timer für die UART, einen 
für die anderen Sachen).

Ich hab oft ne SW-UART in meinen ATtinyx4/x5/x61 Programmen für 
Debugausgaben.


Peter

Autor: Läubi .. (laeubi) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also ich würde auf den Mega48 umsteigen, ich weiß ja nicht was du 
vorhast, aber der hat ADC, UART TWI... mehr Flash und Ram und größere 
Verwante falls es mal etwas "mehr" wird.

Autor: Thomas Burkhart (escamoteur)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peter Dannegger wrote:
> Thomas Burkhart wrote:
>> Peter Dannegger wrote:
>>> Thomas Burkhart wrote:
>>>> Leider hat der 2313 keinen ADC
>>>
>>> Dann nimm doch nen ATtiny13.
>>>
>>>
>>> Peter
>>
>> Weil ich auch noch nen UART brauche.
>
>
> Ist kein Problem, einfach in Software machen.
>
> Dann ist allerdings ein ATtiny25 besser (einen Timer für die UART, einen
> für die anderen Sachen).
>
> Ich hab oft ne SW-UART in meinen ATtinyx4/x5/x61 Programmen für
> Debugausgaben.
>
>
> Peter

Was spricht denn gegen den 2313? Ihr wollt mich ja alle überzeigen einen 
anderen zu nehmen...
Mit dem Comparator hab ich ja was ich will.

einen MEGA will ich nicht, weil das ganze auch noch klein werden soll.
Kleiner ZigBee-Handsender

Gruß

Thomas

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vorteil am ADC wäre tatsächlich, dass kein Spannungsteiler gebraucht 
würde, wenn man eine "inverse Messung" macht (Betriebsspannung an AREF 
und interne Referenz als Messgröße). Ob das jetzt unterm Strich weniger 
Strombedarf bedeutet, kann ich so aus dem Bauch heraus auch nicht sagen. 
Ich halte es zumindest für möglich, dass der ADC mehr Saft braucht als 
der Komparator, womit der Vorteil schon wieder relativiert wäre. Somit 
spräche soweit eigentlich nichts gegen den Tiny2313...

Der Eingangswiderstand des Komparators sollte recht hoch sein, so dass 
der Spannungsteiler auch recht hochohmig sein kann (mehrere 100 kOhm - 
unterer MOhm-Bereich), aber dann softwaremäßig und mit nem kleinen 
Kondensator am Analog-Eingang irgendwelche eingefangenen Störspitzen 
abfangen.

Autor: Jadeclaw Dinosaur (jadeclaw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Thomas Burkhart wrote:
> Was spricht denn gegen den 2313?
Nichts.
Und der notwendige Spannungsteiler zieht weniger als der ADC eines 
ATMega. Bei 50nA Eingangsstrom kann man den Querstrom entsprechend 
niedrig ansetzen.

> Ihr wollt mich ja alle überzeigen einen
> anderen zu nehmen...
Was nicht notwendig ist.

> Mit dem Comparator hab ich ja was ich will.
Exakt.

Gruß
Jadeclaw.

Autor: Läubi .. (laeubi) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> einen MEGA will ich nicht, weil das ganze auch noch klein werden soll.
> Kleiner ZigBee-Handsender
>
> Gruß
>
> Thomas
 in smd ist der mega48 aber doch kleiner? und analogkomperator hat der 
auch.

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Läubi Mail@laeubi.de wrote:
>  in smd ist der mega48 aber doch kleiner? und analogkomperator hat der
> auch.
Mega48: 28-Pin-SOIC
Tiny2313: 20-Pin-SOIC
Preisfrage: Was ist kleiner?

Autor: Läubi .. (laeubi) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Meine Mega48 werden im TQFP32 geliefert...
Und der Tiny wird im SO(Wide) geliefert, ist größenmäßig dann etwas 
größer.
In SOIC gibts den (leider) nicht.

Autor: Jadeclaw Dinosaur (jadeclaw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok, dann den 2313 im MLF-Gehäuse, das ist dann noch kleiner.
Nur sollte das dann noch verarbeitbar bleiben.

@ Thomas Burkhart:
Nicht irre machen lassen, nimm den 2313 und gut is'.

Gruß
Jadeclaw.

Autor: Läubi .. (laeubi) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich wollt ihn nicht "irre" machen. Aber der Größenunterschied TINY vs 
MEGA ist nicht sooo groß bei den beiden (egal welches Package) und da er 
ja nicht geschrieben hat was er werden soll...
Und der Mega hat z.B. nen Hardwaremultipliziere was für einige 
Anwendungen schon wichtig sein kann! Und da die beiden sich auch 
Preislich kaum unterscheiden, benutz ich persönlich meist den Mega48, 
wollte ihn aber auch niht "bekehren" sondern nur nen Vorschlag machen :)

Autor: Thomas Burkhart (escamoteur)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich nehme doch mal an, dass der 2313 vom Stromverbrauch auch besser sein 
sollte als die MEGAs oder?

@Peter: bezüglich des Spannungsteiler:

Wenn ich 2,8V als Schwelle haben will, passt das dann in etwas so?

     3,3V
       |
       |
      3M
       |
       |----- 1,12V -- Analog Comparator In
      2M
       |
       |
      ---

Gruß

Thomas

Autor: Läubi .. (laeubi) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mega48:
Low Power Consumption
– Active Mode:
250 µA at 1 MHz, 1.8V
15 µA at 32 kHz, 1.8V (including Oscillator)
– Power-down Mode:
0.1µA at 1.8V

Tiny2313
Typical Power Consumption
– Active Mode
1 MHz, 1.8V: 230 µA
32 kHz, 1.8V: 20 µA (including oscillator)
– Power-down Mode
< 0.1 µA at 1.8V

Unterscheidet sich nur im uA Bereich der Mega48 ist halt noch etwas 
moderner, die Frage ist halt was/wieviel Funktionalität du in dem 
Handsender haben willst. Der Mega hat doppelt soviel Ram/Flash etc. muß 
man sich überlegen.

Autor: Mikrofun R. (mikrofun)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hatte bereits einmal eine ähnliche Lösung zu der von Johannes M. auf 
einem ATMega2560 implementiert, die sehr gut funktioniert:

- Externe Spannungsreferenz an einen ADC, z. B. mit dem LM 285-Z2,5
- Vcc als Referenzspannung für den ADC
- Berechnung der Batteriespannung anhand des Messwertes
  (und damit Kalibrierung möglicher weiterer ADCs)

Der Vorteil: Das Ganze ist simpel und es gibt nicht nur einen "Battery 
low"-Status, sondern eventuell sogar eine Füllstandsanzeige.

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
<trollmode>
Warum nimmt man eigentlich keinen Einheits-AVR, der für alle 
Eventualitäten genügend Reserven bietet?
</trollmode>

Der Tiny2313 reicht völlig aus. Ob der Spannungsteiler so hochohmig 
geht, weiß ich nicht, mir wäre es zu riskant. Du kannst aber das obere 
Ende des Spannungsteilers an einen Portpin legen und den Spannungsteiler 
nur bei Bedarf an Spannung legen. Also in regelmäßigen Abständen 
Spannungsteiler einschalten, kurz warten, AC-Zustand abfragen, 
Spannungsteiler wieder aus. Aber auch AC ausschalten (ACD in ACSR), wenn 
er nicht gebraucht wird, der frisst nämlich auch Strom.

...

Autor: Thomas Burkhart (escamoteur)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vom Verhältnis her passt der Spannungsteiler oder?

D.h. besser 300 : 200 kOhm?

Das mit dem Selectiven Einschalten ist natürlich rafiniert, danke für 
die Idee.

Gruß

Thomas

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Thomas Burkhart wrote:
> Vom Verhältnis her passt der Spannungsteiler oder?
>
> D.h. besser 300 : 200 kOhm?

Drei zu zwei, das macht 40% am Abgriff. Oder andersherum, die 
Eingangsspannung ist 2,5 mal so hoch wie die Spannung am Abgriff. Bei 
1,1 V Bandgap-Referenz beträgt die Schaltschwelle demnach 2,75 V. Die 
Bandgap-Referenz unterliegt zwar einer nicht zu knappen 
Exemplarstreuung, ist aber in sich sehr stabil. Du solltest den 
Spannungsteiler daher auf Dein Exemplar abgleichen. Du machst also nix 
falsch, wenn Du ein paar Lötpads für weitere Widerstände vorsiehst, mit 
denen Du den Spannungsteiler etwas trimmen kannst, denn die exakt 
passenden Widerstände wirst Du nicht (in einem Guss) bekommen.

>
> Das mit dem Selectiven Einschalten ist natürlich rafiniert, danke für
> die Idee.

Das hat sich bei einem Mega48 bewährt, der 6 Potis (Steuerknüppel) für 6 
Servokanäle (Impulserzeugung) auslesen muss. Da wird auch immer nur das 
Poti auf Plus gelegt, das gerade ausgemessen werden soll.

>
> Gruß
>
> Thomas

...

Autor: Mikrofun R. (mikrofun)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das mit dem selektiven Einschalten finde ich auch interessant. Weiss 
jemand zufällig, ob man die AVR IO-Ports auch hochohmig schalten kann, 
sodass weder Vcc noch 0V anliegt?

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Klar. Als Eingang.

Autor: Mikrofun R. (mikrofun)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke! Muss ich die Pullups auch wegschalten?

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kommt dir die Frage nicht selber etwas blöd vor?

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.