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.

HDC2010: implementing high threshold and low threshold temperature together

Part Number: HDC2010


Hi,

We are designing a low power battery operated device and considering to use HDC2010. In our application we want HDC2010 to generate an interrupt at each 1 C change in temperature, that interrupt should wake up the microcontroller from low power mode, send that data with SUB 1GH RF to another node and then again go back to low power mode.

Initial setup of registers are as following:

Reg Add: Value

0x0F: 0x00

0x0A: 0x23

0x0B: 0x25

0x0E: 0x57

0x07: 0x78

0x0F: 0x01

in interrupt callback function

reading 0x00 and 0x01 register and sending to another node

setting up 0x0A with temperature - 1 and 0x0B with temperature +1

I am getting temperature readings only when temperature value is incrementing not decrementing and I understand that's because; The priority is such as TH>TL>HH>HL. So TH is highest priority and HL is lowest.

Question: can I achieve what I am trying in my application with HDC2010? if yes. how? 

  • Hello Amit,
    What you mean by "How are you controlling the temperature to the HDC2010 device?"? I didn't understand your question completely, I think you mean in what kind of environment that sensor will be used.
    - Device will be used to monitor room temperature, based on temperature readings thermostat will control hvac.
    you need to be aware of how fast temperature changes for the application and how it is timed with sensor's sensing interval
    - temperature change won't be very fast, I was thinking 5 second sensing interval.

    How you suggest to achieve that? When temperature is ascending I am able to track temperature change but not during temperature decreasing. Because at a time I can only enable one threshold interrupt, for now because Temperature High Interrupt (TH_ENABLE) has highest priority I am getting interrupt when temperature increasing. To enable Low Temperature Interrupt (TL_ENABLE), i need to have temperature curve slope, and based on slope whether negative or positive enable TH_ENABLE or TL_ENABLE, that's not good for battery powered devices. Is there any other way you can think of or any other part you can suggest me? Thanks!
    -Anesh
  • Hello Anesh,

    Since the ambient temperature does not change that fast, the most common method that is used in thermostats is to make a periodic measurement of the ambient temperature; by periodically waking up the MCU to read its environmental sensors. This is typically done once a minute. Knowing what the temperature is the MCU makes a decision to switch ON or OFF the heating or cooling. This is a standard practice in almost most of the thermostats that are available.

    As for your use case, did you try to enable both the TH and TL Enable bits?
  • Hello Amit,
    I tried enabling both, in the description of my question you can see I have enabled threshold for high trmperature, low temperature, high humidity and low humidity. I was thinking this IC will generate interrupt in OR mode but it is not.
    I know most doing periodic monitoring but I don't want to do that.
    Any other IC that suitable for my application or any other way you can think of?
  • Hello Anesh,

    Yes, you are correct on the interrupt generation. Sorry for the confusion here: As given in the data if TH_ENABLE is set the other conditions will not trigger the interrupt. Hence only temperature increasing can be triggered but not temperature decreasing. At the same time it is worthwhile to note that thermostats generally have the MCU triggering itself ON to read the sensors and respond to control messages from the HVAC automation unit. Hence it is logical to wake up the MCU periodically. Another way to conserve battery power is to not start the RF if the read of the temp registers show that there has been no change between the bounds.
  • Hello Anesh

    How are you controlling the temperature to the HDC2010 device? What you are proposing should work but you need to be aware of how fast temperature changes for the application and how it is timed with sensor's sensing interval