| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> PMSM FOC控制 Matlab/Simulink仿真 SVPWM算法 -> 正文阅读 |
|
[嵌入式]PMSM FOC控制 Matlab/Simulink仿真 SVPWM算法 |
1.原理 SVPWM是电机控制的一种算法,空间电压矢量控制;可以直接使用SVPWM进行电机控制,SVPWM是基于电压控制,只是控制效果没有FOC(基于电流控制)的效果好;而foc控制要借助于SVPWM,因为功率变送器(3相半桥)不能直接输出控制电流,只能输出控制电压。 2.逻辑分析 SVPWM的输入参数:Uα、Uβ? ? ? 输出:3路定时器输出比较值CCRx Uα、Uβ (是正弦信号)实际不直接给出,而是借助于反Park变换来输出Uα、Uβ,反Park变换的输入是Ud,Uq,我们可以直接设定Ud、Uq,这里Ud、Uq是直流信号,设定Ud=0(在FOC控制中Ud是不为0的),Uq=xxx来控制转速 把电机旋转一个电角度周期分为6个部分,即6个扇区,每个扇区要计算,根据矢量等效原理 (此图是网上随机找的,仅供学习) ?每个扇区计算对应的Tx,Ty就可以,而Tx、Ty是和Uα、Uβ有一定的数学关系 有根据下图计算出Ta,Tb,Tc 数学关系: Ta=(T-Tx-Ty)/4 Tb=Ta+Tx/2 Tc=Tb+Ty/2 这个数学关系是根据stm32的PWM模式2来定的,如果是PWM模式1就不是这个公式了 ?(此图是网上随机找的,仅供学习) 这样在不同的扇区,把Ta,Tb,Tc赋给CCR1、CCR2、CCR3即可 如在扇区3中,TIM1->CCR1 = Tc; ????????????????????????TIM1->CCR2 = Ta; ????????????????????????TIM1->CCR3 = Tb; 那么到此,需要控制电机的3路pwm比较值已经求出 3.仿真模型 ? ?RePark部分就不列出来了,请看之前的 最重要的就是SVPWM算法,这里采用s-function的编码形式,好处是这样的代码可以直接移植到MCU中,当然也可以生成嵌入式C代码之后再移植到MCU中,二者是一样的 ? ? 4.仿真效果 ?这个是simulink仿真的结果,3路CCR值是马鞍波 5.硬件效果 马鞍波是3路PWM比较值CCRx? 黄色曲线是弧度值(0~2*pi) 这个波形是在stm32上跑出的波形 6.注意事项 这里设定Ud=0,Uq=10;Uq设定的值不可太大,否则会过调制,CCR的波形就不再是马鞍波了 |
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 5:20:27- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |