Author Options:

Arduino Reptile Pulse Proportional Thermsotat Answered


I have kept many reptiles in the past and use this type of thermostat control with any of my non-light emitting heat sources such as ceramics, heat mats etc but these thermostats are pricey for every setup.
An idea I had was to maybe incorporate an Arduino since I have one lying round to be able to control multiple input/outputs for more than one tank, but i do not know how to go about building one and what pulse proportional means. I have used Arduino before and familiar with C programming but not done much with controlling AC electrics other than either on/off using relays (ideal for simple thermostats tho like MatStats from livingearth).
So would it be as easy as to find a PWM AC controller and make the Arduino change the duty cycle depending on how close the temperature actually is compared to the set point? Or would I need to use PID control?
Any ideas would be great. 


Since noone answers I might be able to shed some light on the problems.

Pulse proportional thermostat just means that the power to heater is not just switched on and off but also regulated in power - like a dimmer.

To translate into "Arduino":

You need a temp input and a PWM output, the last used as a mosfet or power transistor driver.

If the temp is below a set threshold the heater will powered at maximum.

After reaching the threshold the power will be slightly reduced.

The closer it gets to the desired temp the more the power is reduced while checking that the temp is still raising.

Once the final temp is reached the output is set to a pulsed mode, for example 3 sec on, 3 sec off which is increased once the temp is stabilized.

Depending on the type of heater or your needs you can now either just pusle at set intervals or let the program "dim" the heater to keep the temperature.

Thank you for your reply.

Could I use a phase-controlled SSR or burst fire SSR an use the arduino to create a 0-10v pwm signal to the relay? I'm trying to make a cheap and simple thermostat :)

A simple mosfet like the IRF540 or IRFP260 should work just fine.

After all you are switching resistive loads, no inductivities or capacities.

I would simply rectify the mains voltage and siwtch it with the mosfet.

To seperate the elctronics from mains (if necessery) you can use an opto coupler or a gate driver based on a simple ring transformer.

If you stick to AC you could use a Triac to take the load.
There are many variations available, I would check what is available for a good price and search for some suitable shematics on the net.

Been doing a lot of reading on this and i'm swaying more towards using a zero-crossing SSR so that the switching will only happen when the AC mains is at 0v instead of at 90degrees or 270 degrees of the sine wave. Then I can use the Arduino to turn on for one cycle or two or whatever :)