code fuzzy self-tuning pid action
Sorry for bad Englees!javascript:emoticon('
')
Crying or Very sad
For Selt Tuning you can do the things that I am Working on. Suppose you have a temprature control system, whose output is temperature and input is voltage.
Now by following the zigler nichols open loop test (as temp. sys are slow (1st or 2nd order sys)), javascript:emoticon(':arrow:')
Arrow
1) Make sure the temprature of the heater is at room temperature before starting the
controller.
2) Set the desired temperature (35 deg) (optional for auto tuning)
3) Now apply the Step signal (Voltage using D to A) ~= 10 V to heater for 5 min.
4) Measure the Temp. using any semiconductor Temp. Sensor (IC) at an interval of .1
sec or .01 sec. (depends on the enviormental and other conditions and RAM) and
store it into RAM.
5) Now after 5 min, record the last data and stop measuring it. This value is the Steady State Value of the Temp from which we can get the Value of Process Gain K.
6) From above stored data now we can determine the rise time Tr (time for reaching 90% of the Steady State Value-Calulated from the step 5).
7) From this two values we can find the approximate values of Kp, Kd and Ki (Zigler Nichols Table) which will work fine in most situations but with high overshoot and sometimes unstable systems.
I have done this using PIC16F877 and asm. language. But as is it is prototype there is no need to post the code and schematic. I am also trying to implement other methods and see which one is more suitable for autotuning and then post the Zip file. May be it will take 2 or more months approx if not drop the idea.