3、电流环建模(一):电机电气方程,电流环被控对象传递函数推导,PWM逆变器等效模型
各位工程师朋友,咱们今天正式进入电流环的建模环节。
说实话,三环控制里,电流环是最内层,也是响应最快的一环。我见过不少新手,一上来就调速度环、位置环,结果系统抖得跟筛子似的。为什么?因为电流环没整明白,底子没打好。你想想看,电流环要是响应慢了,速度环和位置环再怎么调也是白搭。
所以,咱们先把电流环的“根”刨清楚。今天主要聊三件事:电机的电气方程、电流环被控对象的传递函数、还有PWM逆变器怎么等效。嗯,内容不少,但都是硬核干货。
3.1 电机电气方程——从物理到数学
咱们以永磁同步电机(PMSM)为例。你翻开任何一本电机书,都会看到这个经典的电压平衡方程:
u = R * i + L * (di/dt) + e
这里:
- u —— 定子相电压(V)
- R —— 定子电阻(Ω)
- i —— 相电流(A)
- L —— 定子电感(H)
- e —— 反电动势(V)
说白了,这就是一个典型的RL串联电路,只不过多了一个反电动势项。反电动势是电机旋转时产生的,跟转速成正比。但在电流环建模时,我们通常先忽略它,或者把它当作一个扰动来处理。
我个人习惯:在初期建模时,先把反电动势当作外部扰动。这样电流环的被控对象就简化成了一个纯RL电路,传递函数推导起来清爽很多。等后面做抗扰设计时,再把这个扰动补偿回来。
好,忽略反电动势后,电压方程变成:
u = R * i + L * (di/dt)
两边做拉普拉斯变换(初始条件为零):
U(s) = R * I(s) + L * s * I(s)
整理一下:
U(s) = (R + Ls) * I(s)
所以,从电压到电流的传递函数就是:
G(s) = I(s) / U(s) = 1 / (R + Ls) = (1/R) / (1 + (L/R)s)
写成标准的一阶惯性环节形式:
G(s) = K / (1 + T * s)
其中:
- K = 1/R —— 增益,也就是稳态时电压和电流的比例关系
- T = L/R —— 时间常数,决定了电流响应的快慢
避坑指南:我曾经在一个项目中,电机参数表上写的电感是标称值,结果实际测量发现差了30%。你想想看,时间常数T直接跟电感挂钩,电感不准,你设计的PI参数全白搭。所以,拿到电机后第一件事,实测R和L,别迷信参数表。
3.2 电流环被控对象传递函数推导
刚才我们推导的是电机本身的电气传递函数。但在实际系统中,电流环的被控对象不仅仅是电机,还包括PWM逆变器、采样滤波、以及各种延迟。
完整的电流环被控对象框图大致是这样的:
电流给定 → [PI控制器] → [PWM逆变器] → [电机绕组] → 实际电流
↑
(被控对象)
我们今天先聚焦在电机绕组 + PWM逆变器这部分。采样滤波和延迟,咱们后面章节再聊。
所以,被控对象的传递函数可以写成:
G_obj(s) = G_PWM(s) * G_motor(s)
其中:
- G_motor(s) = 1 / (R + Ls) —— 电机电气部分
- G_PWM(s) —— PWM逆变器的等效传递函数
嗯,这里有个关键点:PWM逆变器怎么等效?咱们下一节细说。
3.3 PWM逆变器等效模型
PWM逆变器,说白了就是一个将直流电压转换成交流电压的装置。它通过开关管的通断,产生一系列脉冲宽度调制波,经过电机绕组的滤波作用,形成近似正弦的电流。
在建模时,我们通常把PWM逆变器等效为一个一阶惯性环节 + 一个纯延迟环节:
G_PWM(s) = K_PWM * e^(-T_d * s) / (1 + T_PWM * s)
这里:
- K_PWM —— 逆变器增益,通常等于直流母线电压Udc与载波幅值的比值
- T_d —— 延迟时间,主要包括开关管的开通/关断延迟、死区时间等
- T_PWM —— 惯性时间常数,反映了PWM波形的滤波特性
但在工程实践中,我们经常做简化处理。因为PWM逆变器的开关频率通常很高(几kHz到几十kHz),它的响应速度远快于电机绕组。所以,很多时候我们直接把PWM逆变器等效为一个纯增益 + 一个小惯性环节:
G_PWM(s) ≈ K_PWM / (1 + T_PWM * s)
甚至更粗暴一点,直接当成一个比例环节:
G_PWM(s) ≈ K_PWM
注意:简化归简化,但你要清楚代价。如果开关频率比较低(比如低于2kHz),或者系统对响应速度要求极高,那PWM的延迟就不能忽略。我曾经在一个伺服驱动项目中,开关频率只有1.5kHz,结果按比例环节建模,调出来的电流环带宽死活上不去。后来把PWM延迟加进去,才找到问题所在。
3.4 完整的被控对象模型
把电机和PWM逆变器串起来,完整的被控对象传递函数就是:
G_obj(s) = [K_PWM / (1 + T_PWM * s)] * [1 / (R + Ls)]
写成标准形式:
G_obj(s) = K_PWM / [(1 + T_PWM * s) * (R + Ls)]
这是一个二阶系统,包含两个惯性环节。一个来自PWM逆变器,一个来自电机绕组。
为了方便后续的控制器设计,我们通常把它写成:
G_obj(s) = K / [(1 + T1 * s) * (1 + T2 * s)]
其中:
- K = K_PWM / R
- T1 = T_PWM —— 逆变器时间常数(通常很小)
- T2 = L / R —— 电机电气时间常数(通常较大)
你看,T1和T2通常差一个数量级。T1是微秒级,T2是毫秒级。这就给了我们一个设计思路:用PI控制器去抵消大的时间常数T2,让系统变成一阶系统,然后整定带宽。
我的经验:电流环PI控制器的零点,通常设置在电机电气时间常数T2附近。这样能有效抵消电机绕组的惯性,让电流环响应更快。但要注意,别把零点设得太靠近PWM的惯性时间常数T1,否则会引入不必要的振荡。
3.5 本章知识体系
为了让你更直观地理解本章的知识结构,我画了一张图:
这张图把今天的内容串起来了。你看,从左到右,从物理方程到传递函数,再到PWM等效,最后落到核心结论。这就是电流环建模的第一块基石。
3.6 小结
今天咱们做了三件事:
- 从电机电气方程出发,推导出电机绕组的传递函数,是一个一阶惯性环节
- 把PWM逆变器等效为一阶惯性环节(或比例环节),并讨论了简化的前提条件
- 组合成完整的被控对象,得到一个二阶系统,并明确了两个时间常数的物理意义
嗯,内容就到这。电流环建模的第一部分,说白了就是把电机和逆变器这两个物理实体,用数学语言描述清楚。有了这个基础,后面设计电流环控制器就水到渠成了。
记住我那句老话:模型不准,控制白费。拿到电机先测参数,别偷懒。
课后思考:如果PWM逆变器的开关频率是10kHz,电机电气时间常数T2=5ms,你觉得PWM的惯性时间常数T1大概是多少?能不能直接忽略?