本站小编为你精心准备了直流高压串级发生器软件开发参考范文,愿这些范文能点燃您思维的火花,激发您的写作灵感。欢迎深入阅读并收藏。
“高电压技术”是电气工程专业的一门核心课程[1]。该课程中,关键的介电、导电和电气强度参数的确定通常需要根据实验获得,这决定了高电压实验部分的学习非常关键。直流高电压串级发生器充放电过程的讲解是课程学习的难点之一,学生普遍反映不易理解。为了提高教学效果,本文基于电磁暂态仿真软件ATP(AlternativeTransientsPro-gram)和可视化编程软件CBuilder开发了一套直流高电压串级电路(发生器)充放电过程演示软件[2,3]。该软件能清晰地显示硅堆及回路的导通和截止情况,给出各点电位以供参考,同时能提供不同的演示模式和演示速度,有利于提高直流高电压串级发生器的充放电过程的教学效果。
1软件介绍及选择
1.1仿真软件软件仿真要获得直流高电压串级发生器在充放电过程中各点电位随时间的变化情况,属于电磁暂态仿真问题。目前常用的电磁暂态仿真软件主要有ATP和Matlab的Simulink[4]。前者的核心模块是EMTP(ElectromagneticTransientsProgram),由美国能源部邦维尔电管局主导开发。ATP中提供了电磁暂态建模需要的各种电源、元器件和测量手段,也提供了计算结果的图形化显示和数据导出等功能。同时,由于其采用了图形化预处理软件ATPDraw,可以采用鼠标拖拉方式构建ATP的输入文件,建模仿真较为方便。Simulink是依托于Matlab平台的重要组件,它是一个优秀的多功能仿真平台。与ATP类似,Sim-ulink采用鼠标拖拉方式实现快速建模,同时建模结果的显示和导出也非常方便。两个软件均可以实现直流高压串级发生器充放电过程的仿真计算,但二者具有各自不同特点。ATP采用梯形积分去求解电磁暂态问题中的微分方程,而且自从1984年开发以来已经被广泛使用了近30年,利用它,科研工作者已经发表了数以万计的论文,其计算结果的可靠性已经被广大用户所接受。由于求解算法已经固定,无需用户在求解算法上进行选择,建模仿真比较简单易用且计算速度较快。不足之处是该软件并不提供易用的编程开发环境,导致无论是数据的图形化显示还是计算结果的导出,可以灵活变通的手段不多,某些情况下会导致图形显示效果不佳,数据导出格式不能令人满意、速度太慢,甚至会导出失败。Simulink具有如下优点:(1)其灵活性远强于ATP,比如Simulink建模时可以产生任意需要的波形,而ATP要实现这个功能就比较难。Simulink的仿真结果可以方便地在Matlab平台下显示,比如调整线条样式、颜色、字体大小和加标注等实现非常容易,在ATP环境下几乎不可能做到这些功能。(2)仿真结果导出方式非常灵活,可以编程存储为各种格式的文件,可以存储结果中任意一段的数据而非全部存储,而ATP的存储格式比较单调,几乎不具备编程实现存储的能力,虽然也可以存储其中一段数据,但也需要读入全部数据,对于大数据量情况比较费时。Simulink存在以下不足:(1)能仿真的对象并非限于电磁暂态问题,因此,它不如ATP专业,通常来说,业内对它所得结果的认可度要低于ATP。(2)虽然提供了很多种算法供用户选择,比如算法类型有变步长和固定步长两种,而针对变步长的求解器又有离散、ode45、ode23、ode113、ode15s、ode23s、ode23t和ode23tb,针对固定步长的求解器就有离散、ode5、ode4、ode3、ode2、ode1和ode14x。若使用Matlab7.1用户,尤其是初学者很难知道待求解问题应该选择哪种算法,如果选择不合适可能会导致求解失败、计算速度太慢或计算结果误差偏大。综上考虑,本文直流高电压串级发生器的仿真采用ATP。
1.2可视化编程软件可视化编程软件的作用是形象显示仿真软件得到的直流高电压串级发生器各点电位随时间的变化,由此进一步显示不同阶段各硅堆的导通和截止情况,同时提供相关控件以实现用户对演示过程的控制。目前主流的可视化编程软件,包括VisualBasic、VisualC、Delphi和CBuilder等。VisualBasic和Delphi虽然开发速度较快,但是它们的基础语言Basic和Pascal流行程度远小于C语言和C语言。VisualC虽然是基于C语言,也是可视化的开发界面、软件功能也非常强大,比较适合于开发系统软件,但上手较慢。CBuilder既采用了非常流行的C语言,上手较快,开发速度也较快。因此,在本文中选择它作为开发演示软件。
2仿真结果及分析
2.1建模待建模的直流高压串级发生器如图1所示,考虑到级数太多时信息量过大,未必有利于读者理解电路的充放电原理,因此选择了4级。该电路在ATP中的建模结果如图2所示。相关参数如下:模型中所有电容值都相等为1μF;电源电压u(t)=Acos(2πft+φ),其中A为100kV,f=50Hz,φ=-180°;负载电阻值为10MΩ;为了使仿真结果正常还需要在与电源直接相连的电容上串联一个非常小的电阻,阻值为0.05Ω;仿真时间设置为0~4s。
2.2仿真结果在整个仿真时间段内,该发生器在ATP中仿真得到电源电压、输出电压和1'点电位如图3(a)所示。在最后2个工频周期内输出电压如图3(b)所示。由图3(a)可知,随着仿真时间(充放电时间)的增加,各点电位值逐渐趋于稳定,前2s范围内各点电位变化还较为显著,到3s时各点电位趋于稳态。因此,本文设置的仿真时长为4s能保证得到良好的稳态结果。为了显示仿真得到输出电压情况,在图4中并不显示电源电位和1'点电位。显然,得到的输出电位与理论的情况比较吻合,一个完整周期内对于右柱电容存在放电-充电-放电-快速放电4个环节[1],即在负载电阻较大时纹波因数较小,本例仅为1.90%。
2.3仿真结果分析由于本次仿真点数为4M,而且每个仿真点需要记录17个数据,包括9个点的电位数据及8个电容器上电压数据,共计68M数据。本文尝试使用Pl42mat.exe将计算结果的pl4文件存储为Matlab能识别的mat文件,由于数据量太大在本机运行时并不能得到对应的mat文件。为了导出最后一个周期的电位数据文件,使用了ATPLnch.exe中的“PL4->CSV”将pl4文件存储为csv文件的功能,时间段选择为3.98s到4.00s。当然执行该操作需要耗时数分钟。以上csv文件中存储的电位数据需要在演示软件中读入,在C++Builder中可以采用对象连接与嵌入OLE(ObjectLinkingandEmbedding)方式读入csv文件,但速度偏慢。为此,将此csv文件中的数据导入Matlab,然后在Matlab中将这些数据以二进制浮点格式存储入data.dat中,在演示软件中仅读入data.dat中数据,速度较快。同时由于舍弃了无用的8个电容器电压数据而仅保留了9个点的电位数据且数据存储格式更为紧凑,文件大小也由4190kB变为了704kB。
3演示软件实现及效果展示
3.1演示软件编程界面在C++Builder6.0中实现的演示软件的编程界面如图4所示。左侧为TImage控件,用于显示串级发生器原理图。右侧中部为2个TChart控件,分别用于显示发生器输出电压U10和电源电压U0'0。它们的下面为TrackBar控件,用于显示/控制仿真进度(时刻)。右侧上部为2个TComboBox控件,分别提供用户对演示类型和演示速度的选择。右侧下部为Tbutton控件,用于启动/暂停演示或退出软件。
3.2演示软件使用流程(1)参数设置:运行程序,选择演示类型,若选择了自动演示方式,用户还可选择合适的演示速度,其中速度越慢越适合于初学者。(2)启动和暂停演示:若用户选择了自动方式,则点击“启动”按钮即可;若用户需要暂停演示则点击“暂停”按钮即可;若用户选择了手动方式则用鼠标将进度条拖动到需要位置即可。手动方式演示与进度条刻度直接对应,并不是连续演示,无需暂停。(3)退出运行。点击“退出”按钮即可。
3.3演示软件特点(1)对硅堆/回路的导通和截止情况区别显示,即将处于导通状态的元器件和线路标注为加粗的红实线,而对于不导通的硅堆及对应线路采用灰色细虚线,不导通的电容和电源等采用黑色细实线。导通回路有蓝色箭头标出了电流方向。使用户能非常清楚、快速辨别各元器件和回路所处状态。(2)实时显示各节点电位值,使用户能够非常容易地判断出硅堆的导通和截止,验证图中给出的硅堆的状态。(3)给出了输出电压和电源电压随时间的变化波形,根据该波形可以与图中给出的硅堆和回路导通和截止情况、各节点电位值互相验证,进一步加强用户对直流高电压串级发生器充放电过程的理解。(4)提供了多种演示方式供用户选择。显然用户对直流高电压串级发生器充放电过程的理解程度有深有浅,这样对演示的速度具有不同的要求,同时不同人及在不同状态下对演示方式也有不同要求,有人喜欢全程连续演示的方式,有人需要显示电路某些关键时刻点的状态。为了适合这种需要,系统提供了自动和手动两种演示方式,前一种方式还提供了演示速度的选择,它在一个周期内按照用户选择的速度全程连续演示电路状态、各点电位和电压波形。手动方式根据用户确定的仿真时刻给出电路状态、各点电位和电压波形。(5)提供了暂停和恢复方式,在自动状态演示时用户可以随时停止和恢复演示过程,这样提供了用户理解所需的足够时间。
3.4演示效果为了验证演示结果的可靠性,我们给出了三种状态:①硅堆均截止,右柱电容向负荷放电;②D1、D2、D3和D4均导通,左柱电容经硅堆向负荷及右柱电容放电;③D1'、D2'、D3'和D4'均导通,右柱电容向左柱下级电容及负荷放电。本软件在三种状态下的演示效果如图5所示。由图5(a)可知,根据软件的演示结果,我们可以快速地确定所有硅堆均处于截止状态,左柱电容既不向右柱电容充电,右柱电容也不向左柱下级电容充电,仅仅是右柱电容向负荷放电。而根据图中给出的各点电位可知,除了0点,右柱各点电位均比左柱对应各点电位高(718.59>652.51、545.11>476.49、369.46>295.38、188.73>106.28),同时右柱各点电位比左柱上级各点电位更低(545.11<652.51、369.46<476.49、188.73<295.38、0<106.28)故无论是D1、D2、D3和D4,还是D1'、D2'、D3'和D4'均处于截止状态。由以上分析可知,根据演示软件得到的无论是硅堆、回路情况还是输出电压波形均与教材中理论分析结果完全吻合。也与文献[1]给出的情况吻合。其他两个图也类似,限于篇幅就不一一说明了。
4结语
(1)ATP计算结果导出的速度和易用性、与Matlab无缝链接方面不如Simulink,但ATP参数选择对用户要求低、仿真速度更快,专业性更强、计算结果更易被大家接受。(2)基于电磁暂态仿真软件和可视化编程语言可以实现“高电压技术”教学过程中直流高电压串级发生器电路充放电过程的演示。(3)本演示软件通过给出硅堆和回路截止、导通状态的不同显示方式,各点电位的实时显示以及演示模式和速度的自由选择可以适应不同层次的学生对直流高电压串级发生器电路充放电过程学习的要求,有望提高教学效果。
作者:徐志钮 单位:华北电力大学 河北省输变电设备安全防御重点实验室