How do I Implement a first order system on Arduino?

I'm working on peltier module to maintain the temperature in an aluminum material which the decision will be based on thermal time constant and rate of change of heat in the system. I've gotten the transfer function for the system and the system is a first order system but finding it difficult to implement. would like your ideals and insight on this please.

Look at the PID form of control, there is even a library to help you implement it.

Experience shows the mating surface of the aluminum and the surface of the Peltier will NOT be smooth and 100% in contact unless you are able to grind or machine the surfaces. Heat transfer compound helps, but then you have another variable to be concerned with.

wouldn't it be as simple as turning something off/on above some temperature+ and the opposite when below some temperature -?

I've implemented the PID algorithm to effect the rate of change of the error but the real issue I'm having is the thermal time constant

Absolutely. The variables are beEn considered and in order to have a firm contact between the two, I think I can use thermal paste

The aim of the project is to take decision with thermal time constant of the material

Yes that requires to be in the equation and you seldom know this. You could do an experiment where you give the Peltier device a step change and then measure the temperature every half second or so. Then if you plot these on a graph you should be able to determine the thermal time constant. This will give you a rough idea of where to start plugging in the numbers.

1 Like

Thermal paste is used to fill any porous surface that cannot be made smooth, NOT for uneven surfaces. Also do you have a design to press the Peltier firmly against the aluminum?

1 Like

Thanks. but could you please shed more light on this.

This question seems to be have asked on Stack Exchange word for word, please can you explain this?


Not too sure what you mean.
You have to do some tests to measure the thermal time constant.


it was removed by stackexchange system, saying it wasn't software related question. And i don't think it's wrong for me to ask the question here and on stack, the aim is for me to get help from you guys

The problem is that when a question appears here and somewhere else it is sometimes because it was copied from somewhere else and posted here by a spammer, so as soon as a search shows the same question on another forum we get very suspicious of the person posting it.

You also have to consider that in asking the same question in 2 places, even if completely honest and genuine, has volunteers spending time trying to help unaware of what the other group of volunteers is doing to help, and possibly wasting their time, which is why asking the same question twice on there is banned.

I understand.
Thanks, I've deleted it on stack

1 Like

I'm working on the design to get the data. I will get back to you for further assistance.
Tho I'm using 5 DBS1820 on the material whereby I will take the average value as feedback to give signal to the peltier. The thermal time constant will be estimated from this average value right. And how can i do the calculation for it, can you please recommend a paper ?

The thermal time constant is got by a best-fit curve to your time-series measurements - no averaging involved:

Hello, kindly advice/guide me on my project please. The attachment is the structure of my project but I'm finding it difficult to implement the solution I want to my arduino.

Firstly, the project is all about temperature control in a system, I'm trying to maintain the temperature within the region 1,2,3,4,5 (with is 100mm with the center of the aluminium material).

Temp. Sensors are place on each point 1-5 and two other temp. sensors are placed on each end of both hot and cold region to know what temperature is actually transfering from the region. I'm using peltier element at both end. Assuming a constant temp of 27C is transfering from region A to B which will normally takes time before the temp will be uniform in the material, the aim of this project is to counter the temperature before reaching point 3 (which is the midpoint of the material). Now I don't understand the concept how I can apply to written my sketches on microcontroller such that it will switches itself at appropriate time to neutralize the temperature coming from region A to have 23C at maximum depending on how fast the heat is been transferred. from the region A. The signal will be givn to peltier element in region B and will be PID based

What code have you got so far?