Member Login
member
passwd
remember me on
this computer.

- join now -
- forgot username or password? -

Search

Jump to a Date

Sponsored Communities
Cool stuff
Select a topic of interest:
...and press:
Neat Stuff
Control.com Stuff

Visit our shop for nerds in control lifestyle products.

Fortune
Just go with the flow control, roll with the crunches, and, when you
get a prompt, type like hell.
RSS Feed
RSS feed Use this link to get an RSS feed of the Control.com article flow, for private, non-commercial use only:
www.control.com/rss/
To get a personalized feed, become a member at no cost.
Select a Page Style
Select one of the following styles:
- BluFu
- Classic
(cookies required)
advertisement
from the Automation List department...
PID to control heater using microcontroller
Continuous process industries, DCS questions. topic
Posted by Wayne on 3 January, 2008 - 4:17 pm
Hi all, I'm new in here. I have been assigned a project title related to PID controller for which I need some advice and guidance. I wish to apply PID algorithm to control a heater to ramp up and maintain at certain temperature using micro-controller. Any help is highly appreciated. =)

The hardware includes a Thermocouple and a Heater block. I wish to use micro-controller (C programming) to control the heater block to fire up to 200 degree and maintain at that temperature.

I have included some parameters to be considered: Kp, Ki, Kd, setpoint, actual output and error. Is there any other parameter I should include? How should I manupulate these parameters to control my heater block in order to ramp and maintain the temperature using PID algorithm?

Thank you for your attention, please give me some advice on these. =)

Best regards,
Wayne


Posted by Gerrit M van der Molen on 4 January, 2008 - 11:36 pm
Hello Wayne,

Additional parameters you should consider are output limits (min/max heater power?) for anti-windup if you use integral control, and scaling factors between the inputs and outputs of your micro-controller (is the temperature measurement input signal in mA, deg C, deg F, another unit?) and internal scaled or engineering units. Another factor to consider is whether you will need to switch between automatic and manual control (requiring bumpless transfer/changeover), or will always be under automatic control.

For ideas and examples of PID algorithms and code, search on the http://www.control.com site for "pid implementation" and "pid using c".

Good luck,
Gerrit


Posted by Thong Phat Co., Ltd. on 4 January, 2008 - 11:42 pm
Dear Wayne,

There is a full resource for your to build a PID controller for a heater: using thermocouple or RTD sensor, on/off or phase control for the heater, Orcad schematic, C code for both microcontroller and PC interface via serial communication, PID code with Kp, Ki, Kd.

The link is:

http://www.psocdeveloper.com/docs/appnotes/an-mode/detail/a n-pointer/an2208/an-file/128.html

However, it is based on Cypress PSoC microcontrollers. They are very powerful 8 bit microcontrollers: ADC, DAC, PWM, analog multiplexers, timers/ counters, I2C, UART, amplifiers etc. Its big disadvantage is quite complicated to start, learn and understand. It is very difficult in comparison to 8051 microcontrollers.

Hope you like it!

Hung Lam


Posted by George Buckbee on 5 January, 2008 - 1:24 pm
Wayne -

For a tutorial on PID control & tuning, visit:

www.expertune.com/tutor2.html

-George

From Control Engineering magazine...
Related articles from Control Engineering magazine
Above articles copyright 2008 Reed Business Information. Subject to its Terms of Use.
Your use of this site is subject to the terms and conditions set forth under Legal Notices and the Privacy Policy. Please read those terms and conditions carefully. Subject to the rights expressly reserved to others under Legal Notices, the content of this site and the compilation thereof is © 1999-2008 Control Technology Corporation. All rights reserved.

Users of this site are benefiting from open source technologies, including PHP, MySQL and Apache. Be happy.

Internet Explorer 6.0 Fix

Advertisement
Our Advertisers
Help keep our servers running...
Patronize our advertisers!