基于matlab的同步发电机励磁系统仿真分析与调试
1 绪论
1.1 引言
同步发电机是电力系统的能量提供者, 供给同步发电机励磁电流的电源及其附属设 备统称为励磁系统。为保证同步电机的正常运行,励磁系统应能够稳定地提供同步电机 从空载到满载以及过载时所需的励磁电流;当电力系统发生故障而使电网电压下降时, 励磁系统应能快速强行励磁,以提高系统的稳定性;当同步电机内部发生短路故障时, 为迅速排除故障并使故障局限在最小范围内,应能快速灭磁。按照所采用的整流装置, 目前的励磁系统可分为2类:一类是用直流发电机作为励磁电源的直流励磁机励磁系统; 另一类是用硅整流装置将交流变成直流后供给励磁的半导体励磁系统。无论采取哪种方 式,同步发电机励磁系统都是通过调节发电机励磁绕组两端的励磁电压,从而影响发电 机的电动势,达到稳定端电压的目的。
在MATLAB中,电力系统模型可以在Simulink环境下直接搭建,也可以据所研究对 象物理模型建立其数学模型,并进行封装和自定义为用户自己的模块库,充分显现了其 仿真平台的优越性。同时更重要的是,MATLAB提供了丰富的工具箱资源。以及大量的 实用模块,在Simulink环境下,不仅可以进行电力系统的仿真计算,还可以实现复杂的 控制方法仿真,使得我们更加深入地研究电力系统的行为特性。
1.2 MATLAB软件介绍
MATLAB是矩阵实验室(Matrix Laboratory)的简称,是美国MathWorks公司出品 的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算 语言和交互式环境,主要包括MATLAB和Simulink两大部分。
MATLAB的应用范围非常广,包括信号和图像处理、通讯、控制系统设计、 测试和测量、财务建模和分析以及计算生物学等众多应用领域。附加的工具箱(单 独提供的专用MATLAB函数集)扩展了MATLAB环境,以解决这些应用领域内特 定类型的问题。 1.2.1 MATLAB软件简介
在20世纪70年代中期,Cleve Moler博士和其同事在美国国家科学基金的资助下开发
基于matlab的同步发电机励磁系统仿真分析与调试
了调用EISPACK和LINPACK的FORTRAN子程序库.EISPACK是特征值求解的
FORTRAN程序库,LINPACK是解线性方程的程序库.在当时,这两个程序库代表矩阵运算 的最高水平.到20世纪70年代后期,身为美国New Mexico大学计算机系系主任的Cleve Moler,在给学生讲授线性代数课程时,想教学生使用EISPACK和LINPACK程序库,但他发 现学生用FORTRAN编写接口程序很费时间,于是他开始自己动手,利用业余时间为学生 编写EISPACK和LINPACK的接口程序.Cleve Moler给这个接口程序取名为MATLAB,该 名为矩阵(matrix)和实验室(laboratory)两个英文单词的前三个字母的组合.在以后的数年 里,MATLAB在多所大学里作为教学辅助软件使用,并作为面向大众的免费软件广为流 传.
在当今30多个数学类科技应用软件中,就软件数学处理的原始内核而言,可分为两大 类.一类是数值计算型软件,如 MATLAB、Xmath、Gauss等,这类软件长于数值计算,对处 理大批数据效率高;另一类是数学分析型软件,如Mathematica、Maple等,这类软件以符号 计算见长,能给出解析解和任意精度解,其缺点是处理大量数据时效率较低.Math Works公 司顺应多功能需求之潮流,在其卓越数值计算和图示能力的基础上,又率先在专业水平上 开拓了其符号计算,文字处理,可视化建模和实时控制能力,开发了适合多学科,多部门要 求的新一代科技应用软件MATLAB.经过多年的国际竞争,MATLAB已经占据了数值型软 件市场的主导地位.
时至今日,经过Math Works公司的不断完善,MATLAB已经发展成为适合多学科,多种 工作平台的功能强劲的大型软件.在国外,MATLAB已经经受了多年考验.在欧美等高 校,MATLAB已经成为线性代数,自动控制理论,数理统计,数字信号处理,时间序列分析,动 态系统仿真等高级课程的基本教学工具;成为攻读学位的大学生,硕士生,博士生必须掌握 的基本技能.在设计研究单位和工业部门,MATLAB被广泛用于科学研究和解决各种具体 问题.
1.2.2 MATLAB软件语言特点
一种语言之所以能如此迅速地普及,显示出如此旺盛的生命力,是由于它有着不同于 其他语言的特点.正如同FORTRAN和C等高级语言使人们摆脱了需要直接对计算机硬件 资源进行操作一样,被称作为第四代计算机语言的MATLAB,利用其丰富的函数资源,使 编程人员从繁琐的程序代码中解放出来.MATLAB的最突出的特点就是简洁.MATLAB用 更直观的,符合人们思维习惯的代码,代替了C和FORTRAN语言的冗长代码.MATLAB给
基于matlab的同步发电机励磁系统仿真分析与调试
用户带来的是最直观,最简洁的程序开发环境.以下简单介绍一下MATLAB的主要特点。
①语言简洁紧凑,使用方便灵活,库函数极其丰富.MATLAB程序书写形式自由,利用 其丰富的库函数避开繁杂的子程序编程任务,压缩了一切不必要的编程工作.由于库函数 都由本领域的专家编写,用户不必担心函数的可靠性.可以说,用MATLAB进行科技开发 是站在专家的肩膀上.具有FORTRAN和C等高级计算机语言知识的读者可能已经注意到, 如果用FORTRAN或C语言去编写程序,尤其当涉及矩阵运算和画图时,编程会很麻烦.例 如,如果用户想求解一个线性代数方程,就得编写一个程序块读入数据,然后再使用一种求 解线性方程的算法(例如追赶法)编写一个程序块来求解方程,最后再输出计算结果.在求 解过程中,最麻烦的要算第二部分.解线性方程的麻烦在于要对矩阵的元素作循环,选择稳 定的算法以及代码的调试都不容易.即使有部分源代码,用户也会感到麻烦,且不能保证运 算的稳定性.解线性方程的程序用FORTRAN和C这样的高级语言编写至少需要好几十行. 再如用双步QR方法求解矩阵特征值,如果用FORTRAN编写,至少需要四百多行,调试这种 几百行的计算程序可以说很困难。
②运算符丰富.由于MATLAB是用C语言编写的,MATLAB提供了和C语言几乎一样 多的运算符,灵活使用MATLAB的运算符将使程序变得极为简短,具体运算符见附表。
③MATLAB既具有结构化的控制语句(如for循环,while循环,break语句和if语句),又有 面向对象编程的特性。
④语法限制不严格,程序设计自由度大.例如,在MATLAB里,用户无需对矩阵预定义 就可使用。
⑤程序的可移植性很好,基本上不做修改就可以在各种型号的计算机和操作系统上 运行。
⑥MATLAB的图形功能强大.在FORTRAN和C语言里,绘图都很不容易,但在 MATLAB里,数据的可视化非常简单.MATLAB还具有较强的编辑图形界面的能力。
⑦MATLAB的缺点是,它和其他高级程序相比,程序的执行速度较慢.由于MATLAB 的程序不用编译等预处理,也不生成可执行文件,程序为解释执行,所以速度较慢。
⑧功能强劲的工具箱是MATLAB的另一重大特色.MATLAB包含两个部分:核心部 分和各种可选的工具箱.核心部分中有数百个核心内部函数.其工具箱又可分为两类:功能 性工具箱和学科性工具箱.功能性工具箱主要用来扩充其符号计算功能,图示建模仿真功 能,文字处理功能以及与硬件实时交互功能.功能性工具箱能用于多种学科.而学科性工具
基于matlab的同步发电机励磁系统仿真分析与调试
箱是专业性比较强的,如control,toolbox,signal processing toolbox,communication toolbox 等。这些工具箱都是由该领域内的学术水平很高的专家编写的,所以用户无需编写自己学 科范围内的基础程序,而直接进行高,精,尖的研究。
⑨源程序的开放性.开放性也许是MATLAB最受人们欢迎的特点.除内部函数以外,所 有MATLAB的核心文件和工具箱文件都是可读可改的源文件,用户可通过对源文件的修 改以及加入自己的文件构成新的工具箱。
1.3 Simulink介绍
1.3.1 Simulink简介
Simunlink是MATLAB最重要的组件之一,它提供一个动态系统建模、仿真和 综合分析的集成环境。在该环境中,无需大量书写程序,而只需要通过简单直观 的鼠标操作,就可构造出复杂的系统。Simulink具有适应面广、结构和流程清晰及 仿真精细、贴近实际、效率高、灵活等优点,并基于以上优点Simulink已被广泛应 用于控制理论和数字信号处理的复杂仿真和设计。同时有大量的第三方软件和硬 件可应用于或被要求应用于Simulink。 1.3.2 Simulink功能介绍
Simulink是MATLAB中的一种可视化仿真工具,是一种基于MATLAB的框图 设计环境,是实现动态系统建模、仿真和分析的一个软件包,被广泛应用于线性 系统、非线性系统、数字控制及数字信号处理的建模和仿真中。Simulink可以用连 续采样时间、离散采样时间或两种混合的采样时间进行建模,它也支持多速率系 统,也就是系统中的不同部分具有不同的采样速率。为了创建动态系统模型, Simulink提供了一个建立模型方块图的图形用户接口(GUI) ,这个创建过程只需单 击和拖动鼠标操作就能完成,它提供了一种更快捷、直接明了的方式,而且用户 可以立即看到系统的仿真结果。
Simulink®是用于动态系统和嵌入式系统的多领域仿真和基于模型的设计 工具。对各种时变系统,包括通讯、控制、信号处理、视频处理和图像处理系统, Simulink提供了交互式图形化环境和可定制模块库来对其进行设计、仿真、执行 和 测试。
构架在Simulink基础之上的其他产品扩展了Simulink多领域建模功能,也提供 了用于设计、执行、验证和确认任务的相应工具。Simulink与MATLAB® 紧密
基于matlab的同步发电机励磁系统仿真分析与调试
集成,可以直接访问MATLAB大量的工具来进行算法研发、仿真的分析和可视化、 批处理脚本的创建、建模环境的定制以及信号参数和测试数据的定义。 1.3.3 Simulink特点介绍
①丰富的可扩充的预定义模块库。
②交互式的图形编辑器来组合和管理直观的模块图。
③以设计功能的层次性来分割模型,实现对复杂设计的管理。
④通过 Model Explorer 导航、创建、配置、搜索模型中的任意信号、参数、 属性,生成模型代码。
⑤提供 API 用于与其他仿真程序的连接或与手写代码集成。
⑥使用 Embedded MATLAB? 模块在 Simulink 和嵌入式系统执行中调用 MATLAB 算法。
⑦使用定步长或变步长运行仿真,根据仿真模式(Normal Accelerator Rapid Accelerator)来决定以解释性的方式运行或以编译 C 代码的形式来运行模型。
⑧图形化的调试器和剖析器来检查仿真结果,诊断设计的性能和异常行为。 ⑨可访问 MATLAB 从而对结果进行分析与可视化,定制建模环境,定义信号 参数和测试数据。
⑩模型分析和诊断工具来保证模型的一致性,确定模型中的错误。 本论文在进行励磁调节设计仿真时主要用到了MATLAB中的电力系统软件模块库Sim Power System和Simulink软件包,二者的结合使用户既可以方便地利用现成的电力模块 进行仿真又可以自由地创建新的电力模块,从而大大的增强了MATLAB的电力系统仿真 能力。