Go Down

Topic: thermal controls (Read 586 times) previous topic - next topic


Well, first things first - I'm a newbie.

I'm looking to implement an Arduino to control a heater in a distillation system. Can anyone tell me if I have the basic ideas correct?

Conditions: Two temperature sensors. Sensor one is primary, if temperature is sensed below a certain point, drive a heater. If it goes above another point, cut the heater. Sensor  two is a safety sensor - if this senses heat above a certain threshold, cut the whole system. If either of the sensors short or disconnect, cut the system

1. These sensors would be some sort of thermister, correct?
2. I would read the resistance of the thermisters from analog in, and calculate temperature from that? Near zero and approaching infinity resistance would likely signify damage?
2. I could drive the heater using a transistor and appropriately rated relay, correct? This would be done over a digital output? (the transistor wouldn't be needed if i can find a usable relay that triggers with under 5v input?)

Now here comes the harder part...

Sensor one would be immersed in a flowing methanol gas between 175 and 190 degrees F. Sensor two would be immersed in an organic oil (probably used cooking oil), methanol, and caustic soda (lye) solution at up to 200 degrees F. I'm fairly sure I would need a particular type of thermister for this. Any suggestions?

(The purpose of this machine will be to reclaim methanol from the output of a biodiesel refining process (cooking oil -> biodiesel))



You might want to consider thermocouples mounted in thermowells for your application. A thermowell isolates the sensor from the liquid medium and allows replacement or testing without having to drain the vessel.

Thermcouples are simple and reliable and can handle a very wide temperature range unlike thermisters. You will however have to have special conditioning circuitry to compensate/amplify the measurement to a 0-5vdc range that the Aruino A/D input requires. There are IC avalible that can perform this preconditioning for thermocouples.



Thanks! This is the exact kind of info I was hoping for. I thought it would be uncommon to expose the sensor directly, I just had no idea what to call the logical solution (thermowell).

What do they call those ICs? Anything in particular? Also, what kind of signal do you get from these thermocouples? (it would be a good exercise to design a circuit instead of using the ICs, I'm still just (re)learning electrical theory)


Below is one data sheet. I'm sure there are other more modern devices but you will have to search around.

A thermocouple outputs just millivolts and is not striaght line linear, hense the need for input conditioning. Also a thermocouple measures the difference between the hot junction (the end you are measuring) and the termination end where there is a transition to copper at the measurement end (cold junction) . This requires the conditioning circuitry to measure the ambient temperture on the cold juntion end so that it can factor it out.


Here is a good reference on thermocouples:



Thermistors or simple ICs like an LM34 or LM35 might do the trick and cost less:

For the control algorithm, you couldn't do much better than to use PID:

My Gaggia shudders when I say PID-- it knows what's coming...:D
My Arduino blog: http://jmsarduino.blogspot.com
Comprehensive (?) Arduino-compatible board list: http://tinyurl.com/allarduinos


Nov 29, 2008, 04:55 am Last Edit: Nov 29, 2008, 05:01 am by retrolefty Reason: 1
Yes, depending on the size of the vessel, the heat load, the heating capacity of the heating element, etc., you may find it hard to stay on desired temperature (the setpoint temp.) but rather find it hunting back and forth around it. On/off control can work well for say home central forced air heating where the mass of the process helps prevent or drastically slow down temperature oscillations. However for most small heater controls you may find that PID control is the better method. Only you and your distillation process can determine how tight a temperature control will be required.

As far as controlling the heater element the best solution would be a solid state relay. They can switch 120 or 220 VAC on and off and can be driven (controled) by a TTL level PWM or simple on/off  voltage directly from a Arduino output pin.

You have to spec them for the current that your element draws and the larger ones need to be mounted on a metal heak sink. Here is one example that can handle 120vac at 3 amp load.

Good luck and be sure to share your working code  ;)


Thanks for all the information!

It will be a while before I can begin work, or even if it starts. While I would be working on the control module, someone else is in charge of the rest. He might just spend $150 on premade stuff, or scrap the idea altogether.

As far as scale, we would be using a normal sized water heater for the tank, with one of the elements removed (leaving only the bottom one). The fluids would be pumped from the bottom to the top, and methanol would be added through a venturi in this pump assembly. Evaporated methanol would flow up through another pipe into a condenser and collection tank.

I would be monitoring the temperature of the main fluid media, such that it doesn't get high enough for it to evaporate. Yet, at the same time, I will be reading the temperature of the vapors in an attempt to keep it in a window allowing the methanol to boil out.

Should be fun! I hope I get to take a stab at it. If it doesn't work, he can always go get the premade stuff instead, so we are only out time and supplies.


check out this forum:


you'll also want to look at the links mentioned in the forum, especially the Bare Bones Coffee Control link. there's a PID implementation in there you can hack up to do your temp control.

As far as having two sensors with one testing for an over-temp condition goes, I'd probably go with redundancy instead and always monitor the read temp for over temp and alarm(ad595) conditions.


Go Up