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: