Schritt 7 - die finale
Schaltung
Jetzt sind die ersten Bauteile auf der Lochraster-Platte verbaut.
Noch siehts so aus:
Und klappt :-)
Sogar mit einem Akku-Pack aus vier Mignon-Zellen (Eneloop,
1.900mAh).
Bevor alles auf der Lochraster-Platte verbaut wird, wollte ich noch
die oben angedachte Spannungs-Überwachung einbauen.
Weil die eigene Versorgungsspannung gemessen werden soll, kann es
wohl nicht schaden, analogReference(INTERNAL)
zu verwenden.
Damit können dann maximal 1.1V gemessen werden. Also brauchts einen
Spannungsteiler auf 1 / 5.
Und weil wenig Strom verbraucht werden soll, habe ich Widerstände
mit 4MΩ und 1MΩ verwendet.
Darüber würde konstant 1µA fließen.
Leider passten die vom ArduinoUNO gemessenen Werte nicht so ganz zu
den erwarteten Werten.
Hätte 5V sein sollen, es wurden aber nur 4.55V gemeldet.
Daraufhin habe ich mal mit einem Multimeter gemessen.
Über beiden Widerständen hatte ich 5.06V.
Über dem 1MΩ hatte ich 0.48V, über dem 4MΩ waren es 2.28V.
Uppps...wie geht das denn?
Dann erstmal den A0-Pin des ArduinoUNO gezogen...brachte keine
Änderung.
Hat ein paar Sekunden gedauert, bis mir dann klar wurde, dass das an
dem Innenwiderstand des Multimeters liegen muss.
Und das wird dann wohl auch das Problem des ArduinoUNO-Analog-Pins
sein.
Wenn ich nun aber niederohmiger werden muss, verbrate ich konstant
unverhältnismäßig viel Strom.
Und das nur, um 2x am Tag die Spannung messen zu können. Das geht
nicht. Das muss abschaltbar sein.
Glücklicherweise habe ich ja schon was abschaltbares - nämlich den
3.3V-Regler.
Und an dessen VIN liegen abschaltbare
5V an. Perfekt :-)
Also werden zwei Widerstände im Kilo-Ohm-Bereich vor den 3.3V-Regler
zwischen +5V und GND geschaltet.
Natürlich habe ich keinen Widerstand mit 4KΩ. Nur 4.7KΩ. Aber 8KΩ
und 2KΩ (1KΩ+1KΩ) ergibt auch das gewünschte Verhältnis.
Das Multimeter misst über der Reihenschaltung der beiden
1KΩ-Widerstände 0.995V, ein zweites Multimeter 0,987V.
Der ArduinoUNO aber 5.15V.
Laut Multimeter sollte er 0.995V*5=4,975V messen - was einer
Abweichung von 0,175V entspricht.
Messe ich stattdessen die Spannung aus dem Labornetzteil, habe ich
im Bereich zwischen 4.0V und 5.5V eine relativ konstante Abweichung
von 0.1V.
Damit kann man leben. Hoffentlich ändert sich das nicht wieder in
dem Moment, wo die gemessene Spannung die eigene Versorgungsspannung
ist.
Der finale Schaltplan sieht damit folgendermaßen aus:
Doch nicht final. :-(
Wenn das Relais eingeschaltet wird und damit auch der 3.3V-Regler
plötzlich Strom zieht, macht der ATmega328 einen Reset.
Das hat zur Folge, dass das Relais rattert...und natürlich
nix funktioniert.
Auch der Austausch des billigen China-Relais gegen ein Pin-gleiches
von Finder hat keine Änderung gebracht.
Etwas besser sah es nach Einbau eines 2200µF Elkos aus.
Damit konnte ich das Finder-Relais immerhin ohne den 3.3V-Regler vom
ATmega328 an- und ausschalten - nur leider nützt mir das rein gar
nichts.
Nach Entfernen des Relais und Dauerbetrieb des 3.3V-Regler
funktioniert alles bestens.
Die Schaltung zieht dabei konstante 6.4mA (mit einem ESP8266 ohne
roter LED) im Schlafmodus, 140mA bei WLAN-Kommunikation.
Für Akku-Betrieb ist das jetzt unbrauchbar.
Wenn die Akkus 1.900mAh haben und ich konstant 6.5mA ziehe, reicht
eine Akku-Ladung gerade mal für 292 Stunden bzw. 12 Tage.
Selbst die Mono-Zellen mit ihren 10.000mAh würden es nur auf zwei
Monate bringen.
So kann das nicht bleiben.
Aber ich kann immerhin schon mal den Dauerbetrieb üben, ohne meinen
Rechner durchlaufen lassen zu müssen.
Die Programme sehen mittlerweile so aus:
SocketServerESP8266v3.py
ESP8266-AnsteuerungV5.ino
...to be continued.