大家都知道,工业革命中所有机械的动力来源是电动机,对于直流电机的控制,可见我的博客。对拖动大负载场合的三相电机。如何快速把调速性能优越的SVPWM(空间电压矢量脉冲宽度调制)算法用出来,编程实现呢?


电机SVPWM调速控制算法属于FOC方法(面向磁链控制),它将三相桥式逆变(DC-AC)器和待调速三相电动机视为一体,以控制圆形旋转磁链为主要目的。


下面介绍用出来步骤:

SVPWM算法的理论推导——>应用与编程实现

第一步:首先你得知道,你期望输入给定子绕组的相电压波形:(一般幅值us可取电机的额定电压Un)

其中:是期望输出的相电压幅值,是期望的电机旋转速度(单位rad/s)可换算成转速(ω=2*π*n),θ随着三相合成的空间矢量电压的旋转而增大,是旋转的表征。

  既然你期望输入给电机定子电压的幅值有了,但是你如何确定逆变器的直流侧电压Ud呢?

所以第二步:(该式得到了Ud的范围,从而取一个值即可,如Ud=36V)

该式来源于以下两个知识点:①定子输入三相正弦电压后,经矢量相加,合成为一个旋转空间电压矢量,其幅值是相电压的倍,②利用相邻的标准电压矢量合成期望的电压时,类似于等腰三角形的高长度小于腰长度,合成的期望电压最大幅值为

值得指出,上述两知识点,也可导出SVPWM比SPWM的直流电压利用率>15%,不再赘述。

第三步:期望的电压已经有了见第一步的表达式,那么随着θ的变化,如何确定当前期望电压us的扇区位置,从而决定用哪两个相邻的标准空间电压矢量去合成(如第一扇区,则用u4=(1,0,0),和u6=(1,1,0)去合成)?

可由幅值us和角度θ,向二维即α轴(横轴)和β轴(纵轴)投影(记为uα、uβ),再定义A、B、C的含uα与uβ计算式,定义N=4C+2B+A,计算得到N值,从而根据N值,制作N-扇区表格,查表得扇区!

第四步:根据扇区的位置,选择到底哪两个相邻的标准空间电压矢量(u1~u6以及零矢量u0与u7)来合成!

这里值得指出,正是由于零矢量的插入,不再需要之前的三相电机在基频以下调速时,为了使得磁链保持最大,必须在电机调速的同时,也要调节电压,即所谓恒压频比控制。电机调速时,直接调速,改变即可,无需再调节相电压。

第五步:根据上述已知的直流侧电压Ud,与编程时(如STM32)设定的PWM波输出的周期Ts,如何计算相邻电压的有效作用时间,以T4和T6为例

通过相应公式(见各类参考书),计算相邻的标准空间电压矢量如u4和u6对应的作用时间,可称作T4和T6,其余时间是零矢量作用时间,通过分析T4和T6的表达式寻找规律,发现,可统一定义出X、Y、Z三变量,各个变量代表一个通用计算式,制定表格,该表格可根据N值(即当前扇区)可查表得到如相邻标准矢量电压的作用时间如T4和T6计算公式!

如果T4或T6值大于Ts,则需做调制处理,公式类似电阻分压T4=Ts*T4/(T4+T6),自行理解,不再赘述。

第六步:获得各个IGBT开关管子的状态切换时间点:

补充知识:我们把逆变器的三相桥臂的上桥三个IGBT的开关状态从左到右依次设为Sa,Sb,Sc,规定为1导通,为0关断,如上述的u4=(1,0,0)等,规定上桥IGBT导通同时,下桥则关断。

为了更好地获得各个IGBT管子的状态切换时间,找出共性计算式,故定义了Ta,Tb和Tc的计算公式(用于表格元素),制作N与Tcm1、Tcm2、Tcm3的表格,该表格可根据扇区N值(即当前扇区)查阅得到上桥三个IGBT的状态切换时间点,分别称为Tcm1,Tcm2,Tcm3,从而获得各开关时间。

第七步:使用三角载波,与该切换时间点比较,获得控制三相六脉冲即PWM1、2、3/4、5、6,该信号发给逆变器的三相桥的六个IGBT(V1、3、5/4、6、2),控制桥臂的高频通断。

实现方法:

用DSP或STM32等,选择具有连续增减计数模式的计数器,从而发出可编程占空比的三相六脉冲,我们可根据PWM控制波的设计周期Ts,去设定计数器的周期寄存器PeriodR值,而计数器的三个比较寄存器存放的值分别记为CMPR1、CMPR2、CMPR3,它们和三个切换点Tcm1、Tcm2、Tcm3有一个对应关系:下面给出对应关系

根据Tcm1<Tcm2<Tcm3,在增计数时分析,由三角形的相似,对Tcm1有:

从而得到第一个比较寄存器CMPR1的存放的值,从而当计数器从0开始递增技术时,遇到CMPR1就翻转第一个脉冲,该脉冲发给逆变器的第一列上桥臂V1和下桥臂V4(脉冲取反即可,一般要求带死区,可编程带死区的三相PWM波输出。)

其他CMPR2、CMPR3以此类推。

本文参考《电力电子技术》《运动控制系统》《现代永磁同步电动机仿真》,2015届电气工程及其自动化毕设“基于DSP的PMSM的SVPWM控制系统设计”!

----后续持续更新有关各类算法的简化应用版,希望大家跟我一起简化这个世界!

2021/06/11:北京航空航天大学,Mr Wang

世界需要简化第五篇:阅读本文需要有基础,仅一文教你快速应用FOC的SVPWM实现三相异步电机调速?快速学会使用著名的电机SVPWM调速控制算法——史上最简单易懂,算法经高度抽象简化,所有下标经仔细核对相关推荐

  1. Xshell下载安装,史上最简单易懂教程

    Xshell下载安装,史上最简单易懂教程 阿里云网盘提取码:46gw 阿里云网盘下载地址 百度网盘提取码:8888 百度网盘下载地址 1,下载完成后,得到这样的文件 2,XmanagerPowerSu ...

  2. Python中的多线程(史上最简单易懂版)

    简介: 多线程简单理解就是:一个CPU,也就是单核,将时间切成一片一片的,CPU轮转着去处理一件一件的事情,到了规定的时间片就处理下一件事情. 主要内容: 1.python中显示当前线程信息的属性和方 ...

  3. 史上最简单的SpringCloud教程 | 第五篇: 路由网关(zuul)

    转:https://blog.csdn.net/forezp/article/details/69939114 最新版本: 史上最简单的SpringCloud教程 | 第五篇: 路由网关(zuul)( ...

  4. 史上最系统的算法与数据结构书籍推荐!!!!!吐血整理!!

    史上最系统的算法与数据结构书籍推荐!!!!!吐血整理!! 史上最系统的算法与数据结构书籍推荐!!!!!吐血整理!! 前言:技术书阅读方法论 一.速读一遍(最好在1~2天内完成) 人的大脑记忆力有限,在 ...

  5. 史上最简单的SpringCloud教程 | 第九篇: 服务链路追踪(Spring Cloud Sleuth)(Finchley版本)

    转载请标明出处: http://blog.csdn.net/forezp/article/details/81041078 本文出自方志朋的博客 个人博客纯净版:https://www.fangzhi ...

  6. 史上最简单的SpringCloud教程 | 第四篇:断路器(Hystrix)

    转:https://blog.csdn.net/forezp/article/details/69934399 最新版本: 史上最简单的SpringCloud教程 | 第四篇:断路器(Hystrix) ...

  7. 史上最简单的SpringCloud教程 | 第三篇: 服务消费者(Feign)

    转:https://blog.csdn.net/forezp/article/details/69808079 最新版本: 史上最简单的SpringCloud教程 | 第三篇: 服务消费者(Feign ...

  8. 史上最简单的SpringCloud教程 | 第四篇:断路器(Hystrix)--有BUG,注意看我的备注

    转载请标明出处:  http://blog.csdn.net/forezp/article/details/69934399  本文出自方志朋的博客 在微服务架构中,根据业务来拆分成一个个的服务,服务 ...

  9. 史上最简单的SpringCloud教程 | 第四篇:断路器(Hystrix)--里面有BUG,所以我转载改一下

    017年04月09日 21:14:05 阅读数:271535 转载请标明出处:  http://blog.csdn.net/forezp/article/details/69934399  本文出自方 ...

最新文章

  1. app pay开发遇到的坑
  2. python编程入门第一课_python入门前的第一课 python怎样入门
  3. enc易能变频_ENC易能变频器故障灯亮快修收费合理
  4. 复杂的权限按钮控制优化
  5. php更新数据步骤,Thinkphp5模型更新数据方法
  6. matlab 信道模拟 差错概率,移动信道差错序列的分布概率模拟法及门限电平的讨论...
  7. HDU1870 愚人节的礼物【堆栈+输入输出+水题】
  8. EMOS1.6下的php支持GD库
  9. DAY24:信息搜集
  10. c语言编写程序寻找最大公约数,C程序设计编程题库
  11. 小招喵跑步[java]
  12. Elasticsearch中object类型与nested类型之间的区别
  13. 【报告分享】京东大数据研究院:2020线上农产品消费趋势报告(附下载)
  14. iwnpi 5621ds RF测试指令
  15. 点云 3D 目标跟踪 - AB3DMOT(IROS 2020, ECCVW 2020)
  16. Java 正则表达式 手机号 身份证号脱敏
  17. **rosdep init** 或者**rosdep update** 连接错误的解决办法
  18. 可以让人变老的相机_变老相机软件盘点,四款可以让人变老的相机软件
  19. 如何访问西门子S1500PLC的IO系统
  20. 【计算机网络高分笔记】第三章:数据链路层

热门文章

  1. JAVA Leetcode13. 罗马数字转整数
  2. oracle程序窗口,oracle窗口函数的使用
  3. gh-ost 工具
  4. C语言线程池实现并行下载上传,匹配百度网盘功能
  5. 聊一聊 vscode 的代码格式化
  6. 拓嘉辰丰:拼多多详情图制作方法
  7. 如何更好处理公共关系和个人关系?
  8. mysql 以小时 分钟 为单位分组 30分钟 4小时
  9. 四足步行机器人的结构设计及仿真
  10. 正大国际期货:期货投资你的感悟是什么?