This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

关于增量式PI控制器



增量式PI控制器的比例部分乘以的是现在的输入偏差与上一次输入偏差之差;
积分部分乘以的是本次输入偏差,即考虑的是当前的状态。
如果增量式PI控制器的积分参数设置为零,会不会有问题? 
个人感觉会有问题,因为这样控制器就不考虑当前的偏差情况,只考虑本次偏差与上次偏差之间的差。
最近在调试直流有刷电机单闭环(转速闭环)算法时,PI控制器采用增量式PI控制器,调试过程中的现象是,如果积分参数设置成0,电机的实际转速与目标转速之间有偏差,随着运行时间的增加,电机转速慢慢降低,最终转速为0.按说如果是比例系统,系统会有静差,电机应该稳定运行在低于目标转速的某个转速值上。
那么增量式PI控制器的积分参数是不是不能设置为0呢?
请指点,多谢!
  • 问题解决了 

    代码如下:

    long1_tmp = (long)spd_kp * ( e_spd - e2_spd );

    long2_tmp = (long)spd_ki * e_spd;

    UPI = ( (long)long1_tmp + (long)long2_tmp ) >> 12;

    long1_tmp = UPI + iq_given;

    e2_spd = e_spd;

    除以4096想当然得用了移位,做如下修改后控制正常

    long1_tmp = (long)spd_kp * ( e_spd - e2_spd );

    long2_tmp = (long)spd_ki * e_spd;

    UPI = ( (long)long1_tmp + (long)long2_tmp ) / 4096;

    long1_tmp = UPI + iq_given;

    e2_spd = e_spd;

    测试时,当积分为0时运行异常,故这个问题点不太容易发现