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: HDC2010 Spreadsheet Review

Part Number: HDC2010


Hi Sirs,

Addition to the thread, I am making a spreadsheet to verify HDC2010's reported data per customer's request. Would you please assist us to review the enclosed spreadsheet based on the equations on the HDC2010 datasheet?

Thank you and Best regards,

Wayne Chen
08/01/2019
HDC2010HEX_P.xlsxHDC2010HEX_P.xlsx

  • Wayne - 

    from values given for temp (0x6EFE), this would equal 31.53793C, looks like you started chopping of bits after that - the cells must be protected somehow, i cannot see the formula you are using - please just use the formula as it is stated in the datasheet (page 18)

    T = temp data returned (in decimal) / 65536 * 165 - 40

    T = ((28414 / 65536) * 165) - 40

    T = 31.53793

    Humidity value given was 0xA624, this equates to (from using the formula (also on page 18)): 64.89868%RH

    %RH = (humidity data returned (in decimal) / 65536) * 100

    %RH = (42532 / 65536) * 100

    %RH = 64.89868

  • Hello Josh,

    Thanks for your concern. I found error with my equation. Attached spreadsheet is the revised file.

    Based on the description in datasheet, the LSB are always 0, considering the resolution in the examples:
    I copied the examples from the application note at http://www.ti.com/lit/an/snaa312/snaa312.pdf

    If we got 0x6EFE from Temp registers:

    14bit resolution - 0x6EFE: = 0110111011111110 (16bit) -> Make two LSB to 00 -> 0110111011111100b -> take the first 14bit, makup to 16bits -> (01101110111111)00b -> 6EFC -> 28412d -> (28412/65536)*164-40 = 31.53289795'C

    11bit resolution - 0x6EFE: = 0110111011111110 (16bit) -> Make two LSB to 00 -> 0110111011111100b -> take the first 11bit, makup to 16bits -> (01101110111)00000b -> 6EE0 -> 28384d -> (28384/65536)*164-40 = 31.46240234'C

    9bit resolution - 0x6EFE: = 0110111011111110 (16bit) -> Make two LSB to 00 -> 0110111011111100b -> take the first 9bit, makup to 16bits -> (011011101)0000000b -> 6E80 -> 28288d -> (28288/65536)*164-40 = 31.22070313'C


    If we got 0xA624 from Humidity registers:

    14bit resolution - 0xA624: = 1010011000100100 (16bit) -> Make two LSB to 00 -> 1010011000100100b -> take the first 14bit, makup to 16bits -> (10100110001001)00b -> A624 -> 42532d -> (42532/65536)*100 = 64.89868164'C

    11bit resolution - 0xA624: = 1010011000100100 (16bit) -> Make two LSB to 00 -> 1010011000100100b -> take the first 11bit, makup to 16bits -> (10100110001)00000b -> A620 -> 42528d -> (42528/65536)*100 = 64.89257813C

    9bit resolution - 0xA624: = 1010011000100100 (16bit) -> Make two LSB to 00 -> 1010011000100100b -> take the first 9bit, makup to 16bits -> (101001100)0000000b -> A600 -> 42496d -> (42496/65536)*100 = 64.84375'C

    I will send unprotected spreadsheet to you by Email. If there is any missing or mistaje, please do not hesitate to inform me.

    Thank you and Best regards,

    Wayne Chen
    08/02/2019

    7411.HDC2010HEX_P.xlsx



     

     

  • Hello Josh,

    Thanks for your concern. I found error with my equation. Attached spreadsheet is the revised file.

    Based on the description in datasheet, the LSB are always 0, considering the resolution in the examples:
    I copied the examples from the application note at http://www.ti.com/lit/an/snaa312/snaa312.pdf

    If we got 0x6EFE from Temp registers:

    14bit resolution - 0x6EFE: = 0110111011111110 (16bit) -> Make two LSB to 00 -> 0110111011111100b -> take the first 14bit, makup to 16bits -> (01101110111111)00b -> 6EFC -> 28412d -> (28412/65536)*164-40 = 31.53289795'C

    11bit resolution - 0x6EFE: = 0110111011111110 (16bit) -> Make two LSB to 00 -> 0110111011111100b -> take the first 11bit, makup to 16bits -> (01101110111)00000b -> 6EE0 -> 28384d -> (28384/65536)*164-40 = 31.46240234'C

    9bit resolution - 0x6EFE: = 0110111011111110 (16bit) -> Make two LSB to 00 -> 0110111011111100b -> take the first 9bit, makup to 16bits -> (011011101)0000000b -> 6E80 -> 28288d -> (28288/65536)*164-40 = 31.22070313'C


    If we got 0xA624 from Humidity registers:

    14bit resolution - 0xA624: = 1010011000100100 (16bit) -> Make two LSB to 00 -> 1010011000100100b -> take the first 14bit, makup to 16bits -> (10100110001001)00b -> A624 -> 42532d -> (42532/65536)*100 = 64.89868164'C

    11bit resolution - 0xA624: = 1010011000100100 (16bit) -> Make two LSB to 00 -> 1010011000100100b -> take the first 11bit, makup to 16bits -> (10100110001)00000b -> A620 -> 42528d -> (42528/65536)*100 = 64.89257813C

    9bit resolution - 0xA624: = 1010011000100100 (16bit) -> Make two LSB to 00 -> 1010011000100100b -> take the first 9bit, makup to 16bits -> (101001100)0000000b -> A600 -> 42496d -> (42496/65536)*100 = 64.84375'C

    I will send unprotected spreadsheet to you by Email. If there is any missing or mistaje, please do not hesitate to inform me.

    Thank you and Best regards,

    Wayne Chen
    08/02/2019

    1616.HDC2010HEX_P.xlsx



     

     

  • Wayne - 

    As sent to you just now over email - there is no need to do this sort of bit manipulation and as this has moved to email, closing this post. 

  • Thanks for supporting. We will explain the process to customers...Wayne Chen