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.

HDC3021: Offset correction

Part Number: HDC3021


Tool/software:

Hi, 

I would like refer to a previous post that I can no longer post to due to an error with the forum. The forum won't let me post because no matter how long I wait (mintues/hours or days), I keep getting an error that I have exceeded my posting limit of 1 post a minute. Seet screenshot below: 


That not withstanding, I would like to follow up on my question regarding offset correction for the HDC3021. Please see my comments posted here: 

e2e.ti.com/.../5427229


  • Hi Dane, 

    So sorry for following up late! I wanted to double-check the procedure with the original author, and it took a bit longer than expected.

    To create a LUT for a given board layout:

    1. Start with some drifted units, at least 10-20 preferred
    2. Put the units in a calibrated humidity chamber with an accurate reference (e.g. chilled mirror)
    3. At a given temperature T_REF setpoint: Sweep the RH up/down and measure the HDC device’s temp T_HDC,0 and humidity H_HDC,0 as a “baseline” vs. the chilled mirror H_REF (to measure the target offset that we want to get rid of, H_OFF = H_HDC,0 – H_REF)
    4. At a given temperature T_REF and humidity H_REF setpoint: Run the heater and loop temp/humidity measurements, until you see the humidity measurement H_HDC,F matches the chilled mirror H_REF (the HDC offset H_OFF has been canceled out thanks to heating). Record the heat rise ΔT = T_HDC,F – T_HDC,0 (delta-temperature between ambient and heated HDC temp)
    5. Create the LUT based off the results in step 4
      1. LUT columns = temp setpoint from the chamber/chilled mirror ref
      2. LUT rows = humidity setpoint from the chamber/chilled mirror ref
      3. Data = heat rise (delta-temperature between ambient & heated HDC, where the characterized offset was canceled out)

    Best regards,

    Sakeenah

  • Hi Sakeenah and thank you for getting back to me. I have some follow up questions regarding the process you have described here. Firstly, in step 1 you have described selecting "some drifted units" and then finding the temperature rise required to "cancel out the H_OFF". This does not sound like a generalized solution as the temperature rise is going to depend on the H_OFF of each device. Therefore, the LUT developed using this method is going to be different for each drifted device. However, in the SNAU265C document on page 18, TI describe a process using a LUT that can be used for two different PCB layouts using the HDC3. So, I get the feeling that the process you have described is missing some steps or some crucial information? Or perhaps we have misunderstood each other? 

    Thank you kindly for the help so far 

    Dane 

  • Dane - 

    Sakeenah asked me to respond to this - I will do so tomorrow - sorry for the delay. 

  • Dane - 

    The process is aimed at finding the correct temperature rise from ambient required to reveal the offset, that is correct, however it is also characterizing the impact the physical layout and the PCB thickness have on the heater inside the HDC device. The behavior of the polymer inside the HDC devices when exposed to the heater is consistent, and that is what is leveraged by building and then using the LUT in your application, outside the lab.    

    • HDC devices have a built in resistive element heater underneath the relative humidity sensor, which is bound power-wise by input voltage and configuration setting (HDC3 only)
    • When the heater is switched on, the added thermal mass of the attached circuit substrate material (PCB) dampens the heat rise response.

    Q=kA(THOT -TCOLD)t/d

    • The rate of heat transfer, ‘Q’ is directly impacted by additions or changes to any of the variables (k, A, d) from the addition of the material directly connected to the sensor.
    • Therefore, the best possible performance of the heater is observed when the least amount of material is attached to the sensor, resulting in the fastest time to solution and least average current consumption.

    or graphically: 

    The graphics below were captured while doing heater testing and the last two show actual working examples, where the firmware cuts off at a specific heat rise temperature – after which the unit would be returned to normal reading and offset would be applied in firmware or could be written into the device (user choice) – in the case of HDC3, could be written back into EEPROM and in case of HDC2 could be written into offset register too – however this memory is volatile, so in a power cycle occurred, the offset correction routine would need to be run again and re-applied to the offset register or applied directly to the actual output of the %RH sensor and offered over UART as a corrected value, in addition to the actual. 

    As you can see they have different slope gains, etc. and therefore it is truly important to carefully characterize, as originally I was focused on the slopes, then as this needs to be able to handle different ambient combinations that cannot be known beforehand – the heat rise itself was used. Its really the same thing / inverse – comes from the same place – the important thing to realize here is to make sure to look at the behavior over temp and %RH for best results. 

    I did PCB board characterization for the recommended board layout options. This is needed to fill in a look-up tables (LUT) that adjusts the drift correction algorithm parameters based on initial conditions (temp and humidity). This shows how one PCB board was characterized.

    15C  - Since we are aiming for the least amount of error. The lookup table starts with the values found along the zero crossing as shown in the graph – this graph and the following graphs were made from the average error return from a group of units at each %RH value – go back to the table if needed.

    After collecting all the points in the tables, an approximate best case error cutoff temperature point is realized and can be visualized in the graphs below as they yield the best approximate specific temperature rise needed at that humidity level, error is averaged across multiple units, from the tables previously shown. (orange box across zero error crossing)

          

    You can see above where while not perfect, the units are able to be brought near the zero error crossing of the graph, in this example at one temperature, and these results would apply to all units with the same layout .

    Let me know if you still have questions - be glad to help you out further.