Monitoring the temperature of the W5500 chip

Quite often in the process of the device development it is necessary to monitor the temperature of individual elements of the circuit, it wasn't without it in our case. The board has an Ethernet controller chip, which in normal mode is above ambient temperature. So it was important for us to track its temperature while working with the load.
1. Structure. Connection diagram. Connection to the PC

This time we will need:
  • Resistor 10 kOhm
  • NTC 10kOhm sensor
  • Fork

The NTC sensor changes its resistance as the temperature changes, so it is often connected by a voltage divider circuit, as shown in the diagram (to the right). Nominal resistance of the sensor is specified/set at the temperature of 25 ℃. The resistance of the upper resistor is usually set to be equal to the resistance of the NTC to the operating temperatures medium, for higher precision. Range that we need is around 25 ℃ therefore we will set resistance of the resistor: 10 kOhm. The voltage on the circuit must be applied so that the NTC sensor does not release more than 1mW, so 5 volts it is.

The resistance-to-temperature correlation is nonlinear and can be described by the following formula


1/T = 1/T0 + 1/B*ln(R/R0)
T0 is the temperature at which NTC is at nominal resistance point, B is the temperature sensitivity coefficient. Let's Adduce formula that converts voltage to resistance.

Rntc = R/(VAO/Vntc - 1)
Now we will convert the obtained resistance to the temperature
2. NTC sensor and layout
To install it on the board, we will have to to isolate the leads and solder the wires (to it). this is what I got
Now I will assemble the circuit and connect it to the chip (object of our study)
3. Getting JavaScript Results
To display the results on HTML page we turn to the open-access library Chart.js/
Unfortunately it is inconvenient to be using the library, as either an internet connection is required or it will need to be downloaded to Fork, considering that the size of the library is 172 KB.

The program operates with 3 functions.

get_ntc_temperature(call_back=null)
The function queries the fork and receives the voltage. Next step - It is converted to temperature and sent to function call_back

receive_temperature()
Receives the temperature and adds it to the diagram

auto_receive_temperature()
The function periodically calls the receive_temperature ()

Here is what we've got
With the "Autoupdate off/Autoupdate on" button you can turn on/turn off the automatic temperature query. You can also adjust the querying period by setting the number of seconds.

Here, in the figure, the temperature monitoring has been turned after the power had been supplied to the test device. Then, at 12:10:19, the Ethernet controller was loaded (process took 2 minutes). As can be seen from the figure, the temperature the load has not changed under the influence of the load. In general, the chip heats up on 18.5 ℃ concerning the ambient temperature.
4. Getting results in Python
To draw figures in Python, we are going to use the matplotlib library. Links: how to install and use matplotlib. Here you can use the animation function to periodically query the sensor. FuncAnimation is in matplotlib. It solves two problems at once, automatic query of the sensor and display of data on the figure.

In the first experiment, we started monitoring before powering the device. Later, at 02:50, the Ethernet controller was loaded (process took 2 minutes). As you can see, this did not significantly affect the temperature of the chip. Temperature difference 18.5 ℃.
In the second experiment, we also started monitoring of the temperature after power was supplied, and then covered device with the box at 13:43. Loading of the device began at 13:47 within 2 minutes. In this case it had no impact as well. However with a box the difference of temperatures increased a little and became 20 ℃.
As a result, with the help of a resistor fork and a sensor, we quickly assembled a stand that allows monitoring of the temperature. It's made for long-term measurements. We have the opportunity to do this both in the browser using the JavaScript and by running a script on the computer on Python. Measurements show that chip of the Ethernet-controller heats up concerning the ambient temperature 18.5 ℃ and if we cover a fork with a box, it heats up 20 ℃.
5. Links to the scripts
Subscribe news
© All Rights Reserved, 2022 Privacy policy forktestlab@gmail.com