4. 速度环建模:电机传递函数、霍尔传感器延迟建模、速度环开环传递函数

做速度环整定,最怕什么?

怕的是「调了半天参数,电机一抖一抖的,还不知道问题出在哪」。
我早年带团队时,有个同事调一个直流无刷电机的速度环,PI参数试了上百组,就是稳不住。后来我让他把传递函数画出来,一看——霍尔采样延迟根本没建模,相位裕度早就负了。

所以这一章,咱们把速度环的数学模型老老实实搭一遍。
说白了,就是三件事:电机本身怎么响应、霍尔传感器怎么拖后腿、整个环路合在一起长什么样。

4.1 电机传递函数:从电压到转速

先看电机本身。我们通常把永磁同步电机(PMSM)或直流无刷电机(BLDC)的机械动态简化成一个一阶惯性环节。

为什么?
因为电磁时间常数远小于机械时间常数。你给一个电压阶跃,电流很快建立,然后转速慢慢爬升。所以从 q 轴电压到机械转速的传递函数,可以写成:

G_m(s) = K_t / (J * s + B)

其中:

  • K_t:转矩常数(N·m/A)
  • J:转动惯量(kg·m²)
  • B:粘滞摩擦系数(N·m·s/rad)

更常用的写法是把它归一化成:

G_m(s) = K_m / (τ_m * s + 1)

这里 τ_m = J / B 是机械时间常数,K_m = K_t / B 是稳态增益。

我的经验: 实际项目中,B 往往很小,甚至接近零。这时候 τ_m 会很大,系统接近一个纯积分环节。我习惯在辨识时先给一个阶跃电压,看转速上升斜率,反推 J 和 K_t。比查手册准得多。

4.2 霍尔传感器延迟建模:采样不是瞬时的

很多初学者会忽略霍尔传感器的延迟。你想想看,霍尔传感器每隔 60° 电角度才跳变一次,两次跳变之间,转速信息是「盲区」。

这个延迟怎么建模?
我把它拆成两部分:

  1. 量化延迟:霍尔信号每 60° 更新一次,相当于一个采样保持器,延迟时间 T_h = 60° / (ω_e * 6),其中 ω_e 是电角速度。
  2. 滤波延迟:霍尔信号通常要经过硬件滤波(RC 低通)去毛刺,这个滤波器本身也会引入相位滞后。

综合下来,霍尔传感器的传递函数可以近似为一个一阶低通滤波器加一个纯延迟:

G_h(s) = e^(-T_d * s) / (τ_h * s + 1)

其中:

  • T_d:等效采样延迟,通常取 0.5 ~ 1 个霍尔周期
  • τ_h:硬件滤波时间常数,一般 10 ~ 100 μs
我曾经踩过的坑: 有一次在高速电机(20000 rpm)上做速度环,霍尔滤波电容用了 100 nF,结果相位滞后在 1000 Hz 附近已经超过 30°。速度环带宽根本提不上去。后来我把滤波电容换成 10 nF,带宽直接翻了一倍。所以霍尔滤波不是越干净越好,够用就行。

4.3 速度环开环传递函数:把碎片拼起来

现在我们把电机、霍尔传感器、还有 PI 控制器串在一起,就得到了速度环的开环传递函数。

PI 控制器的传递函数是:

G_c(s) = K_p + K_i / s = K_p * (1 + 1 / (T_i * s))

其中 T_i = K_p / K_i 是积分时间常数。

那么速度环的开环传递函数就是:

G_open(s) = G_c(s) * G_m(s) * G_h(s)

展开写:

G_open(s) = [K_p * (1 + 1/(T_i * s))] * [K_m / (τ_m * s + 1)] * [e^(-T_d * s) / (τ_h * s + 1)]

这个式子看着复杂,但核心就三个环节:

  • PI 控制器提供增益和积分
  • 电机提供一阶惯性
  • 霍尔传感器提供额外的一阶惯性和纯延迟

纯延迟 e^(-T_d * s) 是相位滞后的主要来源,也是限制带宽的瓶颈。

关键结论: 速度环的带宽上限,基本由霍尔传感器的延迟决定。T_d 越大,能稳定的带宽越低。我一般用 1 / (3 * T_d) 作为带宽的初始估算值。

4.4 知识体系总览

下面这张图把速度环建模的各个模块和它们的关系画清楚了:

速度环开环传递函数建模框架 转速参考 n_ref − PI 控制器 电机 G_m(s) 霍尔 G_h(s) n 各模块说明: • PI 控制器:G_c(s) = K_p + K_i/s,提供比例增益和积分消除静差 • 电机模型:G_m(s) = K_m / (τ_m·s + 1),一阶惯性响应 • 霍尔传感器:G_h(s) = e^(-T_d·s) / (τ_h·s + 1),包含采样延迟和滤波 • 开环传递函数:G_open(s) = G_c(s) · G_m(s) · G_h(s) • 带宽瓶颈:霍尔延迟 T_d 是限制速度环带宽的主要因素

4.5 参数对比:不同延迟下的带宽限制

为了让你更直观地感受霍尔延迟的影响,我列了一张表。假设电机时间常数 τ_m = 50 ms,滤波时间常数 τ_h = 50 μs,看看不同 T_d 下能稳定的最大带宽:

霍尔延迟 T_d (μs) 对应最高转速 (rpm) 最大稳定带宽 (Hz) 相位裕度 (度)
50 100000 ~ 6600 45
100 50000 ~ 3300 45
200 25000 ~ 1650 45
500 10000 ~ 660 45
1000 5000 ~ 330 45
我的建议: 如果你在做低速大扭矩应用(比如机器人关节),霍尔延迟不是主要矛盾。但如果你做高速主轴(几万转),霍尔延迟就是头号敌人。这时候我通常会考虑用观测器或者无传感器算法来替代霍尔速度反馈。

4.6 建模的工程意义

你可能会问:建了模有什么用?我直接调 PI 参数不行吗?

行,当然行。但那是「试错法」,效率低不说,还不容易找到最优解。
有了传递函数,你可以:

  • 预判带宽:在调参之前就知道能调到多高
  • 定位瓶颈:是电机响应慢,还是霍尔延迟大,一目了然
  • 指导硬件选型:比如霍尔滤波电容该选多大,霍尔安装位置能不能优化

我记得有一次做伺服驱动器,客户要求速度环带宽 500 Hz。我一看霍尔延迟 400 μs,就知道不可能。后来跟客户沟通,把霍尔换成了磁编码器,带宽轻松做到 800 Hz。这就是建模的价值——用数学说话,而不是靠感觉。