最近参阅TI的用户手册中记录有关于电流环Kp,Ki参数计算的方法,在此作出小结以防忘记。
上图为PID的串联拓扑结构图,Kp 项用于设定控制环路的高频增益,Ki 项用于设定低频增益,理论上DC
增益无限制。界定高频与低频的频率被称为控制器“零点”,它对应于频率图的拐点。我们令:
用于设定所有频率的增益,而直接定义控制器拐点(零点),单位为rad/s。
通过PID表达式可推导出其传输函数为:
(1-1)
以上为一简化电机数学模型,从图中不难得出:
V(t) = L*di/dt+I(t)*R+V (其中V为常数) (1-2)
通过拉氏变换有电机输出电流I和输入电压V之间的传递函数:
(1-3)
根据控制理论中控制器设计原则上讲,希望pid的零点能够消除掉电机传递函数中的极点可推导出:
(具体推导过程见InstaSPIN-FOC用户手册) (1-4)
可见辨识电阻和电感直接影响积分增益的值;
采用零极点对消后,系统的开环传递函数变为:
(1-5)
以上表达式与一阶低通滤波器传递函数等价,以一阶低通滤波器为例,H(s)= 1 /(RCs+1),其转折频率为
同理可知推导G(s)的转折频率
,注意这里w的单位为rad/s;
转折频率为一阶低通滤波器的-3dB带宽,具体可以去看看他的幅频曲线。
TI手册中令Bandwidth = 。其实这里的Bandwidth就是我们这里说的转折频率w,单位都为rad/s;
手册中将Bandwidth的计算公式定义如下:
Bandwidth(rad/s) = 2*pi*Fcc/20 (1-6)
就是说将电流环的带宽定义为电流环采样频率的1/20,注意单位转换;至于为什么要除以20,按照他们的说法1/20 * Fcc是从大量的测试得出的经验法则(Fcc为电流控制器频率),一般来说,1/10 * Fcc是电流控制器的最大带宽,
这样就确定电流环的比例增益:
Kp = L * Bandwidth = L*2*pi*Fcc/20 (1-7)
而Ki采用以下计算公式:
Ki=(R/L)*Ti=R/(L*Fcc) (1-8)
总结:从(1-7)和(1-8)两式我们看出电流环的Kp和Ki整定与电机绕组阻值以及绕组电感和PWM输出频率均有关系,实际调试中可以对其中的参数进行微调以达到最理想状态,他们例程代码中有些取Bandwidth=0.25*Fcc,个人理解应该是将20这一参数进行了微调。
------------------------------------------------------------------------------------------------------------------------------
本文部分内容参考帖子:https://e2echina.ti.com/question_answer/microcontrollers/c2000/f/56/t/109265#