This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

HDC2080: 读温湿度不正常

Part Number: HDC2080

代码参考编程手册流程,采用连续扫描方式,速度设置为5Hz,读如果04状态位最高位为0x80,读出温湿度。在测试过程中发现100中有5个传感器温度为-40,湿度为0%。

有问题的传感器04状态位返回数值,有0xA8,0xB8,0xF8这几种情况,而正常的传感器只会返回0x80.

采用单次扫描的方式,传感器读数温度可以正常读出,湿度值100%。

我的疑问是下使用这款传感器需要那些配置要注意的,还是硬件出问题了?

  • 您好,您是按照这个配置流程走的吗?比如上电后至少要等3ms再去对寄存器进行配置? 当寄存器0x04读取的值不是0x80的时候,再返回去读0x80,当读取温湿度值的时候,需要等1s左右的时间保证转换完成。

    a. (First) power up -

    b. wait more than 3mSec - 

    c. write register 0x0E with 0x50 (set for conversion every one second)

    d. write register 0x0F with 0x01 (start conversion)

    c. wait >1.3 to 1.5mSec 

    d. read register 0x04 (for 0x080) -

    e. if 0x04 = 0x080, read 0x00 through 0x03 (this can be done all at once)

    // loop

    f. wait 1 sec

    g. read register 0x04 (for 0x080) -

    e. if 0x04 = 0x080, read 0x00 through 0x03 (this can be done all at once)

  • 已经试过,采用连续扫描方式,对于原本测试正常的传感器正常,不正常的传感器需要把开始转换这一步(0xf写入1)放到循环里,既是每次循环先设置0xf,延时,接着才判断04寄存器,否则数据不会连续的更新。做出以上改动后,数据正常读取,但04寄存器仍然时不时会返回0xA8,0xB8,0xF8,按道理27摄氏度,50%湿度的房间不应该出现湿度高或者温度低的信号?

  • 您好,不正常传感器在0xF写入1之后,延时delay的时间设长一些,至少延时1.3~1.5ms,可以再设长一些,再读04的值。

    按照上面的流程,是读取0x04的值不是08之后,循环读取0x04的值而不是从0xf这里循环呢。

    不正常的和正常的都是同一批次购买的吧? 

  • 1、对于正常的传感器按照以上操作流程是没问题的,0xF写入1之后delay 200ms,循环检测04寄存器,均可读到数据

    2、对于有问题的传感器,使用上面一样的方式,只有第一次检测04寄存器位0x80,能读到数据,后面检测04寄存器是返回0xA8

    3、配置完成后进入循环检测04寄存器,此时在检测04寄存器后加上读0E寄存器的指令,加热器会启动,此操作对所有有问题的传感器均有效,对于正常的传感器无影响

    4、所有传感器是同一批次

  • 您好,这批芯片是在TI官网上购买的吗? 

  • 1000多片都是在国内立创商城买的

  • 您好,国内立创商城不是我们的授权经销商。 针对您目前的问题,我建议是做一下交叉实验,将不能正常工作的芯片换到正常工作的板子上验证下是芯片的问题还是板子的问题。

    另外,如果是芯片的问题,可能需要您这边直接联系经销商。