首页/文章/ 详情

永磁同步电机全速域无速度传感器矢量控制PMSM_sensorless-预定位+IF+SMO

2月前浏览63

前言:本期文章介绍永磁同步电机全速域内的无感控制策略,预定位+IF+SMO三段式进行初始位置定位、IF强拖到一定速度后切换到SMO观测器。理论介绍后进行仿真实现,验证此策略的有效性。    


一、永磁电机无感控制研究背景      

无感控制的研究主要是为了解决因外部条件限制和成本的要求而进行的,主要的方法分为高频信号注入法和模型法。永磁同步电机区别于异步电机,在不同的速度范围因为电机特性的问题,需要采用不同的估计方法。    

图1.1 永磁同步电机无感控制技术分类  

除上述介绍的方法外,也存在全速域范围内的单一观测器无感控制策略,比如非线性磁链观测器法、基于dq轴下的电流估算法等。    

二、预定位    

永磁同步电机的高性能控制需要精确的转子位置信息,在已知转子位置起动时能够得到最大的启动转矩。而从未知的转子位置起动可能造成电机的起动电流偏大、反转或者起动失败,这在许多应用场合是不可接受的。  

例如,当定子磁场与永磁体的磁场的夹角为180°或者0°时,转子的转矩为0,电机无法 正常起动,这个位置被称为电机的起动死点。反之,当定子电枢磁场与永磁体磁场垂直时,电机此时的起动转矩最大,但是由于定子磁场与永磁体磁场的夹角仍有90°和270°之分,即为两个相互相反的位置。如果为90°,电机将以最大转矩起动;如果为270°,电机将以最大转矩向另外一个方向起动,因此还需要确定转子的N极和S极才能保证永磁同步电机顺利起动。  

现有的永磁同步电机转子初始位置检测方法可以分为两类:基于电机自身的磁路结构凸极效应和基于定子铁心的非线性饱和特性。内置式永磁同步电机由于自身转子磁路结构不对称,其在直轴电感、交轴电感不同时呈现结构凸极性。一般情况下,表贴式永磁同步电机的交、直轴电感相等,在定子绕组注入电流,电流产生的磁场方向和永磁体磁场方向一致时,会导致直轴磁路出现饱和,直轴电感小于交轴电感,呈现出饱和凸极性。  

本节主要介绍预定位法,该方法让电机转子轴旋转到指定位置。在实际应用中,常见的主要用在风扇类和水泵类的场合。  

预定位实现的思路:转矩电流iq给固定值,id=0,给不同的theta角,电机轴就会旋转到角度对应的位置。

三、IF控制    

图3.1 IF控制框图  

IF控制方法对电流进行控制,用在中高速无感控制的起动阶段。IF控制可以实现电机的平稳起动且起动过程中没有电流过冲。但是基本的IF控制方法是一种开环方案,电流幅值和频率不能自动调节,且存在易失步,转速易受干扰等缺点,不太适合于电机稳态运行,只能用于辅助起动。  

四、仿真实现及验证    

本系统仿真是标幺化仿真系统,分三步实现全速域的无感控制:1、进行预定位,确定永磁同步电机的转子初始位置;2、IF强拖到指定速度,因为永磁同步电机的反电势与转速成正比,低速区域观测器很难估算到准确的反电势,造成系统不稳甚至发散;3、IF切换到滑模观测器SMO。

滑模观测器SMO和锁相环PLL内容,在前几期文中已经介绍,在此不再阐述。  

图4.1 预定位过程  

图4.2 IF控制过程

图4.3 IF强拖时角度变化情况  

图4.4 同步角的变化情况  

从图(4.3)和(4.4)可知,首先预定位到1.5pi位置,然后经过IF强拖,之后切换到滑模观测器。  

图4.5 速度跟踪变化情况  

图4.6 定子电流波形变化情况  

图(4.5)是速度估计变化的情况,首先IF强拖到800rpm,之后切换到SMO观测器变化到2000rpm。在切换过程中,估计转速波动较大。这是因为切换函数的选择造成的,要想改善,需要对这部分进行改进。  

五、问题讨论    

5.1 在实际应用中,初始位置检测一般采用什么方式?    

5.2 IF切滑模观测器SMO的切换策略如何选择,来减小q轴电流突变给控制带来的影响?

推荐一个低空动力与新能源技术交流会,详细介绍在原文阅读里,感兴趣的bro可以看看!    



来源:浅谈电机控制
非线性系统仿真新能源理论电机控制
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2025-07-05
最近编辑:2月前
清风烈酒
硕士 签名征集中
获赞 44粉丝 4文章 50课程 0
点赞
收藏
作者推荐

玩转电机控制MATLAB几种类型的仿真验证框架

前言:电机控制的开发验证有多种途径和方式,常见的分为模型仿真验证和硬件测试两大类。接下来以MATLAB+CCS的IDE开发环境来进行仿真模型框架的搭建和对比。 一、内容安排 本期文章主要介绍并对比几种不同类型的仿真框架搭建,模块化搭建、M语言实现、C集成和CCS工程代码搭建(硬件测试)。从几个方面来比较不同类型的仿真验证框架优势和缺点。 表1 不同类型的仿真模型对比 在接下来的电机控制学习过程中,除控制理论外还需要加强自己的验证工具和编程能力的提高。 二、不同类型的仿真框架的搭建 学习本章内容的前提需要安装MATLAB(内置C编译器)和CCS软件,并具备一定的C语言的编程能力。以前期文章介绍的SVPWM为仿真验证内容进行对比。 2.1 模块化仿真框架 MATLAB模块化仿真,就是从封装器件库里直接拖取现成的作用模块,根据控制理论(一般是微分方程)进行搭建形成验证系统。但如果系统复杂,模块化仿真未必能够进行准确地模拟。 模块化仿真通用性差且不利于后续持续性开发。个人觉得搭建控制验证仿真框架,此类型的应当只是备选方案。图2.1 模块化搭建的SVPWM系统 图2.2 马鞍波 2.2 M语言实现的仿真框架 图2.3 M语言实现的SVPWM系统 图2.4 马鞍波 M语言实现的控制系统,像基本的硬件模拟(电机、逆变器)可以采用封装模块,控制部分可以采用M语言进行实现,过程简单方便且通用性强、利于后续的持续性开发。 2.3 C集成类型的仿真框架 C集成类型的仿真搭建具有一定的难度,本节简单介绍一下该类型的仿真框架的搭建过程。首先MATLAB得安装C编译器,模型代码存放得路径得全英文。 2.3.1 什么是S-Function S-Function为你提供了一种在Simulink模型中增加自制块的手段,你可以使用MATLAB和C语言来创建自己的块。按照下面一套简单的规则,你可以在S-Function中实现自己的算法。在你编写一个S-Function函数,并将函数名放置在一个S-Function块中(在用户定义的函数块库中有效)之后,通过使用masking定制用户界面。 2.3.2 在模型中使用S-Function 为了将一个S-Function组合到一个Simulink模型中,首先从Simulink用户定义的函数库中拖出一个S-Function块,然后在S-Function块对话框中的S-Function name区域指定S-Function的名字。如下图所示:图2.5 S-Function块、对话框、及决定块功能的源文件之间的关系 在本例中,模型包含了两个S-Function块,这两个块使用同一个源文件(mysfun,可以是一个C MEX文件,或者是一个M文件)。如果一个C MEX文件与一个M文件具有相同的名字,则C MEX文件被优先使用,即在S-function块中使用的是C MEX文件。 2.3.3 S-Function的工作原理 要创建S-Function,你必须了解S-Function是如何工作的。要了解S-Function如何工作,则需要了解Simulink是如何进行模型仿真的,那么由需要了解块的数学公式。因此本节首先从一个块的输入、状态和输出之间的数学关系开始介绍。 仿真过程: Simulink模块的执行分几个阶段进行。首先进行的是初始化阶段,在此阶段,Simulink将库块合并到模型中来,确定传送宽度、数据类型和采样时间,计算块参数、确定块的执行顺序,以及分配内存。然后,Simulink进入到“仿真循坏”,每次循环可认为是一个“仿真步”。在每个仿真步期间,Simulink按照初始化阶段确定的块执行顺序依次执行模型中的每个块。对于每个块而言,Simulink调用函数来计算块在当前采样时间下的状态、导数和输出。如此反复,一直持续到仿真结束。图2.6 Simulink执行仿真的步骤 2.3.4 S-Function的回调程序 2.3.5 S-function实现过程的解析 simstruc.h 文件定义了一个名为SimStruct 的数据结构,Simulink 使用它来维护S-function的有关信息。simstruc.h 文件也定义了一些宏,可让你的MEX 文件在SimStruct 中设置某些值,或从SimStruct 中获取某些值。 2.3.6 CMEX仿真的搭建 只需要搞明白输入/输出即可,sfunction内部的模板可以参考范例。 图2.8 C MEX仿真波形变化 2.4 CCS工程代码实现的验证框架 使用CCS软件编程涉及到的就是硬件验证,后续会重点介绍CCS工程模板的搭建实现过程和配套硬件的验证内容。 三、总结 基于MATLAB+CCS的IDE开发环境,方便后续持续性开发,首选M语言实现或C MEX类型的仿真验证框架。 讨论:采用状态机类型的仿真类型在电机控制领域是否常见? 来源:浅谈电机控制

未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈