小猫爪:PMSM之FOC控制11-基于SMO实现FOC无传感器双闭环
小猫爪:PMSM之FOC控制11-基于SMO实现FOC无传感器双闭环
- 1 前言
- 2 仿真搭建
- 2.1 观测器
- 2.2 反正切
- 2.3 仿真结果
- 3 移植验证
- END
1 前言
在前面的文章中,已经将SMO的架构全部搭建起来了,接下来就是使用Matlab将其实现。
2 仿真搭建
2.1 观测器
首先列出之前搭建的仿真器模型如下:
其中A=[−RLs00−RLs]A=[\begin{matrix} -\frac{R}{L_s} & 0 \\ 0 & -\frac{R}{L_s} \\ \end{matrix}]A=[−LsR00−LsR],将其拆成两个式子为:
将其离散化得:
其中A=exp(−R/LsTs),B=(1−A)/RA=exp(-R/L_sT_s), B=(1-A)/RA=exp(−R/LsTs),B=(1−A)/R,TsT_sTs为采样周期。注:别问怎么算出来的,问就是不知道。
离散化后的SMO的本质其实是这样的:
将其搭建成仿真后其中iαi_\alphaiα部分如下:
2.2 反正切
EαE_\alphaEα和EβE_\betaEβ得到后就可以使用反正切求得θ\thetaθ了,但是这里存在一个问题,之前就说过EαE_\alphaEα和EβE_\betaEβ其实就是zαz_\alphazα和zβz_\betazβ进行滤波得到得,所以会存在一个相位延迟,而这个延迟会很大程度上影响估算θ\thetaθ的准确性,所以需要在反正切的结果上加上一个角度补偿来弥补这个相位延迟,即:
其中ωc\omega_cωc为低通滤波器截至频率。为了获取转速信息,则可以对上式的θ\thetaθ进行微分,或者如果表贴士PMSM,则可以使用如下式子计算:
根据上面的描述,最后搭建的反正切模型如下:
2.3 仿真结果
foc_control如下:
让电机系统处于有传感器的双闭环状态下,然后使用SMO观测在旁边观测,最后对比一下电机转子的真实θ\thetaθ和SMO估算出来θ\thetaθ,如下:
可以发现估算出来的θ\thetaθ与电机真实θ\thetaθ非常接近,这代表算法成功了。
3 移植验证
将算法移植到MCU中,首先让电机运行在电流闭环下,然后用SMO预测电机角度,如下:
可以看到估算出的θ\thetaθ非常不好,这里只要有两个原因,第一就是现在还没有实现速度闭环,所以目前的电流很不稳定,再加上现在的电流也和目前电机的速度不匹配,预估的结果非常不好。接下来我们就要加上速度环,实现双闭环,再看看SMO的表现。
下图则是加入速度环的SMO的波形,此时FOC的θ\thetaθ已经是由SMO估算出来的。
再来看看调速性能:
至此,使用SMO已经可以让电机转起来了。
下面贴上我的测试代码:
END
小猫爪:PMSM之FOC控制11-基于SMO实现FOC无传感器双闭环相关推荐
- 小猫爪:PMSM之FOC控制14-基于EKF实现FOC无传感器双闭环
小猫爪:PMSM之FOC控制14-基于EKF实现FOC无传感器双闭环 1 前言 2 仿真搭建 3 移植 END 1 前言 前面文章中,已经将扩展卡尔曼观测器搭建起来了,这一节就是将扩展卡尔曼实现. ...
- 基于stm32的位置和速度双闭环PID直流电机控制
基于stm32的位置和速度双闭环PID直流电机控制 为什么要用双闭环PID算法? 如何将位置环和速度环一起使用? 程序部分代码 为什么要用双闭环PID算法? 在PID算法中,我们如果只是使用单个闭环P ...
- PMSM无感foc控制(传统SMO)学习笔记
永磁同步电机无感控制学习 一.永磁同步电机无感控制主要方法概述 (一)基于永磁同步电机基本磁链关系的转速和位置估算方法 1.直接计算方法 可直接检测的量是定了三相电压和电流,利用它们计算出转了位置角和 ...
- 小猫爪:PMSM之FOC控制00-专题简介
小猫爪:PMSM之FOC控制00-专题简介 1. 前言 2. 内容目录 END 1. 前言 大家好,思虑再三,在下准备把自己对FOC的毕生所学整理一下,然后以笔记的形式分享给大家.本专题适合那种对 ...
- dsp28335电机控制板资料 永磁同步电机有传感器三闭环foc控制
dsp28335电机控制板资料 1.永磁同步电机有传感器三闭环foc控制 2.永磁同步电机无传感器双闭环foc控制 3.无刷直流电机有传感器方波控制 4.异步电机V/F变频调速控制 5.电机状态量曲线 ...
- 无传感器BLDC和FOC堵转检测方法
基于S12ZVM的车用无传感器BLDC堵转检测方法探讨 介绍了车用无传感器BLDC堵转检测的重要性以及实现的方法,分别讲述了六步方波堵转检测以及FOC正弦波堵转检测的方法.重点介绍了基于S12ZVM的 ...
- matlab证明系统可逆性,基于MATLAB的双闭环可逆直流调速系统的仿真研究_李威震...
收稿日期:2004-03-18 第21卷第11期计算机仿真2004年11月 文章编号:1006-9348(2004)11-0042-03 基于MATLAB的双闭环可逆直流调速系统 的仿真研究 李威震, ...
- 小猫爪:PMSM之FOC控制15-MRAS法
小猫爪:PMSM之FOC控制15-MRAS法 1 前言 2 MRAS简介 3 可调模型和自适应机构 4 仿真搭建 END 1 前言 这篇文章来简单的介绍一下模型自适应法(Model Referen ...
- 小猫爪:PMSM之FOC控制08-状态观测器的引入
小猫爪:PMSM之FOC控制08-状态观测器的引入 1 前言 2 状态观测器的原理 2 状态观测器的完善 END 1 前言 在前面已经实现了电机的双闭环了,不过唯一美中不足的就是需要使用传感器去获 ...
最新文章
- Mac 上使用 Clion 阅读C++源码的一些操作
- 转录组测序和RNA-seq
- mysql 数据文件压缩,压缩MySQL数据文件的妙招
- Visual C++ 2010中更换MFC对话框默认图标
- python工程师薪资坑吗-6年Python开发工程师精心总结学习思路,再不看看就凉了...
- Python: generator, yield, yield from 详解
- VScode PowerShell运行脚本报错禁止运行脚本解决方式图文
- MyFlash——美团点评的开源MySQL闪回工具
- 开发黑名单功能demo_中台实践:通用化黑名单平台
- Arturia V Collection 8 for mac - Arturia系列合成器插件大合集
- 后缀树后缀数组LCP
- 量化投资学习——多因子权重组合优化问题
- BZOJ3689: 异或之
- epoll的LT模式(水平触发)和ET模式(边沿触发)
- 易班开发者大会总结;
- 【万恶之源~10大经典表情包出处】
- java duplicate key_java.lang.IllegalStateException: Duplicate key 1
- Win10镜像下载之后怎么安装系统
- 智能暖风机——2.嵌入式系统创建
- 问题与解决_IDEA-> Project Structure -> Artifacts-> ‘项目名‘ module: ‘Web‘ facet resources 显示红色
热门文章
- 【Linux脚本-sed命令在文本首行和尾行插入空行】
- 两个地址之间的距离测量(使用高德API)
- java单例模式_无名小仙男
- ZIGBEE学习之---ZSTACK1.4.3修改密钥(CC2430)
- QML窗口最大化、最小化、无边框
- CTFshow_终极考核_个人WP
- Trx-address和交易的address
- 正则化最小二乘法——神经网络与机器学习笔记2
- java: 找不到符号或者包 (eg.程序包org.neo4j.ogm.annotation不存在)
- CreateJS 入门小记