• 回复
  • 收藏
  • 点赞
  • 分享
  • 发新帖

对PI算法调节PWM占空比的疑问

首先我理解的的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) 结果已经是小于零了这么进行得下去

全部回复(5)
正序查看
倒序查看
yhtfeel
LV.7
2
2014-07-11 15:59
0
回复
2014-07-11 16:31

uset=2V;

uo=1.5V, e0=0.5V;

u1=0.5V*kp+0.5V*ki=1.8V, e1=0.2V;

u2=0.2V*kp+(0.5V+0.2V)*ki=2V, e2=0V;

=>  kp=1.04, ki=2.56;

u3=0V*1.04+(0.5V+0.2V+0V)*2.56=1.792V, e3=0.208V;

u4=0.208V*1.04+(0.5V+0.2V+0V+0.208)*2.56=2.5408V, e4=-0.5408V

u5=(-0.5408)V*1.04+(0.5V+0.2V+0V+0.208-0.5408V)*2.56=0.3776V, e4=1.6224V

...

发散;

 

uset=1V;

u0=1.5V, e0=-0.5V;

u1=(-0.5V)*1.04+(-0.5V)*2.56=-1.8V, e1=2.8V;

u2=2.8V*1.04+(-0.5V+2.8V)*2.56=8.8V, e2=-7.8V;

...

发散;

所以其所选kp,ki不能满足环路稳定性要求。

0
回复
yhtfeel
LV.7
4
2014-07-11 16:34
@新月GG
uset=2V;uo=1.5V,e0=0.5V;u1=0.5V*kp+0.5V*ki=1.8V,e1=0.2V;u2=0.2V*kp+(0.5V+0.2V)*ki=2V,e2=0V;=> kp=1.04,ki=2.56;u3=0V*1.04+(0.5V+0.2V+0V)*2.56=1.792V,e3=0.208V;u4=0.208V*1.04+(0.5V+0.2V+0V+0.208)*2.56=2.5408V,e4=-0.5408Vu5=(-0.5408)V*1.04+(0.5V+0.2V+0V+0.208-0.5408V)*2.56=0.3776V,e4=1.6224V...发散; uset=1V;u0=1.5V,e0=-0.5V;u1=(-0.5V)*1.04+(-0.5V)*2.56=-1.8V,e1=2.8V;u2=2.8V*1.04+(-0.5V+2.8V)*2.56=8.8V,e2=-7.8V;...发散;所以其所选kp,ki不能满足环路稳定性要求。
都是计算界的大神啊
0
回复
hary_wu01
LV.3
5
2014-07-11 18:26
@新月GG
uset=2V;uo=1.5V,e0=0.5V;u1=0.5V*kp+0.5V*ki=1.8V,e1=0.2V;u2=0.2V*kp+(0.5V+0.2V)*ki=2V,e2=0V;=> kp=1.04,ki=2.56;u3=0V*1.04+(0.5V+0.2V+0V)*2.56=1.792V,e3=0.208V;u4=0.208V*1.04+(0.5V+0.2V+0V+0.208)*2.56=2.5408V,e4=-0.5408Vu5=(-0.5408)V*1.04+(0.5V+0.2V+0V+0.208-0.5408V)*2.56=0.3776V,e4=1.6224V...发散; uset=1V;u0=1.5V,e0=-0.5V;u1=(-0.5V)*1.04+(-0.5V)*2.56=-1.8V,e1=2.8V;u2=2.8V*1.04+(-0.5V+2.8V)*2.56=8.8V,e2=-7.8V;...发散;所以其所选kp,ki不能满足环路稳定性要求。

我们算法本质上一致的,只是你的式子里没有考虑采样周期 那么这个Kp,Ki 该怎么去确定呢。

总不能一次次的去试吧!求明解 

0
回复
2014-07-12 08:49
@hary_wu01
我们算法本质上一致的,只是你的式子里没有考虑采样周期那么这个Kp,Ki该怎么去确定呢。总不能一次次的去试吧!求明解 

采样周期不是重点,只是从S域转换为Z域所需要的一个参数而已。

kp、ki要在s域里去确定,然后再转换为z域。

kp、ki的确定需要考虑环路开环增益,也就是其取值必须使开环增益满足环路稳定性要求,比如截至频率、穿越斜率、幅值裕量,相位裕量等均要满足稳定性要求。

 

0
回复