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.

BQ76952: TEMPERTURE reading error

Part Number: BQ76952
Other Parts Discussed in Thread: BQSTUDIO

 HI, SIR,

     We  use  bq76952   to  read  temperature sensor  as  following.

    #define DFETOFF_TEMPERATURE 0x6CU /*DFETOFF温度读取命令*/
   #define TS1_TEMPERATURE 0x70U /*TS1温度读取命令*/
  #define TS3_TEMPERATURE 0x74U /*TS3温度读取命令*/
 #define DCHG_TEMPERATURE 0x78U /*DCHG温度读取命令*/
 #define DDSG_TEMPERATURE 0x7AU /*DDSG温度读取命令*/

 For  a  long time   the  temperature reading  is  normal.  But  we  see  sometimes,   the  temperature  is  abnormal,   for  example   the  real  temperaure is   40℃, but we  get 96℃.

Power   off  bms,  then power on  again,  the temperature is  40℃

  • Dear Jian,

    Please correct me if I am wrong, but it seems like you have set up 5 thermistors on your device. This leaves me with a few questions that will help me understand the situation better:

    1. Are all 5 thermistors seeing the wrong value at the same time or does one produce the proper value while the other 4 produce incorrect values?

    2. Do the proper values ever reappear after going high or does it only go away after restarting the device.

    3. Can you share your configuration of the temperature sense pins like the Settings:Configuration:TS1 Config register?

    4. Could you share the hardware set-up of your thermistors? Is there any capacitors in parallel to the thermistors and what type of thermistor are you using?

    Best,
    Asher Nederveld

  • Hi  Nederveld,

        1.  following  is  reading  tempt

          

    2.

     

    3.  Software  config:

    /* This configures the ALERT pin to drive high (REG1 voltage) when enabled.*/
    /* The ALERT pin can be used as an interrupt to the MCU when a protection has triggered or new measurements are available*/
    g_Afe_Config_ok |= BQ769x2_SetRegister(ALERT_PIN_CONFIG, 0x2AU, 1U);

    g_Afe_Config_ok |= BQ769x2_SetRegister(0x92FDU, 0x0BU, 1U);

    g_Afe_Config_ok |= BQ769x2_SetRegister(0x92FFU, 0x0BU, 1U);

    g_Afe_Config_ok |= BQ769x2_SetRegister(0x92FBU, 0x0BU, 1U);

    g_Afe_Config_ok |= BQ769x2_SetRegister(0x9301U, 0x0BU, 1U);

    g_Afe_Config_ok |= BQ769x2_SetRegister(0x9302U, 0x0BU, 1U);

  • Dear Jian,

    You're configuration for the pins looks like it should be fine. However, I wanted to double check that the thermistors are off the board of the schematic shown and mounted near the battery and that's why the capacitors are only showing to for the pin inputs.

    When these changes in temperature occur, is there a significant different on the pin voltages? It would be helpful to know whether the corresponding change in temperature correlates to a change on the input pin voltage to determine whether the issue is on the hardware or software side.

    Best,
    Asher Nederveld

  • Hi   Nederveld,

           Because the  problem  is  diffcult  to   reappear,  I  want  to  do   something  for  this.

  • Dear Jian,

    How often are these issues occurring? From the sound of your previous message, it seems like that it isn't occurring often. Once it occurs, does the temperature ever fluctuate or does it stay fixed at 96 degrees? If it doesn't fluctuate, that might point more towards a software issue with an incorrect read.

    However, if it does fluctuate when at the high temperatures, that would make me believe it is more of a hardware issue. What sort of thermistors are you using in your set-up? If you are using BQStudio for you programming, you can send me the .gg file and I can try to recreate your issue on an EVM where the hardware is confirmed to work.

    Best,
    Asher Nederveld

  • 温度传感器0_125度10334410 (10-G104-03).pdf

    Hi   Nederveld,

         This  is  our  tempt

  • Dear Jian,

    Thanks for sharing the thermistor with me. Nothing about it seems out of the ordinary. I am curious about the situation where the 96C temperatures occur. Could you clarify what exactly is happening? Is the temperature staying exactly at 96C or does it vary and change with time? For example, would applying external heat to the thermistor produce any change on the measurement when it is stuck at 96C?

    I would recommend checking the voltage at each thermistor pin when these 96C temps are being recorded to see if an abnormal voltage is on the pin when compared to the normal readings after restarting the device.

    Best,
    AsherNederveld

  • HI  Nederveld,

            I  measure  the  voltage  between   ntc  sensor.  The  voltage   is  16mv.    Other  ntc  sensor  is  almost  10~20  mv.   Why  are they  so  low?  Today,  we   find   the  DFETOFF  is  16 degree,  other more than 30 degree.

  • Hi  Nederveld,

        I  think  maybe  the  ntc sensor  voltage is  too low . It  will  lead to  extra voltage  disturb the  sensor.  

  • Hi Jian,

    If you're seeing ~10-20mV across the NTCs, this makes me think that the 180kohm internal pullup is being used for the pins.

    Are you seeing this low voltage at all times? Or just during the fault?

    Regards,

    Max Verboncoeur

  • Hi   Max Verboncoeur,

      step1:

        When  NTC sensor  is  inserted, I  see  NTCs  voltage  low  at  all times.   But   When  NTC sensor   is not inserted, I  measure the  inserting point  voltage    and  get   950mv.    Would you  tell me  what is  the  normal  votage?

        step2:

       I check config, every   config is  0xB.    

      

         g_Afe_Config_ok |= BQ769x2_SetRegister(0x92FDU, 0x0BU, 1U);
    g_Afe_Config_ok |= BQ769x2_SetRegister(0x92FFU, 0x0BU, 1U);

    g_Afe_Config_ok |= BQ769x2_SetRegister(0x92FBU, 0x0BU, 1U);

    g_Afe_Config_ok |= BQ769x2_SetRegister(0x9301U, 0x0BU, 1U);

    g_Afe_Config_ok |= BQ769x2_SetRegister(0x9302U, 0x0BU, 1U);

          

  • This  is  our  customer  tell us  they  see  this.  The  temperature  is  room  tempt.  Sensor1~6  is  other sensor.   Sensor 7~11  is  AFE sensor. 

  • Hi Jian,

    Just to confirm whether this is an issue with the ADC calculation or with the actual hardware, can you provide the raw ADC measurements from while the device is exhibiting this behavior?

    You can find the registers to get these values from Section 4.6: Subcommands 0x0075–0x0077 DASTATUS5–7(), Additional Measurements of the TRM.

    Regards,

    Max Verboncoeur

  • Hi   Max Verboncoeur,

         The  test  is  going  on  and   does not  repeat  the   problem.  At  this  time ,  I  want  to  raise  ntc sensor  voltage.  Would you  tell  me  how to  config  the software ?

        Now   my  config  is  as  following:

        g_Afe_Config_ok |= BQ769x2_SetRegister(0x92FDU, 0x0BU, 1U);
    g_Afe_Config_ok |= BQ769x2_SetRegister(0x92FFU, 0x0BU, 1U);

    g_Afe_Config_ok |= BQ769x2_SetRegister(0x92FBU, 0x0BU, 1U);

    g_Afe_Config_ok |= BQ769x2_SetRegister(0x9301U, 0x0BU, 1U);

    g_Afe_Config_ok |= BQ769x2_SetRegister(0x9302U, 0x0BU, 1U);

  • Hi Jian,

    See the image below for a diagram of how the pins function internally. You won't be able to raise the voltage from the pin since the 1.8V REG is the only pull up voltage available, and the 18kohm option is already selected.

    Your software configuration should be fine, however, another possible test that you may try is using the example code provided on the product page to see if that has any effect on this behavior.

    Regards,

    Max Verboncoeur

  • Max Verboncoeur,

         I  find  something  strange 。     

    I  find  when the extra voltage  is more than 120mv  we can read temperature data. When extra  votage is less than 120mv, we can not read valid temperature data.  But  when ntc  sensor  linked BQ76952, the  voltage  is  about 20mv.  It  is  so  strange

  • Hi Jian,

    The TS pin works by periodically sourcing current on the pin, and simultaneously reading the voltage dropped across the external thermistor. Depending on how you are taking these measurements, the pulse may be too quick to read.

    Can you send the raw ADC temperature readings? You can find the registers to get these values from Section 4.6: Subcommands 0x0075–0x0077 DASTATUS5–7(), Additional Measurements of the TRM.

    Also, don't have anything extra connected to the NTCs (i.e. meters/probes) when taking these readings as too much capacitance on the pin could interfere with the measurement process (the 470pF capacitors should be fine to leave as they are).

    You may also send your .gg config file so that we can check it.

    Regards,

    Max Verboncoeur

  • # Resistances (Ohms)
    204700
    193400
    182800
    172900
    163600
    154900
    146700
    139000
    131700
    124900
    118500
    112400
    106600
    101200
    96080
    91270
    86730
    82460
    78420
    74620
    71020
    67530
    64240
    61130
    58200
    55430
    52810
    50330
    47990
    45770
    43670
    41660
    39760
    37960
    36250
    34630
    33100
    31640
    30260
    28950
    27700
    26510
    25370
    24290
    23270
    22290
    21360
     20480
    19640
    18830
    18070
    17340
    16640
    15980
    15340
    14740
    14160
    13610
    13090
    12590
    12110
    11650
    11210
    10790
    10380
    10000
    9630
    9275
    8936
    8611
    8301
    8001
    7715
    7440
    7177
    6925
    6683
    6451
    6229
    6016
    5811
    5613
    5422
    5240
    5064
    4896
    4734
    4579
    4429
    4285
    4147
    4013
    3884
    3760
    3640
    3525
    3415
    3308
    3205
    3106
    3011
    2919
    2830
    2744
    2662
    2582
    2505
    2431
    2360
    2291
    2224
    2160
    2097
    2037
    1979
    1922
    1868
    1815
    1765
    1716
    1668
    1622
    1577
    1534
    1492
    1451
    1412
    1374
    1337
    1301
    1267
    1233
    1201
    1170
    1139
    1110
    1081
    1053
    1027
    1001
    975
    950
    927
    904
    881
    859
    838
    818
    798
    778
    760
    741
    723
    706
    689
    673
    657
    642
    627
    612
    598
    584
    571
    558
    545
    533
    
    # Temperatures (degreesC)
    -40
    -39
    -38
    -37
    -36
    -35
    -34
    -33
    -32
    -31
    -30
    -29
    -28
    -27
    -26
    -25
    -24
    -23
    -22
    -21
    -20
    -19
    -18
    -17
    -16
    -15
    -14
    -13
    -12
    -11
    -10
    -9
    -8
    -7
    -6
    -5
    -4
    -3
    -2
    -1
    0
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    
    
    ProcessingType=7
    Rpullup=18k

  • Hi Jian,

    This is the thermistor config file. Could you send the raw ADC temperature readings from the device? You can find the registers to get these values from Section 4.6: Subcommands 0x0075–0x0077 DASTATUS5–7(), Additional Measurements of the TRMI am looking for the TS1/2/3 Counts from DASTATUS6() and DASTATUS7().

    Regards,

    Max Verboncoeur