Ultraschall-Füllstandsmessung mit Arduino NodeMCU

User stellen ihre Haussteuerung vor

Moderator: Co-Administratoren

shooter
Beiträge: 38
Registriert: 04.09.2018, 18:41
Hat sich bedankt: 5 Mal

Re: Ultraschall-Füllstandsmessung mit Arduino NodeMCU

Beitrag von shooter » 16.05.2019, 09:06

Ich bekomme einfach keine Daten in das CUxD Device 90...egal was ich anstelle. Ich habe jetzt den Code an der Stelle verändert und schreibe in eine Systemvariable, das läuft auch soweit!

DJDieter
Beiträge: 168
Registriert: 11.01.2008, 14:41
Danksagung erhalten: 2 Mal

Re: Ultraschall-Füllstandsmessung mit Arduino NodeMCU

Beitrag von DJDieter » 17.05.2019, 09:55

Wenn die CUxD-Adresse im Script richtig ist, werden die Daten automatisch geschrieben.
Hier als Beispiel aus meinem Sketch:

Code: Alles auswählen

String levelCCUname = "CUxD.CUX9000018:1.SET_STATE";
Dann noch das CUxD-Gerät anpassen:
Screenshot.png
Screenshot.png (19.77 KiB) 1769 mal betrachtet
CCU3 und 3 LAN-Gateways mit 827 Kanälen auf 168 Geräten
CUxD mit 156 Kanälen auf 34 Geräten
Zusatzsoftware: HVL, XML-API, CUxD-Highcharts, NEO-Server, CL-Studio, Programmedrucken, CUxD, E-Mail, Philips Hue, Messenger, HQ WebUI, HomeHub
Anbindungen: Wolf eBus; NodeMCU-Ultraschall-Füllstandsmessung mit Temperatureinfluß; Fußbodenheizung mit Rücklauftemperaturbegrenzer (RTL)

opossum
Beiträge: 51
Registriert: 01.01.2018, 12:14

Re: Ultraschall-Füllstandsmessung mit Arduino NodeMCU

Beitrag von opossum » 05.08.2019, 14:06

Hallo,

habe nun die Hardware ans Rennen bekommen. Es wird mir auch ein Füllstand angezeigt. Temperatur wird auch geliefert.

Kannst Du mir bitte den Zusammenhang zwischen dem Wrapperdeviceparametern und der Füllhöhe erläutern? Da steige ich noch nicht durch.

Vielen Dank.

opossum

DJDieter
Beiträge: 168
Registriert: 11.01.2008, 14:41
Danksagung erhalten: 2 Mal

Re: Ultraschall-Füllstandsmessung mit Arduino NodeMCU

Beitrag von DJDieter » 05.08.2019, 15:02

Wenn die Temperatur nicht angezeigt wird, stimmt wahrscheinlich der Name der Systemvariablen nicht mit dem, in deinem Sketch überein.

Die Parameter bis "WRAPPER|HYSTERESIS" eins zu eins übernehmen. Interessant sind die Samples. Hier kannst du bei nichtlinearen Öltanks die Peiltabelle übertragen, die dann in Liter umgerechnet wird. Mit "WRAPPER|SAMPLES" stellst du die Anzahl der benötigten Datenpunkte "WRAPPER|BASEPTxx" ein. Bei linearen Öltanks trägst du nur den höchsten und niedrigsten Punkt ein.
Beispiel:
Minimale Füllhöhe: 0.00 mm 0.00 Liter
Maximale Füllhöhe: 1600.00 mm 4500.00 Liter

Der Eintrag erfolgt OHNE Einheit mm/Liter.
CCU3 und 3 LAN-Gateways mit 827 Kanälen auf 168 Geräten
CUxD mit 156 Kanälen auf 34 Geräten
Zusatzsoftware: HVL, XML-API, CUxD-Highcharts, NEO-Server, CL-Studio, Programmedrucken, CUxD, E-Mail, Philips Hue, Messenger, HQ WebUI, HomeHub
Anbindungen: Wolf eBus; NodeMCU-Ultraschall-Füllstandsmessung mit Temperatureinfluß; Fußbodenheizung mit Rücklauftemperaturbegrenzer (RTL)

opossum
Beiträge: 51
Registriert: 01.01.2018, 12:14

Re: Ultraschall-Füllstandsmessung mit Arduino NodeMCU

Beitrag von opossum » 05.08.2019, 18:04

Hallo, DJDieter,

danke für die schnelle Hilfe. Jetzt sieht das wie folgt bei mir aus:

Ich bekomme die Variable für die Temperatur gefüllt. Füllstand zeigt mir das Wrapperdevice mit 0 Liter an. Allerdings bekomme ich aus dem Sensor negative Werte. Kannst Du dazu etwas sagen?

Auf dem seriellen Monitor sehe ich folgendes:

SDK:2.2.1(cfd48f3)/Core:2.5.1=20501000/lwIP:STABLE-2_1_2_RELEASE/glue:1.1-7-g82abda3/BearSSL:a143020
UUUUUUUUUP

Ist da vielleicht die Stromversorgung zu schwach?

Gruß
Egbert

DJDieter
Beiträge: 168
Registriert: 11.01.2008, 14:41
Danksagung erhalten: 2 Mal

Re: Ultraschall-Füllstandsmessung mit Arduino NodeMCU

Beitrag von DJDieter » 05.08.2019, 18:11

Ein negativer Wert kann nicht sein. Hast du im Sketch den Wert

Code: Alles auswählen

const int DISTANCE_RANGE_BEGIN = 1635; // Maximale Distanz in mm (Sensor > Tankboden)
angepasst?
CCU3 und 3 LAN-Gateways mit 827 Kanälen auf 168 Geräten
CUxD mit 156 Kanälen auf 34 Geräten
Zusatzsoftware: HVL, XML-API, CUxD-Highcharts, NEO-Server, CL-Studio, Programmedrucken, CUxD, E-Mail, Philips Hue, Messenger, HQ WebUI, HomeHub
Anbindungen: Wolf eBus; NodeMCU-Ultraschall-Füllstandsmessung mit Temperatureinfluß; Fußbodenheizung mit Rücklauftemperaturbegrenzer (RTL)

DJDieter
Beiträge: 168
Registriert: 11.01.2008, 14:41
Danksagung erhalten: 2 Mal

Re: Ultraschall-Füllstandsmessung mit Arduino NodeMCU

Beitrag von DJDieter » 05.08.2019, 18:15

Vielleicht noch ein wichtiger Hinweis:
Als Arduino das Board von 2.4.2 auf 2.5.0 aktualisiert hat, bekam ich Probleme. Hier meine Einstellungen:

Code: Alles auswählen

Board: NodeMCU 1.0 (ESP-12E Module) nur bis V2.4.2 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Upload Speed: 115200
CPU Frequenzy: 80 MHz
Flash Size: 4M (2M SPIFFS)
Debug Port: Seriell
IwIP Variant: v2 Lower Memory
VTables: flash
Exeptions: enable
Erase Flash: all flash contents
CCU3 und 3 LAN-Gateways mit 827 Kanälen auf 168 Geräten
CUxD mit 156 Kanälen auf 34 Geräten
Zusatzsoftware: HVL, XML-API, CUxD-Highcharts, NEO-Server, CL-Studio, Programmedrucken, CUxD, E-Mail, Philips Hue, Messenger, HQ WebUI, HomeHub
Anbindungen: Wolf eBus; NodeMCU-Ultraschall-Füllstandsmessung mit Temperatureinfluß; Fußbodenheizung mit Rücklauftemperaturbegrenzer (RTL)

opossum
Beiträge: 51
Registriert: 01.01.2018, 12:14

Re: Ultraschall-Füllstandsmessung mit Arduino NodeMCU

Beitrag von opossum » 05.08.2019, 18:59

Hallo, DJDieter,

habe jetzt mal 2.4.2 installiert, da bekomme ich Fehler beim Kompilieren. Dann wieder auf 2.5.2 gegangen und neu geflasht. Jetzt bekomme ich Temperatur- und auch Füllstandswerte. Sind zumindest jetzt im Testaufbau plausibel. Werde morgen mal das 5V Netzteil aktivieren und beide Elemente mit einer stabilisierten 5V Gleichspannung betreiben. Dann mal den Ultrasonic unter Zisternenbedingungen testen. Aber es ist jetzt am Laufen. Die Variable für den maximalen Abstand habe ich angepasst. Danke für die Hilfe. Dann kann ich bald den Zisternenfüllstand auch im iobroker abbilden.

Gruß
Egbert

Antworten

Zurück zu „Projektvorstellungen“