在电机控制领域,永磁同步电机(PMSM)因其高效率、高功率密度等优势,已成为工业驱动的主流选择。而单电阻采样结合无传感器控制技术,代表着当前行业降本增效的典型解决方案。这个项目实现了一套完整的单电阻PMSM无传感控制系统,基于TI的28035 DSP芯片,融合了滑模观测器(SMO)、锁相环(PLL)等核心算法,并经过工业现场验证。
这套方案最突出的价值在于:
单电阻采样的核心挑战在于三相电流重构。本方案采用经典的直流母线电阻采样架构:
code复制直流母线
│
├─上桥臂IGBT
│ ├─Phase U
│ ├─Phase V
│ └─Phase W
└─采样电阻(50mΩ/2W)
关键设计参数:
代码采用三层架构设计:
驱动层(HWAL)
算法层(Core)
c复制void SMO_Update(float Ualpha, float Ubeta, float Ialpha, float Ibeta) {
// 滑模面计算
float e_alpha = Ialpha_est - Ialpha;
float e_beta = Ibeta_est - Ibeta;
// 开关函数
float z_alpha = (e_alpha > 0) ? +1 : -1;
float z_beta = (e_beta > 0) ? +1 : -1;
// 反电动势观测
Ealpha = Kslide * z_alpha;
Ebeta = Kslide * z_beta;
}
应用层(App)
在单电阻方案中,必须通过PWM状态切换获取三相电流。典型采样时序如下:
code复制PWM周期(50μs)
├─T0: 上桥臂导通 → 采样I_a
├─T1: 下桥臂导通 → 采样I_b
└─T2: 特定矢量组合 → 采样I_c
重构算法要点:
math复制I_{comp} = I_{raw} + \frac{T_{dead}}{T_{sample}} \times V_{bus}/R_{shunt}
传统SMO存在抖振问题,本方案采用:
c复制#define SAT(x,delta) (fabs(x)<delta ? x/delta : (x>0?1:-1))
math复制K_{slide} = K_{base} \times (1 + 0.5|\omega|/\omega_{rated})
二阶PLL参数设计步骤:
math复制K_p = 2 \times \xi \times \omega_n
math复制K_i = \omega_n^2
建议阻尼比ξ取0.7~1.0
c复制void InitSysCtrl(void) {
// PWM配置(150kHz)
EPwm1Regs.TBPRD = SYSTEM_FREQ/(2*150000)-1;
// ADC触发位置
EPwm1Regs.CMPA.half.CMPA = EPwm1Regs.TBPRD/2;
// 电流采样DMA
DmaRegs.CH1.CONTROL.bit.PERINT_EN = 1;
}
电机参数自动识别流程:
抗干扰设计:
| 指标 | 测试值 | 条件 |
|---|---|---|
| 低速转矩波动 | <5%额定值 | 10rpm |
| 速度响应时间 | 50ms | 0→1000rpm阶跃 |
| 电流重构误差 | <3% | 满载运行 |
先调电流环:
再调SMO:
最后调PLL:
| 代码 | 含义 | 处理建议 |
|---|---|---|
| E001 | 电流重构失败 | 检查PWM时序与ADC触发 |
| E002 | 反电势观测超限 | 调整SMO增益或检查电机接线 |
| E003 | 速度跟踪误差过大 | 检查机械负载或编码器信号 |
这套代码在注塑机送料系统上连续运行超过8000小时无故障,实测节电率达15%以上。对于想深入理解无传感控制的工程师,建议重点研究SMO的边界层设计对系统静差的影响,这是平衡性能与抖振的关键所在。