Ich versorge einen Arduino mit einer 5-V-Batterie (3,7 V für ein Step-up-Modul) und muss die Spannung messen. Angenommen, die Batterie liefert hohen Strom . Ist es sicher, die Spannung über Analog In zu messen? Wie in diesem:
Der Grund, den ich frage, ist, dass ich nicht viel über die ADC-Architektur und die Einschränkungen des Arduino weiß. Normalerweise würde ich dies aus Sicherheitsgründen tun:
Sind die Verbindungen im ersten Diagramm für den ADC sicher? Danke im Voraus!
Hinweis: Eine ähnliche Frage wurde hier gestellt: ( Überwachung des Gleichstromverbrauchs ), beantwortet jedoch nicht die Frage nach hohen Strombelastungen der Batterie.
Antworten:
Überprüfen Sie das Datenblatt auf den Eingangsstrom an einem E / A-Pin. Dies hängt vom genauen Reglertyp Ihres Arduino ab. Es wird wahrscheinlich als Eingangsleckstrom-E / A-Pin bezeichnet und liegt in der Nähe von 1 μA .
Hier ist ein typisches ATmega-Datenblatt, das unter Uno / Duemilanove / ... verwendet wird. Den Parameter finden Sie auf Seite 304. Überprüfen Sie das Datenblatt Ihres spezifischen Controllers auf genaue Details.
Wenn Sie eine 3,7-V-Batterie und einen Aufwärtswandler verwenden, um 5 V an den Controller zu liefern, können Sie den Akku direkt an den Analogeingang Ihres Controllers anschließen. Wenn jedoch die Ausgangsspannung des Aufwärtswandlers unter die Spannung der Batterie fällt (aus welchem Grund auch immer), wird Ihr gesamtes Arduino über den analogen Eingangspin gespeist, und das ist es, was Sie nicht wollen. Alle Eingangspins sind gegen Überspannung geschützt, was dieses Verhalten ermöglicht. Die Dioden sind jedoch nicht für Dauerströme ausgelegt. Fazit: Es ist am besten, einen Vorwiderstand zwischen Batterie und Eingangspin einzubauen.
Jetzt hängt Ihre Messung von der Genauigkeit der 5-V-Stromversorgung ab. Je nachdem, welchen genauen Regler Sie haben, stehen verschiedene interne Referenzspannungen zur Verfügung, die weitaus genauer sind als die Versorgungsspannung. Wenn Sie Masse (R2) einen zusätzlichen Widerstand hinzufügen, können Sie eine solche Referenz verwenden, um die Eingangsspannung genau zu messen. Dies wird als (ohmscher) Spannungsteiler bezeichnet. Bei dem angegebenen Verhältnis beträgt die Spannung am Eingangspin 1 V, wenn die Batteriespannung 3,7 V beträgt:
simulieren Sie diese Schaltung - Schema erstellt mit CircuitLab
quelle
Eine andere Möglichkeit besteht darin, die interne V1-V-Bandlückenspannungsreferenz des Arduino zu verwenden, um den Wert von VCC zu bestimmen, ohne zusätzliche externe Teile zu verwenden, wie unter diesen beiden Links beschrieben:
http://jeelabs.org/2012/05/04/measuring-vcc-via-the-bandgap/
und
http://arduino.cc/forum/index.php?topic=88935.0
Das einzige Problem ist, dass Sie einen Kalibrierungswert für die interne 1,1-V-Bandlücke ermitteln müssen, da diese um bis zu 10% abweichen kann.
Dies würde jedoch keine zusätzlichen Teile erfordern und es Ihrem atmega ermöglichen, die Spannung seiner Stromquelle zu bestimmen.
quelle