用C语言和MATLAB构造PWM控制仿真模型的一种方法

合集下载

一种基于Matlab的无刷直流电机控制系统建模仿真方法

一种基于Matlab的无刷直流电机控制系统建模仿真方法

一种基于Matlab的无刷直流电机控制系统建模仿真方法一、本文概述无刷直流电机(Brushless DC Motor, BLDC)以其高效率、低噪音、长寿命等优点,在航空航天、电动汽车、家用电器等领域得到广泛应用。

为了对无刷直流电机控制系统进行性能分析和优化,需要建立精确的数学模型并进行仿真研究。

Matlab作为一种强大的数学计算和仿真软件,为无刷直流电机控制系统的建模仿真提供了有力支持。

二、无刷直流电机控制系统原理1、无刷直流电机基本结构和工作原理无刷直流电机(Brushless Direct Current Motor,简称BLDCM)是一种基于电子换向技术的直流电机,其特点在于去除了传统直流电机中的机械换向器和电刷,从而提高了电机的运行效率和可靠性。

无刷直流电机主要由电机本体、电子换向器和功率驱动器三部分组成。

电机本体通常采用三相星形或三角形接法,其定子上分布有多个电磁铁(也称为线圈),而转子上则安装有永磁体。

当电机通电时,定子上的电磁铁会产生磁场,与转子上的永磁体产生相互作用力,从而驱动转子旋转。

电子换向器是无刷直流电机的核心部分,通常由霍尔传感器和控制器组成。

霍尔传感器安装在电机本体的定子附近,用于检测转子位置,并将位置信息传递给控制器。

控制器则根据霍尔传感器提供的位置信息,控制功率驱动器对定子上的电磁铁进行通电,从而实现电机的电子换向。

功率驱动器负责将控制器的控制信号转换为实际的电流,驱动定子上的电磁铁工作。

功率驱动器通常采用三相全桥驱动电路,具有输出电流大、驱动能力强等特点。

无刷直流电机的工作原理可以简单概括为:控制器根据霍尔传感器检测到的转子位置信息,控制功率驱动器对定子上的电磁铁进行通电,产生磁场并驱动转子旋转;随着转子的旋转,霍尔传感器不断检测新的转子位置信息,控制器根据这些信息实时调整电磁铁的通电状态,从而保持电机的连续稳定运行。

由于无刷直流电机采用电子换向技术,避免了传统直流电机中机械换向器和电刷的磨损和故障,因此具有更高的运行效率和更长的使用寿命。

]单片机C语言编程模板(PWM脉宽调制)

]单片机C语言编程模板(PWM脉宽调制)

[转]单片机C语言编程模板(PWM脉宽调制)修改浏览权限| 删除∙- MCS-51系列单片机C语言编程PWM脉宽调制器程序模板∙- 适用于STC系列内嵌PWM的单片机产品(以STC12C2052为例)- 以PWM控制LED亮度实验电路为例/********************************************************************************************* 函数名:PWM初始化函数调用:PWM_init();参数:无返回值:无结果:将PCA初始化为PWM模式,初始占空比为0备注:需要更多路PWM输出直接插入CCAPnH和CCAPnL即可/**********************************************************************************************/ void PWM_init (void){CMOD=0x02; //设置PCA定时器CL=0x00;CH=0x00;CCAPM0=0x42; //PWM0设置PCA工作方式为PWM方式(0100 0010)CCAP0L=0x00; //设置PWM0初始值与CCAP0H相同CCAP0H=0x00; // PWM0初始时为0//CCAPM1=0x42; //PWM1设置PCA工作方式为PWM方式(使用时删除//)//CCAP1L=0x00; //设置PWM1初始值与CCAP0H相同//CCAP1H=0x00; // PWM1初始时为0//CCAPM2=0x42; //PWM2设置PCA工作方式为PWM方式//CCAP2L=0x00; //设置PWM2初始值与CCAP0H相同//CCAP2H=0x00; // PWM2初始时为0//CCAPM3=0x42; //PWM3设置PCA工作方式为PWM方式//CCAP3L=0x00; //设置PWM3初始值与CCAP0H相同//CCAP3H=0x00; // PWM3初始时为0CR=1; //启动PCA定时器}/**********************************************************************************************//********************************************************************************************* 函数名:PWM0占空比设置函数调用:PWM0_set();参数:0x00~0xFF(亦可用0~255)返回值:无结果:设置PWM模式占空比,为0时全部高电平,为1时全部低电平备注:如果需要PWM1的设置函数,只要把CCAP0L和CCAP0H中的0改为1即可/**********************************************************************************************/ void PWM0_set (unsigned char a){CCAP0L= a; //设置值直接写入CCAP0LCCAP0H= a; //设置值直接写入CCAP0H}/**********************************************************************************************/ - 程序模块/********************************************************************************************* 程序名:PWM模块调试程序(仅实验用)编写人:杜洋编写时间:2009年7月22日硬件支持:STC12C2052 12MHz接口说明:LED灌电流接P3.7接口(PWM0)修改日志:NO.1-/********************************************************************************************* 说明:/*********************************************************************************************/ #include<STC12C2052AD.H> //头文件/********************************************************************************************* 函数名:PWM初始化函数调用:PWM_init();参数:无返回值:无结果:将PCA初始化为PWM模式,初始占空比为0备注:需要更多路PWM输出直接插入CCAPnH和CCAPnL即可/**********************************************************************************************/ void PWM_init (void){CMOD=0x02; //设置PCA定时器CL=0x00;CH=0x00;CCAPM0=0x42; //PWM0设置PCA工作方式为PWM方式(0100 0010)CCAP0L=0x00; //设置PWM0初始值与CCAP0H相同CCAP0H=0x00; // PWM0初始时为0//CCAPM1=0x42; //PWM1设置PCA工作方式为PWM方式(使用时删除//)//CCAP1L=0x00; //设置PWM1初始值与CCAP0H相同//CCAP1H=0x00; // PWM1初始时为0//CCAPM2=0x42; //PWM2设置PCA工作方式为PWM方式//CCAP2L=0x00; //设置PWM2初始值与CCAP0H相同//CCAP2H=0x00; // PWM2初始时为0//CCAPM3=0x42; //PWM3设置PCA工作方式为PWM方式//CCAP3L=0x00; //设置PWM3初始值与CCAP0H相同//CCAP3H=0x00; // PWM3初始时为0CR=1; //启动PCA定时器}/**********************************************************************************************//********************************************************************************************* 函数名:PWM0占空比设置函数调用:PWM0_set();参数:0x00~0xFF(亦可用0~255)返回值:无结果:设置PWM模式占空比,为0时全部高电平,为1时全部低电平备注:如果需要PWM1的设置函数,只要把CCAP0L和CCAP0H中的0改为1即可/**********************************************************************************************/ void PWM0_set (unsigned char a){CCAP0L= a; //设置值直接写入CCAP0LCCAP0H= a; //设置值直接写入CCAP0H}/**********************************************************************************************//********************************************************************************************* 函数名:主函数调用:无参数:无返回值:无结果:程序开始处,无限循环备注:/**********************************************************************************************/ void main (void){PWM_init(); //PWM初始化PWM0_set(0x10); //设置PWM占空比while(1){//无限循环程序}}/**********************************************************************************************/ /************************************************************** 杜洋工作室/*************************************************************/- 应用实例- 使用说明。

PWM调速的C语言程序编写(非常简单)

PWM调速的C语言程序编写(非常简单)

PWM调速的C语言程序编写关于PWM的原理在上一篇文章中已经说的很详细了,现在就细说一下pwm C语言程序的编写。

C语言中PWM的编写有这么几种方法;一、用普通的I/O 口输出的PWM ,二、使用定时计数器编写,三、就是使用片内PWM了。

1 先说使用普通的I\O口编写PWM程序了。

使用I/O口输出PWM波形你必须首先明白PWM他的实质是:调制占空比,占空比就是波形中高电平的长度与整个波长的比值。

我们写C语言的目的是写PWM波形的一个周期。

在这个周期内高低电平的比值是可以改变的。

这也就符合了PWM的原意脉宽调制。

即高电平的宽度的调制。

当然了PWM他也可用于改变频率,我们这里只先说他改变脉宽。

一旦我们的C语言程序写完那么他产生的PWM波形的频率就一定了。

(也可写频率变化的PWM,难度有点大)一般我们控制使用1K到10K的PWM波进行控制。

当然了你也可在要求不是很高的地方使用频率更低的PWM波。

比如在飞思卡尔智能车比赛中我们学校使用的PWM波频率只有600HZ.我们要改变一个PWM波周期内的高电平的宽度显然需要将一个PWM波的周期分成单片机可以控制的N个小的周期,N的取值越大你的调速等级越高,但产生的PWM频率就越低。

我们下面以实现100级调速为例编写PWM程序。

先写出程序再慢慢给大家分析void pwm (uchar x,uint y) //X 为占空比 Y为函数使用时间{ uint i,j,a,b;for(i=y;i>0;i--)//定时外函数{for(j=7;j>0;j--)//定时内函数{for(a=y;a>0;a--) / /PWM波高电平宽度{PORTA=0X01;}for(b=100-y;b>0;b--) //PWM低电平宽度{PORTA=0X00;}}}}这个程序够简单吧轻松的实现AVR单片机的PA.0口输出7KHZ左右的PWM脉冲你可以将PORTA=0X01;改为P1.0=0X01;就可以移植到51单片机上了为什么使用参数Y定时是因为用普通I/O口控制它的开关没有使用定时器编写的灵活。

应用Matlab仿真单相PWM整流器的一种简单方法

应用Matlab仿真单相PWM整流器的一种简单方法

1引言在高功率因数PWM 整流器的设计中,通常需要对控制策略进行仿真。

常用的电力电子仿真工具中,Pspice,Saber 仿真时间长,产生大量的中间数据,占用资源多,会引起不收敛问题,适合于电路级仿真[1]。

而Matlab 以描述功率变换的状态方程为基础,有了状态方程,电路很容易用Matlab 中的Simulink 里的函数模块来表述,而且各种控制算法容易实现,而不必应用实际的元器件模型,减小了仿真运算的难度。

由于PWM 型功率变换器是一类强非线性(电子开关器件在一个周期中既工作在饱和区又工作在截止区)或断续(即按时间分段线性,在几个时间段内电路都是线性的,但拓扑结构不同)或时变(电子开关器件导通时的电阻很小,截止时的电阻很大)的电路[3]。

因此,变换器电路动态特性的解析分析方法较复杂,阻碍了这类变换器系统的动态分析与设计的顺利进行。

而把状态空间平均法应用于功率变换器的建模,是一种简单有效的研究方法。

当变流器运行于连续导电模式,并忽略其开关过程,即认为开关动作是瞬时完成的,这样,一个工作于连续导电模式下的PWM 变流器可以用两个线性非时变电路来表示。

它们与一个周期中的两种开关状态相对应,设其状态空间方程分别为1)在时间间隔DT (0≤t ≤t 0):=A 1X2)在时间间隔(1-D )T (t 0≤t ≤T ):=A 2X式中T 为PWM 开关周期,D 是其占空比,X 为状态向量,A 1,A 2为系统矩阵,将上述两个开关模型综合为一个平均模型为=[DA 1+(1-D )A 2]X2单相PWM 整流器的数学模型单相PWM 整流器主电路如图1所示。

忽略电感中的等效电阻,在仿真中用理想开关S 来代替实际器件,并把与开关器件并联的快恢复二极管的作用融入到理想开关中,当其中之一导通时,即认为该理想开关导通。

用以下方式来定义开关函数:S m =1(S m ′=0)上桥臂理想开关导通,下桥臂理想开关关断S m =0(S m ′=1)上桥臂理想开关关断,下桥臂理想开关导通。

基于Matlab的单相电压型PWM整流电路仿真与设计

基于Matlab的单相电压型PWM整流电路仿真与设计

毕业设计(论文)基于Matlab的单相电压型PWM整流电路仿真与设计摘要现代工业中,很多场合需要进行电能变换,例如把直流电能变为交流电能,交流电能变为直流电能。

直流电能变为交流电能由逆变器实现,交流电能变为直流电能由整流器实现。

随着整流器的广泛应用,关于传统整流器的一些问题也日益突出,输入功率因数较低,输入电流含有大量谐波。

针对传统的不控整流和相控整流中存在的谐波污染问题,采用直接电流控制中的双环控制策略,设计了单相全桥电压型PWM整流器的控制系统。

建立了系统的SIMULINK模型并进行了仿真。

仿真结果表明:该控制系统结构设计合理,参数选取适当,能实现有效控制。

详细分析单相电压型PWM整流电路的工作原理和工作模式。

说明通过对PWM电路进行控制,选择合适的工作模式和工作时序,可使PWM整流电路的输出直流电压得到有效的稳定。

近年来PWM整流器迅速成为了研究热点,因为它不仅获得了可控的AC/DC变换性能,而且具有输入单位功率因数和低谐波电流,能量双向传输等优点。

关键词:单相电压型;PWM整流;功率因数;Matlab仿真The single-phase voltage source PWM rectifier circuit based onMatlab simulation and designAbstractIn modern industry, we need for power conversion on many occasions, for example, the exchange of AC power into DC power and DC power into AC power.AC power can be transferred into DC power by using the rectifier and DC power can be transferred into AC power by using the inverter. Since the rectifiers are extensively used, several problems with regard to traditional rectifiers have arisen in recent years, such as a low input power factor,and the harmonics in the input currents.In order to eliminate the harmonic pollution caused by the traditional phase controlled or uncontrolled rectifiers, a single-phase full-bridge voltage-type rectifier has been designed in which the 2-ring control PWM technique of directly current-controlled strategies is adopted.And the SIMULENK model has been built to simulate this system. The result thus indicates that the control system is of logical configuration and proper parameter.The theory and working modes about single-phase voltage source PWM rectifier are elaborately analysed in this paper,which illust rate that the voltage in DC side can be effectively stabilized with PWM control by selecting burst mode and time.Therefore, pulse-width modulated rectifiers have rapidly attracted the research interest over the past few years due to some of their significant advantages, such as controllable of AC-DC voltage, unity power factor, low harmonic distortion of input currents, power regeneration capability, etc.Keywords:single-phase voltage type;PWM Rectifier;The power factor;Matlab Simulation.目录引言 (V)第1章概述............................................................................................................- 1 -1.1本课题研究的意义 .............................................................................................- 2 -1.2国内外研究现状.................................................................................................- 2 -1.3本论文研究的主要工作.......................................................................................- 3 -第2章P WM控制技术.............................................................................................- 4 -2.1PWM简介..........................................................................................................- 4 -2.2PWM控制原理和应用 ........................................................................................- 4 -2.3PWM控制技术的应用 ........................................................................................- 8 - 第3章功率因数校正技术.................................................................................... - 10 -3.1功率因数校正简介 ........................................................................................... - 10 -3.2有源功率因数校正(APFC)技术.................................................................... - 17 -3.3提高功率因数的几种方法................................................................................. - 21 -3.4提高功率因数的实际意义................................................................................. - 21 -第4章Matlab仿真实验 ...................................................................................... - 22 -4.1电路的工作原理............................................................................................... - 22 -4.2实验要求......................................................................................................... - 23 -4.3Matlab仿真步骤和波形..................................................................................... - 23 -4.4主封装图以及各子系统 .................................................................................... - 28 -4.5仿真结论......................................................................................................... - 29 -结论和展望................................................................................ 错误!未定义书签。

PWM脉宽直流调速系统设计及matlab仿真验证

PWM脉宽直流调速系统设计及matlab仿真验证

PWM脉宽直流调速系统设计及matlab仿真验证1设计任务1.1双闭环调速系统结构图图1输出功率、电流反馈控制直流变频系统原理图为了使转速和电流两种负反馈分别起作用,可在系统中设置两个调节器,分别引入转速负反馈和电流负反馈以调节转速和电流,二者之间实行嵌套链接,如图1所示。

把转速调节器的输出当做电流调节器的输入,再用电流调节器的输出去控制电力电子变换器upe。

从闭环结构上看,电流环在里面,称作内环;转速环在外边,称作外环。

这就形成了转速、电流反馈控制直流调速系统。

1.2双闭环直流变频系统的稳态结构图1图2双闭环直流变频系统的稳态结构图双闭环直流调速系统的稳态结构图如图2所示,两个调节器均采用带限幅作用的pi调节器。

转速调节器asr的输出限幅电压电流调节器acr的输出限幅电压udmucm?uim同意了电流取值的最大值,限制了电力电子变换器的最大输出电压。

当调节器饱和状态时,输入踢至限幅值,输入量的变化不再影响输入,除非存有反向的输入信号使调节器退出饱和。

当调节器不饱和时,pi调节器工作在线性调节状态,其作用是使输入偏差电压?u在稳态时为零。

为了同时实现电流的实时控制和快速追随,期望电流调节器不要步入饱和状态,因此对于静特性来说,只有输出功率调节器饱和状态与不饱和两种情况。

1.3双闭环直流调速系统的动态结构图图3双闭环直流变频系统的动态结构图双闭环直流调速系统的动态结构图如图3所示,图中表示转速调节和电流调节器的传递函数。

2wasr(s)和wacr(s)分别双闭环直流调速系统起动过程的转速和电流波形如图所示:图4双闭环直流调速系统起动过程的转速和电流波形例如图4右图,电机的再生制动过程中输出功率调节器asr经历了不饱和、饱和状态、脱饱和状态三种情况:第ⅰ阶段(0-t1)是电流上升阶段;第ⅱ阶段(t1-t2)是恒流升速阶段;第ⅲ阶段(t2以后)是转速调节阶段。

双闭环直流变频系统的再生制动过程存有以下三个特点:1)饱和状态非线性掌控2)输出功率市场汇率3)科东俄时间最优控制1.4系统参数选取1.4.1整流电路平均值失控时间常数ts设定pwm的开关频率为1khz,故h型双极式pwm整流的调制周期为:t=1/f=0.001s1.4.2电流滤波时间常数和输出功率滤波常数h桥式电路每个波头的时间为0.5ms,为了基本滤平波头,应有3(1~2)toi?0.5ms,因此取toi?0.0004s。

PWM逆变器Matlab仿真设计

PWM逆变器Matlab仿真设计

PWM逆变器MATLAB仿真1设计方案的选择与论证从题目的要求可知,输入电压为110V直流电,而输出是有效值为220V的交流电,所以这里涉及到一个升压的问题,基于此有两种设计思路第一种是进行DC-DC升压变换再进行逆变,另一种是先进行逆变再进行升压。

除此之外,要得到正弦交流电压还要考虑滤波等问题,所以这两种方案的设计框图分别如下图所示:图1-1方案一:先升压再逆变图1-2方案二:先逆变,再升压方案选择:方案一:采用DC-DC升压斩波电路其可靠性高、响应速度、噪声性能好,效率高,但不适用于升压倍率较高的场合,另外升压斩波电路在初期会产生超调趋势(这一点将在后文予以讨论),在与后面的逆变电路相连时必须予以考虑,我们可以采用附加控制策略的办法来减小超调量同时达到较短的调节时间,但这将增加逆变器的复杂度和设计成本。

方案二:采用变压器对逆变电路输出的交流电进行升压,这种方法效率一般可达90%以上、可靠性较高、抗输出短路的能力较强,但响应速度较慢,体积大,波形畸变较重。

从以上的分析可以看出两种方案有各自的优缺点,但由于方案二设计较为简便,因此本论文选择方案二作为最终的设计方案,但对于方案一的相关容也会在后文予以讨论。

2逆变主电路设计2.1逆变电路原理及相关概念逆变与整流是相对应的,把直流电变为交流电的过程称为逆变。

根据交流侧是否与交流电网相连可将逆变电路分为有源逆变和无源逆变,在不加说明时,逆变一般指无源逆变,本论文针对的就是无源逆变的情况;根据直流侧是恒流源还是恒压源又将逆变电路分为电压型逆变电路和电流型逆变电路,电压型逆变电路输出电压的波形为方波而电流型逆变电路输出电流波形为方波,由于题目要求对输出电压进行调节,所以本论文只讨论电压型逆变电路;根据输出电压电流的相数又将逆变电路分为单相逆变电路和三相逆变电路,由于题目要求输出单相交流电,所以本论文将只讨论单相逆变电路。

2.2逆变电路的方案论证及选择从上面的讨论可以看出本论文主要讨论单相电压型无源逆变电路,电压型逆变电路的特点除了前文所提及的之外,还有一个特点即开关器件普遍选择全控型器件如IGBT,电力MOSFET等,有三种方案可供选择,下面分别予以讨论:方案一:半桥逆变电路,如下图所示,其特点是有两个桥臂,每个桥臂有一个可控器件和一个反并联二极管组成。

直流PWM调速系统MATLAB仿真

直流PWM调速系统MATLAB仿真

《单片机原理及接口技术》课程设计报告课题名称直流PWM调速系统的MATLAB仿真学院自动控制与机械工程学院专业机械设计制造及自动化班级姓名(学号)时间2016-1-9摘要直流电机具有良好的启动性能和调速特性,它的特点是启动转矩大,能在宽广的范围内平滑、经济地调速,转速控制容易,调速后效率很高。

本文设计的直流电机调速系统,主要由51单片机、电源、H桥驱动电路、LED液晶显示器、霍尔测速电路以及独立按键组成的电子产品。

电源采用78系列芯片实现+5V、+15V对电机的调速采用PWM波方式,PWM是脉冲宽度调制,通过51单片机改变占空比实现。

通过独立按键实现对电机的启停、调速、转向的人工控制,LED实现对测量数据(速度)的显示。

电机转速利用霍尔传感器检测输出方波,通过51单片机对1秒内的方波脉冲个数进行计数,计算出电机的速度,实现了直流电机的反馈控制。

关键词:直流电机调速;H桥驱动电路;LED显示器;51单片机ABSTRACTDC motor has a good startup performance and speed characteristics, it is characterized by starting torque, maximum torque, in a wide range of smooth, economical speed, speed, easy control, speed control after the high efficiency. This design of DC motor speed control system, mainly by the microcontroller 51, power supply, H-bridge driver circuits, LED liquid crystal display, the Hall velocity and independent key component circuits of electronic products. Power supply with 78 series chip +5 V, +15 V for motor speed control using PWM wave mode, PWM is a pulse width modulation, duty cycle by changing the MCU 51. Achieved through independent buttons start and stop the motor, speed control, turning the manual control, LED realize the measurement data (speed) of the display. Motor speed using Hall sensor output square wave, by 51 seconds to 1 microcontroller square wave pulses are counted to calculate the speed of the motor to achieve a DC motor feedback control.Keywords: DC motor speed control;H bridge driver circuit;LED display目录第1章引言1.1 概况现代工业的电力拖动一般都要求局部或全部的自动化,因此必然要与各种控制元件组成的自动控制系统联系起来,而电力拖动则可视为自动化电力拖动系统的简称。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

用C 语言和M A TLAB 构造PWM 控制仿真模型的一种方法华中理工大学 董玮 秦忆 摘要:文章介绍了一种将C 语言与M A TLAB 结合起来进行构造PWM 仿真模型的方法,这种方法不用编程,简单直观,使用方便,易于模块化。

关键词:PWM 控制 M A TLAB S I M UL I N KA Si m ula tion M ethod to P WM Con trol with C and M AT LABDong W ei Q in Y iAbstract :A m ethod to construct PWM si m ulati on model w ith C and M A TLAB has been introduced in the paper .T he m ethod is si m p le and intuiti onal w ithout any p rogram .It is convenient to use and m ake modulariza 2ti on .Keywords :PWM contro l M A TLAB S I M UL I N K1 前言PWM 控制是通过对每周期内输出脉冲个数和每个脉冲宽度的控制来改善逆变器的输出电压、电流波形[1]。

它是现代交流变频调速的一种重要的控制方式。

三相逆变器主回路原理图如图1所示,图中V 1~V 6为6个开关元件,由PWM 调制器控制其开通与关断。

逆变器产生的PWM 波形,施加给负载(一般是三相交流电机)。

图1 三相逆变器主回路PWM 调制器的调制方法很多,有同步式、非同步式等,所以在仿真时不同的调制方法有不同的算法。

很难用一种通用的算法表示;而三相电机的模型又是一个非线性、强耦合的复杂模型,在仿真时依据需要构造其模型也非易事。

一般,使用C 语言编程,或用M A TLAB 中的S I M UL I N K 工具箱结合S 函数来仿真[2],但这些方法都需要写出大段的程序。

本文介绍一种用C 语言结合M A TLAB 中S I M UL I N K 工具箱来构造仿真模型的方法:图1中虚线以左的PWM 算法可以改变,用流行的C 语言实现,而虚线以右的电机模型复杂,则用S I M UL I N K 工具箱实现,不用编程,最后进行C 语言与M A TLAB 的接口。

2 电机仿真模型的封装211 电机仿真模型电机仿真模型采用静止坐标系中的五阶模型[3],如式(1)所示。

d Ξr d t =n 2p L m JL r (7r Αi s Β-7r Βi s Α)-n pJT L d 7r Αd t =-1T r 7r Α-Ξr 7r Β+L m T r i s Αd 7r Βd t =-1T r 7r Β+Ξr 7r Α+L m T ri s Βd i s Αd t =1ΡL s (-R s i s Α-11+Ρr d 7r Αd t +u s Α)d i s Βd t =1ΡL s (-R s i s Β-11+Ρr d 7r Βd t+u s Β)(1)式中 Ρr ——转子漏感系数,Ρr =L Ρr L m (L Ρr 为转子漏感) Ρ——电机漏感系数,Ρ=1-L 2m(L s L r )06 电气传动 2001年 第1期  T r ——转子励磁时间常数,T r =L r r r u s Α、u s Β——定子两相电压的实际值 i s Α、i s Β——定子两相电流的实际值 7r Α、7r Β——转子两相磁链的实际值 Ξr ——实际转速其中电机的固有参数有:R s :定子电阻;L s :定子电感;R r :转子电阻;L r :转子电感;L m :定、转子互感;J :转动惯量;n p ;电机极对数。

以上所有的转子参数均已折算到定子侧。

式(1)中输入量为u s Α、u s Β,输出量为i s Α、i s Β、Ξr 。

用M A TLAB 中的S I M UL I N K 工具箱实现式(1)的模型如图2虚线右边所示,图中模块的参数均为形参。

3 2变换如下us Αu s Β=231-12-12032-32u au b u c(2)可用S I M UL I N K 来实现,如图2虚线左边所示。

图2 用S I M UL I N K 实现的电动机模型212 模型的封装所谓模型的封装,是指从现有的模块库中选取合适的模块进行组合并模块化[4]。

选中图2中所有的模块,用Edit C reate Sub system 命令将模型表示成子系统,如图3所示。

双击Sub system ,将子系统的名称改为M o to r 。

选中M o to r 子系统,用Edit C reate M ask 命令封装,封装参数为:M ask type :Sub systemB lock descri p ti on :T h is is a 52o rder m o to r m odel in qu iescence coo rdinate .P rom p tT yp e V ariab le L rEdit L rR rEdit R rLsEdit LsR s Edit R s L m Edit L m n pEditn pIn itializati on comm ands :(以日本SUM TA K 公司的19F 异步交流电机为例)J =0.00047;L r =0.08377;R r =1.03;L s =0.0805;R s =1.2;L m =0.0777;n p =2;Ρr =0.002 L m (由于L Ρr 很小,直接选为0.002);Ρ=1-L m (L s 3L r );T r =L r R r 。

这样就自定义了一个电动机模块,输入为u a 、u b 、u c 、T L,输出为i s Α、i s Β、Ξr ,如图3所示,其用法与S I M UL I N K 中的模块完全相同。

图3 封装后的电动机模块213 仿真结果为了检测以上设想的正确性,对图3所示的模块输入19F 异步电动机的额定值:u a 、u b 、u c 为对称三相正弦电压,幅值为90×2 3V ,频率为60H z ;在t =0.2s 时突加额定负载T L =3.13616电气传动 2001年 第1期 N ・m ,输出波形如图4所示。

图4 理想的输出信号(a )i s Α波形 (b )i s Β波形 (c )Ξr 波形 由图4可以看出,所建立的模型符合电动机运行特性,具有可用性。

3 与C 语言的接口在C 语言中,将输出的三相电压u a 、u b 、u c 的大小及其对应的输出时间分别用数组t 1[]、ua[]、t 2[]、ub []、t 3[]、uc []表示,在m ain 函数的最后加入以下语句。

F I L E 3fp 1,3fp 2,3fp 33fp 4,3fp 5,3fp 6;fp 1=fopen (“t 1”,”w ”);fp 2=fopen (“ua ”,”w ”);fp 3=fopen (“t 2”,”w ”);fp 4=fopen (“ub ”,”w ”);fp 5=fopen (“t 3”,”w ”);fp 6=fopen (“uc ”,”w ”);fw rite (fp 1,t 1);fw rite (fp 2,ua );fw rite (fp3,t2);fw rite (fp 4,ub );fw rite (fp 5,t 3);fw rite (fp 6,uc );fclo se (fp 1);fclo se (fp 2);fclo se (fp 3);fclo se (fp 4);fclo se (fp 5);fclo se (fp 6);这样进行编译、连接、运行后,就建立了数据文件t 1,t 2,t 3,ua ,ub ,uc 存放矢量控制输出的数据。

若C 语言经编译连接后生成的可执行矢量控制程序名为vecto r .exe ,S I M UL I N K 下建立的图3所示的开环系统名为m o to r .m d 1,在M A T 2LAB 主窗口中打开m o to r .m d 1,在初始化参数语句后加入以下语句。

P reL oadFun “!vecto r ”P reL oadFun “fid 1=fopen (‘t 1’,’r ’);T 1=fread (fid 1);sta 2tus 1=fclo se (fid 1);”P reL oadFun “fid 2=fopen (‘t 2’,’r ’);T 2=fread (fid 2);sta 2tus 2=fclo se (fid 2);”P reL oadFun “fid 3=fopen (‘t 3’,’r ’);T 3=fread (fid 3);sta 2tus 3=fclo se (fid 3);”P reL oadFun “fid 4=fopen (‘ua ’,’r ’);U a =fread (fid 4);sta 2tus 4=fclo se (fid 4);”P reL oadFun “fid 5=fopen (‘ub ’,’r ’);U b =fread (fid 5);sta 2tus 5=fclo se (fid 5);”P reL oadFun “fid 6=fopen (‘uc ’,’r ’);U c =fread (fid 6);sta 2tus 6=fclo se (fid 6);”这样每次仿真时,数据就先会被自动载入M A T 2LAB 的W OR KSPA CE 。

在m o to r .m d 1中的输入用F rom W o rk sp ace 模块,u a 的输入为[T 1,U a ],u b 的输入为[T 2,U b ],u c 的输入为[T 3,U c ]。

4 结束语以上介绍的C 语言与M A TLAB 结合进行PWM 仿真的方法,运用S I M UL I N K 工具箱,模型直观,不用编程,易于使用,笔者在W I N 98、BC 45、M A TLAB 5.0环境中已成功地进行了应用[5]。

参考文献1 秦忆1PWM 逆变器1华中理工大学自控系现代电气电子系统研究式(内部讲义)119942 周克亮,陈坚等1基于M A TLAB S I M UL I N K 的逆变器2交流电机系统的建模与仿真1第五届中国交流电机调速传动学术会议论文集,19973 阮毅1异步电机非线性解耦控制与矢量控制系统的解耦性质1上海大学博士论文,19964 钟庆昌,于淑红等1控制系统Si m ulink 仿真技巧1电气自动化,1999,(3)5 董玮,秦忆1最小谐波电流有效值的SPWM 方法研讨1电气自动化,1999,(3)收稿日期:199921121226 电气传动 2001年 第1期 。

相关文档
最新文档