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.

TMP006 calculation

Other Parts Discussed in Thread: TMP006

Hi,

I have downloaded an example code to calculate object temperature which was posted in another thread. Below is part of example code.

// Calulate temperature from the TMP006 datasheet
long double calculateTemp(int Tdie, int Vobj){
  long double Vobj2 = (double)Vobj*.00000015625;
  long double Tdie2 = (double)Tdie*.03125 + 273.15;
  long double S0 = 2.24*pow(10,-14);             // Tommy's S0
  //long double S0 = 6.033*pow(10,-14);
  long double a1 = 1.70*pow(10,-3);
  long double a2 = -2.0*pow(10,-5);
  long double b0 = -2.57*pow(10,-5);
  long double b1 = -9.48*pow(10,-8);
  long double b2 = 2.26*pow(10,-10);
  long double c2 = 0;
  long double Tref = 298.15;
  long double S = S0*(1+a1*(Tdie2 - Tref)+a2*pow((Tdie2 - Tref),2));
  long double Vos = b0 + b1*(Tdie2 - Tref) + b2*pow((Tdie2 - Tref),2);
  long double fObj = (Vobj2 - Vos) + c2*pow((Vobj2 - Vos),2);
  long double Tobj = pow(pow(Tdie2,4) + (fObj/S),.25);
  return (Tobj - 273.15);
}

I found the parameters a1, a2 and so on were different from those stated in SBOU107. Which one is right?

Thanks.

BRs,

Luo

  • Hello Luo,

    Some of the coefficients given in the example code were adjusted for a particular application. I recommend using the values from the User's Guide SBOU107 as a starting point.

    Best regards,

    Ian Williams
    Linear Applications Engineer
    Precision Analog