一种方法是量化每次采样值,使计算得到的偏差不至于太大,单次积分求就不会溢出;另一种方法就是利用变量类型本身加以防范。这个问题可能需要你遇到类似的情况之后才能理解。
ki不能为零,否则静差无法消除,积分系数得有正值。越接近设定值,比例环节的计算结果自然是越小的,此时加热对象可能与环境温度温差大,热散失也快,所以温度不易保持,这个对控制对象特性有关;
程序可能有不合理之处,单边控制,输出低于下限直接关断就行了,你取反是何用意?
if(uk<0)
{
hightime=-uk;
}
uk输出为负,说明控制环节希望受控对象降温。实际如不存在制冷装置,这时仅将加热器关闭就行了,你取反之后,输出又为正,如何实现自动调节?
|