jjzjj

电力系统的常用仿真模块MATLAB/SIMULINK(1)

szl__lzs 2023-06-03 原文

    本文的内容是参考的《基于MATLAB的电气控制系统图形化仿真技术》

   在进行电力系统的仿真时,先要了解构成电力系统的各元件。本章描述了相关的电力系统模块在MATLAB/SIMULINK里面的使用。其中包括:

1. 同步发电机模块  2. 电力变压器 3. 输电线路 4. 负荷 5. 断路器和故障模块


 1. 同步发电机模块

1.1 简化的同步电机模块

         简化的同步电机模块忽略了电枢反应电感、励磁和阻尼绕组的漏感,仅由理想电压源串联RL线路构成,其中R和L都为电机的内部阻抗。

        在SimPowerSyestem给定的库中有如下两种简化的同步电机模块。

         简化同步电机的两种模块本质上是一致的,唯一的不同之处在于参数选取的单位不同。pu为标幺值,SI为国际单位制。

        简化的同步电机模块有两个输入端子,1个输出端子和三个电气连接端子。模块的第一个输入端子(Pm)输入电机的机械功率,可以为常数,或者是原动机的输出;模块的第二个输入端子(E)是电机内部电压源的电压,可以是常数,也可以直接与电压调节器的输出相连;模块的三个电气连接端子(A,B,C)为定子输出电压。输出端(m)输出一系类的电机内部信号,共有12路信号组成:

输出符号端口定义单位
1~3isa,isb,iscis_abc流出电机的三相定子电流A或者p.u
4~6Ua,Ub,Ucvs_abc定子三相输出电压V或者p.u
7~9Ea,Eb,Ece_abc电机内部的电源电压V或者p.u
10thetan机械角度rad
11wm转子速度rad/s或者p.u
12Pepe电磁功率w

双击简化电机模块,将弹出该模块的参数对话框

 (1)额定参数文本框:三相额定视在功率、额定线电压有效值、额定频率。

 (2)机械参数文本框:转动惯量J或惯性时间常数H、阻尼系数Kd、极对数p。

(3)内部阻抗文本框:单相电阻R和电感L。RL为内部电机的阻抗,设置时允许R等于0,但L必须大于0

(4)初始条件文本框:初始角速度偏移,转子初始角位移、线电流幅值、相角。初始条件可以由Powergui模块自动获取。

 1.2.同步电机模块

         SimPowerSyestem提供了三种同步电机模块,用于对三相隐极和凸极同步电机进行动态建模。如下图:

         同步电机模块有两个输入端,一个输出端和三个电气连接端子。

        第一个输入端子(Pm)为电机的机械功率。当机械功率为正时,表示同步电机运行在发电机模式;当机械功率为负时,表示同步电机工作在电动机模式。在发电机模式下,输入可以是一个正数,也可以是一个函数或者是原动机模块的输出;在电动机模块下,输入通常是一个负数或着函数。

        第二个输入(Vf)是励磁电压,在发电机模式下可以由励磁模块提供,在电动机模式下为一常数。

        三个电气连接端子(A,B,C)为定子电压输出。输出端(m)输出一系类电机的内部信号,由22路信号组成。

输出符号端口定义单位
1~3isa,isb,iscis_abc定子三相电流A或者p.u
4~5isq,isdis_qdq轴和d轴定子电流A或者p.u
6~9Ifd,ikq1,ikq2,ikdik_kd励磁电流,q轴和d轴阻尼绕组电流

A或者p.u

10~11mq,mdphim_qdq轴和d轴磁通量Vs或者p.u
12~13Ud,Uqvs_qdq轴和d轴定子电压V或者p.u
14d_theta转子角偏移量rad
15wm转子速度rad/s
16Pepe电磁功率VA或者p.u
17dw转子角速度偏移rad/s
18theta转子机械角rad
19TeTe电磁转矩N.m或者p.u
20Delta功率角N.m或者p.u
21~22Pe0,Qe0Pe0,Qe0输出有功和无功功率VA或者p.u

(1) SI基本同步电机模块 

 1)预设模型下拉框:选择系统设置的内部模型后,同步电机自动获取各项数据,如果不想使用系统给定的参数,选择“no”

2) 机械量输入复选框:可以浏览并选择电机的机械参数

3)绕组类型: 有凸极和隐极两种方式

4)额定参数:三相额定视在功率、额定线电压有效值、额定频率、额定励磁电流

5)定子参数:定子电阻,漏感,d轴电枢反应电感,q轴电枢反应电感

6)励磁参数:励磁电阻,励磁漏感

7)阻尼绕组参数:d轴阻尼电阻,d轴漏感,q轴阻尼电阻,q轴电感。对于实心转子还需要输入反应大电机深处转子棒涡流损耗的阻尼电阻和漏感。

8)机械参数:转动惯量,摩擦系数,极对数

9)初始条件:初始角速度偏移量,转子初始角位移,线电流幅值,相角,初始励磁电压

10)饱和仿真复选框:设置定子和转子是否饱和。如需要考虑饱和,则选中复选框。

(2)pu基本电机模块

 

 该对话框与SI基本同步电机模块的对话框相似,不同之处在于:

1)额定参数:与SI基本同步电机模块相比,该项内容中不含励磁电流。

2)定子参数:与SI基本同步电机模块相比,该项参数为归算到定子侧的标幺值。

3)励磁参数:与SI基本同步电机模块相比,该项参数为归算到定子侧的标幺值。

4)阻尼绕组参数:与SI基本同步电机模块相比,该项参数为归算到定子侧的标幺值。

5)机械参数:惯性时间常数、摩擦系数、极对数

6)饱和仿真:其中的励磁电流和定子输出电压均为标幺值;电压的基准值为额定线电压有效值;电流的基准值为额定励磁电流。

(3)p.u标准同步电机模块

 

 各类模块的比较:

        简化的同步电机模块是只计及转子动态的二阶模型,其特点是模型简单,在大规模电力系统分析中得到广泛应用。

        在基本同步电机模块中,忽略了定子绕组暂态,但考虑了励磁绕组、阻尼绕组的动态特性。常常用于可忽略转子超瞬变过程但又考虑转子绕组顺便过程的问题分析。

        在标准同步电机模块中,忽略了定子绕组暂态,但考虑了励磁绕组、阻尼绕组的暂态和转子绕组动态特性,并考虑了电机的凸极效应。常用于对电力系统暂态稳定分析的准确度要求较高的情况。


2. 电力变压器模块

        变压器按磁路特性可以分为线性和饱和变压器;按绕组个数可以分为双绕组和三绕组变压器;按相数可以分为单相和三相变压器。

2.1 单相变压器模块

 

 上图是一个三相三绕组变压器及其参数设置对话框。有SI和p.u两种单位制。

1)额定功率和频率:额定频率的选择要与所选的激励源的频率保持一致。

2)绕组1的参数:它包括额定电压V1,绕组的电阻和漏电感。

3)绕组2的参数:它包括额定电压V2,它的值若小于V1,为降压变压器,大于V1则为升压变压器。绕组2的电阻和漏电感。

4)三相绕组变压器复选框:选定这个复选框会是一个单相三绕组变压器,此时也就相当于两个双绕组变压器;否则就是一个单相双绕组变压器。

 5)绕组3的参数:与V2的的功能类似。

6)励磁电阻和电感:励磁电阻和电感模拟的是铁心有功损耗和无功损耗。

7)被测量选项:

        选择绕组电压可以测量线性变压器模块的各绕组端电压;选择绕组电流可以测量流经线性变压器的绕组电流;选择磁化电流可以测量线性变压器模块的磁化电流;ALL选项可以测量以上所有选项。

8) 如果模拟一个理想变压器模型只要将各绕组的电阻和电感设为0,励磁绕组和电感设为inf。

2.2 三相变压器模块

用三个单相变压器就可以组成一个三相变压器。三相变压器在电路上是互相连接的,在磁路上是互相独立的。

 在库中线性和铁心饱和三相变压器两种。

 共有5中连接方式。

 1)额定功率和频率:额定功率,额定频率

2)一次绕组参数:额定线电压有效值,电阻,漏感

3)二次绕组参数:额定线电压有效值,电阻,漏感

4)励磁电阻:反应变压器铁芯的损耗,若铁芯取2%,则Rm = 500

5)励磁电感:该文本框只在未选中(饱和铁芯)复选框时出现,单位p.u

6)饱和特性:从坐标原点(0,0)开始指定电流-磁通特性曲线。

7)磁滞复选框:实现对变压器磁滞现象的仿真

8)磁通初始化复选框:其中变压器各相的初始磁通均为标幺值。

9)参数测量下拉框:

        a.绕组电压:测量三相变压器的端电压

        b.绕组电流:测量流经三相变压器的电流

        c.磁通和励磁电流:

        d.磁通和磁化电流:测量磁通和变压器饱和时的励磁电流

        e.测量所有

 三相三绕组变压器模块功能与上述类似。

2.3 互感绕组模块

        互感绕组也是一种简单的变压器模块,它由两个或三个有互感关系的耦合绕组组成。


3.输电线路模块

3.1 原理分析

         假设在三相平衡的情况下,输电线路的参数R,L,C沿线均匀分布,利用π形集中参数等效电路可模拟一个平衡的三相输电线路。当线路较长时,可利用几个相同的π形等效电路进行串联进行模拟。

3.2 输电线路的模块

3.2.1. π形等效电路模块

        输电线路的π形等效电路包括单相π形电路和三相π形等效模块。在电力系统中,对于长度大于100km的架空线路以及较长的电缆线路,电容的影响一般是不能忽略的。因此,潮流计算,暂态稳定分析等计算中常使用拍形电路模块。 

单相π形等效电路

 

三相π形电路 

1)基频:仿真系统的基频用于计算RLC

2)单位长度电阻:正序和零序电阻

3)单位长度电感:正序和零序电感

4)单位长度电容:正序和零序电容

5)线路长度

         对于长度不超过300km的线路可用一个π形电路来代替,对于更长的线路,可多级串联模拟。π形电路限制了线路中电压、电流的频率变化范围,对于研究基频下的电力系统以及电力系统与控制系统之间的关系,π形电路可以达到足够的准确度,但是对于研究开关开合时的顺变过程等高频暂态分量的问题时,就需要考虑分布参数的特性,使用分布参数线路模块。

3.2.2 分布参数等效电路模块

1)相数:改变分布参数线路的相数

2)基频:基本频率用于计算R,L,C的参数值

3)单位长度电阻:用矩阵表示的单位长度电阻,对于两相和三相连续换位线路,可以输入正序和零序电阻r1,r0,对于对称的六相线路,可以输入正序,零序和耦合电阻[r0,r1,r0m];对于N相非对称电路,必须输入表示和各线路和线路之间相互关系的N*N阶电阻矩阵

4)单位长度电感:与上述相同

5)单位长度电容:与上述介绍相同

6)线路长度:

7)测量参数:对线路送端和受端相电压进行测量

3.3 RLC串联支路模块

        在电力系统中,对于电压等级不高的短线路(长度不超过100km的架空线路),通常忽略线路电容的影响,用RLC串联支路来等效。

SimPowerSystems库里面提供了上述两种RLC串联支路模块图标。一种是单相,另外一种是三相。

 

1)电阻

2)电感

3)电容

4)测量参数

        a.无

        b.支路电压

        c.支路电流

        d.所有变量 


4.负荷模块

         通常的负荷模型分为静态模型动态模型,其中静态模型表示稳态下负荷功率与电压和频率的关系;动态模型反应电压和频率急剧变化时负荷功率随时间的变化。常用的负荷等效电路有含源等效阻抗支路、恒定支路和异步电动机等效电路。

4.1 静态负荷模块

 SimPowerSystems库中提供了四种静态负荷模块。分别为单相串联RLC负荷;单相并联RLC负荷;三相串联RLC负荷;三相并联RLC负荷。

1)三相负荷的连接方式

2)负荷的额定线电压

3)额定频率

4)负荷的有功功率

5) 三相负荷的感性无功功率

6)三相负荷的容性无功功率

7)测量:测出负荷两端的电压和通过负荷的电流

4.2 动态负荷模块

 

1)负荷的额定线电压和频率

2) 初始电压下的有功功率和无功功率

3)正序电压初始化:指定正序电压电压的幅值和相角

4)PQ外部控制:选中时负荷的有功功率和无功功率可通过这两个外部信号的simulink矢量进行定义。

5)参数np,nq:指定定义负荷特性的参数np,nq。

6)时间常数:指定控制负荷有功和无功动态特性的时间常数。

7)最小电压:指定动态负荷初始状态的最小电压。


5. 断路器和故障模块

        在电力系统的暂态仿真过程中,通过断路器模块或者三相故障模块的开断实现设备的通断控制

5.1 断路器模块

        其可以受内部和外部信号的控制,外部控制(0切断,1打开)内部控制(由模块对话框中的参数指定)

5.1.1 单相断路器模块

1

 1)断路器的初始状态:1合闸,0开闸

2)开关动作时间:如图中的5/60个时间点开关动作一次。

3)外部控制

4)断路器合闸后的等效电阻值,一般很小。

5)缓冲电阻:并联电路中的电阻值,当选为inf时,取消该值。

6)缓冲电容:缓冲电容设为0时,将取消缓冲电容;缓冲电容设为inf时,缓冲电路为纯电阻性的电路。

7)测量参数:

        a. 无

        b.断路器电压

        c.断路器电流

        d.所有

5.1.2 三相断路器模块

 1)初始状态

2)选中表示允许哪一项断路器可以动作

5.2 三相故障模块

        三相故障控制模块是有三个独立的断路器组成的,能对相-相故障和相-地故障进行模拟。

 1)接地故障:表示允许接地故障,未选中时,自动设置大地电阻为10的6次方。

2)故障电阻:不能为0

3)大地电阻:接地故障时的接地电阻。

 

有关电力系统的常用仿真模块MATLAB/SIMULINK(1)的更多相关文章

  1. ruby - 在 Ruby 中使用匿名模块 - 2

    假设我做了一个模块如下:m=Module.newdoclassCendend三个问题:除了对m的引用之外,还有什么方法可以访问C和m中的其他内容?我可以在创建匿名模块后为其命名吗(就像我输入“module...”一样)?如何在使用完匿名模块后将其删除,使其定义的常量不再存在? 最佳答案 三个答案:是的,使用ObjectSpace.此代码使c引用你的类(class)C不引用m:c=nilObjectSpace.each_object{|obj|c=objif(Class===objandobj.name=~/::C$/)}当然这取决于

  2. ruby-on-rails - Ruby net/ldap 模块中的内存泄漏 - 2

    作为我的Rails应用程序的一部分,我编写了一个小导入程序,它从我们的LDAP系统中吸取数据并将其塞入一个用户表中。不幸的是,与LDAP相关的代码在遍历我们的32K用户时泄漏了大量内存,我一直无法弄清楚如何解决这个问题。这个问题似乎在某种程度上与LDAP库有关,因为当我删除对LDAP内容的调用时,内存使用情况会很好地稳定下来。此外,不断增加的对象是Net::BER::BerIdentifiedString和Net::BER::BerIdentifiedArray,它们都是LDAP库的一部分。当我运行导入时,内存使用量最终达到超过1GB的峰值。如果问题存在,我需要找到一些方法来更正我的代

  3. ruby-on-rails - Rails 常用字符串(用于通知和错误信息等) - 2

    大约一年前,我决定确保每个包含非唯一文本的Flash通知都将从模块中的方法中获取文本。我这样做的最初原因是为了避免一遍又一遍地输入相同的字符串。如果我想更改措辞,我可以在一个地方轻松完成,而且一遍又一遍地重复同一件事而出现拼写错误的可能性也会降低。我最终得到的是这样的:moduleMessagesdefformat_error_messages(errors)errors.map{|attribute,message|"Error:#{attribute.to_s.titleize}#{message}."}enddeferror_message_could_not_find(obje

  4. ruby-on-rails - 在混合/模块中覆盖模型的属性访问器 - 2

    我有一个包含模块的模型。我想在模块中覆盖模型的访问器方法。例如:classBlah这显然行不通。有什么想法可以实现吗? 最佳答案 您的代码看起来是正确的。我们正在毫无困难地使用这个确切的模式。如果我没记错的话,Rails使用#method_missing作为属性setter,因此您的模块将优先,阻止ActiveRecord的setter。如果您正在使用ActiveSupport::Concern(参见thisblogpost),那么您的实例方法需要进入一个特殊的模块:classBlah

  5. ruby - 当使用::指定模块时,为什么 Ruby 不在更高范围内查找类? - 2

    我刚刚被困在这个问题上一段时间了。以这个基地为例:moduleTopclassTestendmoduleFooendend稍后,我可以通过这样做在Foo中定义扩展Test的类:moduleTopmoduleFooclassSomeTest但是,如果我尝试通过使用::指定模块来最小化缩进:moduleTop::FooclassFailure这失败了:NameError:uninitializedconstantTop::Foo::Test这是一个错误,还是仅仅是Ruby解析变量名的方式的逻辑结果? 最佳答案 Isthisabug,or

  6. ruby - 获取模块中定义的所有常量的值 - 2

    我想获取模块中定义的所有常量的值:moduleLettersA='apple'.freezeB='boy'.freezeendconstants给了我常量的名字:Letters.constants(false)#=>[:A,:B]如何获取它们的值的数组,即["apple","boy"]? 最佳答案 为了做到这一点,请使用mapLetters.constants(false).map&Letters.method(:const_get)这将返回["a","b"]第二种方式:Letters.constants(false).map{|c

  7. ruby - 模块嵌套代码风格偏好 - 2

    我的假设是moduleAmoduleBendend和moduleA::Bend是一样的。我能够从thisblog找到解决方案,thisSOthread和andthisSOthread.为什么以及什么时候应该更喜欢紧凑语法A::B而不是另一个,因为它显然有一个缺点?我有一种直觉,它可能与性能有关,因为在更多命名空间中查找常量需要更多计算。但是我无法通过对普通类进行基准测试来验证这一点。 最佳答案 这两种写作方法经常被混淆。首先要说的是,据我所知,没有可衡量的性能差异。(在下面的书面示例中不断查找)最明显的区别,可能也是最著名的,是你的

  8. ruby-on-rails - 使用 config.threadsafe 时从 lib/加载模块/类的正确方法是什么!选项? - 2

    我一直致力于让我们的Rails2.3.8应用程序在JRuby下正确运行。一切正常,直到我启用config.threadsafe!以实现JRuby提供的并发性。这导致lib/中的模块和类不再自动加载。使用config.threadsafe!启用:$rubyscript/runner-eproduction'pSim::Sim200Provisioner'/Users/amchale/.rvm/gems/jruby-1.5.1@web-services/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:105:in`co

  9. 电脑0x0000001A蓝屏错误怎么U盘重装系统教学 - 2

      电脑0x0000001A蓝屏错误怎么U盘重装系统教学分享。有用户电脑开机之后遇到了系统蓝屏的情况。系统蓝屏问题很多时候都是系统bug,只有通过重装系统来进行解决。那么蓝屏问题如何通过U盘重装新系统来解决呢?来看看以下的详细操作方法教学吧。  准备工作:  1、U盘一个(尽量使用8G以上的U盘)。  2、一台正常联网可使用的电脑。  3、ghost或ISO系统镜像文件(Win10系统下载_Win10专业版_windows10正式版下载-系统之家)。  4、在本页面下载U盘启动盘制作工具:系统之家U盘启动工具。  U盘启动盘制作步骤:  注意:制作期间,U盘会被格式化,因此U盘中的重要文件请注

  10. Matlab imread()读到了什么 (浅显 当复习文档了) - 2

    matlab打开matlab,用最简单的imread方法读取一个图像clcclearimg_h=imread('hua.jpg');返回一个数组(矩阵),往往是a*b*cunit8类型解释一下这个三维数组的意思,行数、数和层数,unit8:指数据类型,无符号八位整形,可理解为0~2^8的数三个层数分别代表RGB三个通道图像rgb最常用的是24-位实现方法,即RGB每个通道有256色阶(2^8)。基于这样的24-位RGB模型的色彩空间可以表现256×256×256≈1670万色当imshow传入了一个二维数组,它将以灰度方式绘制;可以把图像拆分为rgb三层,可以以灰度的方式观察它figure(1

随机推荐