STM32G431+P-NUCLEO-IHM03开发套件调试3(p-nucleo-ihm03套件)

文章目录

  • STM32G431+P-NUCLEO-IHM03开发套件调试3(p-nucleo-ihm03套件)
  • FOC基础原理介绍
  • 一、SVPWM基础
    • 1.逆变器开关状态判断
    • 2.扇区判断
    • 3.矢量作用时间计算
    • 4.切换时间计算
    • 5.调制脉冲生成
  • 二、闭环调速系统

STM32G431+P-NUCLEO-IHM03开发套件调试3(p-nucleo-ihm03套件)

FOC基础原理介绍

调试板子之前,有必要对FOC矢量控制进行梳理,方便后面调试时整理思路


一、SVPWM基础

主要有分为以下几个部分
1逆变器开关状态选择
2扇区判断
3矢量作用时间计算
4切换时间计算
5调制脉冲生成

1.逆变器开关状态判断


如图所示,为逆变器的基本硬件图,逆变器是电机控制的基础,为了达到控制电机的目的,必须有能力对输出电压的频率和幅值进行变化,那么我们就需要使用逆变器,一般来说,电机控制电源变化为*交流-直流-交流** ,将电网供给电压通过整流桥稳压成直流,然后在通过变频器变频控制成交流。图中逆变器连接电机三相,N为中性点,图中有a,b,c三个桥臂连接电机uvw三相,所以称作三相逆变器,每个桥臂有两个IGBT/MOSFET,分别控制每一相上桥臂和下桥臂的通断

为什么不使用电网电压直接改变频率和幅值?主要有两个原因
1交流-交流变换需要使用矩阵变换器,控制复杂,硬件成本高
2交流-直流-交流变换中间存在稳定的直流源,相当于输入端由可变的交流电变为了稳定的直流电,控制难度低,且输入不受电网波动影响

举例来说,如图所示,只要存在两相开关情况下,那么就可以形成旋转的磁场,如动图所示,那么随着开关旋转,旋转的磁场就能够构建出来,那么电机就会在电磁感应的作用下,旋转起来

如果把三个开关所有情况列下来,那么就有8种情况,如下表


一种8个矢量,从000-001一直到011 111表示,VAN,VBN,VCN为电路变化后中性点的电压,可以看出,每一个开关状态对应每一个电压矢量,那么相对应的,就可以用对应的电压矢量,组成空间中任意的电压。

2.扇区判断

上边为空间矢量的合成图,下边为合成矢量在空间中旋转的变化动图

先看上面,6个基本矢量能够在空间中表示,6个矢量将空间分为6个部分,SVPWM调制中称做扇区,他们的顶点相互连接组成六边形,,两个·10矢量由于没有数值,那么在空间中用一个点来表示,现在假设要输出一个空间矢量在1扇区,那么就可以用相邻的两个电压矢量110和100合成它,,只需要调整两个矢量的长度,也就是控制逆变器的开关状态和作用时间,那么就可以合成空间中任意一个矢量

再看下面的动图,可以看出,随着合成的电压矢量在空间中旋转,三相电压的矢量不断变化。矢量在空间旋转后,三相电压的大小跟随改变形成正弦变化的波形,这就是三相电和电压矢量的关系

3.矢量作用时间计算

如图所示,就能看出电压矢量和逆变器工作状态的关系,左上为空间矢量如何合成,下面为对应时刻的所需合成的两个逆变器的开关状态,可以看出随着电压矢量的变化,那么逆变器的开关状态和作用时间也就不断变化,右上角对应的是每相电压的输出占空比随着开关状态变化,开关状态改变导致输出电压矢量变化也就意味着三相交流电输出的变化

4.切换时间计算


已经计算得到了每个电压矢量的作用时间后,需要产生实际的脉宽调制波形。在 SVPWM 调制方案中,零矢量的选择是最具灵活性的,适当选择零矢量,可最大限度地减少开关次数,尽可能避免在负载电流较大的时刻的开关动作,最大限度地减少开关损耗。。因此,我们以减少开关次数为目标,将基本矢量作用顺序的分配原则选定为:在每次开关状态转换时,只改变其中一相的开关状态。并且对零矢量在时间上进行了平均分配,以使产生的 PWM 对称,从而有效地降低 PWM 的谐波分量

5.调制脉冲生成


最终形成计算,通过仿真软件或者任何调试工具,最后计算得到马鞍波这样的波形,那么就说明你的计算是成功的


与SPWM相比,SVPWM电压利用率更高,控制思路是将逆变器和电机看作整体,控制电压矢量输入,实现难度更高,目前已成为主流控制方式。

二、闭环调速系统


如图所示为三闭环调速系统,最外环为位置环,接中间为速度环,最内环为电流环,系统给定输出位置指令,与反馈位置做差,经过PID计算得到速度指令,再与反馈速度做差,经过PID计算得到电流指令,再与反馈速度做差,经过坐标变换计算得到电压值,经过SVPWM调制输除到三相逆变器,控制电机旋转。

STM32G431+P-NUCLEO-IHM03开发套件调试3(p-nucleo-ihm03套件)-FOC基础原理介绍相关推荐

  1. STM32G431+P-NUCLEO-IHM03开发套件调试1 (p-nucleo-ihm03套件)

    STM32G431+P-NUCLEO-IHM03开发套件调试1 序章: 基本资料汇总和介绍 文档资料综合 文章目录 STM32G431+P-NUCLEO-IHM03开发套件调试1 资料 一.基础介绍及 ...

  2. STM32G431+P-NUCLEO-IHM03开发套件调试2(p-nucleo-ihm03套件)

    STM32G431+P-NUCLEO-IHM03开发套件调试2(p-nucleo-ihm03套件) `STM32G431+P-NUCLEO-IHM03开发套件调试2 第一章: 初始电机烧录程序运转 - ...

  3. 鸿蒙开发板 Hi3816 Wi-Fi IoT 智能家居套件试用连载 - LiteOS万物互联

    HiSpark Wi-Fi IoT 智能家居套件 10.8号休假回来荣获一份豪礼,我感到非常开心.我很荣幸参加电子发烧友举行的HarmonyOS开发板试用活动,获得了鸿蒙OS WiFi lot sma ...

  4. NDK JNI Android Studio开发与调试DEMO(三)(生成 .so 文件)

    Android Studio NDK 开发与调试(生成 .so 文件) 温馨提示:如果你的 Android Studio 版本在 3.0以上 , 建议你用 cMake /ndk-build 的新姿势进 ...

  5. 使用Visual Studio 2010开发和调试Html5项目

    上周有幸参加微软技术大会(TechED2010),身临其境领略微软这样的国际化公司大家风范,云加端的概念将技术思维提到的一个新的档次,此行收获很大,在第一天谢恩伟提到正在进行的IE9开发大赛让我很是关 ...

  6. Python中str()与repr()函数的区别——repr() 的输出追求明确性,除了对象内容,还需要展示出对象的数据类型信息,适合开发和调试阶段使用...

    Python中str()与repr()函数的区别 from:https://www.jianshu.com/p/2a41315ca47e 在 Python 中要将某一类型的变量或者常量转换为字符串对象 ...

  7. linux 内核启动调试,内核开发和调试的启动时参数

    内核开发和调试的启动时参数 这些参数主要用在内核的开发和调试上,如果你不进行类似的工作,你可以简单的跳过本小节. 1.debug linux的日志级别比较多(详细信息可以参看linux/kernel. ...

  8. 使用VS Code 从零开始开发并调试.NET Core 应用程序

    使用VS Code 从零开始开发并调试.NET Core 应用程序,C#调试.上一篇 使用VS Code开发 调试.NET Core 应用程序 得到了大家的支持. 现在为大家带来从零开始教程,让你更好 ...

  9. Android开发和调试必备工具-SDK Tools

    原文链接:http://android.eoe.cn/topic/android_sdk SDK Tools是Android SDK的一个可下载部分,它包括Android SDK的开发和调试的所有工具 ...

最新文章

  1. http --- 混合加密的具体过程
  2. Linux 指定运行时动态库路径【转】
  3. 弹出框 背景固定 滑动
  4. zabbix mysql安装配置_ZABBIX4.4 安装及配置
  5. java记事本打开功能_Java简易实现记事本的打开与保存
  6. c语言 16 16 字库,用C语言编程16点阵字库
  7. 2021最新凡诺免费企业网站管理系统PHP版 v3.4网站源码
  8. RHCE 考试经验总结
  9. JavaScript_第一天
  10. 深入理解计算机系统 第3章 程序的机器级表示
  11. C 合成的图片文件的小练习
  12. echarts 添加百分号%
  13. kindle的xray怎么用_xray 使用说明高级版领取方式
  14. SCARA工业机器人
  15. IoTeX 对话 浙江大学Bithacks:当物联网遇上区块链
  16. HTTP协议详解以及POST与GET的区别
  17. 五种IO模型和nginx的web模块
  18. Linux学习笔记(二) 安装Fedora Linux
  19. 中国校友会网2012中国大学排行榜100强
  20. 张驰咨询:为什么企业需要走精益生产的道路?

热门文章

  1. disrupt 原理_Disrupt Tech Recruiting II-所以您想要Ari Gold?
  2. 又在放大招!这个 Github 项目针对 Python 初学者!
  3. 在Django当中模型类中的choices怎么切换到其他字段
  4. 更新至2020年分省数字经济发展水平测度指标(20多个指标)
  5. linux操作系统论文可复制,linux操作系统课程论文
  6. KBEngine使用记录
  7. kkFileView word、 excel、 ppt、 pdf在线预览
  8. 宁夏师范学院计算机培训,宁夏师范学院可视化编程培训 (中学师资)暑期班培训通知...
  9. 云原生:K8s(Kubernetes)高频典型面试题夺命68问及答案
  10. Lua 下的依赖注入