MicroHTR (Part 1)

Part 1, 2, 3, 4, 5, 6, 7, 8, 9

MicroHTR stands for Micro heater project. This is a pending project for which I was unhappy with the information and code found on the web. Finally I decided to build a simple prototype in order to evaluate my draft PID code from which the following results have been obtained.

The blue trace is the temperature setpoint (40°C). The red trace is the actual temperature. The yellow trace corresponds to the proportional term, the purple trace corresponds to the integral term and the green trace corresponds to the power applied to the heater (PWM mode).

The hardware is very simple, consists in a pair of power resistors, a switching darlington transistor, a control led and a digital temperature sensor connected to an Arduino Uno and its proto shield.

The next picture illustrates the heater and sensor elements bound together on a heatsink

The code makes an extensive use of Arduinoos PlainXXX libraries, including PlainPWM, PlainTMP and the newly created PlainPID. As this is my first time with PID design, I used an external custom tool nammed Panorama to remotely manage the data acquisition and treatment from the Arduino interface. From this software, I have been able to draw these interesting pictures, such as:

The temperature profile over 35 minutes

a probability match function (often imporperly nammed at density function), showing a superb thermal noise spectrum, caracterized by its gaussian shape

the frequency spectrum taken from the raw signal, showing the beat frequency of the signal

Just for fun, I applied a FFT denoising using a band filter centered on the beat frequency, which gives this “cleaned” signal

Next post on same subject

Leave a Reply

You must be logged in to post a comment.