Ich habe hier ein Sensor-Modul, auf Basis eines ESP8266, welches aus einer Kombination aus Solarzelle/Akkus mit Energie versorgt wird. Zur Überprüfung des Ladezustandes des Akkus, habe ich bisher die Spannung der Akkus via ADC (des ESP) ermittelt, mit den eigentlichen Messwerten übermittelt (Kurvenverlauf, siehe Bild) und daraus entsprechende Aktionen (z.B. eine Mail) angetriggert.
Jetzt möchte ich den (einen!) ADC-Eingang des ESPs für etwas anderes verwenden, aber trotzdem die "Akku-Zustandsüberwachung" beibehalten! In dem Sensor-Modul soll dazu kein zusätzlicher externer ADC verbaut werden! Ich suche also nach einer einfachen Möglichkeit, das Unterschreiten eines bestimmten Spannungswertes irgendwie "digital" im Sensor-Modul, strom- und zeitsparend(!), zu detektieren/erkennen/übermitteln.
Irgendwie kam mir z.B. ein NE555 in den Sinn, weiß aber nicht so richtig wie.... Hat jemand Ideen dazu bzw. etwas noch viel einfacheres?
Wenn du nur eine feste Spannungs-Schwelle hast, gibt es auch spezielle Überwachungs-Chips, bestehend aus Referenz, Komparator, und Timer, z.B. MAX803 (und viele xxx803-Klone) oder TLV840.
Zum umschalten der 2 Spannungen auf den einen Eingang des ESP8266 kann ein MAX325 verwendet werden. Der ESP8266 läuft allerdings mit 3,3V, das muss bei der weiteren Planung berücksichtigt werden.
Es wird ein GPIO des ESP8266 benötigt um zwischen den 2 Spannungen umzuschalten.
Und selbst wenn jetzt einige die Nase rümpfen..die Umschaltung kann auch mit einem kleinen (bistabilen) Relais gemacht werden. Für ein bistabiles wären allerdings 2 GPIO erforderlich.
Und selbst wenn jetzt einige die Nase rümpfen..die Umschaltung kann auch
mit einem kleinen (bistabilen) Relais gemacht werden.
Das tun aber nur Palmface-Leute. Umschalten per Multiplexer ist ja schliesslich der normale Standard der in jeder MCU drin ist die viele ADC Eingaenge hat.
Ich weiss aber nicht ob ich fuer so eine banale Anwendung so einen megateuren MAX verwenden wuerde. Da sollte es ein 74HC4053 auch tun. Oder halt der oben schon erwaehnte 3157. Aber nicht das bei dem wieder Leute beim loeten ins schwitzen kommen. :-p
Naja, du brauchst eigentlich nur ein RC Glied... C alleine reicht nicht ganz.
Du startest indem du den gpio ausreichend lange Low schaltest... Also den C auf 0V entladen.
Jetzt schaltest du um auf digital Input und wartest bis ein high zurück kommt.
Die Exponentialfunktion für den Ladevorgang, die Schaltschwelle und die benötigte Zeit sie zu erreichen sagen dir dann wie hoch die Eingangsspannung ist.
Das ganze funktioniert ok. Die Zeitmessung ist Recht kritisch und die Schaltschwellen auch. Temperaturabhängig ist das also schon verglichen mit einem echten ADC.
Du kannst natürlich über diese Methode auch die stabile Versorgungsspannung messen und so on-fly einen Korrekturwert ermitteln.
Im Grunde ist das ein Single slope Wandler.
Eingesetzt wird das übrigens auch bei Touch Sensoren. Dort misst du aber die kapazität und alles andere ist in der Rechnung fix....wobei dort üblicherweise nur die Timer Werte verglichen werden und gar nicht die wahre Kapazität ermittelt wird.
Eigenbau "ADC". Kondensator und Widerstand davor sind bekannt, der GPIO zieht aktiv auf low und geht dann auf (no Pullup/-down) Eingang und misst die Zeit, bis er high liest. Taugt zumindest für "Betriebsspannung wie immer" oder "weniger".
Irgendwie etwas mysteriös.
Kein externer ADC, aber ein NE555 mit Haufen Außenschaltung wäre OK.
Neben den bereits erwähnten Methoden gibt es auch noch fertige Superviser / Volltage / Power Monitor Bausteine von diversen herstellen.
Vielleicht ist da noch was dabei.
Wenn du natürlich ums verrecken mit dem auskommen musst was in der Kiste mit dem alten Radio auf der einsamen Südseeinsel drin ist, dann sag halt was dris ist, Röhren, Relais ?
nochmal zu den Randbedingungen: es handelt sich um ein Sensormodul, welches aus einer Kombination aus Solarzelle/Akku möglichst lange autonom funktionieren soll. Das Ding sendet alle 5min die Sensorwerte via ESP-Now an den entsprechenden Empfänger und befindet sich dazwischen im DeepSleep. D.h. also, der Stromverbrauch sollte möglichst gering und die Wachzeit möglichst kurz sein. Die Wachzeit liegt derzeit bei ca. 160-170ms.
Sollte die Versorgungsspannung des Akkus doch mal unter eine kritische Grenze fallen, soll dies in den Daten mitgesendet werden.
Der TO will einfach wissen ob Die Spannung unter einem gewissen Wert liegt.
Das geht mit einem Komperator IC z.B LM339 damit kannst Du Spannungen vergleichen und bekommst ein Digitales Ausgangsignal ob die eine Spannung größer ist oder nicht.
Dazu brauchst Du noch eine Referenzspannung die kannst Du mit einer Zenerdiode und einem Widerstand erzeugen
Er konnte auch die Betriebsspannung mit einem Digitalvoltmeter messen und per Videokamera in en ESP8266 zur OCR Auswertung bringen ganz ohne Analogeingang, ABER WARUM ?
Es geht mit 1 IC, ohne weitere Teile, mit einem 1/60000 Bruchteil des 1mA Stromverbrauchs eines LM339 und den 5mA für die Z-Diode.
Ich habe mir gerade ein paar Switch-/Multiplex-ICs angeschaut, die
verbrauchen recht hohen Strom (20...30mA).
Zeig mal, bei welchen Bausteinen du diesen Wert wo im Datenblatt gefunden hast. Seit es CMOS gibt (also seit Ende des letzten Jahrtausends), ist ein solch hoher Eigenbedarf bestenfalls noch ab 100MHz aufwärts anzutreffen.
habe ich bisher die Spannung der Akkus via ADC (des ESP) ermittelt
...
Jetzt möchte ich den (einen!) ADC-Eingang des ESPs für etwas anderes
verwenden, aber trotzdem die "Akku-Zustandsüberwachung" beibehalten!
Dein Betreff ist dämlich gewählt. Eine Spannung messen oder den Wert überwachen sind zwei verschiedene Dinge.
Wenn du die Spannung messen willst, würde ich zu einen Analogmutiplexer raten, der den einen ADC-Eingang auf nahezu beliebig viele Quellen aufschaltet. Das machen übrigens µC mit mehr als einen ADC-Eingang genauso. Die kanonische Wahl wäre der 4051 aus der 4000er CMOS Reihe, den es von verschiedenen Herstellern gibt. Wenn es wirklich nur um 2 Quellen geht, reicht auch die Hälfte eines 4066. Oder ein beliebiger, modernerer Ersatz.
Wenn du die Akku-Spannung nur überwachen willst, ist das Mittel der Wahl ein Schmitt-Trigger. Also irgendein Bauteil, das eine exakt definierte Schaltschwelle hat. Traditionell nimmt man einen dafür einen Komparator wie LM393. Aber ein OPV tut es auch. Bei Abstrichen an die Genauigkeit auch ein viertel eines 4093. Oder ein Spannungsüberwachungs-IC wie es verschiedenste Hersteller anbieten. Eine extra Referenzspannung brauchst du nicht, der ESP8266 hat ja wohl eine stabile 3.3V Versorgung.
Ach ja, einen oder mehrere GPIO brauchst du natürlich auch.
Dein Betreff ist dämlich gewählt. Eine Spannung messen oder den Wert
überwachen sind zwei verschiedene Dinge.
es sind beide Worte im Betreff. Man kann z.B. überwachen durch messen ;-)
Ich glaube, es waren eine Menge gute Ideen dabei, die erstmal verarbeitet werden müssen. Das RC-Glied finde ich besonders smart.
Wenn ich noch andere Anregungen brauche, melde ich mich wieder.