Other Parts Discussed in Thread: BP-BASSENSORSMKII, TM4C1294NCPDT, TMP117, HDC2021, HDC2022, HDC2010
Hi,
I've been messing around with the HDC2080 on the BP-BASSENSORSMKII sensor board interfaced with a TM4C1294NCPDT on the EK-TM4C1294NCPDT evaluation board for a few days now. I am using TI-RTOS and basically just reading temperatures and humidity readings and sending them over an ethernet link to another device for further processing. I've scoured the forums for an answer and followed the recommendations in various user guides and documents but nothing seems to solve my issue. I have tried several different on the BP-BASSENSORSMKII boards and all of the HDC2080s read temperatures 3-5 C higher than room temperature. The TMP117s on the same board read much more accurately with no issues.
I am using an interrupt based model - the HDC2080 triggers conversions at 1 Hz in automeasurement mode, and I verify the data ready bit is set in the 0x04 register, so it shouldn't be an issue of reading the result registers before a conversion has completed. Below is a photo from a Saleae Logic Analyzer of the I2C transaction. If any other information is required, please let me know. Why have several different sensors on different BP-BASSENSORSMKII read inaccurate temperatures? The humidity result seems to be more accurate and falls in line with the +/- 2% RH accuracy. If the humidity depends on the temperature reading, how can the RH be accurate within the accuracy range, but the temperature be so far off?
Here are the conversion formulas I'm using as well -
temperature_raw = (rxBuffer[1] << 8) + rxBuffer[0]; temp_C = (temperature_raw/65536.0)*165-40; humidity_raw = (rxBuffer[3] << 8) + rxBuffer[2]; rel_H = (humidity_raw/65536.0)*100;