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逆变器等效 u = R·i + L·di/dt + e 忽略反电动势 → RL电路 G(s) = 1/(R + Ls) G_obj(s) = G_PWM · G_motor 标准形式:K/(1+T1·s)(1+T2·s) T1 = T_PWM, T2 = L/R 等效为一阶惯性 + 延迟 G_PWM(s) ≈ K_PWM/(1+T_PWM·s) 开关频率高时可简化为比例 核心结论 电流环被控对象 = 二阶系统,T1 << T2 PI控制器零点设置在T2附近,抵消大惯性 公众号:蓝海资料掘金营,微信deep3321

这张图把今天的内容串起来了。你看,从左到右,从物理方程到传递函数,再到PWM等效,最后落到核心结论。这就是电流环建模的第一块基石。

3.6 小结

今天咱们做了三件事:

  1. 从电机电气方程出发,推导出电机绕组的传递函数,是一个一阶惯性环节
  2. 把PWM逆变器等效为一阶惯性环节(或比例环节),并讨论了简化的前提条件
  3. 组合成完整的被控对象,得到一个二阶系统,并明确了两个时间常数的物理意义

嗯,内容就到这。电流环建模的第一部分,说白了就是把电机和逆变器这两个物理实体,用数学语言描述清楚。有了这个基础,后面设计电流环控制器就水到渠成了。

记住我那句老话:模型不准,控制白费。拿到电机先测参数,别偷懒。

课后思考:如果PWM逆变器的开关频率是10kHz,电机电气时间常数T2=5ms,你觉得PWM的惯性时间常数T1大概是多少?能不能直接忽略?