哪位大神给几个MPPT(最大风能跟踪)的算法流程图和完整的源程序,谢谢

哪位大神给几个MPPT(最大风能跟踪)的算法流程图和完整的源程序,谢谢,第1张

百度文库里有一个相关文章,建议楼主去下载了看看。有流程图,但没有完整源程序。

基于Sepic变换器的变速风力机MPPT系统的研究

http://wenku.baidu.com/view/9602d84ffe4733687e21aa18.html

另外,在百度文库查找“MPPT”能搜出很多相关文章。

*关于频率和占空比的确定,对于6M晶振,假定PWM输出频率为1KHZ,这样可以设定占空比可从(1-100)%变化,即0.01ms*100=1ms。周期用T1定时,输出高电平用T1定时。 *

#include <REGX51.H>

#define uchar unsigned char

#define V_TH1 0XFE

#define V_TL1 0X0C

#define V_TMOD 0X11

void init_sys(void) /*系统初始化函数*/

unsigned char ZL,ZH

void main (void)

{

init_sys()

while(1)

{

Unsigned Int temp

int16 zkb=50;

Temp =2^16-5*zkb

ZH = temp/256

ZL = temp%256

K()

}

}

void init_sys(void) /*系统初始化函数*/

{

TMOD=V_TMOD /*定时器初化*/

TH0=ZH

TL0=ZL

TH1 = V_TH1

TL1= V_TL1

TR1 = 1

ET1 = 1

ET0=1 /*允许T0中断

EA=1 /*CPU开中断

}

Void k(int16 vk,ik)

{ static int16 prek

pk=vk*ik

prek=0

vk=0

if(prvpk==pk)

{

return

}

else

{

if(pk>prepk)

{ prek=pk

if(vk>prevk)

{

zkb++

prevk=vk

prepk=pk

}

else

{

zkb--

prevk=vk

prepk=pk

}

}

else

{

if(vk>prevk)

{

zkb++

prevk=vk

prepk=pk

}

else

{

zkb--

prevk=vk

prepk=pk

}

}

/*中断函数*/

void timer0(void) interrupt 1

{

P2_2=! P2_2

TR0 = 0

}

Void timer1(void) interrupt 2

{

TH1 = V_TH1 /*恢复定时器T0初始值*/

TL1 = V_TL1

P2_2=! P2_2

TH0=ZH /*恢复定时器T0初始值*/

TL0=ZL

TR0 = 1

}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/11544666.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存