Spannungsüberwachung ohne bekannte Referenz

12

Ich arbeite an einer kleinen Sensorplattform, deren Batterien leer sind. Ich würde gerne einen Alarm auslösen können, wenn die Spannung zu niedrig wird. Das Problem ist, dass alles, was ich zum Messen dieser Spannung verwende, von derselben Spannungsquelle gespeist wird. Für das, was es wert ist, starte ich Arduino Pro-mini-Klone (3,3 V) mit 4xAA-Akkus (anfangs 4,8 V), aber das System scheint bis auf etwa 2 V zu funktionieren, einschließlich des XBee-Senders.

Hat jemand clevere Ideen, wie man das macht? Es scheint, als würde alles, was die analogen Eingänge des ATmega-Chips verwendet, nur die Eingangsspannung mit sich selbst vergleichen. Überprüfen Sie vielleicht den Unterschied zwischen dem, was vom Regler kommt, und dem, was von den Batterien selbst kommt?

edebill
quelle

Antworten:

10

Die meisten (alle?) AVRs mit ADC haben eine interne Referenzspannung, die unabhängig von der Spannungsversorgung auf einen konstanten Wert geregelt wird. Überprüfen Sie Ihr Datenblatt ... in dem Chip, den ich verwende, ist es 2,56V. Es gibt ein Register, das zwischen dem Vergleich mit Vcc, AREF oder der internen Spannungsreferenz liegt. Sie haben es einfach so eingestellt, dass es mit der internen Spannungsreferenz verglichen wird, und einen Spannungsteiler verwendet, damit die maximale Spannung niemals über 2,56 V liegt.

davr
quelle
1
Dies ist normalerweise eine Bandlückenreferenz und eine der zuverlässigsten Referenzen. Sie sind über einen weiten Temperaturbereich sehr stabil.
Kortuk
Ich akzeptiere dieses, weil: a) es mir erlauben würde, die Spannung über die Zeit zu messen und b) mit Teilen, die ich bereits zur Hand habe, machbar sein könnte.
Edebill
7

Wie wäre es mit einem Versorgungsleiter wie diesen in Texas ?

Typischerweise überwachen sie die Versorgung und wenn sie unter einen festen Schwellenwert abfällt, ändert ein Ausgangsstift den Zustand.

Sie können dies dann mit dem nicht maskierbaren Interrupt- (oder Reset-) Pin Ihres Prozessors verbinden.

Steve Melnikoff
quelle
Das ist die beste Antwort - Sie brauchen wirklich eine Hardwarelösung, die ein Komparator + Impulsgenerator ist. Das Messen der Spannung mit einem ADC schützt Sie nicht vor schnellen Störungen, bei denen die Versorgungsspannung schneller abfällt, als der ADC dies messen kann.
Jason S
Treten solche Probleme im Akkubetrieb auf?
Edebill
Wenn Sie eine Hochstromlast haben, vielleicht.
Jason S
Oder wenn der 3,3V-Regler ausfällt!
Jason S
1

Wenn Ihr Arduino das Messen der internen Bandlückenreferenz nicht unterstützt, verwenden Sie einfach eine externe Referenz.

Die Spannung am Eingangspin wird von der Referenzdiode konstant gehalten, der gelesene Wert hängt jedoch von der Versorgung ab, da sich die ADCs auf die Versorgung beziehen. Wenn Ihre Referenz beispielsweise 1,0 V beträgt und Ihr ADC 512 von 1024 anzeigt, wissen Sie, dass die Spannungsschienen bei 2 V liegen.

Endolith
quelle