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.

ADS1118: internal temperature has a 2-degree offset

Other Parts Discussed in Thread: ADS1118, TMP007, TMP006

Hi,

When reading the internal temperature of the ADS1118, it's always about 2 degrees higher than the temperature of the PCB. The datasheet says that the ADS1118 should not be self-heating, so I'm wondering why I get this offset. I've also seen this post:

The question is almost the same, but there's never been a final answer to it.

Any idea of what the problem might be? Should I do a software correction?

Thanks,

Francis

  • Francis,


    I'm not aware of any issues with the ADS1118 internal temperature sensor that would make it 2 degrees higher. I'll check with some others familiar with this device, but in the meantime, I did have some questions (similar to the post that you reference).

    1. Other than the ADS1118, what are you measuring the temperature with? What is the accuracy of that device?

    2. Are there any other devices on the board that dissipate heat? Are they close to each other thermally (connected to each other through metal or large ground planes)?

    3. When making a measurement, do you have a soak time to let the device settle to the ambient temperature?

    4. Is the device enclosed or have a heat sink or large thermal mass? A picture of you setup or schematic might help.

    Offhand, I can't really think of anything that would add error to the measurement. If you have some answers to the questions above, post back.


    Joseph Wu
  • Hi Joseph,

    1. I used two different kitchen thermometers. They both shows 2 degrees less. One was on the top of the PCB and the other on the bottom. I'll try with my IR thermometer later today just to make sure.
    2. There's nothing else on that board, except the filtering caps and resistors. The power supply is not close.
    3. I left the circuit on several minutes (more than 15) with both thermometers in place.
    4. The device is enclosed, but in a large case (12"x12"x4"). The only other part that can generate heat is the power supply, but it's an efficient buck converter and it's more than 8" away and secured on another side of the box. If heat was generated, the thermometer would have shown a higher temperature too.

    Thanks,

    Francis
  • Francis,

    I'm not sure that kitchen thermometers are going to give you the most accurate results. I'm sure the potential error is going to be on the order of a couple of degrees, and it could be they happen to have similar errors.

    Even IR thermometers have a similar error. A good IR thermometer will have something like ±1°C or ±1%, whichever is greater. Whatever model you use, look up the accuracy and you can post back what it is.

    Let me know when you get some more results.

    Joseph Wu

  • Hi,

    Yeah, I know that kitchen thermometers won't give the most accurate results, that's why I used more than one. I also made sure they were accurate by testing them in an ice bath. They were both showing a temp in the range 0.1-0.4 degree. With that result, I suppose they should have less than a degree of error. Furthermore, when I tested with the IR thermometer, it indicated the same temperature has the other ones. Having three thermometers showing the same temperature, I'm pretty sure that I can have confidence in this result.

    I made another interesting observation though. When powering up the circuit, the internal temperature seems to be right for a brief moment. It then quickly rise from about 21 to 23 degrees. The ADS1118 is not suppose to generate much internal heat, but is it really the case?

    Here's the PCB if it can be of any help:

  • Francis,


    I'm still at a bit of a loss, and not sure where the error could be coming from.

    One thought would be to get some thermally conductive epoxy and place it underneath and on top of the device. This might give it a bit more thermal conduction to keep the board and device closer to the same temperature. It's also possible that the thermal mass of the ADS1118 could be retaining some heat.

    As for the rise, I'll see if I can duplicate the problem. I do find it unlikely that the device will generate much heat. You can check the quiescent current, but if it's a typical device, it would be pulling 150-200uA, with 5V. This would mean the device would dissipate 0.75 to 1mW of power.

    In the MSOP package, the junction to case thermal resistance would be 51.5C/W, which would only give a 0.039C to 0.052C increase in temperature.


    Joseph Wu
  • Hi,

    I checked the current, it's so low that my multimeter on the 2mA scale can't even read it (I don't have the best multimeter around...) I didn't have time to try with epoxy though.

    As I said before, the temperature is right for about 1-2 seconds when I turn the power on and then quickly rises before stabilizing at about 2-3 degrees higher. What's really weird is that if I cut the power and turn it back on immediately, it will do the same: temp is right for the first seconds and then rises again! If the IC was heating, I don't think that it would have time to cool down during the short time the power is cut.

    I'll continue my experiments. If you think about something else, let me know.

    Thanks,

    Francis
  • Francis,


    Thanks for checking the current. It occurred to me that maybe it was something like a digital communication line that was sourcing or sinking high current that might be adding to the temperature. Since your board only has the ADC, it might be nice to check to see if the microcontroller driving communications is pulling more current than you expect (it might be dissipating on the ADC board).

    I've talked to the original designer of the device and he didn't have any other ideas of what could be going on. The temperature sensor on this device was re-used for the sensors on the TMP006 and TMP007. He wasn't aware of any issues with this device or the TMP devices. I also checked with the applications manager with the TMP devices and he didn't have any other inputs.

    I also talked to someone who had done some application notes on this device and he mention that when people have issues on errors, it's usually some gradient on the board where the board isn't isothermal or not having an isolated enough system where it takes longer to settle to a final temperature. In his experience, he's had better luck with the smaller QFN package. While there isn't a thermal pad on the bottom of the device, it does have a smaller thermal mass, so it's easier for the device to come to temperature.

    He recommended connections to a large ground plane, with a continuous copper underneath, and large lead connections to the board. Both would help ensure that the package and board came to the same temperature quickly.

    As for the 2C rise in temp at the startup, he hadn't seen that before. Are you logging the data from startup? Could you please report back the data with the rise in temperature? It might help show a time constant to the rise. Give the data rate you use and the data in hex (not the converted temperature). I'd like to see enough data to get a rough idea of the time constant in the rise.

    I haven't had a chance to try the setup on my own. I'll let you know when I do.


    Joseph Wu
  • Wow, thanks for the help!

    I'm really confused by the results I have. Yesterday, I had the opposite behavior: the initial reading was about 2 degrees higher than the ambient temperature and then decreased to stabilize at about 1 degree over ambient temp! I tried again this morning and it was back to the initial behavior: temp rising. It doesn't make sense at all!

    When I'll have time, I'll try with another ADS1118 chip in a circuit with the bare minimum to be able to read the internal temp (probably just the decoupling capacitor). If I have better results, that would mean that something is wrong with my circuit.

    Right now, I'm displaying the temperature on an LCD screen and I can't really log the the data. My computer had no serial port, so I won't be able to send the data this way. I'll try to write the data to EEPROM and read it back with the programmer.

    Thanks again,

    Francis
  • Francis,


    Definitely try to log the data. It'll show the repeatability of the problem and maybe it will give some clues to how it can be solved.

    Also, could you share a photo of your setup? I don't have a good idea about how it is put together and what environment you are set up in. One other thought that I had was that you have a simple breakout board, so the wires used to communicate to it could conduct heat back and forth from the board. If the external temperature has a high change of temperature, you could be seeing it reflected in changes in the measurement.


    Joseph Wu

  • Hi,

    I finally had time to continue working on this project. I restarted with a new PCB and ADS1118 chip and now it seems to be a lot better! There must have been a bad solder joint or PCB trace on the previous board.

    Sorry about that and thanks again for the help.

    Francis
  • Francis,


    Thanks for posting back. I'm glad that you were able to get your device to work.

    Out of curiosity, did you have to modify your PCB or make any changes to the setup?


    Joseph Wu
  • I made a small change to the PCB, but I don't think that's why it works now. I moved the CLK line to prevent it from passing under the IC. The ground plane now fills the entire surface under the IC.
  • Francis,


    There are two things that might have made a difference. First, by having a ground plane under the IC, you get a more isothermal layout, with more thermal mass directly under the device. This might depend on the copper weight of your ground plane. Second, a clock line under the device may have been either causing EMI picked up by the device, or capacitively coupling in noise into the device.

    Either one seems like a small effect, however, we're into very small voltages. Regardless, thanks for posting back, I'm glad you were able to solve the problem.


    Joseph Wu