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电机磁场定向控制原理 的相关文章

  • vue.config.js 配置的文件

    vue config js是一个可选的配置文件 用于配置Vue CLI构建的项目 如webpack的配置等 使用vue config js 可以在项目的根目录下创建一个JavaScript文件 并在该文件中进行配置 下面是一些在vue co

随机推荐

  • 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 表示这样一种方法