news 2026/5/23 23:42:33

滑膜观测器代码及参数取值说明

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
滑膜观测器代码及参数取值说明

1、滑膜观测器源原理

基于BLDC(无刷电机)/PMSM(永磁同步电机)在αβ坐标系下的电压方程:
di_alpha/dt = (-Rs/Ld)*i_alpha + (Ualpha - Ealpha)/Ld
di_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(k+1) = 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:直轴电感(对表贴式电机Ld=Lq)。
- Gain:滑模增益,须大于反电动势幅值,通常根据最大转速下的反电动势设定,固定增益时通常取母线电压/根号3。
- EabForeLPFFactor:低通滤波系数(0~1),取值小则滤波效果好但相位滞后大,需在噪声抑制和动态响应间权衡。
- 边界层阈值1.0f:即饱和函数系数,根据电流量程标幺化设定,实际使用时可能需要调整。

第二部分:实时更新量
Ialpha:α轴实时电流;
Ibeta:β轴实时电流;
Ualpha:α轴实时电压;
Ubeta:β轴实时电压;
Ts:两次进行滑膜计算之间的时间间隔(实践中这个一般作为固定值,因为滑膜观测器计算通常都是由定时器中断触发计算);

第三部分:函数内部使用的全局变量
IalphaFore:α轴预测电流;
IbetaFore:β轴预测电流;
EalphaFore:α轴预测反电动势(未滤波);
EbetaFore:β轴预测反电动势(未滤波);
EalphaForeLPF:α轴预测反电动势(滤波后);
EbetaForeLPF:β轴预测反电动势(滤波后);

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/23 23:37:59

开发商做一套售楼处数字沙盘 多少钱 都包含什么

经常有开发商朋友算不清楚账&#xff1a;效果图花了一笔、宣传片花了一笔、电子沙盘花了一笔、VR样板间又花了一笔&#xff0c;加起来一看二三十万出去了。分开看每一项都不贵&#xff0c;加起来觉得肉疼。但如果你从"客户看房到底需要看到什么"这个角度往回推&#…

作者头像 李华
网站建设 2026/5/23 23:37:57

实测最新 Gemini-3.5,对比 DeepSeek-V4、GPT-5.5,结果出人意料!

你好&#xff0c;我是郭震历经近半年&#xff0c;Gemini 从 3 升级到了 3.5&#xff0c;并且这次只发布 了 3.5 Flash&#xff0c;号称已超越自家 3.1 Pro&#xff0c;今天对比实测下&#xff0c;感兴趣可以看看。1 Gemini 3.5 Flash 先看Card报告评分&#xff1a;在 Coding 上…

作者头像 李华
网站建设 2026/5/23 23:36:55

AWS RDS 全解析:能力剖析与价格深度分析

引言:云数据库的基石 在云计算时代,数据库即服务(DBaaS)已成为企业构建现代化应用架构的默认选择。作为全球云计算的领导者,亚马逊 AWS 提供的 关系型数据库服务(Amazon RDS),无疑是这一领域的标杆产品。它不仅仅是一个托管的数据库引擎,更是一个集高可用、可扩展、安…

作者头像 李华
网站建设 2026/5/23 23:32:43

Vitis HLS优化指令与iDSE智能设计空间探索框架解析

1. Vitis HLS优化指令体系解析在FPGA硬件加速领域&#xff0c;高层次综合(HLS)技术通过将算法级的C/C描述自动转换为寄存器传输级(RTL)设计&#xff0c;大幅提升了开发效率。作为Xilinx推出的HLS工具链&#xff0c;Vitis HLS提供了三类核心优化指令&#xff0c;它们共同构成了硬…

作者头像 李华
网站建设 2026/5/23 23:28:06

终极指南:RDPWrap如何免费解锁Windows多用户远程桌面功能

终极指南&#xff1a;RDPWrap如何免费解锁Windows多用户远程桌面功能 【免费下载链接】rdpwrap RDP Wrapper Library 项目地址: https://gitcode.com/gh_mirrors/rd/rdpwrap 你是否曾经想要在Windows家庭版或专业版上实现多人同时远程连接&#xff0c;但又不想支付昂贵的…

作者头像 李华
网站建设 2026/5/23 23:28:00

Django 从 0 到 1 打造完整电商平台:商品列表页实现

IT策士 10余年一线大厂经验&#xff0c;专注 IT 思维、架构、职场进阶。我会在公众号、今日头条持续发布最新文章&#xff0c;助你少走弯路。 上一篇我们搞定了商品分类树和 SPU 详情页的规格切换&#xff0c;商品模块的骨架已经撑起来了。但一个商城不能只靠详情页活着——用户…

作者头像 李华