【STM32电机矢量控制】记录5——FOC原理大概

发布者:美人如玉剑如虹最新更新时间:2018-09-22 来源: eefocus关键字:STM32  电机  矢量控制 手机看文章 扫描二维码
随时随地手机看文章

FOC控制算法:

FOC控制的其实是电机的电磁场方向。转子的转子力矩正比于定子的磁场向量与转子磁场矢量的矢量积。由矢量的关系可知,若使电机的转矩时刻保持最大,则定子磁场向量应与转子磁场向量相互垂直。又因为磁场的大小与方向与电流的大小与方向有着直接的关系,所以在用FOC控制算法控制BLDC时的关键就是控制三相输入的电流大小与方向。而控制电流产生定子磁场与转子磁场垂直的关键在:控制稳定的三相输入电压及其电流向量,并且我们得知道转子的实时位置。

输入电流的方向控制,FOC给出了空间电流矢量的概念。其实质是将三相的电流矢量结合,再分解为垂直和平行于转子磁体轴方向的两个分量即d-q结构。垂直方向的电流分量所产生磁场正交于转子的磁场,这就产生了旋转力矩。而平行于转子磁轴方向的电流分量,所产生的磁场与转子磁场一致,就不会产生任何的力矩。另外,一个好的控制算法就需要使这个平行于转子磁轴方向的电流分量尽量最小化,因为,这个电流分量只会使电机产生多余的热量,并加剧轴承的磨损。我们需要控制线圈的电流,以使垂直于转子磁轴方向的电流分量达到最大。由此而得到的电机力矩和这个电流分量的大小成比例。

为了使与转子磁场同向的定子电流矢量最小化(为零)且垂直的磁场最大化,定子线圈内的弦波电流需要随着转子的转动角度实时地进行相位调整。控制稳定的三相电流输入可以建立P-I控制器,P-I控制是在不停的调制输入,一旦电机电流被转化成d-q结构,控制将变得非常简单。我们需要两路P-I控制器;一个控制平行与转子磁场的电流,一个控制垂直向电流。因为平行向电流的控制信号为零,所以这就使电机平行向的电流分量也变成零,这也就驱使电机的电流矢量全部转化为垂直向的电流。由于只有垂直向电流才能产生有效的力矩,这样电机的效率被最大化。另一路P-I控制器主要用来控制垂直向的电流,以获得与输入信号相符的需求力矩。这也就使垂直向电流按照要求被控制以获得所需的力矩。

转子的实时位置的确定有两种情况:有位置传感器、无位置传感器。对于有传感器,由于电机的传感器(一般为编码器)能反馈电机转子的位置信息,因此在控制中可以不使用位置估算算法,控制起来相对无传感器简单,但是对带传感器的电机应用来说,往往对控制性能要求较高。对于无传感器,由于电机不带任何传感器,因此不能通过简单读取传感器的测量值来得到电机转子的位置信息,所以在控制中需要通过采集电机相电流,使用位置估算算法来计算转子位置。

FOC控制原理图:

【STM32电机FOC】记录5——FOC原理大概

  1. 采集到两相电流 

  2. 经过clarke变换后得到两轴正交电流量, 

  3. 经过旋转变换后得到正交的电流量 Id、Iq,其中Iq与转矩有关,Id与磁通有关。在实际控制中,常将Id置为0。得到的这两个量不是时变的,因此可以单独的对这两个量进行控制,类似直流量控制一样。而不需要知道具体要给电机三相具体的电压为多少。 

  4. 将第3步中得到的Iq与Id量分别送进PI调节器,得到对应的输出Vq和Vd; 

  5. 通过传感器得到电机转过的角度。 

  6. 进行逆park变换,得到二轴电流量。 

  7. 对第6步中的Va,Vb进行逆clarke变换,得到实际需要的三相电压输入给逆变电桥,驱动电机转动。


SVPWM电机驱动方式:

其实现流程大致如下所示:

1. 判断合成矢量所在扇区

将U、V、W三相电压矢量合成矢量电压Uref并在二相坐标系中形成分量Uα、Uβ(在FOC中由逆Pack变换得到)由合成矢量落在各扇区的充分必要条件分析可知合成矢量所属扇区。

2. 计算相邻矢量作用时间

【STM32电机FOC】记录5——FOC原理大概

3. 计算各桥臂导通时间及各相PWM占空比

【STM32电机FOC】记录5——FOC原理大概

4.  更新相应寄存器值

  将上面计算出的TCM1、TCM2、TCM3送入单片机定时器寄存器即可产生SVPWM

三电阻电流采样的可行性:

由于逆变器三相桥臂的上下桥的IGBT的开通与关断是互补的,则每一桥臂的上下桥臂的控制信号也应均是互补输出。假定对其单一相位,如A相位,进行导通取样。当IGBT2导通,IGBT1必然关断,此时电流流向应与A相电流大小相等方向相反。因此将此时采样到的电流进行取反就能得到A相电流。(由于IGBT的开关频率非常高,从而导致采样频率也就远大于相电流频率,由采样定理可知,此时根据采样电流即可恢复出为A相电流的值)

【STM32电机FOC】记录5——FOC原理大概


主要完成任务:

1、初步理解FOC控制算法的原理

2、初步理解SVPWM电机驱动方式

3、了解三电阻电流采样的其可行性


关键字:STM32  电机  矢量控制 引用地址:【STM32电机矢量控制】记录5——FOC原理大概

上一篇:【STM32电机矢量控制】记录6——FOC运行流程
下一篇:【STM32电机方波】记录4——PWM输出配置

推荐阅读最新更新时间:2024-03-16 16:14

车用直流马达需求见涨,怎样选择合适的电机驱动方案?
市场趋势 预估车用 直流马达 系统的需求将稳定成长,未来5年的年成长率约在3.1%左右。车身周边的需求主要来于自车门锁、电动后照镜、座椅调整、清洁剂帮浦、雨刷、车窗开关、天窗和电动滑门等传统应用。但还有许多新崛起且十分吸引消费者的应用逐渐面市,部分实例包括抬头显示器(HUD)、隐藏式车门把手、电动尾门、电动车换档切换器和电动车充电器锁。 考虑以上状况,估计2020年全球各地与车身相关的车用直流马达需求将达到20亿个。 下图为各种应用所占比例,所有应用耗电都在30W到200W之间。 在车身应用上驱动直流马达使用继电器和内建芯片的比较 过去汽车产业一直将继电器视为一种简单又便宜的解决方案,用来驱动直流马达。
[嵌入式]
车用直流马达需求见涨,怎样选择合适的<font color='red'>电机</font>驱动方案?
STM32模拟SPI接口
做单片机开发的时候经常需要用到模拟spi接口,这种写法不错的,网上很多类似的,我也拿来主义了。 #define MOSI_H GPIO_SetBits(GPIOB, GPIO_Pin_10) #define MOSI_L GPIO_ResetBits(GPIOB, GPIO_Pin_10) #define SCLK_H GPIO_SetBits(GPIOB, GPIO_Pin_13) #define SCLK_L GPIO_ResetBits(GPIOB, GPIO_Pin_13) #define MISO GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_11) unsigned char SPI_
[单片机]
STM32——系统滴答定时器
一、SysTick【内核中】 【风格:先描述一下库对寄存器的封装,再举例实现某些功能】 SysTick定时器被捆绑在NVIC中,用于产生SysTick异常(异常号: 15)。在以前,操作系统还有所有使用了时基的系统,都必须一个硬件定时器来产生需要的“滴答”中断,作为整个系统的时基。滴答中断对操作系统尤其重要。例如,操作系统可以为多个任务许以不同数目的时间片,确保没有一个任务能霸占系统;或者把每个定时器周期的某个时间范围赐予特定的任务等,还有操作系统提供的各种定时功能,都与这个滴答定时器有关。因此,需要一个定时器来产生周期性的中断,而且最好还让用户程序不能随意访问它的寄存器,以维持操作系统“心跳”的节律。 Corte
[单片机]
<font color='red'>STM32</font>——系统滴答定时器
基于STM32的CMMB智能网络监测系统的设计与实现
中国移动多媒体广播(CMMB)是我国自主研发的、具有完全自主知识产权的移动多媒体广播标准。目前,全国各大城市的CMMB网络正在建设和完善当中,而CMMB信号的覆盖测试为网络优化和调整提供了重要的数据依据。数字电视广播网络的建设是一个长期复杂的过程,需要经过不断地调整和优化才能达到一个理想的效果。而只有有效、精确的网络覆盖测试才能为调整、优化提供可靠的依据。一个成熟稳定的CMMB网络覆盖测试系统,对于CMMB的发展具有重大意义。因此,有必要设计一款针对CMMB网络的覆盖测试系统。 本设计基于高性能单片机STM32和GPRS无线通信方案实现了对测试点CMMB网络覆盖情况的实时监测,并利用GPS接收器将测试终端的地理位子信息上传到服
[单片机]
基于<font color='red'>STM32</font>的CMMB智能网络监测系统的设计与实现
stm32学习笔记(三)串口通讯实验
#include sys.h #include usart.h ////////////////////////////////////////////////////////////////////////////////// //如果使用ucos,则包括下面的头文件即可. #if SYSTEM_SUPPORT_OS #include includes.h //ucos 使用 #endif ////////////////////////////////////////////////////////////////////////////////// //本程序只供学习使用,未经作者许可,不得用于其它
[单片机]
<font color='red'>stm32</font>学习笔记(三)串口通讯实验
STM32入门系列-使用库函数点亮LED软硬件分析
电路图分析 首先找来单片机的原理图,根据原理图进行相关的设计工作。 例如在上图中相同网络标号表示它们是连接在一起的,因此D1发光二极管阴极是连接在STM32的PC0管脚上,D2指示灯阴极连接在PC1管脚上,其他LED管脚以此类推。如果要使D1指示灯亮,只需要控制PC0管脚输出低电平, 如果要使D1指示灯灭,只需控制PC0输出高电平。如果你们使用的是其他板子,连接LED的管脚和极性不一样,那么只需要在程序中修改对应的GPIO管脚和输出电平状态即可,原理是一样的。 要点亮D1发光二极管,也就是让STM32的PC0管脚输出一个低电平。 库函数支持文件 如果采用的是库函数开发,需要复制创建好的库函数模板,在此模板上进行程序开发
[单片机]
<font color='red'>STM32</font>入门系列-使用库函数点亮LED软硬件分析
基于单片机的直流电机控制系统
第一章 绪论 随着社会的发展和科技的进步,人们对生产设备提出了速度更快、精度更高的使用要求,电机作为生产设备最为重要的驱动源,在人们的日常生活和工业生产活动中具有广泛应用,发挥着不可替代的作用。基于单片机的直流电机控制系统不仅结构简单可靠,而且易于编程控制,具有非常好的调速性能。 1.1 本文研究的目的 由于直流电机具有非常好的机械性能,多种多样的控制方式,以及非常好的环境适应性,因此,直流电机在很多工业现场得到越来越广泛的应用 。直流电机控制系统的好坏直接影响电机性能的发挥。在上世纪七八十年代,由于电子技术的落后,很多的直流电机还是依赖复杂的模拟电路进行控制,这种模拟电路采用分离原件搭建,不仅结构复杂,功能单一,而且一个控制
[单片机]
基于单片机的直流<font color='red'>电机</font>控制系统
stm32定时器优先级
什么是优先级   优先级是具有高抢占式优先级的中断可以在具有低抢占式优先级的中断处理过程中被响应,即中断嵌套,或者说高抢占式优先级的中断可以嵌套低抢占式优先级的中断。   当两个中断源的抢占式优先级相同时,这两个中断将没有嵌套关系,当一个中断到来后,如果正在处理另一个中断,这个后到来的中断就要等到前一个中断处理完之后才能被处理。如果这两个中断同时到达,则中断控制器根据他们的响应优先级高低来决定先处理哪一个;如果他们的抢占式优先级和响应优先级都相等,则根据他们在中断表中的排位顺序决定先处理哪一个。 stm32定时器优先级   STM32 可以支持的 68 个外部中断通道,已经固定的分配给相应的外部设备。每个中断通道都具备自己
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved