cancel
Showing results for 
Search instead for 
Did you mean: 

HTS221 inconsistency

ERefo
Associate II

Hello All,

Good day!

I got three boards placed close to each other but the humidity readings on three boards varies. Say, 1 board has a humidity reading of ~50 %, the other has ~60% and the last one has ~70 %.

I'm not testing it on a closed environment but still it seems the readings are incorrect since the sensors are placed close to each other.

I'm using FLUKE 971 Temperature and Humidity Meter as reference and has a value of ~50 %.

Attached herewith is the file that contains the calibration and actual raw values.

Also attached is my source code. Please let me know if you've found errors on it. :)

If this is a bug on the chip itself, can this be solved via CTRL registers?

Regards,

Elton

3 REPLIES 3
Eleon BORLINI
ST Employee

Hi Elton, if it is an "environmental" problem, maybe due to some kind of contamination (soldering) think you can try two ways: 1. wash it in ultrasonic cleaner or 2. submit it to a bake (85°C should be ok)

For the second point, did you checked your code with the github repository for HTS221 drivers? https://github.com/STMicroelectronics/STMems_Standard_C_drivers/tree/master/hts221_STdC

Regards

Hello Eleon,

Thanks for the response.

"if it is an "environmental" problem, maybe due to some kind of contamination (soldering) think you can try two ways: 1. wash it in ultrasonic cleaner or 2. submit it to a bake (85°C should be ok)"

- Okay, will relay this info on my team.

"For the second point, did you checked your code with the github repository for HTS221 drivers? https://github.com/STMicroelectronics/STMems_Standard_C_drivers/tree/master/hts221_STdC"

- No, I haven't checked above link. Will check this immediately.

We used below links as reference code.

https://github.com/stm32duino/HTS221

https://github.com/STclab/stm32nucleo-spirit1-lib/tree/34e784ff39a5dc4da288ce696235f41b1db4bf5c/drivers/sensors/hts221

Attached is the datasheet we are using.

We are not using the sensor on low-power mode, we just need to read sensors values when queried by the user (via UART/RF). So I think ONE_SHOT and DISABLE_BDU (to update register continuously) approach would be the best fit, right?

On page 21 of the datasheet, on the AV_CONF register section, it shows the configuration of average temperature/humidity samples. Do you know how long does it take for the sensor to have one sample?

Regards,

Elton

Hello Eleon,

I already checked the link and it seems that we have the same configuration.

By the way, I have this unit that has a "correct" value in temperature but the humidity value is in negative range.

I can't say it's due to ESD since I am getting a "correct" value of temperature and only the humidity is erroneous.

Do you have any idea why the sensor behaves like this?

P.S.

I can say that the temperature is "correct" since the value is close to the reference instrument.

Regards,

Elton