Hallo Gemeinde. Ich verwende ein Arduino Pro Mini Board und anfangs direkt mit einer Spannung aus 2x AA Akkus (2,8V - 1,8V). Jetzt musste ich doch den MCP1700 verbauen, da der DS1820 eine konstante 3V Spannung benötigt. Sollte alles hinreichend bekannt sein. :-) Nun geht es mir darum, den Zeitpunkt, wann meine Spannungsversorgung schlapp macht bzw. wann die Batterie "leer" sind zu ermitteln mit dem ADC des Atmega328p. Im Netz habe ich erfahren, dass man hierfür die interne Referenzspannung hernehmen kann, diese aber vorher mit dem Multimeter genau bestimmen muss. Die Referenzspannung schwankt anscheinend um 10% und kann daher zwischen 1 - 1,2V liegen... Gut, könnte ich machen. Allerdings benötige ich ja dann einen Spannungsteiler... Jetzt meine eigentlich Frage: Der MCP1700 liefert mir doch auch eine konstante Spannung oder? Wie genau ist die? Ich setze momentan den Typ für eine 3,3V Spannung ein. Hätte es irgendwelche Vorteile diese herzunehmen? Man Batteriefach kann 3xAA aufnehmen. Da ich mir noch nicht sicher bin, welchen Typ ich einsetze (Akku oder Batterie) schwankt die Eingangsspannung zum MCP1700 von 4,5/4,2 bis runter auf 2,7V. Der MCP dürfte ja noch bis ca. 3,1V funktionieren... (meine Schaltung zieht max. 25mA).
Sven Scholz schrieb: > Allerdings benötige ich ja dann einen Spannungsteiler... Brauchst du nicht. DU kannst als ADC Referenz die Versorgunsgspannung einstellen und dann über den ADC Multiplexer die interne Referenz messen (also den Spieß umdrehen).
Vorsicht: Die interne Referenz des Atmegas ist auf ca. +/- 10% genau, sie schwankt aber nicht um diesen Wert. Diese "Genauigkeit" ist (u.a.) herstellungsabhängig. Wenn du die Referenz in der Zielschaltung misst ist diese eigentlich sehr genau/stabil und zwar so, dass es idR für 10 bit ausreichend ist. Der MCP1700 ist mit seinen 0.4% Output Voltage Regulation und den 1.0% Load Regulation nicht wirklich als Referenz für einen 10 bit ADC geeignet. Auf der anderen Seite musst du dich nur fragen, wie genau brauchst du es wirklich. Ich denke, es würde genügen die Batterie-Spannung auf 1 bis 2 % genau zu messen und dafür wäre auch der MCP1700 ausreichend. Ich mein, ob du jetzt bei 3.10 V oder 3.05V sagst, dass der Akku leer ist, kann ja eigentlich nicht soo dramatisch für den DS1820 sein. ;)
M. K. schrieb: > Der MCP1700 ist mit seinen 0.4% Output Voltage Regulation und den 1.0% > Load Regulation nicht wirklich als Referenz für einen 10 bit ADC > geeignet. In der von Stefanus vorgeschlagenen Vorgehensweise muss sie das auch nicht, denn gerade deren Schwankung soll ja bestimmt werden. Sie ist auch nicht "die Referenz", sondern soll nur so eingestellt werden und die interne, konstante Ref wird gemessen - die ist der Bezug für die Rechnung.
HildeK schrieb: > In der von Stefanus vorgeschlagenen Vorgehensweise muss sie das auch > nicht, denn gerade deren Schwankung soll ja bestimmt werden. Sie ist > auch nicht "die Referenz", sondern soll nur so eingestellt werden und > die interne, konstante Ref wird gemessen - die ist der Bezug für die > Rechnung. Keine Frage, kann man so machen wenn mans so braucht. Ist hier aber nicht der Fall. Zumindest denke ich mir, dass das ziemlich viel Aufwand dafür ist, nur um das Schätzeisen DS1820 nicht bei unter 3V zu betreiben ;)
M. K. schrieb: > Zumindest denke ich mir, dass das ziemlich viel Aufwand > dafür ist, nur um das Schätzeisen DS1820 nicht bei unter 3V zu betreiben SW-Aufwand? Oder was? Er will mit dem ADC ohne Spannungsteiler (zusätzlicher Stromverbrauch bei Batteriebetrieb) die Versorgung überwachen. Es ist doch nichts Einfacher als das, nicht mal eine zusätzliche Leitung wird benötigt, nur eine andere Formel zur Bestimmung der Spannung. Damit wird nach einer notwendigen Kalibrierung die Versorgungsspannung mit der Genauigkeit der internen Referenz bestimmbar sein. Der MCP1700 ist w.c. mit ±3% spezifiziert. Ob das dem DS1820 reicht, weiß ich nicht, seine untere Grenze liegt bei 3.0V. Zu wissen, ob man die 3.0V unterschreitet, ist also sinnvoll. Oder ich verstehe deinen Einwand nicht :-).
HildeK schrieb: > Oder ich verstehe deinen Einwand nicht :-). Mein Einwand war nur, da der TE sich fragt ob die interne Referenz genau genug ist um die Versorgung damit zu messen obs nicht besser sei den MCP1700 zur Messung zu nutzen. Und hier ist mein Einwand nur, dass der MCP1700 noch viel ungenauer ist als die interne Referenz ;)
M. K. schrieb: > HildeK schrieb: >> Oder ich verstehe deinen Einwand nicht :-). > > Mein Einwand war nur, da der TE sich fragt ob die interne Referenz genau > genug ist um die Versorgung damit zu messen obs nicht besser sei den > MCP1700 zur Messung zu nutzen. Das ergibt nach wie vor keinen Sinn. Der MCP1700 ist ein Spannungsregler. Mit dem kann man so oder so nichts messen. Auch sonst ist leidlich unklar, was genau der TE machen will. Mit seinen 2 Primärzellen kommt er auch mit dem MCP1700 nicht auf 3V. Also wird er wohl auf 3 oder 4 Zellen upgraden müssen. Nehmen wir an, es sind 3 Zellen. Aus denen könnte er den ATMega nach wie vor direkt betreiben. Dann kann er die Batteriespannung vor dem MCP1700 messen, was IMHO Sinn ergeben würde aber die Kommunikation mit dem DS1820 erschwert. Oder er betreibt den ATMega ebenfalls an den stabilisierten 3V. Dann mißt er die meiste Zeit stabile 3.0V und erkennt die leere Batterie erst, wenn es eigentlich schon zu spät ist. Die Genauigkeit der Referenz spielt für diese Anwendung aber keine Rolle, das heißt nur daß er nicht einfach eine hartcodierte Schwelle für den ADC-Meßwert verwenden kann, sondern jeden µC einmalig kalibrieren muß. Wenn er die 3V mißt, kann das sogar automatisch geschehen. Denn er bekommt dann die meiste Zeit über einen leidlich konstanten Wert vom ADC und muß nur die Abweichung detektieren.
Axel S. schrieb: > Das ergibt nach wie vor keinen Sinn. Der MCP1700 ist ein > Spannungsregler. Mit dem kann man so oder so nichts messen. Der soll ja auch nur als Referenz für den ADC des AVRs herhalten. Wenn man den Thread liest ist das klar. Axel S. schrieb: > Auch sonst ist leidlich unklar, was genau der TE machen will. Mit > seinen 2 Primärzellen kommt er auch mit dem MCP1700 nicht auf 3V. Also > wird er wohl auf 3 oder 4 Zellen upgraden müssen. Und auch hier: Lesen hilft. Aktuell nutzt der TE nur zwei Zellen, sein Batteriefach bietet aber Platz für drei Zellen und dann passts auch für den MCP1700. Lies dir erst noch mal in Ruhe den Thread durch. ;)
M. K. schrieb: > Axel S. schrieb: >> Das ergibt nach wie vor keinen Sinn. Der MCP1700 ist ein >> Spannungsregler. Mit dem kann man so oder so nichts messen. > > Der soll ja auch nur als Referenz für den ADC des AVRs herhalten. Wenn > man den Thread liest ist das klar. Eigentlich nicht. Welchen Vorteil soll das bieten? Und es geht auch nur ausschließlich dann, wenn er den ATMega aus der unstabilisierten Rohspannung betreibt. > Axel S. schrieb: >> Auch sonst ist leidlich unklar, was genau der TE machen will. Mit >> seinen 2 Primärzellen kommt er auch mit dem MCP1700 nicht auf 3V. Also >> wird er wohl auf 3 oder 4 Zellen upgraden müssen. > > Und auch hier: Lesen hilft. Aktuell nutzt der TE nur zwei Zellen, sein > Batteriefach bietet aber Platz für drei Zellen Stimmt. Den Teil mit 3 Zellen hatte ich tatsächlich überlesen. Immerhin hatte ich das richtig geraten. Aus welcher Spannung er seinen ATMega betreiben will, schreibt er aber nicht. > und dann passts auch für den MCP1700. Naja. Eigentlich nicht. Für den 3.3V Typ schon gar nicht. Und auch mit dem 3.0V Typ kriegt er nicht die volle Energie aus den Zellen. Braucht der DS1820 wirklich konstante 3V? Dem Datenblatt entnehme ich das nicht. Da steht nominal 5V, minimal 2.8V. Würde gut zu 3 Zellen passen.
Hallo nochmal, danke für eure hilfreichen Antworten. Natürlich möchte die Spannung am MCP-Eingang, also die direkte Batteriespannung per ADC ausmessen. Alles andere macht wenig Sinn... (Direkt den Atmega328p über 3xAA zu speisen wird wohl nicht gehen, da ich ja dann 4,5V bekomme und dies der Atmega328p nicht verträgt. Auch andere Sensoren vertragen nur max. 3,6V.) Ich verwende somit die interne Referenzspannung... Damit kann ich aber dann doch nur Spannungen unter den ~1,1V messen oder? Danke!
Sven Scholz schrieb: > da ich ja dann 4,5V bekomme und dies der Atmega328p nicht verträgt. Er verträgt bis zu 5,5V ganz offiziell. Sven Scholz schrieb: > Ich verwende somit die interne Referenzspannung... > Damit kann ich aber dann doch nur Spannungen unter den ~1,1V messen > oder? Fast richtig. Die meisten AVR haben drei Reqferenzen zur Verfügung: 1) Versorgungsspannung (das wären dann die 4,5V) 2) 2,56V 3) 1,1V Du kannst in allen drei Fällen Eingangsspannungen von Null Volt bis zur Höhe der Referenzspannung messen. Bei vielen AVR Modellen kannst du außerdem eine der internen Referenzen relativ zur Versorgungsspannung messen. Dann ist VCC die Referenz und du misst die 1,1V Spannung. Siehe hier, erste Antwort: https://arduino.stackexchange.com/questions/50769/how-to-measure-the-supply-voltage-of-arduino-without-using-an-analog-pin
Axel S. schrieb: > Braucht der DS1820 wirklich konstante 3V? Dem Datenblatt entnehme ich > das nicht. Da steht nominal 5V, minimal 2.8V. Würde gut zu 3 Zellen > passen. Ich las zwar min. 3.0V, aber egal: Den Regler braucht er nicht! Sowohl der DS als auch der Mega sind in dem Bereich von 3 Batteriezellen fast ideal zu betreiben; gut, unten verliert man ein paar Prozent an Kapazität, wenn die 3.0V als Minimum für den DS korrekt sind - ob das relevant ist? Und dann ist es tatsächlich fraglich, ob man die Batteriespannung überwachen muss - allerdings kostet das auch nur ein paar Zeilen Code und einen Kalibriervorgang für jeden Mega. Aber auch ein wenig Energie ...
Axel S. schrieb: > Eigentlich nicht. Welchen Vorteil soll das bieten? Na das sag ich doch ;) Stefanus F. schrieb: > Fast richtig. Die meisten AVR haben drei Reqferenzen zur Verfügung: Und welchen AVR hat das Arduino Pro Mini Board? Genau, einen Atmega328P und der hat nur eine interne Referenz von 1.1 VDC ;)
M. K. schrieb: > Und welchen AVR hat das Arduino Pro Mini Board? Genau, einen Atmega328P > und der hat nur eine interne Referenz von 1.1 VDC ;) Ja. Mir ging es eher darum, klarzustellen, dass er auch größere Versorgungsspannungen als 1,1V messen kann, wenn er den Spieß umdreht (Referenz=aVCC und Multiplexer=1,1V).
Stefanus F. schrieb: > M. K. schrieb: >> Und welchen AVR hat das Arduino Pro Mini Board? Genau, einen Atmega328P >> und der hat nur eine interne Referenz von 1.1 VDC ;) > > Ja. Mir ging es eher darum, klarzustellen, dass er auch größere > Versorgungsspannungen als 1,1V messen kann, wenn er den Spieß umdreht > (Referenz=aVCC und Multiplexer=1,1V). Das hattest du ja schon oben geschrieben ;)
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.