1 软件平台的安装和基础知识
PSIM
PSIM9.0.3.400_x32
Visual Studio C++
VC6.0只能安装在Win-XP上;VC2010只能安装在Win7和Win-XP;VC2012只能安装在Win8及更高Win系统。考虑电脑操作系统的通用性和普遍性本教程选用VC2010版本软件平台。
C语言知识
C语言语法和常用编程流程;子函数的调用和申明;重点掌握C语言中数组、指针、结构体、共用体等应用;养成良好的编程习惯和变量命名习惯。
2 了解PSIM软件及其简单应用
(1)新建仿真文件File->New;
(2)重点掌握调用系统自带的元件Elements->……,了解常用元件的设置和使用;
电力电子系统仿真常用的元器件包括:电阻、电容、电感、变压器、电机、各种交直流电源、逻辑门、IGBT、晶闸管、二极管、数学计算模块(加减乘除和三角函数等)、常用的数字控制和S域模块、传感器和仪表等,具体的使用详见文档《PSIM User Manual》和软件自带的例子。
(3)仿真时间和步长设置Simulate->Simulation Control,主要设置Time step(一般设置1us)和Total time。
(4)运行仿真文件Simulate->Run Simulation;
(5)通过对系统自带的例子了解常用元器件的使用和设置,也可以了解一些经典电路的原理;
(6)通过例子的学习和了解可以尝试将例子中《space vector pwm》两电平逆变器五段法SVPWM仿真修改成七段法SVPWM仿真,同时也能加深对空间矢量算法原理的理解。
3 PSIM仿真高级应用
3.1静态链接库和动态链接库(DLL)应用
静态链接库就是常说的lib文件,用户可以将常用的C语言子函数封装成静态库文件,以便建立动态DLL文件是直接调用,也有利于代码的归档和保存;动态链接库文件就是常说的DLL文件,用户可以将原理图电路难以实现的功能或者控制算法(比如变流器设备闭环控制算法、电机控制算法等)用C语言编写,通过编写生成DLL文件,通过PSIM软件提供的DLL Block模块直接调用,仿真更加灵活,仿真速度也大大提高,并且编写的C语言控制算法几乎可以完全移植到DSP等CPU中运行,验证了算法程序的准确性。
3.1.1建立静态链接库步骤
(1)打开Microsoft Visual Studio 2010软件,新建->项目->(已安装模板Visual C++)Win32->Win32控制台应用程序;
(2)输入库文件名(不能出现汉字等符号)、选择路径->确定->下一步->选择“静态库’,附加选项中去掉”预编译头“的对号->完成;
(3)向新建项目中添加子函数的c源文件和h文件->保存,界面如下图所示;
(4)C源文件和H文件添加完后的效果如下:
(5)生成->编译,生成.lib文件,lib文件自动保存在debug目录下。
3.1.2建立动态链接库步骤
(1)新建->项目->(已安装模板Visual C++)Win32->Win32项目;
(2)输入项目文件名、选择路径->确定->下一步->选择“DLL’,附加选项中选”空项目“->完成;
(3)添加主函数的c源文件和h文件(例如静态库文件中所有子函数的申明MyFunction.h)->保存,此过程和静态库文件中c和h文件添加类似,添加完成后效果如图
(4)将C子函数程序生成的静态链接库文件MyFunction.lib复制到DLL项目目录下;
(5)项目->项目属性->链接器->常规->附加库目录->添加项目路径;
(6)项目->属性->链接器->输入->附加依赖项->点击编辑->输入MyFunction.lib,或者此项不设置,在主程序顶端输入语句#pragma comment (lib,"MyFunction.lib")。
(7)生成->重新生成项目名称,编译后得到DLL文件在文件夹debug下。
3.1.3主程序框架
主程序中参数说明:__declspec(dllexport) void simuser (t, delt, in, out)
t:仿真的实时时间,与仿真软件执行过程相对应,一般不用修改;
delt:仿真步长,其大小为Simulate->Simulation Control中的 Time step。
in:DLL的输入数组,对应PSIM软件中DLL模块(Elements->other->Function Blocks->DLL Block(n input),当然常用模块最大引脚数是25个,如需更多引脚可调用General DLL Block,其引脚数可以设定为任意数)输入引脚。
可以通过修改上图中红色椭圆里的程序,完成自己的控制算法,请认真读懂此处给出的主程序框架,实际该框架已经完成了模拟量的数字采样和算法运算,然后通过out数组输出,已经可以等效成一个DSP的中断子程序,这样仿真用的C语言程序几乎可以百分之百的移植到DSP中,缩短了算法的调试过程和准确性验证。
out:DLL模块的输出,也是一个数组。
进行仿真时应将生成的DLL文件和PSIM文件在同一个文件夹里,且将DLL文件的名字和PSIM模块中DLL模块的名字一致。
3.1.4思考和改进
想要把仿真做的更加和实际贴近,该程序框架还有哪些可以改进?如何将三角载波以及DSP中的比较、行为动作等添加到此程序框架中,使得PSIM文件中元件更少仿真速度更快?
比较理想的三电平PWM整流器仿真平台(所有算法全部在DLL中进行,PSIM仅仅搭建一个主功率电路)
3.1.5练习和设计
(1)利用PSIM软件平台搭建一个三相电压源给一个三相阻感负载供电的电路仿真,并对三相负载电流进行Clark变换,要求<1>Clark变换由PSIM软件自带的库元件计算实现;<2>Clark变换由调用PSIM自带的abc-alpha/beta模块实现;<3>Clark变换的算法在DLL文件中实现,并对这三种实现方法的结果进行对比。
(2)利用PSIM软件搭建一个两电平逆变器七段式SVPWM调至算法的仿真,并且对逆变器输出电压和电流进行傅立叶分析,要求两电平主电路部分由PSIM软件自带的元件组成,SVPWM算法由DLL动态链接库完成,了解逆变输出电压电流的THD参数等。如有疑问可以在文后留言,尽量做到有问必答。
PS:由于时间和精力有限,可能有很多表述不当之处,请大家指正。另外,大家有感兴趣的话题(比如仿真工具的使用及变流器C语言算法仿真、异步电机VF控制和矢量控制、电励磁同步电机矢量控制等)可以在文后留言或邮件的形式告知,尽量做到有问必答。欢迎和感谢大家的关注和转发,更欢迎大家投稿。
(来源:电力电子及电机控制 )
文章收集整理于网络,如有侵权,请联系小编删除