HB-UNI-Sensor1-THPD-BME280

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

Moderator: Co-Administratoren

PG201245
Beiträge: 26
Registriert: 02.03.2022, 22:12
System: CCU

Re: HB-UNI-Sensor1-THPD-BME280

Beitrag von PG201245 » 06.03.2022, 18:21

jp112sdl hat geschrieben:
06.03.2022, 18:11
Das Problem ist
https://github.com/FUEL4EP/HomeAutomati ... 80.ino#L55

PEER_PER_CHANNEL 0

Muss mind. 1 sein
das habe ich gerade unabhängig von Dir getestet:

Code: Alles auswählen

18:18:56.875 ->  debounce
18:18:56.959 ->  pressed
18:18:57.036 ->  released
18:18:57.112 -> <- 1A 04 84 00 F60401 000000 10 F6 04 42 4D 45 32 38 30 54 48 50 31 70 01 01 01  - 40738
18:18:57.112 -> 
18:18:57.189 -> -> 0B 68 A0 01 7572BE F60401 01 03  - 40839
18:18:57.308 -> <- 0E 68 80 10 F60401 7572BE 01 00 00 00 00  - 40964
18:18:57.533 -> -> 10 71 A0 01 7572BE F60401 01 01 75 72 BE 3F 00  - 41082
18:18:57.533 -> CONFIG_PEER_ADD: hasCannel is true
18:18:57.533 -> CONFIG_PEER_ADD: validSignature is true
18:18:57.533 -> CONFIG_PEER_ADD: one peer
18:18:57.533 -> CONFIG_PEER_ADD: peer17697086
18:18:57.533 -> Channel.h: peer :7697086
18:18:57.533 -> Channel.h: fp i:0
18:18:57.533 -> Channel.h: fp pa(i).valid():0
18:18:57.533 -> Channel.h: pidx :0
18:18:57.533 -> CONFIG_PEER_ADD: success1 :1
18:18:57.533 -> * Config Changed         : List1
18:18:57.533 -> * Temperature Offset x10 : 0
18:18:57.533 -> * Humidity Offset x10    : 0
18:18:57.533 -> * Pressure Offset x10    : 0
18:18:57.533 -> BME280 sensor OK
18:18:57.533 -> BME280 offsets (all x10):
18:18:57.533 -> -T    : 0
18:18:57.533 -> -P    : 0
18:18:57.533 -> -H    : 0
18:18:57.569 -> <- 0E 71 80 02 F60401 7572BE 01 01 00 00 42  - 41205

Vielel vielen Dank für Eure Hilfe

:D :D :D :D :D

PG201245
Beiträge: 26
Registriert: 02.03.2022, 22:12
System: CCU

Re: HB-UNI-Sensor1-THPD-BME280

Beitrag von PG201245 » 06.03.2022, 18:23

jp112sdl hat geschrieben:
06.03.2022, 18:11

Muss mind. 1 sein
Ich habe 6 eingestellt. Ist das zuviel?

FUEL4EP
Beiträge: 495
Registriert: 01.11.2017, 17:26
Hat sich bedankt: 69 Mal
Danksagung erhalten: 59 Mal

Re: HB-UNI-Sensor1-THPD-BME280

Beitrag von FUEL4EP » 06.03.2022, 18:25

Ups. Das stimmt. Danke !!!!

In meiner Testinstallation steht noch

Code: Alles auswählen

// number of available peers per channel
#define PEERS_PER_CHANNEL 6
=> Daher ging es bei mir immer und bei Peter nicht.

Ich hatte das mal im Repository und nur dort nach nach dieser Diskussion auf 0 gesetzt.

Das war wohl falsch in der Schlussfolgerung.

@PG201245: Bitte selbst im Sketch '#define PEERS_PER_CHANNEL 6' ändern. Peter, Danke für Deine Geduld.
Grüße

Ewald

PG201245
Beiträge: 26
Registriert: 02.03.2022, 22:12
System: CCU

Re: HB-UNI-Sensor1-THPD-BME280

Beitrag von PG201245 » 06.03.2022, 18:27

Habe ich, vielen Dank für die Hilfe noch mal.

Quittierung nach Programmlöschung geht auch.


:D :D :D

Benutzeravatar
Baxxy
Beiträge: 6077
Registriert: 18.12.2018, 15:45
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 367 Mal
Danksagung erhalten: 1134 Mal

Re: HB-UNI-Sensor1-THPD-BME280

Beitrag von Baxxy » 06.03.2022, 18:28

Möglicherweise zählt bei dieser ReportValueUsage() - Geschichte die Zentrale als Peer, das würde das Verhalten bei "0" erklären.

Grüße, Baxxy

FUEL4EP
Beiträge: 495
Registriert: 01.11.2017, 17:26
Hat sich bedankt: 69 Mal
Danksagung erhalten: 59 Mal

Re: HB-UNI-Sensor1-THPD-BME280

Beitrag von FUEL4EP » 06.03.2022, 18:50

Danke nochmals an alle, die geholfen haben, mein Problem zu analysieren und zu lösen.

Ich selbst hab wieder mal für mich neue Ecken in AsksinPP kennengelernt und verstehe sie jetzt besser.

Ich werde das Github Repository zeitnah korrigieren.
Grüße

Ewald

exp625
Beiträge: 3
Registriert: 13.05.2022, 19:08
System: CCU

Re: HB-UNI-Sensor1-THPD-BME280

Beitrag von exp625 » 13.05.2022, 19:25

Hallo FUEL4EP,

erstmal vielen Dank an deinen Sketch und die ganzen hilfreichen Informationen aus deinem GitHub Repository.

Ursprünglich wollte ich deinen Sensor auf Basis des BME680 nachbauen, musste jedoch aufgrund von nicht verfügbaren Komponenten auf den BME280 runterstufen. Da auch das bekannte Gehäuse nicht mehr verfügbar war, habe ich den Sensor für ein kleineres Gehäuse abgeleitet.
Wenn alles stabil läuft, wollte ich diese auch auf GitHub verfügbar machen.

Zu meiner Frage:

Mit der Batteriespannungsmessung

Code: Alles auswählen

#define BAT_SENSOR tmBattery
funktioniert der Sensor einwandfrei.
Ich würde jedoch gerne die Batteriespannungsmessung messen. Hierfür habe ich die Schaltung aus HB-UNI-SEN-BATT_ATMega1284P_E07-868MS10_FUEL4EP nachgebaut, mit einem 100kOhm und 47kOhm Widerstand.
Ich verwende einen Arduino Pro Mini, der activation Pin ist an A2 und der sense Pin an A0 angeschlossen.

Wenn ich jetzt aber

Code: Alles auswählen

#define BAT_SENSOR tmBatteryResDiv<A0, A2, 1463>
zum Sketch hinzufüge, dann kann ich die Firmware zwar erfolgreich bauen und hochladen, jedoch scheint sich der Sensor aufzuhängen. Die Status LED bleibt dann durchgehen an.
Der Debug Output:

Code: Alles auswählen

--- Miniterm on COM5  57600,8,N,1 ---
--- Quit: Ctrl+C | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---
AskSin++ v5.0.0 (May 13 2022 19:03:53)
BME280 sensor OK
BME280 offsets (all x10):
-T    : 0
-P    : 0
-H    : 0
Sensor setup done
Serial: BME280THP1
Clock SYSCLOCK
Address Space: 32 - 82
CC init1
CC Version: 04
 - ready
tmBatteryResDiv Voltage: 1607
Battery set low:  26
Battery set crit: 23
Config Freq: 0x216622
Config Changed: List0
ledMode: 1
lowBatLimit: 26
Battery set low:  26
transmitDevTryMax: 6
updCycle: 240
altitude: 84
txPower: 7
* Config Changed         : List1
* Temperature Offset x10 : 0
* Humidity Offset x10    : 0
* Pressure Offset x10    : 0
BME280 sensor OK
BME280 offse
Bevor ich anfange, alles zu debuggen, wollte ich mal nachfragen, ob hier jemand schonmal ähnliches erlebt hat.
Das gleiche Verhalten zeigt der Sensor auch, wenn

Code: Alles auswählen

#define NDEBUG
gesetzt ist. Könnte die Batteriemessung ggf. den verfügbaren RAM Speicher überschreiten?
Ich bin für jede Hilfe dankbar.

Viele Grüße,
Tim

Benutzeravatar
stan23
Beiträge: 1903
Registriert: 13.12.2016, 21:14
System: Alternative CCU (auf Basis OCCU)
Wohnort: Altmühltal
Hat sich bedankt: 481 Mal
Danksagung erhalten: 289 Mal
Kontaktdaten:

Re: HB-UNI-Sensor1-THPD-BME280

Beitrag von stan23 » 13.05.2022, 20:05

Es könnte auch sein dass die Batteriemessung fehlerhaft ist und abschaltet.

Ersetzte doch mal die Zeile des Abschaltens durch eine DPRINTLN-Ausgabe:
https://github.com/FUEL4EP/HomeAutomati ... 0.ino#L476
Viele Grüße
Marco

RaspberryMatic als VM auf einem NUC mit Proxmox und USB-Funkmodul
~80 Geräte (HM, HmIP, HMW, HBW, AskSin)

FUEL4EP
Beiträge: 495
Registriert: 01.11.2017, 17:26
Hat sich bedankt: 69 Mal
Danksagung erhalten: 59 Mal

Re: HB-UNI-Sensor1-THPD-BME280

Beitrag von FUEL4EP » 13.05.2022, 21:20

Hi exp625,

der Flash-Speicher ist zwar knapp:

Code: Alles auswählen

Der Sketch verwendet 29762 Bytes (96%) des Programmspeicherplatzes. Das Maximum sind 30720 Bytes.
Globale Variablen verwenden 1163 Bytes (56%) des dynamischen Speichers, 885 Bytes für lokale Variablen verbleiben. Das Maximum sind 2048 Bytes.
Es gibt jedoch bei mir keinen Unterschied zwischen

Code: Alles auswählen

#define BAT_SENSOR tmBattery
und

Code: Alles auswählen

#define BAT_SENSOR tmBatteryResDiv<A0, A2, 1463>
Frage: Warum möchtest Du '#define BAT_SENSOR tmBattery' überhaupt ändern?. Die Batteriespannung wird ja schon damit gemessen:
Der HB-UNI-Sensor1-THPD-BME280 wird ja direkt mit 2x AA Batterien versorgt.
Das 'tmBatteryResDiv' define verwende ich nur dann, wenn ich einen Step-Up Spannungswandler verwende, in der Regel bei Akkubetrieb, siehe z.B. beim HB-UNI-Sensor1-RAD-AL53.
Zuletzt geändert von FUEL4EP am 13.05.2022, 21:38, insgesamt 1-mal geändert.
Grüße

Ewald

exp625
Beiträge: 3
Registriert: 13.05.2022, 19:08
System: CCU

Re: HB-UNI-Sensor1-THPD-BME280

Beitrag von exp625 » 13.05.2022, 21:23

Hallo Marco,

vielen Dank für den Tipp. Du hast recht, die Spannung welche vom tmBatteryResDiv gemessen wird, liegt unter dem Critical Wert und der Sensor hat sich abgeschaltet.

Interessanterweise ist die gemessene Spannung genau die Hälfte der Spannung, die ich mit einem Multimeter an den Batterien messe.
Den Widerstandsfaktor

Code: Alles auswählen

Faktor = Rges/Rlow*1000*2
verdoppelt und der Sensor misst alles korrekt.

Ich habe die verwendeten Widerstände durchgemessen und die liegen in ihrer Toleranz. Kalte Lötstellen sind jetzt auch ausgeschlossen.
Woher diese magische 2 kommt, würde mich jetzt aber trotzdem interessieren.

Viele Grüße
Tim

Antworten

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