025-58747116

服务热线

关于研旭                                      产品中心                                         新闻中心                           关注我们                            

版权所有:南京研旭电气科技有限公司|微电网 快速原型控制器 电力电子实验台 电机测试台架 苏ICP备11088006号

 

推广经理

研旭

微信公众号

 

传真:025-58747106
邮箱:
njyanxu@vip.qq.com
地址: 南京市浦口区高新开发区新科一路6号

NEWS CENTER

研旭着力于嵌入式领域、电气领域进行上下游产品的研发、生产、销售

>
>
>
如何让电力电子仿真更接近真实~

如何让电力电子仿真更接近真实~

浏览量
【摘要】:
Simulink是电力电子应用广的软件,很适合用于验证控制算法。现在市面上有各种各样的电路仿真软件,比如Saber,PLECS,PSpice,LTSpice,PSIM,PSCAD等等。

     Simulink是电力电子应用广的软件,很适合用于验证控制算法。现在市面上有各种各样的电路仿真软件,比如Saber,PLECS,PSpice,LTSpice,PSIM,PSCAD等等。
  然而,对比起PSpice,Simulink的弱点在于,他的power stage模块不是很接近实际系统,都是一些理想的开关器件,新出的electroinics工具包相对更接近实际模型,但是仍然不够。毕竟Simulink这个软件大部分工科专业都会用。如果想要验证一些难以解释的现象,例如试验中出现的overshoot,spikes,谐波等现象,还是需要用到SPICE模型,因此,这里做个笔记,如何让仿真更接近实际系统,这是我看一些高级玩家的心得。如果有错误或者缺漏,希望大家提供一些指正,多交流交流技术,有些方法我都没试过。
  首先,一个完整的项目步骤,应该是明确问题、文献调研、提出方案,理论建模、设计参数,仿真验证,设计硬件,实验验证几步。好的仿真模型,可以给实验提供参考,例如控制参数、代码bug等等。如果你的仿真模型和硬件十分接近,可能你设计的控制参数就能直接套用,而不需要花很多时间试凑参数。
  1.入门步骤:离散化。这个是基本的。现在的控制大多是数字控制,模拟控制多数应用在较简单,或者对速度要求较高的系统中。数字控制一般都用的是DSP或者FPGA实现,DSP的控制过程是这样的:我们一般把控制写到EPWM中断中,每一个开关周期执行一次中断。同时,采样也是写在PWM中断里面了,每次中断,读一次ADC。因此,你的仿真也需要这样做。简单的做法是,用Z变换把所有关于控制的模块离散化。但是power stage的所有模块,模拟的是实际的物理模型,因此,power stage的模块需要和你的仿真步长一致,越小越好。当然,步长小仿真就慢,还是要看你的电脑性能了。Geek做法就是用S-function写,以前我们实验室的德国PhD就是这么干的,需要你对硬件和编程的理解比较高,而且工作量大。S-function可以做到和DSP程序接近,你需要把你的算法全部写成编程语言,简单的可以写成C,更牛的直接用MEX。S-function和硬件一样的运行原理,都是初始化过后,就进入死循环,然后不停地更新变量、输出循环,还可以自定义离散变量或者连续变量。另外,MEX格式的S-function不需要电脑再编译一次,因此,相对较快。用代码写控制算法的好处是:可以直接把你的DSP代码放进去,这样容易发现程序中的Bug,另外,换个人多半看不懂你的代码,易于保密。但是坏处就是不好调,编程语言肯定不像控制模块那么易懂。
  2.中级步骤:PLECS和PSIM。PLECS相比于Simulink,对于电力电子更专业,PLECS专门针对电力电子变流器做了算法上的优化,可以让仿真更快一点,另外,PLECS可以让你选择开关的一些寄生参数。重要的是,PLECS提供热仿真,你可以看到开关管的温度,同时可以看到开关管的参数随着温度变化的过程。当然,需要模拟更精确,例如考虑冷却,ANSYS应该更好,但是ANSYS不能做电路仿真。PLECS提供blockset和stand-alone版本,blockset直接集成到simulink里面,stand-alone是单独的,比blockset更快,但是需要你自己搭建一些基础模块,毕竟PLECS的toolbox不如Simulink那么多,但是也足够用了。
  但是,对于开关管本身的参数,好的软件还是Saber和PSpice,这两个软件可以直接对半导体进行物理建模,而且你可以自己按照测试结果修改模型。Saber可以和Simulink对接,控制做到Simulink里面,power stage放到Saber里面,这样就非常准确了。Saber的问题在于跑得慢,而且Saber算法不容易收敛,不适合MMC,微网这种复杂系统。PSIM也可以,PSIM自带的开关模型不是特别好,但是PSIM可以添加SPICE模型进去,所以,你可以模拟Cgd,Cgs,Rrrs等开关寄生参数,这个对于你发现问题是有好处的。PSIM还有一个比较强大的功能是,可以直接编译成DSP代码,目前提供四个DSP型号,TI的28335在里面。MATLAB也有这个功能,但是不是专门针对于DSP。PSpice也是支持Simulink的,把PSpice模型放到Simulink,可以让两者一起跑,用法和Saber一样。
  3.土豪方案:硬件在环HIL。需要硬件支撑的。电脑做仿真,基本都是离线的仿真,一般来说,如果是开关频率级别的仿真,用电脑跑,一秒可能都需要三四分钟,甚至几个小时。对于有些情况,我们需要实时仿真,例如,有些发散是需要很长时间才能看到,你别想指望用Simulink跑10分钟,你的电脑内存撑不住,实时仿真可以。HIL便宜的可以用Typhoon,贵的可以上RTDS或者OPAL-RT。后两者确实很贵,随便一台就好几万美元了,而且,OPAL-RT主要用于系统层级的仿真,想要到开关频率级别,例如20kHz,那就要上他们的顶级装备,确实一般买不起。Typhoon对于一些简单一点的系统,还是能够仿得不错的,HIL603的步长zui小到0.5微秒。另外,typhoon提供DSP拓展卡,直接可以把你的DSP control card放到typhoon上面跑,可以大大提高仿真精度。


ews_detail-15481551771828212")