|
| | | | | 光伏水泵的应用情况,MPPT输出是作为一个频率给定的参给到后面的变频器的带动水泵抽水,boost作为一个恒压源使用。实现MPPT负载变量变成给定频率,要实现这种应用有没有办法做做。先借用一想你的模型,后面搭一下这种应用。 |
|
|
| | | | | | | 如果频率跟水泵输出的功率是正相关(单调递增)或者负相关(单调递减)关系的话,是可以可以这样去建立模型的;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| | | | | MPPT_PID+=( MPPT_Kp * MPPT_Error_0+ MPPT_Ki * MPPT_Error_1 + MPPT_Kd* MPPT_Error_2);
//PID计算式,更改系数以获得理想的输出
大神好,这个没有理解上去,这个是误差信号的PID?
这个到底是理解成位置PID还是增量PID呢? |
|
|
| | | | | if(MPPT_PID<0)
MPPT_PID=0;
if(MPPT_PID>1000)
MPPT_PID=1000;
大神您好:这个限幅值是怎么定下来的?
|
|
|
| | | | | | | 你可以推算的,假如你后面调制波的幅值是0到1000,你占空比想限制在0到50% ,那你前面限幅就是PID<0,PID=0。PID>500,PID=500。占空比想限制到0到100%,那你前面限幅就是PID<0,PID=0。PID>1000,PID=1000。明白了吧???
|
|
|
|
| | | | | MPPT_PID其实就是位置式的输入信号,而不是增量式误差信号
类似于boost输入信号的大小?
|
|
|
| | | | | | | 其实PID就那么几种方式,这种也是增量式PID,只是表达方式不一样而已 |
|
|
| | | | | | | | | 表达式是增量PID的形式,但是看表达式out[0]=(1-MPPT_PID/U_bus)/fs;说明,这个MPPT_PID其实就是输入信号,所以这个就不是误差,而是实际的输入信号。
|
|
|
| | | | |
out[0]=(1-MPPT_PID/U_bus)/fs;
这个其实就可以理解为寄存器里面存放的值,每次载波值都和这个值进行比较?
类似于调制波
|
|
|
|
|
|
|
|
|
|
|
|
| | | | | 1-MPPT_PID/U_bus 这个是占空比意思么? |
|
|
| | | | | Time_200KHz++;
Time_10KHz++;
Time_500Hz++;
请问代码中这三个变量是什么,有什么作用?
|
|
|
|
|
|
|
|
|
|
|
|
|
| | | | | | | 楼主你好!你的这个MPPT算法我在实际产品测试过,运行一段时间会死掉,原因是计算出的功率由于误差积累导致
一直往一个方向偏死,我换了一种算法已经测试通过了。
|
|
|
|
|
|
|
|
|
| | | | | | | 请问您有此仿真文件吗?方便的话拜托分享下~最近正在学习psim!
|
|
|
| | | | | out[0]=(1-MPPT_PID/U_bus)/fs; PI算出来的不应该是占空比嘛? 为什么要这样计算? |
|
|
|