Wetterstation HB-UNI-SEN-WEA

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

Moderator: Co-Administratoren

TomMajor
Beiträge: 1793
Registriert: 30.08.2017, 23:25
Hat sich bedankt: 175 Mal
Danksagung erhalten: 399 Mal
Kontaktdaten:

Re: Wetterstation HB-UNI-SEN-WEA

Beitrag von TomMajor » 08.02.2019, 00:25

Geht es nur um die MAX44009 Messwerte oder noch was anderes?
Im HM_WDS10_TH_O Thread auf FHEM hatte neulich jemand beim HB-UNI-Sensor1 das Problem dass der MAX mal da war, mal nicht, je nach Ort. Es stellte sich heraus dass bei seinem Breakout Board der Adress-pin schwebend war, kein def. Potential. Das wäre noch einen Check wert..

fanavity
Beiträge: 243
Registriert: 18.07.2017, 16:42
Hat sich bedankt: 63 Mal
Danksagung erhalten: 3 Mal

Re: Wetterstation HB-UNI-SEN-WEA

Beitrag von fanavity » 08.02.2019, 05:51

TomMajor hat geschrieben:
08.02.2019, 00:25
Geht es nur um die MAX44009 Messwerte oder noch was anderes?
Wenn ich einen anderen Sketch flashe läuft der MAX44009. Mit dem HB-UNI-SEN-WEA leider nicht. Da bekomme ich immer Error 2 als Fehlermeldung.
TomMajor hat geschrieben:
08.02.2019, 00:25
Im HM_WDS10_TH_O Thread auf FHEM hatte neulich jemand beim HB-UNI-Sensor1 das Problem dass der MAX mal da war, mal nicht, je nach Ort. Es stellte sich heraus dass bei seinem Breakout Board der Adress-pin schwebend war, kein def. Potential. Das wäre noch einen Check wert..
Sorry, aber das verstehe ich nicht ganz. Könntest du mir das etwas genauer erklären :/? Wie genau checke ich das?

Wenn ich nach max44009 suche finde ich leider auch nichts was in diese Richtung geht.

jp112sdl
Beiträge: 12115
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 848 Mal
Danksagung erhalten: 2150 Mal
Kontaktdaten:

Re: Wetterstation HB-UNI-SEN-WEA

Beitrag von jp112sdl » 08.02.2019, 06:29

Moin,

was Tom meint, ist der Pin zur Selektion der I2C-Adresse.

Seite 16 im Datenblatt:
The slave address is controlled by the A0 pin. Connect A0 to either ground or VCC to set the address. Table 10 shows the two possible addresses for the IC.
Laut Adresstabelle muss für Adresse 0x4A der Pin A0 auf GND Potential gelegt werden.

Kannst es ja mal mit der Brücke testen.

VG,
Jérôme ☕️

---
Support for my Homebrew-Devices: Download JP-HB-Devices Addon

TomMajor
Beiträge: 1793
Registriert: 30.08.2017, 23:25
Hat sich bedankt: 175 Mal
Danksagung erhalten: 399 Mal
Kontaktdaten:

Re: Wetterstation HB-UNI-SEN-WEA

Beitrag von TomMajor » 08.02.2019, 11:21

Genau so wie Jerome schreibt ist das gemeint.
War gestern zu spät für lange Texte :wink:

Das Fehlerbild von Gregor war:
Erst mal vielen Dank für die vielen Infos hier. Ich habe HB-UNI-Sensor1 zusammengebaut und funktioniert auf Anhieb. FHEM bekommt regelmäßig plausible Werte - außer von MAX44009 (GY-49). Der funktioniert prima, solange der Sensor auf meinem Schreibtisch liegt. Sobald ich ihn nach draußen stelle, kommen erst ein paar höhere Werte im 2000er Bereich, dann nur noch 0-Werte. Hole ich ihn wieder rein, sofort wieder Werte im 300er Bereich. Das habe ich ein paar mal wiederholt und ist reproduzierbar.
https://forum.fhem.de/index.php/topic,2 ... #msg874405

und die Lösung
Gelöst: Ursache für die 0-Werte von MAX44009 war der offene A0 Anschluss. Wenn der Anschluss zu high wechselt (vmtl. durch hohe Luftfeuchtigkeit), können die Werte nicht mehr ausgelesen werden. Ich habe ein Bild mit entsprechendem Hinweis angehängt.
https://forum.fhem.de/index.php/topic,2 ... #msg874806

fanavity
Beiträge: 243
Registriert: 18.07.2017, 16:42
Hat sich bedankt: 63 Mal
Danksagung erhalten: 3 Mal

Re: Wetterstation HB-UNI-SEN-WEA

Beitrag von fanavity » 08.02.2019, 18:43

Die Brücke war tatsächlich nicht gelötet. Habs nun gemacht. Leider ohne Erfolg. Was mich nach wie vor Stutzig macht, ist die tatsache dass der andere Sketch ohne Problem funktioniert. Der Sensor an sich scheint also i.o. zu sein. :/

TomMajor
Beiträge: 1793
Registriert: 30.08.2017, 23:25
Hat sich bedankt: 175 Mal
Danksagung erhalten: 399 Mal
Kontaktdaten:

Re: Wetterstation HB-UNI-SEN-WEA

Beitrag von TomMajor » 08.02.2019, 19:20

Das der Adress pin jetzt definiertes Potential hat ist schon mal gut.

- kannst du ein Foto vom Aufbau machen wo man die Sensoren und die Verdrahtung sieht?
- welche anderen I2C Sensoren hast du dran?
- wie viele pull-up Widerstände an SDA und SCL gibt es jeweils (Breakout-Boards?) und mit welchen Werten?
- funktioniert der MAX44009 mit dem HB-UNI-Sensor1 sketch?

fanavity
Beiträge: 243
Registriert: 18.07.2017, 16:42
Hat sich bedankt: 63 Mal
Danksagung erhalten: 3 Mal

Re: Wetterstation HB-UNI-SEN-WEA

Beitrag von fanavity » 08.02.2019, 22:22

TomMajor hat geschrieben:
08.02.2019, 19:20
Das der Adress pin jetzt definiertes Potential hat ist schon mal gut.

- kannst du ein Foto vom Aufbau machen wo man die Sensoren und die Verdrahtung sieht?
- welche anderen I2C Sensoren hast du dran?
- wie viele pull-up Widerstände an SDA und SCL gibt es jeweils (Breakout-Boards?) und mit welchen Werten?
- funktioniert der MAX44009 mit dem HB-UNI-Sensor1 sketch?
Ich habe aktuell die 3 Sensoren angeschlossen. Es ändert aber nichts ob ich alle 3 oder nur den Max anschließe. Ich verwende die entworfene Platine. Den hb-unisenspr1 Sketch teste ich morgen früh.
Dateianhänge
1D0CCD37-1418-4A44-A495-B44CAAE594DB.jpeg
FD10F5C8-467A-4583-853C-5C0B46D805BE.jpeg

fanavity
Beiträge: 243
Registriert: 18.07.2017, 16:42
Hat sich bedankt: 63 Mal
Danksagung erhalten: 3 Mal

Re: Wetterstation HB-UNI-SEN-WEA

Beitrag von fanavity » 09.02.2019, 10:51

Der HB-UNI-Sensor1 sketch funktioniert leider ebenfalls nicht.

Mit BME erster Versuch

Code: Alles auswählen

AskSin++ V3.1.1 (Feb  9 2019 09:47:52)
09:50:38.777 -> BME280 found
09:50:38.777 -> MAX44009 found
09:50:38.777 -> Sensor setup done
09:50:38.777 -> Serial: UNISENS001
09:50:38.777 -> Clock SYSCLOCK
09:50:38.777 -> Address Space: 32 - 79
09:50:38.777 -> CC init1
09:50:38.777 -> CC Version: 04
09:50:38.777 ->  - ready
tmBattery Voltage: 3293
09:50:38.877 -> Battery set low:  21
09:50:38.877 -> Battery set crit: 19
09:50:38.877 -> Config Changed: List0
09:50:38.877 -> ledMode: 1
09:50:38.877 -> lowBatLimit: 21
09:50:38.877 -> Battery set low:  21
09:50:38.877 -> transmitDevTryMax: 6
09:50:38.877 -> updCycle: 600
09:50:38.877 -> altitude: 0
BME280   Temperature   : 203
09:50:44.635 -> BME280   Pressure      : 9842
09:50:44.635 -> BME280   PressureNN    : 9842
09:50:44.635 -> BME280   Humidity      : 38
09:50:44.635 -> MAX44009 Brightness    : 0
09:50:44.635 -> <- 15 01 84 70 A5A501 000000 00 CB 26 72 26 00 00 00 00 00 0C DD  - 192
BME280   Temperature   : 202
10:02:08.342 -> BME280   Pressure      : 9842
10:02:08.342 -> BME280   PressureNN    : 9842
10:02:08.342 -> BME280   Humidity      : 36
10:02:08.342 -> MAX44009 Brightness    : 0
10:02:08.342 -> <- 15 02 86 70 A5A501 000000 00 CA 26 72 24 00 00 00 00 00 0C DD  - 268
BME280   Temperature   : 187
10:13:31.863 -> BME280   Pressure      : 9845
10:13:31.863 -> BME280   PressureNN    : 9845
10:13:31.863 -> BME280   Humidity      : 36
10:13:31.863 -> MAX44009 Brightness    : 0
10:13:31.863 -> <- 15 03 84 70 A5A501 000000 00 BB 26 75 24 00 00 00 00 00 0C DD  - 344
Ohne BME hat es dann einmal geklappt.. Aber anschließend auch nicht mehr.. Wenn ich den BME auskommentiere gehts auch nicht ..

Code: Alles auswählen

AskSin++ V3.1.1 (Feb  9 2019 10:27:43)
Error: no BME280/BMP280 sensor found
10:28:59.131 -> MAX44009 found
10:28:59.131 -> Sensor setup done
10:28:59.131 -> Serial: UNISENS001
10:28:59.131 -> Clock SYSCLOCK
10:28:59.131 -> Address Space: 32 - 79
10:28:59.131 -> CC init1
10:28:59.131 -> CC Version: 04
10:28:59.131 ->  - ready
tmBattery Voltage: 3293
10:28:59.238 -> Battery set low:  21
10:28:59.238 -> Battery set crit: 19
10:28:59.238 -> Config Changed: List0
10:28:59.238 -> ledMode: 1
10:28:59.238 -> lowBatLimit: 21
10:28:59.238 -> Battery set low:  21
10:28:59.238 -> transmitDevTryMax: 6
10:28:59.238 -> updCycle: 600
10:28:59.238 -> altitude: 0
MAX44009 Brightness    : 52
10:29:04.954 -> <- 15 01 84 70 A5A501 000000 00 00 00 00 00 00 00 00 34 00 0C DD  - 1171
Und mit dem Sketch vor ein paar seiten gehts sofort :/

Code: Alles auswählen

// Distributed with a free-will license.
// Use it any way you want, profit or free, provided it fits in the licenses of its associated works.
// MAX44009
// This code is designed to work with the MAX44009_I2CS I2C Mini Module available from ControlEverything.com.
// https://www.controleverything.com/products

#include<Wire.h>

// MAX44009 I2C address is 0x4A(74)
#define Addr 0x4A

void setup()
{
  // Initialise I2C communication as MASTER
  Wire.begin();
  // Initialise serial communication, set baud rate = 9600
  Serial.begin(9600);

  // Start I2C Transmission
  Wire.beginTransmission(Addr);
  // Select configuration register
  Wire.write(0x02);
  // Continuous mode, Integration time = 800 ms
  Wire.write(0x40);
  // Stop I2C transmission
  Wire.endTransmission();
  delay(300);
}

void loop()
{
  unsigned int data[2];

  // Start I2C Transmission
  Wire.beginTransmission(Addr);
  // Select data register
  Wire.write(0x03);
  // Stop I2C transmission
  Wire.endTransmission();

  // Request 2 bytes of data
  Wire.requestFrom(Addr, 2);

  // Read 2 bytes of data
  // luminance msb, luminance lsb
  if (Wire.available() == 2)
  {
    data[0] = Wire.read();
    data[1] = Wire.read();
  }

  // Convert the data to lux
  int exponent = (data[0] & 0xF0) >> 4;
  int mantissa = ((data[0] & 0x0F) << 4) | (data[1] & 0x0F);
  float luminance = pow(2, exponent) * mantissa * 0.045;

  // Output data to serial monitor
  Serial.print("Ambient Light luminance :");
  Serial.print(luminance);
  Serial.println(" lux");
  delay(300);
}

Code: Alles auswählen

Ambient Light luminance :59.76 lux
Ambient Light luminance :61.20 lux
Ambient Light luminance :61.20 lux
Ambient Light luminance :61.20 lux
Ambient Light luminance :61.20 lux
Ambient Light luminance :61.20 lux
Ambient Light luminance :61.20 lux
Ambient Light luminance :61.20 lux
Ambient Light luminance :61.20 lux
Ambient Light luminance :61.20 lux
Ambient Light luminance :61.20 lux
Ambient Light luminance :61.20 lux
Ambient Light luminance :15.30 lux
Ambient Light luminance :15.30 lux
Ambient Light luminance :15.30 lux
Ambient Light luminance :6.12 lux
Ambient Light luminance :6.12 lux
Ambient Light luminance :6.12 lux
Ambient Light luminance :6.12 lux
Ambient Light luminance :0.00 lux
Ambient Light luminance :0.00 lux
Ambient Light luminance :0.00 lux
Ambient Light luminance :0.00 lux
Ambient Light luminance :0.00 lux
Ambient Light luminance :48.96 lux
Ambient Light luminance :48.96 lux
Ambient Light luminance :61.20 lux
Ambient Light luminance :61.20 lux
Ambient Light luminance :61.20 lux
Ambient Light luminance :61.20 lux
Ambient Light luminance :85.68 lux
Ambient Light luminance :85.68 lux
Ambient Light luminance :85.68 lux
Ambient Light luminance :134.64 lux
Ambient Light luminance :134.64 lux
Ambient Light luminance :110.16 lux
Ambient Light luminance :110.16 lux
Ambient Light luminance :110.16 lux
Ambient Light luminance :122.40 lux
Ambient Light luminance :122.40 lux
Abschließend habe ich noch mal den BME angeschlossen und den HB-UNI-Sensor1 geflasht und da hat es auch einmal geklappt. Eventuell hat der Sensor auch einen weg? Komisch nur, dass der eine Testsketch immer funktioniert.

Code: Alles auswählen

AskSin++ V3.1.1 (Feb  9 2019 10:36:47)
10:37:20.959 -> BME280 found
10:37:20.959 -> MAX44009 found
10:37:20.959 -> Sensor setup done
10:37:20.959 -> Serial: UNISENS001
10:37:20.959 -> Clock SYSCLOCK
10:37:20.959 -> Address Space: 32 - 79
10:37:20.959 -> CC init1
10:37:20.959 -> CC Version: 04
 - ready
tmBattery Voltage: 3293
10:37:21.027 -> Battery set low:  21
10:37:21.074 -> Battery set crit: 19
10:37:21.074 -> Config Changed: List0
10:37:21.074 -> ledMode: 1
10:37:21.074 -> lowBatLimit: 21
10:37:21.074 -> Battery set low:  21
10:37:21.074 -> transmitDevTryMax: 6
10:37:21.074 -> updCycle: 600
10:37:21.074 -> altitude: 0
BME280   Temperature   : 212
10:37:26.793 -> BME280   Pressure      : 9847
10:37:26.793 -> BME280   PressureNN    : 9847
10:37:26.793 -> BME280   Humidity      : 34
10:37:26.793 -> MAX44009 Brightness    : 71
<- 15 01 84 70 A5A501 000000 00 D4 26 77 22 00 00 00 47 00 0C DD  - 194
zu guter letzt habe ich noch mal den HB-UNI-SEA geflasht und nun funktioniert auch dieser. Wie kann das denn sein?
FTDI Ab und wieder Dran und schon gehts nicht mehr. Ich denke ich werde einen neuen MAX44009 bestellen oder was meint ihr?

Code: Alles auswählen

AskSin++ V3.1.1 (Feb  9 2019 10:41:42)
10:47:27.602 -> MAX44009 Sensor OK
10:47:27.602 -> BME280 sensor OK
Address Space: 32 - 86
10:47:28.084 -> CC init1
10:47:28.084 -> CC Version: 04
 - ready
10:47:28.124 -> * Config Changed       : List0
10:47:28.124 -> * SENDEINTERVALL       : 10
10:47:28.124 -> * Config changed       : List1
WINDDIR aVal  : 1023 :: tolerance = 10 :: i = 0
10:47:31.137 -> BME280:
10:47:31.137 -> -T    : 212
10:47:31.137 -> -P    : 9849
10:47:31.137 -> -P(NN): 9849
10:47:31.137 -> -H    : 36
10:47:31.137 -> -DP   : 58
10:47:31.137 -> MAX44009:
10:47:31.137 -> -B    : 576
<- 1A 01 A0 70 F1D002 4F6DA4 00 D4 26 79 24 00 02 40 00 00 00 00 00 00 00 00 00  - 3592
waitAck: 00
10:47:31.814 -> <- 1A 01 A0 70 F1D002 4F6DA4 00 D4 26 79 24 00 02 40 00 00 00 00 00 00 00 00 00  - 4241
waitAck: 00
<- 1A 01 A0 70 F1D002 4F6DA4 00 D4 26 79 24 00 02 40 00 00 00 00 00 00 00 00 00  - 4892
waitAck: 00
<- 1A 01 A0 70 F1D002 4F6DA4 00 D4 26 79 24 00 02 40 00 00 00 00 00 00 00 00 00  - 5541
waitAck: 00
<- 1A 01 A0 70 F1D002 4F6DA4 00 D4 26 79 24 00 02 40 00 00 00 00 00 00 00 00 00  - 6191
waitAck: 00
<- 1A 01 A0 70 F1D002 4F6DA4 00 D4 26 79 24 00 02 40 00 00 00 00 00 00 00 00 00  - 6840
waitAck: 00
SENDING EXTRA MESSAGE 0
10:47:40.086 -> <- 0D 02 A0 53 F1D002 4F6DA4 41 01 00 00  - 12476
waitAck: 00
<- 0D 02 A0 53 F1D002 4F6DA4 41 01 00 00  - 13113
waitAck: 00
10:47:41.351 -> <- 0D 02 A0 53 F1D002 4F6DA4 41 01 00 00  - 13748
waitAck: 00
<- 0D 02 A0 53 F1D002 4F6DA4 41 01 00 00  - 14385
waitAck: 00
<- 0D 02 A0 53 F1D002 4F6DA4 41 01 00 00  - 15022
waitAck: 00
<- 0D 02 A0 53 F1D002 4F6DA4 41 01 00 00  - 15659
waitAck: 00
10:47:43.895 -> <- 0C 03 A2 41 F1D002 4F6DA4 41 00 C8  - 16295
waitAck: 00
10:47:44.550 -> <- 0C 03 A2 41 F1D002 4F6DA4 41 00 C8  - 16930
-> 0A 03 80 02 4F6DA4 F1D002 00  - 17065
10:47:44.697 -> waitAck: 01
WINDDIR aVal  : 1023 :: tolerance = 10 :: i = 0
10:47:45.085 -> BME280:
10:47:45.085 -> -T    : 213
10:47:45.085 -> -P    : 9849
10:47:45.085 -> -P(NN): 9849
10:47:45.085 -> -H    : 38
10:47:45.085 -> -DP   : 64
10:47:45.085 -> MAX44009:
10:47:45.085 -> -B    : 518
<- 1A 04 84 70 F1D002 4F6DA4 00 D5 26 79 26 00 02 06 80 00 00 00 00 00 00 00 00  - 17502
WINDDIR aVal  : 1023 :: tolerance = 10 :: i = 0
10:47:55.154 -> BME280:
10:47:55.154 -> -T    : 213
10:47:55.154 -> -P    : 9847
10:47:55.154 -> -P(NN): 9847
10:47:55.154 -> -H    : 37
10:47:55.154 -> -DP   : 61
10:47:55.154 -> MAX44009:
10:47:55.154 -> -B    : 633
<- 1A 05 84 70 F1D002 4F6DA4 00 D5 26 77 25 00 02 79 80 00 00 00 00 00 00 00 00  - 27551
ignore 0F 7D 86 10 5FA9DA 000000 0A A8 ED 09 00 00  - 35203
WINDDIR aVal  : 1023 :: tolerance = 10 :: i = 0
10:48:05.254 -> BME280:
10:48:05.254 -> -T    : 212
10:48:05.254 -> -P    : 9847
10:48:05.254 -> -P(NN): 9847
10:48:05.254 -> -H    : 36
10:48:05.254 -> -DP   : 56
10:48:05.254 -> MAX44009:
10:48:05.254 -> -B    : 28
10:48:05.254 -> <- 1A 06 84 70 F1D002 4F6DA4 00 D4 26 77 24 00 00 1C 80 00 00 00 00 00 00 00 00  - 37601
EDIT: Es scheint jetzt ziemlich random zu sein. Mal funktioniert es, mal nicht.

TomMajor
Beiträge: 1793
Registriert: 30.08.2017, 23:25
Hat sich bedankt: 175 Mal
Danksagung erhalten: 399 Mal
Kontaktdaten:

Re: Wetterstation HB-UNI-SEN-WEA

Beitrag von TomMajor » 09.02.2019, 13:33

Hmm, mit dem HB-UNI-Sensor1 Test wollte ich ausschließen das es an der MAX Ansteuerung liegt da dies dort etwas anders gemacht wird.
Außerdem sehe ich anhand des logs dass das Lesen der Brightness Regs einwandfrei klappt (sonst würde die 'MAX44009 Brightness:' Ausgabe nicht kommen), sie liefern halt nur manchmal 0.
Nach deinen Testergebnissen würde ich sagen, definitiv die HW.

Könnte auch sein das am MAX eine kalte Lötstelle o.ä. ist und es mal geht, mal nicht, unabhängig vom sketch. Man könnte das testen indem man mit einen kleinem Schraubendreher leichten Druck von verschiedenen Stellen auf den MAX ausübt während die Messung läuft. :wink:
Alles in allem würde ich sagen, teste ein zweites MAX Board.

fanavity
Beiträge: 243
Registriert: 18.07.2017, 16:42
Hat sich bedankt: 63 Mal
Danksagung erhalten: 3 Mal

Re: Wetterstation HB-UNI-SEN-WEA

Beitrag von fanavity » 09.02.2019, 18:27

Vielen Dank für eure Bemühungen! Habe jetzt einen neuen MAX44009 bestellt. Hoffe das dieser Problemlos funktioniert!

Antworten

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