双轴太阳能追踪系统的太阳能帆板的控制算法就如下面的这个程序所示,上下左右各有一个光敏电阻,如果上面检测到的光强要大于下面检测的光强大了很多,那就控制步进电机往上面转一下。
///////////////////////////
if(((AD_Up<AD_Down)&&(AD_Down-AD_Up>10))||(!UP))//上转
{
for(i=0;i<10;i++)
{
for(j=0;j<4;j++)
{
P2=Motor_Up[j];
Delay_ms(10);
}
}
}
//////////////////////////////////////
if(((AD_Up>AD_Down)&&(AD_Up-AD_Down>10))||(!DOWN))//下转
{
for(i=0;i<10;i++)
{
for(j=0;j<4;j++)
{
P2=Motor_Down[j];
Delay_ms(10);
}
}
}
/////////////////////////////
if(((AD_Left<AD_Right)&&(AD_Right-AD_Left>10))||(!LEFT))//左转
{
for(i=0;i<10;i++)
{
for(j=0;j<4;j++)
{
P2=Motor_Left[j];
Delay_ms(10);
}
}
}
//////////////////////////////////////
if(((AD_Left>AD_Right)&&(AD_Left-AD_Right>10))||(!RIGHT))//右转
{
for(i=0;i<10;i++)
{
for(j=0;j<4;j++)
{
P2=Motor_Right[j];
Delay_ms(10);
}
}
}
////////////////////////////////////
Delay_ms(100);//延时,可适当修改