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.

lab05a:FAST电流环pid参数自整定方法的探讨

TI的 InstaSPIN-foc的电流环采用传统pid控制器,pid参数自整定方法归纳总结:

这里以串级式pid探讨:G(s)=  Kp + Kp*Ki/s ------------------------------------------------------------------------------------------------(1)

简化电机数学模型,有电机输出电流I和输入电压V之间的传递函数:I(s)/ V(s)=  (1/R) / (1+(L/R)*s)----------------------(2)

根据控制理论中控制器设计原则上讲,希望pid的零点能够消除掉电机传递函数中的极点:有 Ki = R/L,可见辨识电阻和电感直接影响积分增益的值;

采用零极点对消后,系统的开环传递函数变为:G(s)=  1/((L/Kp)*S +1)     ----------------------------------------------------------(3)

Just a beautiful single-pole low-pass roll off response! 就是一个 一阶低通滤波器;

以一阶惯性环节为例。G(s)= 1 /(Ts+1),将s = jw带入G(s),可知一阶惯性环节的转折频率w = 1/T,注意这里w的单位为rad/s;

可知(3)式的转折频率为w = Kp/L,TI的手册中写到Kp/L =  Bandwidth。其实这里的Bandwidth就是我们这里说的转折频率w,单位都为rad/s;

TI将转折频率w定义为 Bandwidth,其实就是转折频率w一阶低通滤波器的-3dB带宽,具体可以去看看他的幅频曲线。

好,言归正传!我们这里是要确定电流环的比例增益Kp =  L *  Bandwidth;

这里TI将Bandwidth(rad/s) = 2*pi*CurrentControlFrequency/20;就是说将电流环的带宽定义为电流环采样频率的1/20;注意单位转换;

这样就确定电流环的比例增益Kp =  L *  Bandwidth = L*2*pi*CurrentControlFrequency/20

至此就完成了FAST电流环pid参数的自整定工作。当然我们也可以看到这里的pid参数依赖于电机参数辨识结果,可以进行适当的微调;

至于Bandwidth为什么定义为电流环采样频率的1/20,还望请教大家给解惑!

  • 这个问题建议可以在E2E上,问一下设计人员。

  • 好的,非常感谢您的回答~

  • 你好!我在E2E提问了这个问题:并有人给出解释为:

    The 1/20*Fcc is the rule of thumb of current bandwidth that is reflected from lots of test. (Fcc = Current Controller Frequency)

    In general, 1/10*Fcc is the maximum bandwidth of current controller.

    1/20 * Fcc是从大量的测试得出的经验法则。(Fcc =电流控制器频率)

    一般来说,1/10 * Fcc电流控制器的最大带宽。

  • 个人见解:

    一般来说电流环的采样周期T=1/PWM开关频率。为了抑制开关器件开关动作引入的高频噪声,通常PWM的开关频率应该远离滤波器的截止频率,以抑制系统的噪声。主要应该是器件在开通和关断时造成的电流噪声。通过实践测试发现滤波器的截止频率取1/20*CurrentControlFreq。最大取到1/10。否则噪声再大将严重影响到系统性能。在大部分的pid自整定算法中也都是这样做的。

  • 为了验证电流环带宽BandWidth设置(通过Kp值间接修改BandWidth)对电机电流的影响,使用电流互感器检测电机的相电流。

    驱动器工作在电流环模式。

    按照TI的电流环Kp计算方法:Kp = 0.792

    采用电流互感器的方法检测电流发现:

    静态条件下(Iq_ref = 0):Kp = 0.792电流互感器噪声较小。如下图:

    增大Kp = 2.0,可以听到电机吱吱的声音,电流互感器的静态值噪声变大。

    动态条件下(Iq_ref = 0.2A):Kp = 0.792电流互感器检测的电流噪声较小,电流波形接近于正弦波。

    动态条件下(Iq_ref = 0.2A):Kp = 0.792,电流波形噪声明显变大。并发出吱吱响声。

    继续增大Kp值,电机运行声音变得很大,转速也变低,此时的电流波形噪声更大了。这种情况不能运行太长的时间,

    以防损坏电机或是控制电路。上述波形均是使用电流互感器+电阻测得的波形。

    所以,一般来说电流环的采样周期T=1/PWM开关频率。为了抑制开关器件开关动作引入的高频噪声,通常PWM的开关频率应该远离滤波器的截止频率,以抑制系统的噪声。主要应该是器件在开通和关断时造成的电流噪声。通过实践测试发现滤波器的截止频率取1/20*CurrentControlFreq。最大取到1/10。否则噪声再大将严重影响到系统性能。在大部分的pid自整定算法中也都是这样做的。



  • 非常不错的理论分析和实验验证。

    ERIC

  • Chris chen2008 说:

    个人见解:

    一般来说电流环的采样周期T=1/PWM开关频率。为了抑制开关器件开关动作引入的高频噪声,通常PWM的开关频率应该远离滤波器的截止频率,以抑制系统的噪声。主要应该是器件在开通和关断时造成的电流噪声。通过实践测试发现滤波器的截止频率取1/20*CurrentControlFreq。最大取到1/10。否则噪声再大将严重影响到系统性能。在大部分的pid自整定算法中也都是这样做的。

    你说的是“截止频率取1/20*CurrentControlFreq”?应该是“转折频率”或者“带宽”吧?

  • 您好!请问这个资料的相关文档是哪个啊?

  • 想问下,如何将Kp转换成PU值。