搭建ROS小车——下位机篇(基于arduino mega2560,L298N)

本文介绍了ROS与Arduino通讯及L298N的使用。L298N连接分不调速和调速两种方式,与Arduino连接需共地。选用Arduino Mega板有引脚多等优势。作者还分享了代码相关情况,包括宏定义、通讯部分修改,以及中断技巧和PID调试问题,代码已上传到GitHub。

ROS与arduino的通讯使用了ros_arduino_bridge,代码也是根据学校师兄的代码进行修改的,师兄说直接烧录就可以使用了但我还是遇到了很多问题,Debug的很难受,以下操作仅供参考,需要根据实际情况自行调整

L298N的使用

在这里插入图片描述

连接方式
  1. 不调速:直接与IN1、IN2连接,ENA、ENB键帽不动(键帽的作用是让ENA、ENB默认与5V连接,这样才能驱动电机转动,只有ENA、ENB处于高电平时对应的电机才能转动)
  2. 调速:IN1.2.3.4与arduino连接后,将ENA、ENB在IN平行一侧的针脚与arduino的PWM输出引脚连接,对ENA和ENB使能端输入PWM脉冲
    • 也有文章说可以直接arduino的pwm输出直接连接IN1、IN2来调速,但是在多次尝试后发现不行
与arduino的连接

这里要注意L298N与arduino一定要共地,直接GND与arduino的GND连接,调试的时候可以将L298N的5V口与arduino连接供电(因为供电口键帽没有拔掉的时候5V可以用来输出)

附上接线部分代码

//电机定义,ENCODER_1代表编码器正极,A标号为左侧电机
#define  PWMA  10
#define  AIN1  4
#define  AIN2  5
#define  AENCODER_1     3    //INT1--
评论 8
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值