运用PSIM的DLL模块对2.7KW光伏板进行BOOST和MPPT的简单仿真
仿真电路图如下:DLL的程序如下:#include __declspec(dllexport) void simuser (t,delt,in,out) // Not that all the variables must be defined as “double“ doublet,delt; double *in,*out; { //place you code herebegin static double last_Vin=0; // 定义初始电压(静态变量)static double last_Pin=0; // 定义初始功率(静态变量)static double last_Vref=0;// 定义初始基准电压(静态变量)double Vin; // 定义电压输入double Iin; // 定义电流输入double Pin; // 定义功率输入double Vcar; // 定义载波输入double dv; // 定义电压增量double dp; // 定义功率增量double Vref; // 定义基准电压double Vstep; // 定义扰动步长double dv_c; // 定义载波和基准比较电压Vin=in[0]; // 定义电压输入Iin=in[1]; // 定义电流输入Vcar=in[2]; // 定义载波输入Pin=Vin*Iin; // 计算功率dv=Vin-last_Vin; // 计算电压增量last_Vin=in[0]; // 定义下一次的初始电压dp=Pin-last_Pin; // 计算功率增量last_Pin=Pin; // 定义下一次的初始功率// 对扰动步长进行设定 -开始if(dp=0) { Vstep=0; } else { if(dp>0) { if(dv>0) { Vstep=2; } else { Vstep=-2; } } else { if(dv>0) { Vstep=-2; } else { Vstep=2; } } } // 对扰动步长进行设定 -结束Vref=last_Vref+Vstep; // 计算基准电压last_Vref=Vref; // 定义下一次的初始基准电压dv_c=Vref-Vcar; // 计算载波和基准比较电压// 对扰动步长进行设定 -开始if(dv_c>0) { out[0]=12; } else { out[0]=0; } // 对扰动步长进行设定 -结束//Output out[1]=dv; out[2]=Vref; //place you code hereend 波形如下: