Seite 34 von 36

Re: HB-UNI-Sensor1-THPD-BME280

Verfasst: 13.05.2022, 21:32
von FUEL4EP
Du kannst mein LibreOffice Calc Sheet verwenden, um den Spannungsteiler zu dimensionieren:

Wenn ich dort für den ATMega328P und 100kOhm und 47 kOhm eintrage, bekomme ich:
tmBatteryResDiv.png
Das heißt, bei Deinem Widerstandsteiler beträgt die maximal messbare Batteriespannung 1.62 V. Du musst aber mindestens 2x 1.5V = 3V haben (besser 3.3V).

Also ist Dein Spannungsteiler nicht passend. Spiele einfach mal mit dem Calc-Sheet.

Für Rhigh=200kOhm ergibt sich Vinmax = 3.3V:
Rhigh=200k.png
Wichtig ist hierbei, dass die Bandgap-Referenzspannung beim ATMega328P 1.1 V beträgt, beim ATMega128P aber 2.56V. Die Dimensionierung der Spannungsteiler ist bei den beiden MCUs also unterschiedlich!

Re: HB-UNI-Sensor1-THPD-BME280

Verfasst: 13.05.2022, 22:04
von exp625
Ahh,

der ATMega1284P hat eine andere VBG Spannung als der ATMega328P. Vielen Dank für das Tool!
Ich hatte nur geguck, ob die Auflösung gleich ist...Da ist der Fehler und die magische 2.56/1.1=2.32≈2 her.

Zu deiner Frage:
Korrekt, aktuell ist er Batteriebetrieben. Die Option für Akkus wollte ich mir aber nicht nehmen.
Deshalb gut, dass ich diesen Fehler in meinen Annahmen gefunden habe. Wenn die Akkus da wären, wäre die Suche bestimmt noch komplizierte geworden :)

Viele Grüße
Tim

Re: HB-UNI-Sensor1-THPD-BME280

Verfasst: 14.05.2022, 11:12
von Hackertomm
stan23 hat geschrieben:
13.05.2022, 20:05
Es könnte auch sein dass die Batteriemessung fehlerhaft ist und abschaltet.
Vor allem, wenn die Fuses am Arduino vor einspielen des Sketches nicht geändert wurden.
Denn dann gilt als " Abschaltspannung" 2,70 V, egal, was im Sketch dann hinterlegt wurde.
Weshalb bei anderen Sketchen, das mit der Eingabe der Abschaltspannung dann auch ignoriert wird.
Weil da die vorgegebenen Fuses gelten, also das was er im Serienzustand mitbringt.

Soll heißen, wenn die Standardfuses vom Arduino werkeln, geht er bei 2,70 V aus, weil es die Fuses so vorgeben.
Selbst wenn da z.B. 2,40 V als Abschaltspannung im Sketch eingegeben sind!
Das wird dann völlig ignoriert!
Als Beispiel will ich da den Sketch "HM-WDS40-TH-I-BME280" von Jerome anführen!
Da ist im Sketch eine Abschaltung von 2,20 V programmiert, wenn ich das richtig interpretiere.
Nur wird das ignoriert, weil der Arduino aufgrund seiner Standard Fuses bereits bei 2,70V seinen Betrieb einstellt.

Re: HB-UNI-Sensor1-THPD-BME280

Verfasst: 14.05.2022, 11:36
von TomMajor
Hackertomm hat geschrieben:
14.05.2022, 11:12

Vor allem, wenn die Fuses am Arduino vor einspielen des Sketches nicht geändert wurden.
Denn dann gilt als " Abschaltspannung" 2,70 V, egal, was im Sketch dann hinterlegt wurde.
Bei Arduino Boards ist das Sache des Herstellers/Verkäufers des Boards ob und wie er die Fuses, Bootloader usw. programmiert hat.
BOD (Brown-out Detector) mag da oft auf 2,7V stehen, gibt aber keine Garantie dafür - die Fuses zu prüfen macht bei jedem Homebrew Gerät Sinn.

Bei einem fabrikneuem AVR mega328 Chip hingegen ist BOD ab Werk deaktiviert (Datasheet Kapitel 31.2., Fuse Bits, Default Value unprogrammed).

Re: HB-UNI-Sensor1-THPD-BME280

Verfasst: 14.05.2022, 13:41
von Hackertomm
TomMajor hat geschrieben:
14.05.2022, 11:36
Hackertomm hat geschrieben:
14.05.2022, 11:12

Vor allem, wenn die Fuses am Arduino vor einspielen des Sketches nicht geändert wurden.
Denn dann gilt als " Abschaltspannung" 2,70 V, egal, was im Sketch dann hinterlegt wurde.
Bei Arduino Boards ist das Sache des Herstellers/Verkäufers des Boards ob und wie er die Fuses, Bootloader usw. programmiert hat.
BOD (Brown-out Detector) mag da oft auf 2,7V stehen, gibt aber keine Garantie dafür - die Fuses zu prüfen macht bei jedem Homebrew Gerät Sinn.

Bei einem fabrikneuem AVR mega328 Chip hingegen ist BOD ab Werk deaktiviert (Datasheet Kapitel 31.2., Fuse Bits, Default Value unprogrammed).
Bisher hatte ich nur Arduino Pro Mini 328 3.3V, die aber alle bei 2.70 abschalten.
Und zwar egal woher die Dinger sind, also als Bausatz von Technikkram oder von Amazon direkt.
Wobei bei allen HM-WDS40-TH-I-BME280 Bausätzen, nur ein Elektronikteilesatz von Technikkram kam, bei den anderen wurden die Bauteile separat besorgt.
Nur die Platinen dazu stammten dann wieder alle von Technikkram.
Denn ich messe nach Batteriewechsel die ausgebauten Batterien und die hatte je 1,35V.
Da ich vier Sätze der HM-WDS40-TH-I-BME280 gebaut habe, fiel mir das irgendwann mal auf.
Wobei ich dann auch jedesmal die Fuses geändert habe, damit die Spannungswerte der Abschaltspannung des Sketches gültig wird.
Eigentlich brauchte ich nur drei der HM-WDS40-TH-I-BME280 Bausätze, aber einer der Bausätze hatte einen Batteriefresser Arduino, der fraß einen Satz Batterien innerhalb von 2 Wochen leer, weshalb der Bausatz ersetzt wurde.
Aus diesem defekten Bausatz wurde dann mein jetziger HB-UNI-Sensor1-THPD-BME280 gebastelt, da nur kleine Änderungen nötig waren.

Re: HB-UNI-Sensor1-THPD-BME280

Verfasst: 30.08.2023, 09:38
von ereus
Ich habe das Problem, dass der Sensor nicht erkannt wird. Es kommt fogende Anzeige:

08:55:01.934 -> AskSin++ v5.0.2 (Aug 30 2023 08:54:24)
08:55:01.934 -> BME280 sensor NOT found
08:55:01.979 -> Sensor setup done
08:55:01.979 -> Serial: BME280THP1
08:55:01.979 -> Clock SYSCLOCK
08:55:01.979 -> Address Space: 32 - 76
08:55:01.979 -> CC init1
08:55:01.979 -> CC Version: 04
08:55:01.979 -> - ready
08:55:02.017 -> tmBattery Voltage: 3128
08:55:02.017 -> Battery set low: 26
08:55:02.112 -> Battery set crit: 23
08:55:02.112 -> Config Freq: 0x21662A
08:55:02.112 -> Config Changed: List0
08:55:02.112 -> ledMode: 1
08:55:02.112 -> lowBatLimit: 26
08:55:02.112 -> Battery set low: 26
08:55:02.112 -> transmitDevTryMax: 6
08:55:02.112 -> updCycle: 240
08:55:02.112 -> altitude: 84
08:55:02.112 -> txPower: 7
08:55:02.112 -> * Config Changed : List1
08:55:02.112 -> * Temperature Offset x10 : 0
08:55:02.112 -> * Humidity Offset x10 : 0
08:55:02.112 -> * Pressure Offset x10 : 0
08:55:02.112 -> BME280 sensor NOT found
08:55:07.419 -> T/H/P/D/V (x10, aH x100) = 0/0/0/0/0
08:55:07.468 -> tmBattery Voltage: 3181
08:55:07.468 -> battery voltage x1000 = 3181
08:55:07.500 -> msg T/H/P/D/V/O (x10, ah x100) = 0/0/0/0/0/3181
08:55:07.501 -> msgcnt : 1
08:55:07.501 -> <- 15 01 84 70 F60401 000000 00 00 00 00 00 00 00 00 00 00 0C 6D - 319

in der HomeMatic kommt dann auch nur das an:
bild1.jpg

Da ich mit einem Sketch für LCD-Anzeige alle Daten bekomme, vermute ich ,dass das mit einer falschen Adressierung im Sketch selbst mit einer Bibliothek zu tun hat. Ich suche jetzt schon meherere Tage den Fehler und komme einfach nicht weiter. Hat jemand eine Idee, wo ich hinlangen kann?

Re: HB-UNI-Sensor1-THPD-BME280

Verfasst: 30.08.2023, 10:24
von FUEL4EP
Hallo ereus,

vermutlich hat Dein BME280-Modul eine andere I2C-Adresse als der Sketch verwendet:

In 'Sensors/Sens_BME280.h' wird die Sketch-I2C-Adresse definiert:

Code: Alles auswählen

   BME280I2C::I2CAddr_0x76 // I2C address. I2C specific
Bitte dort geeignet anpassen oder in der Hardware eine Lötbrücke entsprechend dem Datenblatt umlöten.

In der Bibliothek 'BME280/src/BME280I2C.h' stehen die möglichen Definitionen:

Code: Alles auswählen

      I2CAddr_0x76 = 0x76,
      I2CAddr_0x77 = 0x77
Teste mal, ob das I2C-Modul mit

Code: Alles auswählen

BME280I2C::I2CAddr_0x77 // I2C address. I2C specific
erkannt wird. Es gibt auf dem Markt BME280-Module mit beiden möglichen I2C-Adressen.

P.S.; Das README.md wurde entsprechen ergänzt.

Re: HB-UNI-Sensor1-THPD-BME280

Verfasst: 30.08.2023, 15:48
von ereus
Vielen Dank für Deine Antwort. In der Datei BME280.h steht:
Bild2.jpg
In der Datei: BME280/src/BME280I2C.h steht:

bild3.jpg
bild3.jpg (22.69 KiB) 507 mal betrachtet
Ich habe mal das Modul mit dem Testprogramm aus libraries\BME280\examples\BME_280_I2C_Test getestet und da kommt dann im seriellen Monitor:
4:40:05.255 -> Temp: 24.60°C Humidity: 0.00% RH Pressure: 97422.62Pa
14:40:06.764 -> Temp: 24.60°C Humidity: 0.00% RH Pressure: 97422.62Pa
14:40:08.279 -> Temp: 24.60°C Humidity: 0.00% RH Pressure: 97422.62Pa
14:40:09.815 -> Temp: 24.60°C Humidity: 0.00% RH Pressure: 97422.62Pa
14:40:11.320 -> Temp: 24.60°C Humidity: 0.00% RH Pressure: 97422.62Pa
14:40:12.847 -> Temp: 24.60°C Humidity: 0.00% RH Pressure: 97419.86Pa

Das heist es fehlt die relative Luftfeuchte aber Temp und Luftdruck werden in diesem Sketch angezeigt.

Re: HB-UNI-Sensor1-THPD-BME280

Verfasst: 30.08.2023, 15:54
von ereus
Und auf der Platine ist das Sensormodul zu sehen aber Adressen stehen da nicht drauf
Bild4.jpg

Re: HB-UNI-Sensor1-THPD-BME280

Verfasst: 30.08.2023, 16:04
von FUEL4EP
Hallo ereus,

Du scheinst ein exotisches Modul gekauft zu haben.

Lies bitte mal dazu dieses.

Es ist vieleicht gar kein Sensor für Luftfeuchtigkeit!