找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 6247|回复: 5
打印 上一主题 下一主题
收起左侧

智能寻迹小车的差速转弯单片机代码怎么写?驱动模块要接通道使能端口吗?

[复制链接]
跳转到指定楼层
楼主
我的车是两个L298N驱动模块的,四轮

引脚的定义是这样的:
sbit b11 = P1^3;                      //前轮声明  左a右b          a11  b11为高平
sbit b12 = P1^2;
sbit a11 = P1^1;
sbit a12 = P1^0;                  

sbit a21 = P1^4;                           //后轮声明  左a右b          a21 b21为高平
sbit a22 = P1^5;
sbit b21 = P1^6;
sbit b22 = P1^7;


之前的左转的方式是右边两个轮子转,左边的不转来转弯,现在想让两边的轮子转速不同来实现转弯。
void TurnLeft()                                         //a尾2为1  b尾1为1
{
   a11 = 0;      a12 = 0;
   a21 = 0;                 a22 = 0;
   b11 = 1;      b12 = 0;
   b21 = 1;      b22 = 0;
}


左转的条件是这样的,因为速度比较快,用了延时。

if(LED0==1&&LED1==0&&LED2==0&&LED3==1&&LED4==1&&LED5==1&&LED6==1)  //左转声明
         {
                   while(1)
                     {
                            TurnLeft();  delay(60); Xiaoying();
                            if(LED3==0&&LED4==0||LED2==0&&LED3==0&&LED4==0||LED2==0&&LED3==0)
                            {
                              break;
                            };

                         };
         };        



请问要用差速的话代码要怎样写呢?驱动模块要不要接通道使能端口呢?求大神指教



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:410399 发表于 2018-12-13 17:29 | 只看该作者
差速的话用PWM调速吧
回复

使用道具 举报

板凳
ID:169944 发表于 2018-12-13 18:28 | 只看该作者
你这个没编码器,不太好通过走的路程来转特定角度,只能通过测试,让前轮速度不同,后轮速度恒定,来转弯,左快右慢,就左转了,右转同理,PWm控制不同速度
回复

使用道具 举报

地板
ID:424741 发表于 2018-12-13 19:21 | 只看该作者
mosqu 发表于 2018-12-13 17:29
差速的话用PWM调速吧

我知道要用PWM,但就是不知道具体怎么写,在网上看了一些,但还是不懂,大神能按照左转的要求写个差速吗?有个例子的话我可能会懂一点,谢谢大神
回复

使用道具 举报

5#
ID:401790 发表于 2018-12-13 20:39 | 只看该作者
unsigned char zuo_pwm = 200
unsigned char you_pwm = 200
void timer0() interrupt 1
{
        pwm++;
        if(pwm == 255)
                pwm = ENA = ENB = 0;
        if(zuo_pwm == pwm)
                ENA = 1;               
        if(you_pwm == pwm)
                ENB = 1;                         
}
我以前用的,开一个定时器0出来工作方式1,定时器中断程序控制驱动板使能端A.B的占空比  你给使能端站空比不同的时候他们速度就不同了   255-(zuo_pwm200/pwm255)就是使能A的占空比,初值越接近255就速度就越小。255也可以自己改,驱动的排列喜欢用1个驱动控制左边2个轮子  右边一个程序好写和看
回复

使用道具 举报

6#
ID:440534 发表于 2018-12-13 20:48 | 只看该作者
用PID算法差速转弯
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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