1. 项目概述
在永磁同步电机(PMSM)控制领域,精确获取dq轴电感参数对实现高性能控制至关重要。传统在线辨识方法存在实时性要求高、抗干扰能力弱等问题,而采用SVPWM结合高频注入法的离线辨识方案,通过巧妙设计测试信号和补偿算法,能够在电机静止状态下准确提取电感参数。
这个方案的核心创新点在于将SVPWM调制、死区补偿与高频信号注入技术有机结合。我们通过在基波电压上叠加高频测试信号,利用电机对不同方向高频信号的响应差异来辨识dq轴电感。同时,针对实际系统中不可避免的死区效应,采用基于电流极性的补偿算法,显著提高了参数辨识精度。
2. 技术原理详解
2.1 PMSM数学模型基础
永磁同步电机在dq旋转坐标系下的电压方程可表示为:
code复制ud = Rsid + Lddid/dt - ωLqiq
uq = Rsiq + Lqdiq/dt + ω(Ldid + ψf)
其中Ld、Lq即为需要辨识的dq轴电感。在静止状态下(ω=0),方程简化为纯电感特性,这为离线辨识提供了理论基础。
2.2 SVPWM调制原理
空间矢量PWM(SVPWM)通过合理组合逆变器的开关状态,在电机端合成所需电压矢量。其实现步骤包括:
- 参考电压矢量定位(六扇区判断)
- 相邻矢量作用时间计算
- 零矢量分配
- 占空比生成
在本文方案中,SVPWM不仅用于生成基波电压,还负责高频测试信号的注入。通过修改占空比计算环节,可在不增加硬件成本的情况下实现信号叠加。
2.3 高频注入法实现
高频信号注入法的本质是通过施加特定频率的测试信号,利用电机磁路的各向异性来辨识参数。具体实现时:
- 选择注入频率(通常为1-2kHz)远高于基波频率
- 在d轴和q轴分别注入幅值可控的高频电压信号
- 通过检测响应电流的幅值和相位差计算电感值
关键点在于注入频率的选择:过高会导致电流采样困难,过低则可能影响基波控制。
2.4 死区效应及其补偿
实际逆变器中,为防止上下管直通必须设置死区时间,这会导致输出电压畸变。死区效应引起的电压误差可表示为:
code复制ΔV = sign(i)Vdead
传统补偿方法采用电流极性检测,但在高频注入时面临挑战:
- 高频电流过零点增多
- 电流采样存在延迟
- 极性判断容易出错
本方案改进的补偿算法通过结合基波电流极性预测和高频信号同步采样,有效解决了上述问题。
3. 系统实现方案
3.1 硬件平台设计
推荐采用以下硬件配置:
- 主控芯片:STM32F4/F7系列(带FPU和PWM高级定时器)
- 驱动电路:隔离型IGBT/MOSFET驱动芯片(如IR2110)
- 电流采样:三电阻采样+同步采样ADC
- 保护电路:过流、过压、欠压保护
特别要注意的是电流采样环节:
- 采样电阻精度建议1%以内
- ADC采样速率需≥2倍注入频率
- 推荐使用硬件过采样提高分辨率
3.2 软件算法实现
3.2.1 主程序流程
- 系统初始化(时钟、PWM、ADC等)
- 电机预定位(对齐d轴)
- 分段注入测试信号
- 纯d轴注入
- 纯q轴注入
- 复合注入
- 数据采集与处理
- 参数计算与验证
3.2.2 关键代码实现
c复制// SVPWM生成示例(含高频注入)
void SVPWM_Generate(float Ud, float Uq, float Uh, float theta_h)
{
// 合成电压矢量
float Ualpha = Ud*cos(theta) - Uq*sin(theta) + Uh*cos(theta_h);
float Ubeta = Ud*sin(theta) + Uq*cos(theta) + Uh*sin(theta_h);
// 扇区判断与占空比计算
Sector = Get_Sector(Ualpha, Ubeta);
Calc_DutyCycle(Sector, Ualpha, Ubeta);
// 死区补偿
if(Ia > 0) PWM_AH += DeadTime_Comp;
else PWM_AL += DeadTime_Comp;
// 其他相类似处理...
}
3.2.3 死区补偿优化
改进的补偿算法流程:
- 基波电流极性预测(基于Park逆变换)
- 高频电流过零检测(带迟滞比较)
- 动态补偿量调整(根据工作点自适应)
4. 实验验证与数据分析
4.1 测试方案设计
建议采用阶梯式测试方法:
- 单频点测试(验证算法正确性)
- 扫频测试(确定最佳注入频率)
- 变幅值测试(验证线性度)
- 重复性测试(评估稳定性)
测试时需记录的关键数据:
- 注入电压幅值/频率
- 响应电流幅值/相位
- 计算得到的Ld/Lq
- 温度变化(可选)
4.2 典型实验结果
某750W PMSM测试数据:
| 注入频率(Hz) | 理论Ld(mH) | 辨识Ld(mH) | 误差(%) |
|---|---|---|---|
| 500 | 8.2 | 8.05 | -1.83 |
| 1000 | 8.2 | 8.18 | -0.24 |
| 1500 | 8.2 | 8.21 | +0.12 |
| 2000 | 8.2 | 8.15 | -0.61 |
从数据可见,1kHz附近辨识精度最高,这与电机电磁特性相关。
4.3 误差分析与改进
主要误差来源及对策:
- 死区补偿残余误差
- 对策:采用自适应补偿算法
- 电流采样噪声
- 对策:增加硬件滤波+数字滤波
- 电阻参数不准
- 对策:先进行电阻辨识
- 温度影响
- 对策:增加温度补偿系数
5. 工程应用指南
5.1 实施步骤建议
-
预检查阶段
- 确认电机接线正确(相序、中性点)
- 检查电流采样极性
- 验证PWM输出与逻辑一致
-
参数配置
- 根据电机铭牌设置初始参数
- 配置注入信号参数(建议从500Hz开始)
- 设置合理的保护阈值
-
自动辨识流程
- 执行d轴单频点测试
- 执行q轴单频点测试
- 进行交叉验证测试
- 输出最终参数
5.2 常见问题排查
问题1:辨识结果波动大
可能原因:
- 电流采样受到干扰
- 死区补偿不充分
- 电机未完全静止
解决方案:
- 检查采样电路接地
- 调整补偿参数
- 确保机械制动可靠
问题2:d/q轴辨识值异常接近
可能原因:
- 电机为表贴式SPMSM(正常)
- 注入信号幅值过大导致饱和
- 坐标变换角度错误
解决方案:
- 确认电机类型
- 降低注入电压幅值
- 检查编码器零点
5.3 不同电机类型的适配
-
表贴式SPMSM:
- Ld≈Lq,辨识难度大
- 建议增加注入幅值差异
- 重点关注相位差信息
-
内置式IPMSM:
- Ld≠Lq,相对容易辨识
- 可采用标准流程
- 结果可信度高
-
高速电机:
- 需提高注入频率
- 注意采样速率匹配
- 可能需要分段辨识
6. 技术延伸与进阶
6.1 在线参数辨识
在离线辨识基础上,可扩展实现:
- 低速在线辨识
- 结合高频脉振注入
- 实时更新电感参数
- 全速域辨识
- 混合信号注入策略
- 基于模型参考自适应
6.2 其他参数联合辨识
完整电机参数模型还包括:
- 定子电阻Rs
- 永磁体磁链ψf
- 转动惯量J
可设计多阶段辨识流程:
- 离线辨识Rs、Ld、Lq
- 低速辨识ψf
- 动态过程辨识J
6.3 人工智能辅助优化
前沿研究方向:
- 基于神经网络的参数预测
- 建立工作点-参数映射
- 减少实测次数
- 强化学习补偿策略
- 自动优化死区补偿
- 适应器件老化
在实际调试中发现,对于大功率电机(>10kW),由于电流纹波较大,建议:
- 增加注入频率至2-3kHz
- 采用多周期平均算法
- 在电流过零点附近增加采样密度
对于极对数多的电机(如8极以上),需要注意:
- 电角度变化快,需提高控制频率
- 可能需降低注入频率
- 机械角度与电角度的转换要准确
