|
Post by Foxi352 on Jan 16, 2019 10:46:34 GMT -8
Hi,
I bought a SunAirPlus to feed my weather station. It is a DIY with SDS dust sensor, BME280 pressure sensor, HTU21 temp/humidity sensor, BH1750 luminosity sensor and some onewire devices.
All works fine, except the HTU21 has an i2c address of 0x40 as does the SAP :-(
Now my two questions:
1. When i scan the i2c bus with only the SAP connected it shows 0x40 and 0x48 ? Does it have two addresses, or is that a bug in detection sketch i use ?
2. Can the 0x40 address of SAP be changed ? In another thread you suggested looking at the INA3221 doc from TI. I know that it can be changed on the INA3221 and i think you give the possibility on your own INA3221 breakout board. Is there also a possibility on the SAP ?
It would be a pity if i couldn't use the informations given by the SAP to detect battery charge e.t.c.
Thank you !
Serge
|
|
|
Post by SDL on Jan 16, 2019 12:35:37 GMT -8
|
|
|
Post by lbendlin on Jan 17, 2019 5:12:23 GMT -8
Any particular reason you are not using the BME280 for temperature and humidity? It's supposedly superior to the SHT21/HTU21 based sensors. I replaced all my SHT21s with BME280.
If you're really, really confident with small soldering projects - the A0 address bit on the INA3221 chip is pin 5. If you bridge that to pin 6 then you get address 0x43
|
|
|
Post by SDL on Jan 18, 2019 9:29:58 GMT -8
That is a great suggestion for the IN3221A. It is touchy, but can be done. On the next rev of the board, we will bring out A0.
We now use the HDC1080 board for inside humidity and temperature. The problem with the BME chips on the board is that we pick up heating from the board. Not too much on the WeatherBoard, but a lot on the WeatherPlus Board.
BP
|
|
|
Post by lbendlin on Jan 18, 2019 17:48:13 GMT -8
BP, you already do that on the SunControl...
Agreed on the board heating issue for the BME280 - it always needs good ventilation to be reliable, and ideally should be installed lower than all other components.
|
|
|
Post by Foxi352 on Jan 29, 2019 9:00:30 GMT -8
Interesting suggestion. I read temperature and humidity from BME280 as well. But i had in my mind that HTU21 was superior for temp and humidity. If that is not true then of course i will change my MQTT published to use the BME values ... I'll double check data sheets. There is quite a difference between the HTU and the BME. Sometimes up to 1 degree for temperature.I know that the IN3221A can have 4 different addresses, that's why i asked how to change it on the SAP board. But i understand this is not intended on this board. 29.01.2019 18:53:08 weather-station-01: HTU21: Humidity = 32.93 % - Temperature = 20.81 °C 29.01.2019 18:53:08 weather-station-01: BME280: Pressure = 964.55 hPa - Temperature = 20.70 °C - Humidity = 30.10 % Thank you for your suggestion lbendlin
|
|
|
Post by Foxi352 on Jan 29, 2019 9:16:48 GMT -8
|
|
|
Post by SDL on Jan 29, 2019 10:07:24 GMT -8
That looks like the HTU21 (we suggest using the HDC1080 now as we have a Grove version) is better. It is also less exposed to board self heating.
BP
|
|
|
Post by foxi352 on Jan 30, 2019 7:35:05 GMT -8
Ok thanks for all the hints. I will order a device to split the bus.
|
|
|
Post by lbendlin on Feb 14, 2019 15:52:26 GMT -8
0x40 is the INA3221. 0x48 is the on board ADC ADS1015. The 0x40 can not be changed. What about the 0x48 ? Can that be changed? If I have two boards (SunControl or SunAirPlus) and both have their ADS1015 on 0x48 does that mean I can only write to the ADS1015 but not (reliably) read from it? Since the ADS1015 doesn't seem to be needed in the default use case, do I even need to worry?
|
|
|
Post by SDL on Feb 15, 2019 13:23:58 GMT -8
You need to put the SAP on different I2C segments. You could probably write to the two ADS1115, but probably not read as you pointed out. Won't hurt anything is you are aren't using it.
SAP should have had that be programmable.
BP
|
|