1、滑膜观测器源原理基于BLDC(无刷电机)/PMSM(永磁同步电机)在αβ坐标系下的电压方程di_alpha/dt (-Rs/Ld)*i_alpha (Ualpha - Ealpha)/Lddi_beta/dt (-Rs/Ld)*i_beta (Ubeta - Ebeta)/Ld其中Ealpha、Ebeta为αβ轴反电动势包含转子速度和位置信息。通过构造电流观测器利用滑模切换函数迫使观测电流跟踪实际电流从而提取反电动势观测值。2、滑膜观测器算法步骤(1) 电流预测基于上一时刻的观测电流和反电动势滤波后使用前向欧拉法计算当前观测电流IalphaFore、IbetaFore。(2) 滑模面切换计算电流误差 (IalphaFore - Ialpha)通过饱和函数得到估计反电动势EalphaFore、EbetaFore。饱和函数采用边界层±1.0设计在边界层内线性输出外部输出±Gain有效抑制抖振。(3) 低通滤波对滑模输出的高频开关信号进行一阶低通滤波得到平滑的反电动势基波分量EalphaForeLPF、EbetaForeLPF用于下一周期的电流预测和位置/速度估算。3、滑膜观测器源代码typedef struct { float Ts; //调用周期 float Rs; //相电阻 float Ld; //相电感 float Gain; //滑膜观测器增益 float Ialpha; //α轴实际电流 float Ibeta; //β轴实际电流 float IalphaFore; //α轴预测电流 float IbetaFore; //β轴预测电流 float Ualpha; //α轴实际电压 float Ubeta; //β轴实际电压 float EalphaFore; //α轴预测反势 float EalphaForeLPF; //α轴预测反势滤波值 float EbetaFore; //β轴预测反势 float EbetaForeLPF; //β轴预测反势滤波值 float EabForeLPFFactor; //αβ轴预测反势滤波系数 float Etheta; //预测theta角 }SMO_STRUCT; //饱和函数 float sat(float err, float limits) { if (err limits) return 1; else if (err -limits) return -1; else return err / limits; } void SMO_Calculate(SMO_STRUCT *p) { // 1. 电流预测基于电机模型的前向欧拉离散化 // 公式I_fore(k1) I_fore(k) Ts * [ -Rs/Ld * I_fore(k) (U - E_foreLPF)/Ld ] p-IalphaFore p-Ts * (-p-Rs / p-Ld * p-IalphaFore (p-Ualpha - p-EalphaForeLPF) / p-Ld); p-IbetaFore p-Ts * (-p-Rs / p-Ld * p-IbetaFore (p-Ubeta - p-EbetaForeLPF) / p-Ld); // 2. 滑模切换函数饱和函数减小抖振 // 边界层设定为 ±1.0可根据实际电流误差范围调整 p-EalphaFore p-Gain * sat((p-IalphaFore - p-Ialpha),1.0f); p-EbetaFore p-Gain * sat((p-IbetaFore - p-Ibeta), 1.0f); // 3. 反电动势低通滤波滤除高频切换噪声 // 一阶低通滤波E_filt(k) α * E_raw(k) (1-α) * E_filt(k-1) p-EalphaForeLPF p-EalphaFore * p-EabForeLPFFactor p-EalphaForeLPF * (1 - p-EabForeLPFFactor); p-EbetaForeLPF p-EbetaFore * p-EabForeLPFFactor p-EbetaForeLPF * (1 - p-EabForeLPFFactor); // 4. 通过反正切函数求出θ角 p-Etheta -atan(p-EalphaForeLPF/p-EbetaForeLPF); }4、滑膜观测器的参数说明第一部分已知量(须在初始化时赋值)- Rs定子电阻需通过辨识或参数表获得。- Ld直轴电感对表贴式电机LdLq。- Gain滑模增益须大于反电动势幅值通常根据最大转速下的反电动势设定固定增益时通常取母线电压/根号3。- EabForeLPFFactor低通滤波系数0~1取值小则滤波效果好但相位滞后大需在噪声抑制和动态响应间权衡。- 边界层阈值1.0f即饱和函数系数根据电流量程标幺化设定实际使用时可能需要调整。第二部分实时更新量Ialphaα轴实时电流Ibetaβ轴实时电流Ualphaα轴实时电压Ubetaβ轴实时电压Ts两次进行滑膜计算之间的时间间隔(实践中这个一般作为固定值因为滑膜观测器计算通常都是由定时器中断触发计算)第三部分函数内部使用的全局变量IalphaForeα轴预测电流IbetaForeβ轴预测电流EalphaForeα轴预测反电动势(未滤波)EbetaForeβ轴预测反电动势(未滤波)EalphaForeLPFα轴预测反电动势(滤波后)EbetaForeLPFβ轴预测反电动势(滤波后)