当前位置:网站首页>伺服电机矢量控制原理与仿真(1)控制系统的建立
伺服电机矢量控制原理与仿真(1)控制系统的建立
2022-08-04 20:41:00 【PemgqiWang】
自动控制原理综合实践
考研复习专业课自动控制原理也快接近尾声了,想着做点什么东西把学的东西综合起来练一下,顺便温习一下Matlab。恰巧前一段对伺服电机有所接触,索性就从这里下手。
这是第一部分,只是初步建立了数学模型。预计之后会陆续进行系统分析矫正和PID设计,最后再使用Simulink对更完备的系统进行仿真比对一下简化后设计的影响。
(大概会有下文吧)
直流伺服电机及其控制
伺服电机主要有两类:直流无刷电机和永磁同步电机。这两者之间的区别、联系、结构和原理在许多文章中都有涉及,故在此不再赘述。需要了解的可以在这文后相关链接里找到相关内容。许多关于直流伺服电机控制的文章在前半段讲电机原理的部分都还好理解,但几乎都是在六步换向法就开始上难度了。所以我们从这里开始,这也就意味着这并不是一篇零基础,如果真的是零基础至少需要读完下面这两篇。
无刷电机工作原理及六步换向法
FOC算法介绍
为什么是六步换向法
类比有刷直流电机
对于六步换向法的学习最好与直流有刷电机和三相异步电机结合起来去理解。直流无刷电机本质上是一个直流电机,他用电子换向器代替了有刷电机中的电刷,因此对电子换向器作用与电刷是一致的。
在我们教学法过程中接触到的直流有刷电机大部分都是这样的。它只有单匝绕组,工作过程中旋转一周只需要两次换向。那六步换向法中为什么是六步?

实际上上图的电机模型只是对实际电机的简化,现实中更为广泛使用的是下面这种多匝的电机。他的换向电刷相应也更复杂,换向次数也相应增多。具体到下图所示的这种三匝绕组有刷电及机,每旋转一周电刷刚好六次换向。
但实际上这仍旧和无刷电机控制过程中的六步换向法有差别。这种差别需要结合另一种电机——三相异步电机来解释。
类比三相异步电机
下图是无刷电机最常见的形态,尽管在各种介绍中都表示无刷是指替代了直流有刷电机的电刷,但实际是这只是功能意义上的替换。形式上有刷电机的绕组在定子上,而直流无刷电机的绕组则在定子上,通过电调实现各相绕组的交相通电。这和三相交流异步电机的模型十分相似。
那为什么在三相异步电机的学习过程中我们没有提到过六步换向法呢?难道在异步电机中不存在六步么?
实际上这六步是客观存在的,他没有被重点提及是因为三相异步电机的供电是标准的三相电,三相绕组间隔120°,三相电压相位差也是120°。这样的配置使得电压在三相绕组中的流动恰可以定子产生一个周期性的、近似等幅的旋转磁场。该磁场使得定子可以异步转动。 异步是这种电机鲜明的特点。同时这120°相位差的三相电源直接来自电网,我们可以改变电压幅值、改变频率但很少有提到改变相位(至于原因我暂时并不清楚),所以换向尽管客观存在但他是一个连续变化的过程,我们对此无能为力。
这些差异意味着什么
这时我们用无刷电调替代标准的120°相位差的三相电压,再加上一些转子位置传感元件,电机便由三相异步变成了直流无刷。所以我们说直流无刷电机本质上是由电子逆变器驱动的有位置传感器反馈控制的交流同步电动机。那这一变化又能带来什么?我在知乎上找到了一个挺好的回答。
让我总结的话:就是把原本三相异步电机驱动的三相模拟信号换成了晶体管产生的可控的脉冲信号,这种可控的信号配合转子位置检测元件可以实现更精细化的换相。能过做到“因地制宜”,因为有更高的磁能利用率和实现更复杂的控制任务。同时他又保留了有刷直流电机的许多性能,在调速上较异步电机更为便捷。

除此以外它还具有如下特点:
那么问题又来了,我在一篇文章下看见有人提问,说“既然六步换向法能够实现让转子动起来的功能,那是不是单纯调节换向速度就能调节电机转速了?”
显然是不能的。先说效果,这里加快换向的速度就相当于加快了频率,完全可以类比成三相异步电机的调频调速,他固然能调节速度但也受许多规则限制。然后还要回答一个有没有必要的问题,六步换向的功能是通过电调来实现的,现代电调里面好多都内置了单片机等控制元件,可以实现“根据转子位置灵活换向的功能”,单纯的增加换向速度,把伺服完成异步…
从六步换向到FOC
FOC的大体流程
六步换向已经提高了磁能的利用率,但这还不够,于是FOC出现了。关于FOC只要找的话能找到很多全面的资料,在这里我只谈一下对他的理解,
FOC算法是在六步换向法基础上的一次改进,旨在“在更多的换相点上提供更精确的换相以提高磁能利用率” ,通过对六步换向法中六个电压矢量加上两个零矢量的有序叠加(SVPWM)来实现这一理念。
FOC的目的
FOC的目的是什么? 直流伺服电机的工作原理是定子产生旋转磁场,旋转磁场带动永磁铁转子转动。我们希望定子产生的磁场方向始终与转子的两磁极向垂直(使产生的电磁转矩始终最大),而根据电磁场理论,所产生磁场的大小与定子电流大小直接相关。因此电机控制最关键的是控制定子电流,电流查收讷航的磁场直接与电磁转矩相对应,而电磁转矩积分便是电机转动的角速度,再对角速度积分就是电机的转角。
根据朴素的控制理论,此时我们需要将气隙磁场矢量作为系统的输入,但很明显现有条件做不到;或者我们可以将三相对称绕组的期望电流值作为给定输入,但三相对称绕组的期望波形往往是梯形或者正弦形,同时控制三个非线性量对系统设计具有非常大的挑战,所以依然行不通。这时两个变换就派上用场了,他的本质是通过线性变换使得三相对称绕组上的非线性信号转换成旋转直角坐标系上的线性量。线性!一个多么亲切的名词,意味着《自动控制原理》中绝大部分的内容都是适应的,意味着PID可以被应用于系统控制。
电流环的执行器:SVPWM
现在我们已经实现了FOC算法最核心环节电流环的给定了,接下来另一个问题接踵而至:该如何设计执行器? 最直接的想法是将控制器(一般为PI控制器)的输出量在经过两个反变换就生成了期望的三相对称绕组的相电流值。因为一些我也不知道的原因,实际才用的并不是这种方式而是一种被称为SVPWM的方法。该过程研究如何基于这种三相桥式逆变电路,使用最少的开关次数完成电压矢量的合成。
SVPWM原理:电压空间矢量PWM(SVPWM)的出发点与SPWM不同,SPWM调制是从三相交流电源出发,其着眼点是如何生成一个可以调压调频的三相对称正弦电源.而SVPWM是将逆变器和电动机看成一个整体,用八个基本电压矢量合成期望的电压矢量,建立逆变器功率器件的开关状态,并依据电机磁链和电压的关系,从而实现对电动机恒磁通变压变频调速.
这些问题在这篇文章中有较为详细的讲解,
在实际过程中往往还有初始位置检测、电流检测及位置解算等许多复杂问题,再此不做详述。
从物理走向数学
直流伺服电机的数学模型(正弦式)
在 解小刚,陈进.采用i_d=0的永磁同步电机矢量控制系统MAT-LAB/Simulink仿真[J]这篇文章中,首先对三项静止坐标系下的三相电压方程和磁链方程做了说明,但实际上这篇文章有错误,在电压方程中应当对磁链求导,而不是直接叠加。最后得到dq坐标系下的电压方程,磁链方程、转矩方程和运动方程。

文中虽然对磁链方程也做了描述,但并没有很通俗易懂,相对而言这篇文章中讲的比较直接。即磁链是磁通量乘以线圈匝数,他的存在主要是描述反电动势给电压方程带来的影响(个人理解)
同时这篇文章也没有给一个详细的推导过程,在这篇文章里有矩阵形式的电机方程推导过程。在《电机现代控制技术》(王成元2006)这本书的第二章有代数方程形式的推导过程。需要说明的是,本篇提到的控制对象都是永磁同步电机,关于无刷直流电机的数学模型推导可移步《无刷直流电机控制系统》(夏长亮),在这本书中有包括微分方程、传递函数、状态空间等多种模型的推导。
基于上文提到的dq坐标系下的数学模型,做适当简化可得到电机的数学模型

从数学模型到控制模型
做矢量控制总离不开这张图,整个控制过程为:速度指令 ωref 与检测到的转子速度信号 ωe 相比较,然后经过速度控制环的调节输出 iqref 指令信号,与反馈来的 iq 作差作为电流控制环的输入。而同时给定的 idref 为 0,经坐标变换将 id、iq 转换为定子三相电流,再由 PWM 模块输出六路 PWM 波驱
动逆变电路,产生可变频率和幅值的三相正弦电压来驱动电机运行。
在第一部分算法理解时我们已经确定了系统核心部分电流环的给定即dp坐标系下的id和iq,和执行机构(operator)选择,即SVPWM。在实际的控制过程中我们还需要对执行器SVPWM进行数学建模。在文章中,作者将PWM环节抽象成了一个惯性环节。另外有了被控对象和执行器,我们还需要一个控制器,因为电流环已经被简化成了线性系统所以我们可以使用传统的PI控制器。
这样,经过了抽象和华化简我们得到了如图所示的传递函数。需要注意的是,他并不是上图所示整个FOC系统的传递函数,他只是电流环的传递函数。而且该模型是经过相当程度的化简得来的,可能和实际系统存在较大偏差,但在理论分析部分我们还是结合这一传递函数来进行。但是在最后的仿真环节我们会通过Simulink尽可能换原更真实的系统。
对系统模型更进一步探讨
两个变换使得电流环的控制变量得到了线性化,但上述传递函数也只是电流环,甚至不算是电流环。因为他最后反馈的引出点引出的是dq坐标系的iq,但实际中我们并不能测量这一变量。这一值额获取正是常提的两个变换所完成的。即**在反馈通路上并不是单位反馈,而应该有变换模块。**那实际的电流环是什么系统呢?
- 线性时变系统:因为两次变换涉及到随时间变化的角度量;
- 非线性系统:变换引入了非线性环节;
- 多输入系统:将角度量θ理解为一个输入量;
我并没有找到相关的理论,但我认为选型时变系统更靠谱一点,因为在《电机现代控制技术》中提到的这个变换式中θ我认为可以理解为在线性变换中的时变量。
资源汇总
一些比较好的文章:
https://blog.csdn.net/Staokgo/article/details/122128590(大百科)
https://zhuanlan.zhihu.com/p/376585004(数学模型建立)
https://zhuanlan.zhihu.com/p/73786237(数学方法下的矢量控制)
https://zhuanlan.zhihu.com/p/434971540
https://blog.csdn.net/qq_42415953/article/details/111150487(对矩形波和正弦波两种驱动方式的反电动势波形作了整理)
https://www.zhihu.com/column/c_1147105722243366912(电机学习专栏,模型很好但很难)
另外将这两天查的资料都整理打包了,有兴趣的点链接自提链接:https://pan.baidu.com/s/1jdWb2zInTGccSCsQHKF0ew?pwd=jlxg 提取码:jlxg
边栏推荐
猜你喜欢
随机推荐
Web3安全风险令人生畏,应该如何应对?
如何用好建造者模式
KubeSphere简介,功能介绍,优势,架构说明及应用场景
如何找到某个 ABAP structure 某字段的源头来自哪个数据库表
【学术相关】清华教授发文劝退读博:我见过太多博士生精神崩溃、心态失衡、身体垮掉、一事无成!...
node 的运行命令
web 应用开发最佳实践之一:避免大型、复杂的布局和布局抖动
【TypeScript】深入学习TypeScript枚举
关于 SAP 电商云 Spartacus UI SSR 的 state transfer 问题
嵌入式分享合集28
Cryptography Series: PEM and PKCS7, PKCS8, PKCS12
两种白名单限流方案(redis lua限流,guava方案)
MySQL stored procedure introduction, creation, case, delete, view "recommended collection"
jMeter Thread group 对应的 constant timer
How to make good use of builder mode
如何进行AI业务诊断,快速识别降本提效增长点?
使用 Chrome 开发者工具的 lighthouse 功能分析 web 应用的性能问题
简述@RequestParam与@RequestBody参数注解
win10 uwp 使用 ScaleTransform 放大某个元素
【CAS:2306109-91-9 |胺-PEG4-脱硫生物素】价格










