At 11:35 05/18/99 +0200, Tjaart van der Walt wrote: >Stefan Sczekalla-Waldschmidt wrote: >> Tjaart van der Walt wrote: >> > Good advice. I have noticed another thing that can make your >> > system much more immune to the low-frequency I-oscillations : >> > Reset the I-value to zero whenever P=0. >> >> looks like a good Idea - BTW did you try to optimize your PID-paramters >> according to Ziegler-Nichols ? > I optimised them according to Tjaart-Experiment! > >The resetting of I compensates (among other things) for >the digital nature of the calculations. Running 16 bit >PID values in a PIC is not feasible, so I pulled a few >tricks out of the hat. Another, is to only accumulate >the I value every 10-50 (settable) samples. Effectively >this divides the I term which is always much smaller >than the P or D terms. actually, there are two more possibilities to handle the i part, especially for slow (eg. temperature) processes where it is for long intervals of ramping (like heating or cooling) far away from the setpoint: you can limit it and/or you can reset it to 0 whenever the difference is too big (ie. you're positive that you're not in a deviation, but in a ramp). if the i part is already all the way to the max when the system actually starts regulating after spending a long time in a ramp approaching the setpoint, that's an almost sure recipe for oscillations. ge