智能车制作

标题: 车子无法往左转 [打印本页]

作者: 18505541003    时间: 2014-5-16 08:26
标题: 车子无法往左转
车子总是无法往左转,CCD返回回来的图像是对的,当给适合的PWM值时车子会左右转,但是左边转的最大幅度没有右转的大,是不是轮子要调整???可是为什么我们车子不会往左转呢?有没有可能是我们测的左右PWM值错误,不过我们都测了很多遍还是不行,求大神指教还有可能有什么原因导致车子无法左转。


作者: 18505541003    时间: 2014-5-16 08:28
//////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////  方向控制  //////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////
int dir_mid=2800;
int dir_left=3450;
int dir_right=2150;
int dir_p=6;
//3250左值,2350右值,2800中值
int abs(int a)
{
    if(a<0)
        return -a;
    else
        return a;
}

int dir1() {

int leftnum,rightnum,left,right,i;
  int output;
   left=0;
   right=0;
   for(i=64;i>=5;i--)
    {
        if(abs(ADV[i-2]-ADV[i])>=20)
        {
            left=1;                               //找到左边黑线位置
            leftnum=i-2;
            break;
        }
    }
     for(i=64;i<=102;i++)
    {
         if(abs(ADV[i+2]-ADV[i])>=20)
         {
             right=1;                              //找到右边黑线位置
             rightnum=i+2;
             break;
         }     
    }
    if(right==1&&left==1)
    {
        rightnum=abs(rightnum-64);
        leftnum=abs(64-leftnum);
        if(rightnum>leftnum)
               output=dir_mid-(rightnum-leftnum)*dir_p;
         else if(rightnum<leftnum)
               output=dir_mid+(leftnum-rightnum)*dir_p;
         else output=dir_mid;
    }
    else if(right==1)
      output=dir_mid+rightnum*dir_p;
    else if(left==1)
      output=dir_mid-leftnum*dir_p;
    if(output>dir_left)
    output=dir_left;
    if(output<dir_right)
    output=dir_right;
    PWM_Output(PWM_PIN_PTA10,output);
    return output;
}
作者: 18505541003    时间: 2014-5-16 08:29
我们车子转向的程序在上面,程序是蓝宙的,应该不会出问题吧
作者: zhuimengA2012    时间: 2014-5-17 21:41
程序略简单。。。
作者: 18505541003    时间: 2014-5-18 07:05
zhuimengA2012 发表于 2014-5-17 21:41
程序略简单。。。

求大神给牛掰程序
作者: zhuimengA2012    时间: 2014-5-18 15:21
18505541003 发表于 2014-5-18 07:05
求大神给牛掰程序

你们舵机中间值为什么是2800?

作者: 18505541003    时间: 2014-5-18 19:14
zhuimengA2012 发表于 2014-5-18 15:21
你们舵机中间值为什么是2800?

我们换成大律算法,现在车子能跑了,中间值是输出PWM使舵机转到中间一个一个试出来的,左右值也是一个一个试出来的
作者: 18505541003    时间: 2014-5-18 19:17
zhuimengA2012 发表于 2014-5-18 15:21
你们舵机中间值为什么是2800?

感觉你车子方面懂得挺多,希望能留个qq,方便以后交流





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