我用PID算法对一个温控系统进行控制,目标温度比实际温度差值大 则调节量大 否则小,这里用r1表示目标温度,r2表示实际温度,我用下面的几个式子:<br /> error=r1-r2;//表示差值<br /> s1=s1+ts*error;//s1为积分项,初始值为0,ts为采样周期<br /> U=kp*error+ki*s1;//U为控制量<br /> if(U>MAX) //控制范围<br /> U=MAZ; <br /> IF(U<MIN)<br /> U=MIN;<br />·····<br /> 但是实际操作中发现,某些目标温度点很快可以得到,且稳定度还好,但是某些点温度就不容易得到了,比如设置-30,现在是0,最后不是到达-29.3,就是-30.8,为什么那??请问这里做过PID的高手能指点一下么?非常感谢!! |
|