智能车制作
标题:
直立,加速度控制之后
[打印本页]
作者:
南宫封枫
时间:
2014-4-5 10:39
标题:
直立,加速度控制之后
我是用的是LPLD的V2库,中断函数按照官方的思路编写的,当角度P= 100,D= 2,速度P=0,I= 0的时候,程序能够按照时序正常运行( LPLD_GPIO_Toggle_b(PTA,5); ///// 5HZ);但是当角度P= 100,D= 2,速度P=0,I= 0.1的时候程序就不能正常运行了( LPLD_GPIO_Toggle_b(PTA,5); ///// 2.5HZ)。。。这个时候根本无法控制直立。。求牛人解答。。
void pit0(void) //1MS进入中断
{
g_nSpeedControlPeriod ++;
SpeedControlOutput();
g_n1MSEventCount ++;
LPLD_GPIO_Toggle_b(PTA,9);/////// 500Hz
if(g_n1MSEventCount >= 5)
{
g_n1MSEventCount = 0;
}
if(g_n1MSEventCount == 0)
{
LPLD_GPIO_Toggle_b(PTD,0);
MMA8451();
ENC_03();
AngleCalculate();
AngleControl();
MotorOutput();
}
else if(g_n1MSEventCount == 1)
{
LPLD_GPIO_Toggle_b(PTD,1);
g_nSpeedControlCount ++;
if(g_nSpeedControlCount >= 20)
{
LPLD_GPIO_Toggle_b(PTA,5); ///// 5HZ
GetMotorPulse(); //读取两个电极脉冲计数值
SpeedControl();
g_nSpeedControlCount = 0;
g_nSpeedControlPeriod = 0;
}
}
else if(g_n1MSEventCount == 2)
LPLD_GPIO_Toggle_b(PTD,2);
else if(g_n1MSEventCount == 3)
LPLD_GPIO_Toggle_b(PTD,3);
else if(g_n1MSEventCount == 4)
LPLD_GPIO_Toggle_b(PTD,4);
}
欢迎光临 智能车制作 (http://dns.znczz.com/)
Powered by Discuz! X3.2