HB-UNI-Sensor1-THPD-BME280

Entwicklung und Bau von Hardware aller Art, die im HM-Umfeld eingesetzt werden kann

Moderator: Co-Administratoren

FUEL4EP
Beiträge: 306
Registriert: 01.11.2017, 17:26
Hat sich bedankt: 48 Mal
Danksagung erhalten: 34 Mal

Re: HB-UNI-Sensor1-THPD-BME280

Beitrag von FUEL4EP » 14.03.2021, 17:36

Hallo Frank,

die RaspberryMatic/CCU3 merkt sich immer den vorherigen Eingabewert (auch dann, wenn dieser, warum auch immer, nicht übertragen wurde). Hat sich der neue Wert gegenüber dem alten Wert nicht verändert, wird sofort die Meldung ausgegeben "Daten wurden erfolgreich übertragen OK". Nur bei geänderten Werten wird auf den Config-Taster gewartet. Dann sieht auch die Pop-Up Meldung anders aus.

P.S. Ich heiße nicht Erwin, sondern Ewald
Grüße

Ewald

FUEL4EP
Beiträge: 306
Registriert: 01.11.2017, 17:26
Hat sich bedankt: 48 Mal
Danksagung erhalten: 34 Mal

Re: HB-UNI-Sensor1-THPD-BME280

Beitrag von FUEL4EP » 14.03.2021, 17:40

Bastelfrank hat geschrieben:
14.03.2021, 17:32
Jetzt die Ausgabe:

AskSin++ v5.0.0 (Mar 14 2021 16:32:52)
BME280 sensor OK
BME280 offsets (all x10):
-T : 0
-P : 0
-H : 0
Sensor setup done
Serial: HMTHLSF003
Clock SYSCLOCK
Address Space: 32 - 75
CC init1
CC Version: 14
- ready
tmBattery Voltage: 3520
Battery set low: 26
Battery set crit: 23
Config Changed: List0
ledMode: 0
lowBatLimit: 26
Battery set low: 26
transmitDevTryMax: 6
updCycle: 240
altitude: 84
* Config Changed : List1
* Temperature Offset x10 : 0
* Humidity Offset x10 : 0
* Pressure Offset x10 : 0
BME280 sensor OK
BME280 offsets (all x10):
-T : 0
-P : 0
-H : 0
BME280 (all x10):
-T : 82
-P : 9706
-P(NN): 9806
-H : 841
-DP : 56
-aH : 702
T/H/P/D/V (x10, aH x100) = 107/841/10116/56/702
tmBattery Voltage: 3542
battery voltage x1000 = 3542
msg T/H/P/D/V/O (x10, ah x100) = 107/841/10116/56/702/3542
msgcnt : 1
<- 15 01 84 70 F60401 000000 00 6B 03 49 27 84 00 38 02 BE 0D D6 - 360
Dann drücke mal die Config-Taste sehr lange (> 6 Sekunden), siehe letzte Nachricht von mir oben. Dann sollte der Wert vom Sketch

Code: Alles auswählen

altitude(84); // height of sensor's location above sea level; adjust to your sensor's location in WebUI device / device/channel parameter page
übernommen werden. Vor 84 auf Deine Höhe ändern und dann neu flashen.
Zuletzt geändert von FUEL4EP am 14.03.2021, 17:41, insgesamt 1-mal geändert.
Grüße

Ewald

Bastelfrank
Beiträge: 13
Registriert: 13.03.2021, 10:43
System: CCU
Danksagung erhalten: 1 Mal

Re: HB-UNI-Sensor1-THPD-BME280

Beitrag von Bastelfrank » 14.03.2021, 17:41

Noch etwas: ich bekomme aller 4 min neue Werte. Das funktioniert.
Frank

FUEL4EP
Beiträge: 306
Registriert: 01.11.2017, 17:26
Hat sich bedankt: 48 Mal
Danksagung erhalten: 34 Mal

Re: HB-UNI-Sensor1-THPD-BME280

Beitrag von FUEL4EP » 14.03.2021, 17:43

Danke, das ist sehr hilfreich.

@Tom_90: Bitte prüfe nochmals Dein Setup wie oben beschrieben.
Grüße

Ewald

Bastelfrank
Beiträge: 13
Registriert: 13.03.2021, 10:43
System: CCU
Danksagung erhalten: 1 Mal

Re: HB-UNI-Sensor1-THPD-BME280

Beitrag von Bastelfrank » 14.03.2021, 17:48

Sorry mit Deinem Namen

TomMajor
Beiträge: 1430
Registriert: 30.08.2017, 23:25
Hat sich bedankt: 122 Mal
Danksagung erhalten: 279 Mal
Kontaktdaten:

Re: HB-UNI-Sensor1-THPD-BME280

Beitrag von TomMajor » 14.03.2021, 20:55

FUEL4EP hat geschrieben:
14.03.2021, 11:35
Ja, hier regnet es auch :D

Der Taupunkt wird übrigens in EnvironmentCalculations.cpp nach dieser Formel berechnet:

Code: Alles auswählen

dewPoint = 243.04 * (log(hum/100.0) + ((17.625 * temp)/(243.04 + temp)))
       /(17.625 - log(hum/100.0) - ((17.625 * temp)/(243.04 + temp)));
Da kannst Du ja mal händisch mit der gemessenen Temperatur und relativen Luftfeuchte nachrechnen, ob da auch 120 deg C herauskommen.

Update 16:50 Uhr: Die bisherige hier gezeigte Sprungantwort war mit einem Sensor mit höherem Oversampling der Temperaturmessung (alter Softwarestand). Eine neue Messung mit dem letzten Github Softwarestand läuft.
Zum Thema Trägheit verschiedener Temperatursensoren hatte ich hier mal was abgelegt:
https://github.com/TomMajor/SmartHome/t ... ursensoren

ich verwende beim HB-UNI-Sensor1 deshalb in der Regel einen extra DS18B20 für die Temperatur statt der BME280 Temperatur.

ich hatte auch mal irgendwo ein Platinendesign gesehen wo möglichst viele Schlitze im PCB rund um den BME280 drin waren um die thermische Kopplung zu verringern.
Viele Grüße,
Tom

Tom_90
Beiträge: 36
Registriert: 13.09.2020, 20:12
System: CCU
Hat sich bedankt: 1 Mal

Re: HB-UNI-Sensor1-THPD-BME280

Beitrag von Tom_90 » 15.03.2021, 06:36

FUEL4EP hat geschrieben:
14.03.2021, 09:48
Hi Tom_90,

lass uns bitte noch mal einen Versuch machen, das Problem weiter zu analysieren:

Wenn wir davon ausgehen, dass der HB-UNI-Sensor1-THPD-BME280 Sensor korrekt regelmäßig Broadcast Nachrichten versendet, wie das von Dir im seriellen Monitor aufgezeichnet wurde, und deine RaspberryMatic diese Broadcast Nachrichten verwirft, könnte das darauf zurückzuführen sein, dass der Sensor nicht korrekt an der Zentrale RaspberryMatic angemeldet ist. Ich gehe dabei davon aus, dass die RaspberryMatic nur Broadcast Nachrichten von solchen Geräten verarbeitet, die die Zentrale kennt, d.h. dort angelernt sind. Ist dagegen ein Gerät nicht angelernt, werden dessen Broadcast Nachrichten von der RaspberryMatic verworfen.

Drum lass uns nochmals verifizieren, ob der HB-UNI-Sensor1-THPD-BME280 in der RaspberryMatic angemeldet ist.
Dazu bitte ich Dich, zwei Ansätze durchzuführen:

1. RaspberryMatic WebUI

Einstellungen => Systemsteuerung => DevConfig => Device List

Wie viele HB-UNI-Sensor-THPD-BME280 sind dort dort eingetragen? Für jede unterschiedliche ID sollte ein Eintrag vorhanden sein. Wenn Du nur einen
HB-UNI-Sensor1-THPD-BME280 angemeldet hast, darf auch nur genau ein Eintrag dafür vorhanden sein.

2. per ssh auf der RaspberryMatic einloggen

Im Verzeichnis /etc/config/rfd findest Du für jedes angemeldete Gerät <DEVICE_SERIAL> eine Datei <DEVICE_SERIAL>.dev.
Mache bitte mal im Verzeichnis /etc/config/rfd ein 'grep 'HB-UNI-Sensor-THPD-BME280' *'. Wird dieser String dann in nur genau einer '*.dev' Datei gefunden? Wenn ja, öffne diese '.dev' Datei und prüfe of dort die korrekte Adresse 'address "0xF60401"' eingetragen ist.

Weiterhin bitte ich Dich, nochmals avrdude, wie im README.md beschrieben, laufen zu lassen:

Code: Alles auswählen

avrdude -v -pm328p -P usb -c stk500v2  -b 9200 -Ulfuse:w:0xFF:m -Uhfuse:w:0xD6:m -Uefuse:w:0xFF:m
Danach bitte nochmals HB-UNI-Sensor1-THPD-BME280.ino flashen.
mach ich im laufer der Woche :)

FUEL4EP
Beiträge: 306
Registriert: 01.11.2017, 17:26
Hat sich bedankt: 48 Mal
Danksagung erhalten: 34 Mal

Re: HB-UNI-Sensor1-THPD-BME280

Beitrag von FUEL4EP » 15.03.2021, 13:59

Hi Frank (@Bastelfrank),

danke nochmals für Deinen Hinweis
Ich habe noch etwas festgestellt:

1. Aus irgend einem Grund wird der Taupunktwert plötzlich auf 120°C gestellt. ????
Ich konnte dieses Verhalten heute Morgen reproduzieren, als ich den Sensor nach einer Messung der Temperaturtransiente von draußen nach drinnen nahm. Die Analyse ergab, dass im Addon hb-ep-devices-addon Version <= 1.5 in rftypes/hb-uni-sensor-THPD-BME280.xml ein 'signed="true"' für den Taupunkt fehlte. Dadurch wurde aus korrekt berechneten negativen Taupunkten fälschlicherweise 120 deg C (=maximaler positive Temperatur).

Dieser Fehler ist im Addon hb-ep-devices-addon Version 1.6 behoben.

Alle HB-UNI-Sensor1-THPD-BME280 Nutzer sollten auf diese Version updaten.

Danke nochmals! Die Temperaturtransiente wird später noch nachgeliefert, da die bisherige Messung durch diesen Taupunkt-Fehler nicht korrekt war.
Grüße

Ewald

FUEL4EP
Beiträge: 306
Registriert: 01.11.2017, 17:26
Hat sich bedankt: 48 Mal
Danksagung erhalten: 34 Mal

Re: HB-UNI-Sensor1-THPD-BME280

Beitrag von FUEL4EP » 16.03.2021, 12:49

Hier nun die versprochenen Sprungantworten des Bosch BME280 Sensors. Der Sensor ist über eine Stiftleiste mit der HB-UNI-SEN-BATT Platine von Alexander Reinert elektrisch und thermisch verbunden. Das Gehäuse ist offen ohne Deckel, so dass der BME280 gut belüftet ist. Der Sensor wurde vom Ofen nach draussen (gestern 17:50 Uhr) und dann wieder zurück ins Wohnzimmer gebracht (heute 7:55 Uhr). Hier die negative und positive Sprungantwort der Temperatur. Zusätzlich ist der errechnete Taupunkt aufgezeichnet. Negative Taupunkttemperaturen gehen jetzt korrekt (hier galt ja mal wieder die Weisheit: What you didn't test doesn't work):

BME280_Temperatur_Sprungantworten.png

Die Einschwingzeit der fallenden Temperatursprungantwort beträgt ca. 8 Stunden (!!!). Der BME280 ist also ein sehr laaaaaaaangsamer Temperatursensor.

BME280_Temperatur_Sprungantwort_fallend.png

Die Einschwingzeit der steigenden Temperatursprungantwort beträgt ca. 4 Stunden.

BME280_Temperatur_Sprungantwort_steigend.png

Dagegen sind die Einschwingzeiten der Luftfeuchtesprungantworten im Subminutenbereich und sehr viel kürzer. Der BME280 ist also ein relativ schneller Luftfeuchtigkeitssensor. Im Datenblatt des BME280 ist auch nur die Einschwingzeit für die Luftfeuchte spezifiziert, nicht aber für die Temperatur.


BME280_Luftfeuchte_Sprungantworten.png

Ich plane, später einen THPD Sensor mit sowohl einem Bosch BME280 (für P) als auch einem Sensirion SHT85 (für THD) aufzubauen. Prozessor wird dann ein 1284P werden, damit der Speicherplatz ausreicht. Der Sensirion SHT85 soll eine Einschwingzeit der Temperaturmessung von wenigen Sekunden haben. Er lässt sich bedingt durch seine Bauform auch mit geringerer Wärmeleitung an die Basisplatine anschließen. Diese Lösung ist besser, aber auch deutlich teurer.
Grüße

Ewald

Tom_90
Beiträge: 36
Registriert: 13.09.2020, 20:12
System: CCU
Hat sich bedankt: 1 Mal

Re: HB-UNI-Sensor1-THPD-BME280

Beitrag von Tom_90 » 16.03.2021, 15:34

FUEL4EP hat geschrieben:
14.03.2021, 09:48
Hi Tom_90,

lass uns bitte noch mal einen Versuch machen, das Problem weiter zu analysieren:

Wenn wir davon ausgehen, dass der HB-UNI-Sensor1-THPD-BME280 Sensor korrekt regelmäßig Broadcast Nachrichten versendet, wie das von Dir im seriellen Monitor aufgezeichnet wurde, und deine RaspberryMatic diese Broadcast Nachrichten verwirft, könnte das darauf zurückzuführen sein, dass der Sensor nicht korrekt an der Zentrale RaspberryMatic angemeldet ist. Ich gehe dabei davon aus, dass die RaspberryMatic nur Broadcast Nachrichten von solchen Geräten verarbeitet, die die Zentrale kennt, d.h. dort angelernt sind. Ist dagegen ein Gerät nicht angelernt, werden dessen Broadcast Nachrichten von der RaspberryMatic verworfen.

Drum lass uns nochmals verifizieren, ob der HB-UNI-Sensor1-THPD-BME280 in der RaspberryMatic angemeldet ist.
Dazu bitte ich Dich, zwei Ansätze durchzuführen:

1. RaspberryMatic WebUI

Einstellungen => Systemsteuerung => DevConfig => Device List

Wie viele HB-UNI-Sensor-THPD-BME280 sind dort dort eingetragen? Für jede unterschiedliche ID sollte ein Eintrag vorhanden sein. Wenn Du nur einen
HB-UNI-Sensor1-THPD-BME280 angemeldet hast, darf auch nur genau ein Eintrag dafür vorhanden sein.

2. per ssh auf der RaspberryMatic einloggen

Im Verzeichnis /etc/config/rfd findest Du für jedes angemeldete Gerät <DEVICE_SERIAL> eine Datei <DEVICE_SERIAL>.dev.
Mache bitte mal im Verzeichnis /etc/config/rfd ein 'grep 'HB-UNI-Sensor-THPD-BME280' *'. Wird dieser String dann in nur genau einer '*.dev' Datei gefunden? Wenn ja, öffne diese '.dev' Datei und prüfe of dort die korrekte Adresse 'address "0xF60401"' eingetragen ist.

Weiterhin bitte ich Dich, nochmals avrdude, wie im README.md beschrieben, laufen zu lassen:

Code: Alles auswählen

avrdude -v -pm328p -P usb -c stk500v2  -b 9200 -Ulfuse:w:0xFF:m -Uhfuse:w:0xD6:m -Uefuse:w:0xFF:m
Danach bitte nochmals HB-UNI-Sensor1-THPD-BME280.ino flashen.


Hallo FUEL4EP,

also in der DevConfig ist nur ein Eintrag drin, das passt.
avrdude hab ich auch nochmal drüber laufen lassen und den Sensor neu geflasht. Hat aber auch nichts gebracht.

In dem Verzeichnis /etc/config/rfd ist der Sensor drin. Das mit dem grep musst du mir erklären :|
Ich kann zwar Siemens SPS programmieren aber von dem hab ich nicht viel ahnung :lol:

Antworten

Zurück zu „Hardwareentwicklung und Selbstbau von Aktoren und Sensoren“