智能车制作

标题: 我的舵机控制不了了,各位帮忙看看程序有没有错误,谢了啊 [打印本页]

作者: 竹叶    时间: 2013-3-30 09:08
标题: 我的舵机控制不了了,各位帮忙看看程序有没有错误,谢了啊
我的舵机 使用的 20ms的,是3010,现在给他脉冲 左转右转都没问题,AD采集值没问题,然后写了个简单的控向程序,但是不好用,大神帮忙看看吧
void Duo_zhuanwan()
{
int p1,m ;

m= (ad_value_0 - ad_value_1)/(ad_value_0 + ad_value_1);

if(m<=1||m>=-1)   /* 1500时 90度 中间    AD采集数 120*/
{

p1=1500-(m*400);

pwm2_init(p1);
  }

}    /*___占空比____*/

这是AD部分
void Init_AD_more(void)
{   
  ATD0CTL1 = 0x00;    //选用8位模数转换
  ATD0CTL2 = 0X40;    //启动A/D转换,快速清零,禁止中断
  //delay_atd();                //延时
  ATD0CTL3 = 0Xa0;    //10100000 转换序列长度为4   右对齐
  ATD0CTL4 = 0x07;    //AD模块时钟频率为2MHz  fA=fBUS/(PRS+1)/2      24周期采集
  ATD0CTL5 = 0X30;    //多通道,连续转换,起始通道AD0   AD1,AD2,AD3,因为 0011 转换一次
  ATD0DIEN = 0X00;    // 禁止数字输入■                                                                           8

}
/*______________________________AD 0---1 口 数据_____________________________________*/
void AD_get_more(void)                             
{   
   while(!ATD0STAT2_CCF0);   
   {
      PORTA_PA0=1;
      ad_value_0=ATD0DR0;            
   }
   while(!ATD0STAT2_CCF1);
   {
      PORTA_PA1=1;
      ad_value_1=ATD0DR1;
    }

}








欢迎光临 智能车制作 (http://111.231.132.190/) Powered by Discuz! X3.2