matlab(2016a版本)-太陽能光伏并網逆變仿真
單片機源程序如下:
- function [sys,x0,str,ts] = sfun_PV_array_MPPT(t,x,u,flag)
- switch flag,
- case 0,
- [sys,x0,str,ts] = mdlInitializeSizes;
- case 2,
- sys = mdlUpdate(t,x,u);
- case 3,
- sys = mdlOutputs(t,x,u);
- case {1,4,9},
- sys =[];
- otherwise
- error(['unhandled flag = ',num2str(flag)]);
- end
- function [sys,x0,str,ts] = mdlInitializeSizes
- sizes = simsizes;
- sizes.NumContStates = 0;
- sizes.NumDiscStates = 3;
- sizes.NumOutputs = 1;
- sizes.NumInputs = 2;
- sizes.DirFeedthrough = 1;
- sizes.NumSampleTimes = 1;
- sys = simsizes(sizes);
- x0 =[0,0,0];
- str =[];
- ts =[1e-6 0];
- function sys = mdlUpdate(t,x,u)
- k1=0.01;
- dV=u(1)-x(1);
- dI=u(2)-x(2);
- if dV==0
- if dI==0
- Vref = x(3);
- elseif dI > 0
- Vref = x(3)+k1;
- elseif dI < 0
- Vref = x(3)-k1;
- end
- else
- if (dI/dV) ==(-u(2)/u(1))
- Vref = x(3);
- elseif (dI/dV) >(-u(2)/u(1))
- Vref = x(3)+k1;
- elseif (dI/dV) <(-u(2)/u(1))
- Vref = x(3)-k1;
- end
- end
- x(1)=u(1);
- x(2)=u(2);
- x(3)=Vref;
- sys=[x(1),x(2),x(3)];
- function sys = mdlOutputs(t,x,u)
- sys=x(3);
復制代碼
0.png (5.5 KB, 下載次數: 60)
下載附件
2019-10-28 16:07 上傳
所有資料51hei提供下載:
太陽能光伏并網逆變仿真.rar
(14.22 KB, 下載次數: 62)
2019-10-28 11:45 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|