Open Source Maximiser.

Talk about your designs, motors, maximisers and other related stuff here.

Open Source Maximiser.

Postby TonyB » Tue Dec 01, 2009 10:58 pm

For anyone interested in playing around with there own MPPT, and understands embedded C code, here is the basic tracking algorithm the Black Magic uses.

Code: Select all
uint8_t SearchAndDestroy(void)
{
   uint32_t newpower = voltage * current;

   if(newpower > oldpower && direction == UP)
   {
      incrementREF();   
      oldpower = newpower;
      return 0;
   }

   if(newpower > oldpower && direction == DOWN)
   {
      decrementREF();
      oldpower = newpower;
      return 0;
   }   

   if(newpower < oldpower && direction == UP)
   {
      decrementREF();
      direction = DOWN;
      oldpower = newpower;
      return 0;
   }

   if(newpower < oldpower && direction == DOWN)
   {
      incrementREF();
      direction = UP;
      oldpower = newpower;
      return 0;
   }

   if(newpower == oldpower)
   {
      incrementREF();
      oldpower = newpower;
      return 0;
   }

   return 0;
}


The tracking routine is executed 10 times a second. Every increment/decrement step shifts the reference up or down 0.2 of a volt.
Ill upload schematics in the next few days.
User avatar
TonyB
 
Posts: 501
Joined: Sun Dec 02, 2007 3:45 am
Location: Australia

Return to Tech Talk

Who is online

Users browsing this forum: No registered users and 0 guests