), doch laufend auf das Modul zu schauen, habe ich irgendwie keine Lust drauf. Ideal wäre doch eine fortlaufende Messung mit einem Plot in Fhem.
Gesagt getan: Ich habe hier ein Witty-Board genommen (ein NodeMCU geht auch). Beim Witty-Board muss man den LDR und den Widerstand entfernen, der den Spannungsteiler beinhaltet. Beim NodeMCU kommt man direkt am ADC-Pin dran. Wichtig: Der A/D Wandler beim EPS-8266 darf nur mit 1 V belastet werden, deshalb muss man sich einen Spannungsteiler aus Widerständen bauen. Alternativ kann man auch ein Spannungs-/ Strommesser als Modul kaufen (-> amazon: 5xStandard Voltage Sensor Modul Test Electronic Bricks fuer Robot Arduino
). Habe ich auch gemacht, ist aber noch auf dem Versandweg.
Zurück zum Spannungsteiler: Für meine zu messende Spannung, welche ich in meinem Fall von 0 bis 15 V dimensioniert habe, habe ich ein Potentiometer und einen Festwiderstand von 10 kOhm genommen. Dann habe ich mein Spannungsquelle auf 15 V gesetzt und am Poti so lange gedreht, bis ich auf 1 V kam. D. h. die maximale Spannung, welche am ADC anliegen darf. Das wird später der Wert 1024 am ADC sein. Verbunden wird das Ganze mit 15 V – Poti – ADC (Board) – 10 kOhm – Masse.
Softwaremässig sieht die Sache so aus: Man flasht zunächst das Witty-Board oder den NodeMCU mit EasyESP (-> Infos in meinem Blog-Beitrag hier) und legt folgende Konfiguration im Menü fest:
Dann wählt man bei BattSolar die Edit-Schaltfläche und trägt in eine IndexID ein und fügt bei BattSolar ein: %value%*0.014570312 . (15 V / 1024). Damit wird in den Values sofort die richtige Spannung übergeben. Bei mir wich die Spannung ungefähr um 0.2 V ab, ist aber noch Beta-Phase.
In Fhem kann man dann via MQTT (danke nochmal an das Fhem Forum) die Werte jede Minute abfragen
In Fhem sieht das dann so aus:
# Device Batteriespannung am Solar-Regler Batterie-Ausgang
# Easy ESP Software
define WittyBoard MQTT_DEVICE WittyBoard
attr WittyBoard IODev MyBroker
attr WittyBoard autoSubscribeReadings /newdevice/#
attr WittyBoard devStateIcon 1:10px-kreis-rot 0:10px-kreis-gruen
attr WittyBoard publishSet_Blau 1 0 /newdevice/gpio/13
attr WittyBoard publishSet_Gruen 1 0 /newdevice/gpio/12
attr WittyBoard publishSet_Rot 1 0 /newdevice/gpio/15
attr WittyBoard room MQTT
attr WittyBoard stateFormat state
attr WittyBoard subscribeReading_ /newdevice/gpio/13
attr WittyBoard subscribeReading_BattSolar /newdevice/BattSolar
attr WittyBoard subscribeReading_RSSI /newdevice/RSSI
attr WittyBoard subscribeReading_Taster /newdevice/Taster
attr WittyBoard subscribeReading_Uptime /newdevice/Uptime
attr WittyBoard subscribeReading_blau /newdevice/Blau
attr WittyBoard subscribeReading_gruen /newdevice/Gruen
attr WittyBoard subscribeReading_rot /newdevice/Rot
define FileLog_WittyBoard FileLog ./log/WittyBoard-%Y.log WittyBoard:BattSolar:.*
define SVG_FileLog_WittyBoard_1 SVG FileLog_WittyBoard:SVG_FileLog_WittyBoard_1:CURRENT
attr SVG_FileLog_WittyBoard_1 label "Solarpanel 10W Akkuspannung"
attr SVG_FileLog_WittyBoard_1 room Stromverbrauch
define WittyBoard_taste notify WittyBoard:Taster.* {\
system ("wget -q -O - 'http://192.168.178.45/control?cmd=GPIO,13,0'");;\
system ("wget -q -O - 'http://192.168.178.45/control?cmd=GPIO,15,0'");;\
system ("wget -q -O - 'http://192.168.178.45/control?cmd=GPIO,12,0'");;\
if ( (ReadingsVal("WittyBoard", "Taster", "0")) == 1.00 ){\
system ("wget -q -O - 'http://192.168.178.45/control?cmd=GPIO,13,1'");;\
}\
else\
{\
system ("wget -q -O - 'http://192.168.178.45/control?cmd=GPIO,13,0'");;\
}\
}
Bemerkung: ich habe hier im Source-Code noch manches Spielzeug mit hinzu programmiert,
Fazit: Das Modul läuft mittlerweile einige Wochen stabil, hier ein Plot für Fhem über einen Tag. Natürlich kann man mit dem Modul auch andere Spannungen messen. Dabei sind natürlich die Spannungsteiler Widerstände wieder neu zu berechnen. Also erst mit dem abgeklemmten NodeMCU oder Witty-Board messen, das bei angelegter maximaler Spannung am Spannungsteiler 1 V herauskommt und dann die Widerstände variieren.
- Bauteil-Liste:
Nodemcu oder Wittyboard (amazon.de -> NodeMCU, Schnelle Lieferung )
100 KOhm Poti (amazon.de-> Potentiometer-Set, schnelle Lieferung )
10 Kohm Widerstand (amazon.de -> Widerstands-Set, schnelle Lieferung ) - Amazon: Passende Steckbrücken
- Amazon: Breadboards zum Prototyp-Aufbau
- Blogbeitrag über selbstgebaute Adapter (Steckbrücken / Pinheaders)
[sgmb id=“1″]