ich habe probiert den folgenden Sensor an einen ESP8266 anzubringen und damit dann zu messen, was ich an Ampere durch die Leitung bekomme.
Leider bin ich da nicht wirklich erfolgreich gewesen, die Zahlen passen leider vorne und hinten nicht.
Da ich mich aber leider auch nicht so mega gut auskenne mit Strom, was genau diese ganzen Angaben auf dem Mess-Gerät (Hall Sensor) bedeuten etc. wird da sicherlich irgendwie ein Rechenfehler drin sein.
esphome:
name: solarproduktion
friendly_name: Solarproduktion
# d1 mini pro but only with 4MB -> d1_mini
esp8266:
board: d1_mini
restore_from_flash: no
sensor:
- platform: ct_clamp
sensor: adc_sensor
name: "Power Sensor Live Power"
update_interval: 5s
accuracy_decimals: 0
filters:
- calibrate_linear:
- 0 -> 0.0
- 0.0006 -> 5.0
- platform: adc
pin: A0
id: adc_sensor
internal: true
update_interval: 5s
filters:
- multiply: 3.3
switch:
- platform: factory_reset
name: Restart with Factory Default Settings
# Enable logging
logger:
# Enable Home Assistant API
api:
ota:
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Solarproduktion Fallback Hotspot"
password: "xxxxx"
captive_portal:
Bei den calibrate werten habe ich rumprobiert, aber leider ohne Erfolg.
Das Problem, in meinem Log werden halt nur in den “Raw” Daten nur 3 Kommastellen angezeigt. Dahinter scheint aber mehr zu sein…
Ab und an kommt auch 0.001A, manchmal aber nur 0.000A…
'Power Sensor Live Power' - Raw AC Value: 0.001A after 246 different samples (1230 SPS)
Signal usw. kommt, aber leider hab ich echt kein Plan warum da nur 2.7V kommen, wenn ich mit 13V und 4.0A Konstant eine Batterie auflade…
Vielleicht kennt sich ja hier einer besser aus? Würde mich sehr freuen und sicherlich vielen anderen auch helfen
Hallo @Reudiga,
ich betrachte erstmal den Hall Sensor unabhängig vom ESP.
Was sagt das Datenblatt des Sensors für einen Strom von 4 A DC, welche Ausgangsspannung in V soll da rauskommen? Kannst Du diese am Eingang des ESP messen? Er macht ja erstmal nix anders als Strom zu Spannung.
Dies muss erstmal stimmen, die ESP Bearbeitung ist dann ein anders Thema um aus Spannung eine Stromanzeige zu machen.
Hallo @Reudiga
wenn ich alles richtig deute, löst dein Sensor 6,66 mV/A auf. (1/150)
D.h. es bei +4 A2,5266 Volt am Eingang des ESP. -150 A(1,875 V) ← 0 A(2,5 V) → +150 A(3,125 V)
Was ist denn Dein Anwendungsfall? 150 A kommt mir etwas dicke vor und geht auf Kosten der Auflösung. Es gibt diese Sensoren ja auch kleiner und damit ggf. eine bessere Auflösung
Bei 1,3 A / Bit und den Ungenauigkeiten / ADC Schwankungen der Praxis kannst Du Dich auf keine Kommastelle verlassen und alles unter ein paar Ampere ist, ist nur ein Hinweis das Strom fließt.
Der ESP ADC hat 10 Bit, also eine digitale Auflösung von 1024.
Der ESP8266 CHIP hat eine max. analoge Eingansspannung von 1 V, DEV-Board idR 3,3 V über onBoard Spannungsteiler.
Daher ergibt sich ein raw Input von 784 bei +4 A und 776 bei 0 A.
Dies musst Du erstmal ohne Anpassungsschnickschnack im ESP als Eingangswert sehen.
@Reudiga
Sorry, YAML ist nicht gerade mein Steckenpferd und würde mich einige Stunden mit Try&Error kosten. Ich bin mit altmodischen Programmiersprachen groß geworden.
Das können hier genug Leute besser als ich.
Ist echt nicht so einfach, wenn man sowas noch nie gemacht hat und nicht so die Ahnung davon und auch nicht von ESPHome hat
Aber vielleicht kann ja jemand anders helfen?
Hab jetzt den Code, mal ohne irgendwelche Mulitply oder so
esphome:
name: solarproduktion
friendly_name: Solarproduktion
# d1 mini pro but only with 4MB -> d1_mini
esp8266:
board: d1_mini
restore_from_flash: no
sensor:
- platform: ct_clamp
sensor: adc_sensor
name: "Power Sensor Live Power"
update_interval: 5s
#accuracy_decimals: 0
filters:
#- calibrate_linear:
# - 0 -> 0.0
# - 0.0006 -> 5.0
- platform: adc
pin: A0
id: adc_sensor
internal: true
update_interval: 5s
#filters:
# - multiply: 3.3
switch:
- platform: factory_reset
name: Restart with Factory Default Settings
# Enable logging
logger:
# Enable Home Assistant API
api:
ota:
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Solarproduktion Fallback Hotspot"
password: "xx"
captive_portal:
Da bekomme ich angezeigt:
[07:49:03][D][ct_clamp:040]: 'Power Sensor Live Power' - Raw AC Value: 0.001A after 154 different samples (770 SPS)
[07:49:03][D][sensor:093]: 'Power Sensor Live Power': Sending state 0.00073 A with 2 decimals of accuracy
[07:49:06][D][sensor:093]: 'adc_sensor': Sending state 0.83398 V with 2 decimals of accuracy
Warum 0.83398V?
Wenn ich das jetzt Multiply mit 3.3 mache, bin ich halt bei 2,75V oder so, was ja viel zu viel wäre bei 4A die da eigentlich fließen… ich blicks echt nicht
EDIT:
Hab am Sensor selbst hinten zwei solche Regler die man mit einem Schraubendreher ändern kann. Wenn ich da drehe, komme ich bei 4A auf 0.767xxV. Was ja schon nah dran wäre…
Oder hat das irgendwie damit zutun, das ich gerade 12V 4A teste? Also wegen 12V oder so nur?
Lade gerade einen Akku mit 12V und 4A auf, um daran halt Plus zu prüfen
[08:15:34][D][ct_clamp:040]: 'Power Sensor Live Power' - Raw AC Value: 0.000A after 1 different samples (5 SPS)
[08:15:34][D][sensor:093]: 'Power Sensor Live Power': Sending state 0.00000 A with 2 decimals of accuracy
[08:15:37][D][sensor:093]: 'adc_sensor': Sending state 0.76758 V with 5 decimals of accuracy
@Reudiga 786 ist ja schonmal nicht schlecht zu den errechenten 784.
Ich denke damit kann man arbeiten. Jetzt braucht Du noch einen 'Code-Künstler" der daraus 4 A in der Anzeige macht. Ich bin auf den Code gespannt.