智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 1201|回复: 0
打印 上一主题 下一主题

舵机转角问题

[复制链接]

5

主题

111

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1308
威望
741
贡献
409
兑换币
37
注册时间
2011-4-30
在线时间
79 小时
跳转到指定楼层
1#
发表于 2011-5-23 17:44:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你们舵机转弯的时候是直接将占空比赋值还是如何改变舵机的转角?

以下是我的代码   我感觉我的舵机转弯的时候很不平滑   还有延时0.2~0.5s吧   请各位大侠提供建设性建议
是利用AVR单片机控制   WINAVR编译环境     车体与飞思卡尔不一样   更大  有可能是惯性大的原因么  
还有轮子歪了如何矫正  谢谢

SIGNAL(SIG_OVERFLOW0)//定时器0中断溢出函数,有黑线传感器输出低电平,否则反相                                                       
{
        if(flag==0)
        {
                PORTD&=~(1<<PD0);//PD0=0
                flag=1;
        }
        else
        {
                PORTD|=(1<<PD0);//PD0=1
                flag=0;
        }
       
        if((PINA&0x3f)==0x3f)//直线行走,不需要转向
                {OCR1A=750;}
        else
        if((PINA&0x3d)==0x3d)//第二个传感器检测到黑线
        {
                j+=100;
                if(j>=1000)
                {j=1000;}
                OCR1A=j;
        }
        else
        if((PINA&0x3b)==0x3b)//第三个传感器检测到黑线
        {       
                j+=50;
                if(j>=1000)
                {j=1000;}
                OCR1A=j;
        }
        else
        if((PINA&0x37)==0x37)//第四个传感器检测到黑线
        {       
                j-=50;
                if(j<=500)
                {j=500;}
                OCR1A=j;
        }
        else
        if((PINA&0x2f)==0x2f)//第五个传感器检测到黑线
        {       
                j-=100;
                if(j<=500)
                {j=500;}
                OCR1A=j;
        }
        key();
}

OCR1A=750 是1.5ms 也就是舵机转角正中
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-10-4 02:32 , Processed in 0.073529 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表