k0 MISSING loop MISSING JBD MISSING T OK V/F开环齿槽转矩补偿:电压前馈与谐波注入 - 艾欧云控
首页 / 驱动算法 / 进阶篇

V/F开环齿槽转矩补偿:电压前馈与谐波注入

V/F 电压开环下没有电流环"兜底",齿槽转矩会直接变成低速抖动、爬行甚至失步。但正因为是开环,我们可以在电压矢量上"动手脚"——查表电压补偿(Anticogging Voltage)与谐波电压注入,两种不用电流反馈的纯电压域压制方法。

1. V/F 开环:电压跟着频率走

V/F(伏频比)控制是最简单的交流调速方式:电压幅值与频率成正比(V/f ≈ const),频率指令积分出旋转电压矢量的角度,逆变器按这个角度输出三相电压。

V/F 开环核心

Vs = Vbase + (f / frated)·Vrated (恒磁通段)

θvf = ∫ 2π·f dt (开环积分生成旋转电压矢量)

无电流环、无位置反馈,转子"被"同步电压矢量拖着走

优点:实现极简、成本低、免电机参数、几乎带任何电机都能转。代价:开环,负载变了转速就掉、抗扰能力差,低速转矩不足,稳定性差——低速更是齿槽转矩的重灾区。

2. 齿槽转矩在 V/F 下为什么更"致命"

齿槽转矩是位置相关的确定性脉动转矩(永磁体与定子齿槽间磁阻周期性变化产生,见《齿槽转矩补偿》篇),周期对应齿槽谐波(如 12 槽 10 极典型为每电角度周期 6 次)。

⚠️ 低速最危险

同步速越低,齿槽脉动相对于平均转矩的占比越大;V/F 在极低速还伴随定子电阻压降导致磁通不足(需电压提升)。两者叠加,低速抖动/爬行几乎是 V/F 的标配问题。

机理可用功角模型理解:转子位置 θr 与电压矢量角 θvf 之间的功角 δ = θvf − θr 决定同步转矩 Te ≈ Temax·sin(δ)。齿槽转矩 Tcogr) 周期性叠加在 Te 上,迫使 δ 反复摆动 → 转速忽快忽慢。齿槽越大、速度越低,摆动越剧烈。

3. 补偿思路:三种纯电压域方案

V/F 没有电流反馈,所以补偿只能走电压前馈路线——在电压矢量上叠加一个随角度变化的补偿电压,让电机"主动产出"一个与齿槽转矩反相的转矩。

3.1 查表电压补偿(Anticogging Voltage)

齿槽转矩 → 补偿电压(低速 R 占优近似)

Δiq(θ) = Tcog(θ) / Kt

Δuq(θ) ≈ Rs·Δiq(θ) = Rs·Tcog(θ) / Kt

补偿电压矢量:ΔV = Rs·Δiq + j·ω·Ls·Δiq(低速忽略感抗)

θ 用 θvf 近似(开环下两者接近)

做法:先测出齿槽转矩表 Tcog(θ)(见第 4 节),按上式换算成补偿电压表,运行时查表叠加到电压矢量上。关键前提:低速段电阻压降主导、感抗可忽略;中高速需补偿感抗项。

3.2 谐波电压注入

齿槽转矩本质是几个整数次谐波,所以不建整表、直接注入谐波电压更省事。齿槽主谐波(如 k=6 次)的补偿电压:

6 次齿槽谐波电压注入

uq6* = x6·sin(6·θe + φ)

x6、φ 由齿槽谐波幅值/相位换算(x6 ≈ Rs·A6/Kt),多阶次叠加即可逼近整表效果

谐波注入的优点:只要 2~3 个系数,天然平滑、不占存储、相位可在线微调。缺点:只覆盖被建模的阶次,齿槽含明显非谐波成分时效果打折。

3.3 电流前馈(若有 iq 估计)

有些 V/F 方案会顺带估计 q 轴电流(或干脆是 I/F 电流开环强拖),此时可以直接在电流指令上叠加 Δiq = Tcog(θ)/Kt——这是最直接、最准的齿槽前馈,代价是需要电流环或电流估计。

方案输入补偿量适用速度实现成本
查表电压补偿齿槽表 Tcog(θ)Δuq = Rs·Tcog/Kt低速为主★★☆(要建表)
谐波电压注入齿槽谐波幅值/相位uqk = xk·sin(kθ+φ)低速~中速★☆☆(2~3 个系数)
电流前馈齿槽表 + iq 估计Δiq = Tcog/Kt全速★★★(要电流环/估计)

4. 齿槽转矩怎么测:三步走学习路线

  1. 测齿槽转矩:断电(或弱励磁)状态下用外力/伺服以恒定低速拖动转子,记录转矩-位置曲线;有电流环的平台可在堵转位置通 q 轴电流测出力矩差。推荐编码器分辨率 ≥ 4096
  2. FFT 提谐波:对 Tcog(θ) 做傅里叶分析,取主阶次(6 次、12 次…)的幅值 Ak 与相位 φk——谐波注入方案直接用
  3. 建表或注入:整表方案存 Tcog(θ) 查找表;谐波方案把 Akk 换算成电压系数 xk。运行时 θ 用 θvf 查表/合成补偿电压叠加
✅ 学习建议

先用谐波注入入门(只调 2 个系数就能看到效果),再升级到整表补偿(覆盖更全)。先在低速恒速工况验证转速波动是否被压平,再往更低速、带载工况推进。

5. 交互式演示:V/F 开环齿槽补偿仿真

下面是 V/F 电压开环拖动转子的仿真(含同步阻尼项):齿槽转矩叠加在同步转矩上,低速爬行时无补偿的转速和功角被"折磨"出明显波动(红)。开启补偿后——用编码器位置(绿,理想)波动被压平,用电压角近似(开环)则受相位限制改善有限。切低速/中速对比齿槽影响的占比。

V/F 开环齿槽补偿仿真(无补偿红 vs 补偿绿)
观察上画布转速波动与下画布功角抖动:补偿后两者都被压平。

观察要点:

6. 代码实现(C语言)

6.1 V/F 电压生成 + 齿槽谐波补偿

/* V/F 开环 + 齿槽谐波电压注入(低速 R 占优近似) */ typedef struct { float rs, kt; /* 定子电阻、转矩常数 */ float v_base, f_rated; /* 电压提升基准、额定频率 */ float theta_vf, omega_vf; /* 电压矢量角/同步角频率 */ float cog_amp[4], cog_phs[4]; /* 齿槽谐波幅值(A6,A12..)/相位 */ int cog_n; /* 谐波阶次数量 */ float ud, uq; /* 输出电压 dq 分量(开环) */ } vf_drive_t; void vf_step(vf_drive_t *m, float ts) { /* 电压矢量角度开环积分 */ m->theta_vf += m->omega_vf * ts; /* 恒磁通 V/F:V 与 f 成正比(幅值在旋转 dq 下的直流分量) */ float f_hz = m->omega_vf / (2.0f * 3.14159265f); float vs = m->v_base + (f_hz / m->f_rated); m->ud = vs; m->uq = 0.0f; /* 开环电压矢量(沿 d 轴) */ /* 齿槽补偿电压:Δuq = Σ xk·sin(k·θvf + φk),xk = Rs·Ak/Kt */ for (int i = 0; i < m->cog_n; i++) { int k = 6 * (i + 1); float xk = m->rs * m->cog_amp[i] / m->kt; m->uq += xk * sinf(k * m->theta_vf + m->cog_phs[i]); } }

6.2 齿槽转矩整表查表补偿(Anticogging)

/* 齿槽表:按 θvf 索引,线性插值,换算补偿电压 */ static float cog_table[NCOG]; /* 断电拖转测得:Tcog(θ),单位 N·m */ float cogging_uq_comp(float theta_vf, float rs, float kt) { float a = theta_vf * NCOG / (2.0f * 3.14159265f); int i0 = (int)a % NCOG; int i1 = (i0 + 1) % NCOG; float frac = a - (int)a; float tcog = cog_table[i0] * (1 - frac) + cog_table[i1] * frac; return rs * tcog / kt; /* Δuq ≈ Rs·Tcog/Kt */ }

6.3 主循环集成

/* 每周期:V/F 电压 + 齿槽补偿 → 反变换 → SVPWM */ void vf_isr(vf_drive_t *m, float ts) { vf_step(m, ts); /* 角度积分 + V/F 电压 */ /* uq 已含齿槽谐波补偿;整表方案:m->uq += cogging_uq_comp(m->theta_vf,...) */ float s = sinf(m->theta_vf), c = cosf(m->theta_vf); float ua = m->ud * c - m->uq * s; /* 反 Park 到 αβ */ float ub = m->ud * s + m->uq * c; svpwm_set_uvw(ua, ub); /* 逆变器输出 */ }

7. 工程要点与踩坑清单

  1. 低速先补磁通再补齿槽:V/F 低速转矩不足的主要矛盾是定子电阻压降(需电压提升),齿槽补偿是"锦上添花",顺序不能反
  2. 用 θvf 近似转子位置:开环下两者接近,但载荷越大功角偏置越大,补偿相位需微调;载荷变化大时考虑加入轻量位置估计
  3. 谐波注入从主阶次开始:先只注入 6 次看效果,不够再加 12 次;相位不对可能反而放大抖动,从"相位 0 附近"扫
  4. 补偿电压要限幅:叠加量别超过母线电压余量,尤其高速接近电压极限时自动收小补偿
  5. 验证指标:看转速波动峰峰值、功角抖动、电流畸变(若可测)、失步边界(负载加大到多少开始失步)
  6. 启动段可配合 I/F 强拖:极低速启动用 I/F(电流开环、幅值恒定、频率斜坡)更稳,齿槽前馈同样适用(《无感FOC观测器》篇会展开启动策略)
✅ 一句话记住

V/F 没有电流环兜底,齿槽必须用电压前馈来压:测出齿槽表 → 谐波系数或整表 → 按 Δuq≈Rs·Tcog/Kt 叠加到电压矢量上。低速抖动大是因为齿槽占比大,不是齿槽变大了。