STM32 电机教程 16 - PMSM电机磁场定向控制原理

2023-11-07

前言

磁场定向控制又称矢量控制(FOC), 本质上为控制定子电流的幅度和相位,使之产生的磁场和转子的磁场正交,以产生最大的扭矩.

1. PMSM 的磁场定向控制

磁场定向控制( Field Oriented Control, FOC)表示这样一种方法:将其中一个磁通(转子、定子或气隙)视为所有其他量的参考坐标系,其目的是将定子电流解耦为用于产生转矩的分量和用于产生磁通的分量。这种解耦保证了复杂三相电机的控制方式与采用单独励磁的直流电机一样简单。这意味着电枢电流负责产生转矩,而励磁电流负责产生磁通。在本文档中,将转子磁通视为参考坐标系。PMSM 的气隙磁通是平滑的,反电动势( Back Electromotive Force, BEMF)是正弦曲线。提出的控制方案已开发用于表面贴装式永磁同步电机。下图所示为表面贴装电机,与内置式 PMSM 相比,该电机具有低转矩纹波和低成本的优点

表面安装永磁型 PMSM( SPM)中 FOC 的特殊性在于定子(对应于电枢反应磁通)的 d 轴电流参考idref设置为零。转子中的磁体产生转子磁链 ψm,这一点与交流感应电机( AC Induction Motor, ACIM)不同,后者需要正 idref 来生成磁化电流,从而产生转子磁链。气隙磁通是定子和转子磁链的总和。在 PMSM 中,转子磁链由永磁体产生,定子磁链(电枢反应磁链)由定子电流产生。在 FOC 中,如果低于额定速度,则不会产生定子磁链,因为“id”设置为零,因此气隙磁通仅等于 ψm。如果高于额定速度,“id”设置为负值,定子磁链与 ψm 相对,进而会减弱气隙磁通。FOC 可使用速度传感器或无速度传感器方法实现。对于高精度控制应用,首选有传感器的控制。在有传感器的 FOC 实现中,使用编码器或解析器确定转子位置和机械速度。本应用笔记介绍了本文档中基于编码器的实现。

2. PMSM 有传感器 FOC 的框图

控制过程总结如下:

• 测量三相定子电流。对于具有平衡三相绕组的电机,只需测量两个电流即可。第三个电流可使用以下公式计算得出:

公式计算得出:

• 将三相电流转换到静止双轴系统。该转换通过测量的 ia、 ib 和 ic 值提供 iα 和 iβ 变量。从定子的角度来看,值 iα 和 iβ 是随时间变化的正交电流值。

• 使用在控制环最后一次迭代时测量的变换角度旋转静止双轴坐标系,以与转子磁通对准。该转换通过iα 和 iβ 提供 id 和 iq 变量。值 id 和 iq 是变换到旋转坐标系的正交电流。对于稳态条件, id 和 iq 恒定。

• 电流参考值的说明如下:

– id 参考:控制转子磁通

– iq 参考:控制电机转矩输出

• 将误差信号馈入到 PI 控制器。控制器的输出提供 vd 和 vq,它们是将施加到电机上的电压向量。

• 新的变换角度通过编码器脉冲输入测得。这一新角度将指导 FOC 算法确定放置下一个电压向量的位置。

• 使用新的角度将来自 PI 控制器的 vd 和 vq 输出值旋转回静止参考坐标系。该计算可提供下一个正交电压值 vα 和 vβ。

• vα 和 vβ 值用于计算生成所需电压向量所用的全新 PWM 占空比值

• 在每个离散 PWM 周期后都会计算机械速度( ωm)

 

在数据转换结束后, FOC 软件在 ADC 中断服务程序中实现。其运行速率与 PWM 开关频率相同。

 

PMSM 的磁场定向控制框图如下图所示。

 

4. PID 控制器

4.1 PID 控制器背景

比例积分微分( Proportional Integral Derivative, PID)控制器的完整说明已超出本文档范围。不过,本节提供了 PID 操作的一些基础知识。

 

PID 控制器在闭合控制环中响应误差信号,并尝试调节控制量以实现所需的系统响应。受控参数可以是任何可测量的系统量,例如速度或磁通。 PID 控制器的优势在于,可以通过改变一个或多个增益值并观察系统响应的变化来凭经验进行调节。

以周期性采样间隔执行数字 PID 控制器。假设控制器频繁执行,因此可以控制系统。通过从要控制参数的实际测量值中减去该参数的预期设置来得到误差信号。误差符号表示控制输入所需的更改方向。

 

控制器的比例( P)项通过将误差信号乘以“P”增益得到,这会使 PID 控制器产生控制响应,此响应是误差幅值的函数。随着误差信号变大,控制器的“P”项会变大,进而实现进一步校正。

 

“P”项的作用是随着时间的推移减小总体误差。不过,误差接近零时,“P”项的作用将减小。在大多数系统中,受控参数的误差非常接近于零,但不会收敛。因此,最终会有一个较小的剩余稳态误差。

 

控制器的积分( I)项用于消除这个小稳态误差。“I”项计算连续运行的误差信号总和。因此,小稳态误差随时间累积成大误差值。此累积误差信号与“I”增益因子相乘,成为 PID 控制器的“I”输出项。PID 控制器的差分( D)项用于提高控制器的速度并响应误差信号的变化率。通过从先前值减去当前误差值计算得出“D”项输入。此增量误差值与“D”增益因子相乘,成为

 

PID 控制器的“D”输出项。当系统误差快速变化时,控制器的“D”项会产生更多的控制输出。并非所有控制器都会实现“D”或“I”项(不常用)。例如,此应用不使用“D”项,因为它会放大噪声,这反过来会导致 PWM 占空比发生过度变化,从而影响算法的工作并产生过电流跳闸。

 

4.2 调整 PID 增益

 

PID 控制器的“P”增益用于设置整体系统响应。要调整 PID 控制器,请将“I”和“D”增益设置为零。然后,增大“P”增益,直到系统响应设定值变化,且无过多过冲或振荡。如果使用的“P”增益值较小,则以缓慢方式控制系统;如果使用的值较大,则会实现积极控制。现在系统可能不会收敛到设定值。

 

选择完合理的“P”增益后,慢慢增大“I”增益以强制系统误差为零。在大多数系统中只需要较小的“I”增益。如果“I”增益足够大,则其作用可以克服“P”项的作用、减慢整体控制响应速度并使系统在设定值处上下振荡。如果发生振荡,减小“I”增益并增大“P”增益通常可以解决此问题。

 

此应用包括一个用于限制积分饱和的项,如果积分误差使输出参数饱和,则会出现该项。积分误差的任何进一步增大都不会影响输出。累积误差在减小时,必须下降(或回退)到低于导致输出饱和的值。“Kc”系数会限制这种不必要的累积。对于大多数情况,该系数可以设置为等于“Ki”。

 

4.3 FOC 中的控制环

 

三个 PI 环用于独立控制三个交互变量。转子速度、转子磁通和转子转矩分别由单独的 PI 控制器模块控制。这是一种传统实现,其中包含限制积分饱和的项( Kc.Excess),如下图所示。 Excess 通过无限制输出( U)减去有限制输出( Out)计算而得。项 Kc 与 Excess 相乘,限制累积的积分部分( Sum)。

 

5. 坐标变换

通过一系列坐标变换,用户可以通过经典的“PI”控制环间接确定和控制不随时间变化的转矩和磁通值。该过程从测量三相电机电流开始。实际上,三个电流值的瞬时总和为零。因此,只需测量三个电流中的两个,就可以确定第三个电流,这样便无需第三个电流传感器,从而降低硬件成本。

 

5.1 Clarke 变换

 

Clarke 变换将参考定子的三轴二维坐标系数值变换为双轴静止坐标系。图 5-1. Clarke 变换

5.2 Park 变换

 

Park 变换将双轴静止坐标系的量变换为相对于转子磁通的双轴旋转坐标系

5.3 Park

 

反变换Park 反变换将相对于转子磁通的双轴旋转坐标系的量变换为双轴静止坐标系

5.4 Clarke 反变换

 

Clarke 反变换将双轴静止坐标系的量变换为相对于定子的三轴二维坐标系。 alpha 和 beta 轴基于传统的Clarke 反变换实现互换,以便简化 SVPWM 实现,这将在下一节中介绍。

6. 空间矢量脉宽调制( SVPWM)

 

1986年,德国学者H.W.Vander Broeck等提出的基于电压空间矢量脉宽调制技术。矢量控制过程的最后一步是获取逆变器开关的脉宽调制信号来生成三相电机电压。如果使用空间矢量调制( SVPWM)技术,则生成 PWM 的过程简化为几个简单的公式。在此实现中, Clarke 反变换集成到 SVM程序中,这进一步简化了计算过程。三个逆变器输出中的每一个均可处于两种状态之一。逆变器输出可以连接到正( +)母线轨或负( -)母线轨,共支持 23 = 8 种输出状态。全部三个输出都连接到正( +)母线或负( -)母线的两种状态被视为空状态,因为相位间无任何线电压。这两个状态绘制在 SVM 星形的原点上。其余六个状态表示为相邻状态之间有 60 度相位差的矢量,如下图所示。

SVPWM 的过程允许通过两个相邻矢量的分量之和来表示合成矢量。例如,在下图中, UOUT 为预期合成矢量。它位于 U60 和 U0 之间的区域。如果在给定 PWM 周期“T”期间, U0 施加时间 T1 并且 U60 输出时间 T2,则周期 T 产生的电压将为 UOUT。

T0 表示没有为绕组施加有效电压的时间,即,施加零矢量的时间。可使用修改后的 Clark 反变换,在不进行额外计算的情况下得出 T1 和 T2 的值。如果 Vα 和 Vβ 反转,将生成 SVM 的参考轴,此参考轴与 SVM星形偏移 30 度,如下图所示。沿约束该区域的两个轴的电压矢量时序等于 T1 和 T2。在切换周期 T 的剩余时间 T0 内施加零矢量。下图给出了对称脉冲模式的结构,这种结构产生的输出谐波最小。

7. 位置测量

明确确切转子位置对于 FOC 正常工作至关重要。增量式光学编码器提供两个彼此正交的脉冲串,如下图所示。一些编码器具有索引脉冲,这有助于在空间上明确确切的转子位置。如果脉冲串 A 超前脉冲串 B,则电机将沿一个方向旋转,如果脉冲串 B 超前脉冲串 A,则电机将沿相反方向旋转。编码器脉冲数越多,位置测量精度就越高。

 

OK,本期实验完成!本节内容到此结束,也欢迎大家留言!!最后喜欢这个公众号的同学们记得加关注了,每天都会有技术干货推出!!

 

 

文中源码及资料下载,关注十三公众号:

在公众号里给十三发送 “下载|STM32 电机教程16” :

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

STM32 电机教程 16 - PMSM电机磁场定向控制原理 的相关文章

  • 处理器指令周期执行时间

    我的猜测是 no operation 内在 ARM 指令应花费 1 168 MHz 来执行 前提是每个NOP在一个时钟周期内执行 我想通过文档验证这一点 有关处理器指令周期执行时间的信息是否有标准位置 我试图确定 STM32f407IGh6
  • c项目makefile多重定义错误

    这个问题是一个对应于创建的repexthis问题 在我的嵌入式 C 项目中 我有两个独立的板 我想为每个板创建两个 c 文件 master c 和 Slave c 其中包含自己的特定main 功能 我使用 stm32cumbemx 生成带有
  • 138-基于stm32单片机汽车多功能仪表盘显示系统Proteus仿真+源程序

    资料编号 138 一 功能介绍 1 采用stm32单片机 LCD1602显示屏 独立按键 DHT11传感器 ds1302时钟 LED灯 蜂鸣器 电位器 制作一个基于stm32单片机汽车多功能仪表盘显示系统Proteus仿真 2 通过DHT1
  • 133-基于stm32单片机停车场车位管理系统Proteus仿真+源程序

    资料编号 133 一 功能介绍 1 采用stm32单片机 4位数码管 独立按键 制作一个基于stm32单片机停车场车位管理系统Proteus仿真 2 通过按键进行模拟车辆进出 并且通过程序计算出当前的剩余车位数量 3 将剩余的车位数量显示到
  • 匹配 STM32F0 和 zlib 中的 CRC32

    我正在研究运行 Linux 的计算机和 STM32F0 之间的通信链路 我想对我的数据包使用某种错误检测 并且由于 STM32F0 有 CRC32 硬件 并且我在 Linux 上有带有 CRC32 的 zlib 所以我认为在我的项目中使用
  • STM32用一个定时器执行多任务写法

    文章目录 main c include stm32f4xx h uint32 t Power check times 电量检测周期 uint32 t RFID Init Check times RFID检测周期 int main Timer
  • STM32超声波——HC_SR04

    文章目录 一 超声波图片 二 时序图 三 超声波流程 四 单位换算 五 取余计算 六 换算距离 七 超声波代码 一 超声波图片 测量距离 2cm 400cm 二 时序图 1 以下时序图要先提供一个至少10us的脉冲触发信号 告诉单片机我准备
  • STM32 GPIO工作原理详解

    STM32 GPIO介绍 1 STM32引脚说明 GPIO是通用输入 输出端口的简称 是STM32可控制的引脚 GPIO的引脚与外部硬件设备连接 可实现与外部通讯 控制外部硬件或者采集外部硬件数据的功能 以STM32F103ZET6芯片为例
  • 硬件基础-电容

    电容 本质 电容两端电压不能激变 所以可以起到稳定电压作用 充放电 电容量的大小 想使电容容量大 使用介电常数高的介质 增大极板间的面积 减小极板间的距离 品牌 国外 村田 muRata 松下 PANASONIC 三星 SAMSUNG 太诱
  • 解决KEIL编译慢问题

    两种方案 使用v6版本的ARM Compiler 如果v6版本编译不过 必须使用v5版本的 则可以勾选掉Browse Information选项 提升很明显 1分多钟能优化到几秒 看代码量 但是这个有个弊端 在KEIL中会影响函数跳转 建议
  • 在 Atollic TrueStudio、STM32CubeMX 中导入 C 库

    我目前正在开发 STM32F767ZI Nucleo 板和一个小安全芯片 microchip atecc508a 通过 i2c 连接进行连接 该芯片有一个可用的库加密验证库 https github com MicrochipTech cr
  • 跟着野火学FreeRTOS:第一段(任务定义,切换以及临界段)

    在裸机系统中 系统的主体就是 C P U CPU CP U 按照预先设定的程序逻辑在 m a i n
  • 串口通讯第一次发送数据多了一字节

    先初始化IO再初始化串口 导致第一次发送时 多出一个字节数据 优化方案 先初始化串口再初始化IO 即可正常通讯
  • STM32 暂停调试器时冻结外设

    当到达断点或用户暂停代码执行时 调试器可以停止 Cortex 中代码的执行 但是 当皮质停止在暂停状态下执行代码时 调试器是否会冻结其他外设 例如 DMA UART 和定时器 您只能保留时间 r 取决于外围设备 我在进入主函数时调用以下代码
  • 库函数点亮Led

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 前言 一 pandas是什么 二 使用步骤 1 引入库 2 读入数据 总结 前言 提示 这里可以添加本文要记录的大概内容 例如 随着人工智能的不断发展 机器学习这门
  • 特殊寄存器

    特殊寄存器 文章目录 前言 一 背景 二 2 1 2 2 总结 前言 前期疑问 STM32特殊寄存器到底是什么 特殊寄存器怎么查看和调试代码 本文目标 记录和理解特殊寄存器 一 背景 最近在看ucosIII文章是 里面提到特殊寄存器 这就进
  • systick定时器

    systick定时器 文章目录 前言 一 前期疑惑 二 解答 1 关于systick是阻塞的吗 2 非阻塞 三 软件编写 总结 前言 这边记录systick相关知识点 一 前期疑惑 在学习systick志气啊 其实对于systick还是一脸
  • STM32 Nucleo 上的上升沿中断多次触发

    我正在使用 STM32 NUCLEO F401RE 微控制器板 我有一个扬声器 经过编程 当向上 向下推操纵杆时 可以按设定的量改变频率 我的问题是 有时 通常 当向上 向下推动操纵杆时 频率会增加 减少多次 这意味着 ISR 正在执行多次
  • STM32 上的位置无关代码 - 指针

    我已成功在 STM32 上构建并运行位置无关的代码 向量表和 GOT 已修补 一切正常 但我对这样的代码有问题 double myAdd double x return x 0 1 double ptrmyAdd double myAdd
  • STM32内部时钟

    我对 STM32F7 设备 意法半导体的 Cortex M7 微控制器 上的时钟系统感到困惑 参考手册没有充分阐明这些时钟之间的差异 SYSCLK HCLK FCLK 参考手册中阅读章节 gt RCC 为 Cortex 系统定时器 SysT

随机推荐

  • JAVA-JDK1.8介绍

    Java JDK 1 8 Java Development Kit的第8个主要版本 Java JDK 1 8是Java编程语言的一个重要版本 引入了一些新的功能和改进 同时也修复了几项bug 在本博客中 我将详细介绍Java JDK 1 8
  • ESP8266常见问题汇总——转载自官网

    ESP8266 常见问题 本页面收集esp8266常见问题 概述 本文档主要介绍开发者在ESP8266开发中常见的一些问题 这些问题主要包括以下几大类 基本概念相关 ESP8266 相关 AiCloud 相关 固件编译调试相关 文档资料相关
  • leetcode 376 摆动序列

    动态规划 class Solution public int wiggleMaxLength int nums if nums length 1 return nums length 动态规划 dp i 0 表示当前数字的子序列长度 dp
  • rabbitmq Attempting to connect to: [localhost:5672] SocketExceptio:Socket Closed

    今天使用spring cloud stream for rabbitmq启动项目报错 2019 05 03 13 22 27 350 INFO file 18160 main o s a r c CachingConnectionFacto
  • FAPI专题-8:5G FAPI接口 - 中文规范-4- P7消息格式

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 https blog csdn net HiWangWenBing article details 120645757 目录 第3章 主要的
  • 若依管理系统RuoYi-Vue(二):权限系统设计详解

    本篇文章试图讲解若依Vue系统中的权限设计原理以及实战 为什么是 试图 因为这也是摸索着理解的 不一定准 若依Vue系统中的权限管理部分的功能都集中在了系统管理菜单模块中 如下图所示 其中权限部分主要涉及到了用户管理 角色管理 菜单管理 部
  • nginx中root与alias关键字的区别

    前言 近段时间秋招上岸了 于是每天疯狂补各种分布式基础 每天都在痛苦与快乐中度过 在学习 nginx 的时候 遇到配置上的问题 root 与 alias 的区别 卡了大概三个小时 记录下来警醒自己不要再犯了 正文 在使用 进行配置时 两者没
  • CentOS yum的详细使用方法

    yum 是什么yum Yellow dog Updater Modified主要功能是更方便的添加 删除 更新RPM包 它能自动解决包的倚赖性问题 它能便于管理大量系统的更新问题 yum特点可以同时配置多个资源库 Repository 简洁
  • DirectShow播放视频步骤

    DirectShow是MicrosoftWindows平台上的流媒体架构 可以用它来方便的进行视频捕获和回放 DirectShow是基于组件对象模型 COM 下面是DirectShow播放AVI视频的代码 include
  • java项目-谷粒商城(持续更新ing)

    使用docker安装nacos 我是直接在网上找的教程 17条消息 Docker下载安装Nacos并完成持久化配置 docker nacos 下载 虫链Java Library的博客 CSDN博客 在项目中导入依赖 在 common 项目中
  • [0x7FFE1E17E050] ANOMALY: meaningless REX prefix used

    今天要记录一下糟糕的事情 遇到一个很是 cao dan 的问题 再用git时 报错了 0x7FFE1E17E050 ANOMALY meaningless REX prefix used 在cmd窗口输入 也报这个错 idea中也报错 gi
  • 云原生——云平台操作

    作者介绍 奇妙的大歪 个人名言 但行前路 不负韶华 个人简介 云计算网络运维专业人员 前言 云 云是网络 互联网的一种比喻说法 平台 即操作系统 数据库和一些中间件都可称为软件平台 云计算 使用互联网接入存储或者运行在远程服务器端的应用 数
  • 3dsMax2016卡死的一种解决办法

    可能是升级win10版本的时候 win10自带的输入法也升级了 然后3dsMax2016就卡死了 设置一下输入法的兼容性
  • Vue基础知识总结 7:插槽slot与vue导入导出

    作者简介 哪吒 CSDN2021博客之星亚军 新星计划导师 博客专家 哪吒多年工作总结 Java学习路线总结 搬砖工逆袭Java架构师 关注公众号 哪吒编程 回复1024 获取Java学习路线思维导图 大厂面试真题 加入万粉计划交流群 一起
  • 基于matlab实现信号的线性卷积与循环卷积

    系列文章目录 数字信号处理 DSP Digital Signal Process 是电子通信领域非常重要的研究方向 博主汇总了数字信号处理 DSP 中常用的经典案例分析 主要基于算法分析 MATLAB程序实现 信号图像显示 对数字信号处理的
  • python flask框架下登录注册界面_基于Flask框架如何实现用户登录功能

    form hidden tag form username class form control input lg placeholder 用户名 form password class form control input lg plac
  • dubbo解析-@EnableDubbo注解详解

    本文基于dubbo 2 7 5版本代码 文章目录 一 EnableDubbo注解功能 二 详细介绍注解引入的三个类的作用 dubbo必须配置注解 EnableDubbo 一 EnableDubbo注解功能 EnableDubbo整合了三个注
  • MetaFormer/PoolFormer学习笔记及代码

    MetaFormer PoolFormer学习笔记及代码 MetaFormer Is Actually What Y ou Need for Vision code https github com sail sg poolformer A
  • RN仿微信朋友圈图片拖拽删除

    目录 前言 初始时 渲染时 开始拖拽 拖拽中 拖拽结束 拖拽删除 参考链接 前言 之前负责的一个需求 让在RN端做仿微信朋友圈的图片删除和排序 由于经验和时间限制 就跟PM协商改为点击删除 由此欠下一个技术栈 今天是来还债的 本文基于tra
  • STM32 电机教程 16 - PMSM电机磁场定向控制原理

    前言 磁场定向控制又称矢量控制 FOC 本质上为控制定子电流的幅度和相位 使之产生的磁场和转子的磁场正交 以产生最大的扭矩 1 PMSM 的磁场定向控制 磁场定向控制 Field Oriented Control FOC 表示这样一种方法