嵌入式入门学习笔记——L298n驱动模块、麦克纳姆轮小车
【摘要】 L298N是一款高性能电机驱动模块,可同时控制两个直流电机(6V-46V,2A),支持正反转、PWM调速及过热保护。通过Arduino的I/O引脚控制ENA/ENB使能端和IN1-IN4方向引脚,实现电机驱动。典型应用包括基础电机控制和麦克纳姆轮全向移动,后者需对各轮速度进行正交分解组合,通过8个独立函数控制各轮方向及速度,实现前进、后退、平移、旋转等复杂运动。代码示例展示了电机加速/减速控
一、L298n驱动模块
1.好处
L298N,是一款接受高电压的电机驱动器,直流电机和步进电机都可以驱动。一片驱动芯片可同时控制两个直流减速电机做不同动作,在6V到46V的电压范围内,提供2安培的电流,并且具有过热自断和反馈检测功能。
L298N可对电机进行直接控制,通过主控芯片的I/O输入对其控制电平进行设定,就可为电机进行正转反转驱动,操作简单、稳定性好,可以满足直流电机的大电流驱动条件。
2.各引脚意思,接法
MOTORA: 电机A
MOTORB: 电机B
VMS: 可接46V电源
GND :负极
5V:5v输出电压(可为arduino供电)
ENA:使能端A,可控制电机A的转速
ENB:使能端B,可控制电机B的转速
IN1、IN2:控制电机A(MOTORA)正转反转
IN3、IN4:控制电机B(MOTORB)正转反转
举个例子
二、思路
电源给驱动板供电
驱动板给arduino板供电(5V)
arduino通过ENA、ENB、IN引脚发送信息给驱动板
驱动板执行
三、接线
四、代码
analogwrite()函数产生PWM信号将两个电动机从零加速到最大速度,然后将其减速回零。最后,它关闭了电动机
五、麦克纳姆轮
因为麦克纳姆轮子是斜的,所以受到地面的摩擦力也是斜的45°
正确装法
前进:
受力分析,将速度正交分解,左右相抵消
后退
同理
原地旋转:
左前轮 | 前进 |
左后轮 | 前进 |
右前轮 | 后退 |
右后轮 | 后退 |
上下的速度相互抵消,前面的轮速度向右,后面的轮速度向左。
平移:
左前轮 | 后退 |
左后轮 | 前进 |
右前轮 | 前进 |
右后轮 | 后退 |
上下的速度相互抵消,前面的轮速度向左,后面的轮速度向左。
斜向上:
错误装法
部分代码展示:
先写各个轮子运动的情况函数,共八种
整体小车的运动情况代码
五、成果
不能上传视频,不便展示
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)