Hi
I have to do my project with solar explorer kit,to track the mpp using another algorithms.like constant voltage method.Now the existing programm is with perturb and observe,incremental conductance method.I have to firstly understand the programm.Can anybody ask the following questions?
here is the MPPT part of the programm in CCS6
void B1(void) // MPPT Execution
//----------------------------------------
{
if(Run_MPPT==1)
{
// MPPT routine
mppt_incc1.Ipv = IpvRead_EMAVG; //IpvRead;
mppt_incc1.Vpv = VpvRead_EMAVG; //VpvRead;
mppt_incc_MACRO(mppt_incc1);
VpvRef_MPPT = mppt_incc1.VmppOut;
mppt_pno1.Ipv = IpvRead_EMAVG; //IpvRead;
mppt_pno1.Vpv = VpvRead_EMAVG; //VpvRead;
mppt_pno_MACRO(mppt_pno1);
//VpvRef_MPPT = mppt_pno1.VmppOut;
if(VpvRef_MPPT<_IQ24(0.0))
{
VpvRef_MPPT=_IQ24(0.0);
}
else if(VpvRef_MPPT>_IQ24(0.9))
{
VpvRef_MPPT=_IQ24(0.9);
}
VpvRef=VpvRef_MPPT;
Run_MPPT=0;
}
//MPPT is a slow task, the following code enables to modulate the rate at which the MPPT is called
if(MPPT_slew==0)
{
if(MPPT_ENABLE==1)
{
Run_MPPT=1;
mppt_incc1.mppt_enable=1;
}
MPPT_slew=0;
}
else
MPPT_slew--;
// Toggle LD2 on the control card if MPPT enabled
if(MPPT_ENABLE==1)
{
if(LedBlinkCnt2==0)
{
GpioDataRegs.GPATOGGLE.bit.GPIO31 = 1; //turn on/off LD2 on the controlCARD
LedBlinkCnt2=1;
}
else
LedBlinkCnt2--;
}
//-----------------
//the next time CpuTimer1 'counter' reaches Period value go to B2
B_Task_Ptr = &B2;
//-----------------
}
1.which method was used in this programm? is it pno or incc?,cause i've seen both names in the programm.
2.if i want to write a new mppt programm with new method,which parts should i change? the main.c code has so many lines,and i can't understand them all,the mppt must be connected to some specific parts,which i should replace.
thank you in advance
Jiayi