How do PID temp controllers implement control

  • Thread starter Thread starter Engn_sam
  • Start date Start date
  • Tags Tags
    Control Pid
Join the discussion
Ask a follow-up here, or get your own question answered by working scientists, mathematicians and engineers — people, not an autocomplete.
Real named experts · corrections over time · the nuance an AI answer skips
5 replies · 2K views
Engn_sam
Messages
6
Reaction score
0
My group members and I are trying to build a snow heating mat. So far, we are using nichrome heating wires sandwiched in silicone rubber connected to an arduino that controls a solid state relay to turn on and off electric current from a wall plug. What I want to know is how to control the temperature. We decided to stick with an on and off control since it's the easiest to work out but I want to know how you implement a P or PID control. Do I need like a variable resistor or something? Or what way is the PID control supposed to vary the power output?
 
Engineering news on Phys.org
Here is the arduino PID library:
http://playground.arduino.cc/Code/PIDLibrary

Here is an example using the library with a relay:
http://playground.arduino.cc/Code/PIDLibraryRelayOutputExample

Background on the development of the arduino PID library:
http://brettbeauregard.com/blog/2011/04/improving-the-beginners-pid-introduction/

Some background on control theory:
https://en.wikipedia.org/wiki/Control_theory

If you google "arduino sous vide" you'll get many results where a relay, heater & PID* are used together with an arduino to maintain a temperature setpoint.

*While a PID controller is used, I & D are set to zero so it's P only. like anorlunda recommends.
 
  • Like
Likes   Reactions: BvU
anorlunda said:
I don't think PI or PID is justified for something like that. A simple proportional control wi a dead and will do.

You need the dead and to prevent it from cycling endlessly.
What's a dead and. and is it safe to use a proportional control with a solid-state relay
 
With on-off control, you need deadband to prevent endless cycling. With deadband, you can't use integral control, because that would cycle.

All you need is two statements. Let T be temperature, P set point, and D deadband.

if P-T > D then turn_on;
If T-P > D then turn_off;

D is your only tuning parameter.

Good luck.