首先我理解的的PI算法是:将测试值与设定值相比较,然后根据差值逐步的使输出接近设定值。
设当前输出为Uk ,前一次输出为UK-1 ,设定值为:Uset ;
当前误差:ek ;前一次误差:ek-1.比例系数:Kp ,Ki 积分系数。
系统结构如下图,A/D转换为10位,5v对应1024。
PI公式:U=Kp(ek+1/t∫ etdt) 积分时间为0-t
离散性PI公式为:UK-UK-1=Kp*(ek-ek-1)+Ki*ek 即UK=Kp*(ek-ek-1)+Ki*ek +Uk-1
设uset=2.0v ,第一次输出测试值是1.5v(对应a/d转换值307),期望第二次是1.8v(367)---->直到2.0v(409)
第一次ek=102(0.5v对应A/D转换值) ek-1=0
Uk=Kp*(102)+Ki*0 ,那Kp=3.6,得Uk=367(1.8v)
第二次ek=42(0.2v) ek-1=102
Uk=3.6*(42-102)+Ki*42+367,那Ki=-4 ,得Uk=409(2.0v)
即得:Uk-Uk-1=3.6(ek-ek-1) +6.6.ek
如果Uset=1.0v(205),,第一次输出测试值是1.5v(307)
Uk=307-3.6(307-205) 结果已经是小于零了这么进行得下去