12968| 1
|
[项目] L298N_红色直流电机驱动模块+掌控板的应用:仰望3动力升级 |
本帖最后由 rzyzzxw 于 2023-1-2 13:14 编辑 【背景】 仰望小车3不是这个帖子的主角,主角是这个红色的模块L298N_红色直流电机驱动模块: 看习惯了DF电子模块的精致,初次看到它时,觉得丑陋,可是当我能把它和掌控结合一起用起来后,嗯,还可以,不那么难看了。 仰望3号是在跨年夜里搭成的,还行,能跑起来,但动力稍稍差了一点,元旦的今天,孩子在写作业,我在探索对它动力升级。 那个DF直流电机驱动模块L298N直流电机驱动模块DF-MD V1.3: 已经用在仰望2号上了,车子也蛮帅气,也不想拆它了,于是,我又默默的取出了L298N_红色直流电机驱动模块,打开社区里亮工和Nick的教程帖,认真学习起来。 李亮:【Mind+】(超详细)如何使用L298N电机驱动图形编程控制电机 https://mc.dfrobot.com.cn/thread-298567-1-1.html?fromuid=727937 (出处: DF创客社区 - 分享创造的喜悦) Nick:【Mind+扩展库发布】:L298N_红色直流电机驱动模块 https://mc.dfrobot.com.cn/thread-305753-1-1.html?fromuid=727937 (出处: DF创客社区 - 分享创造的喜悦) 【学习】 先学习的是李亮工程师的教程:(自己学习请点开亮工帖子认真研读,下面摘要只是方便我记忆) 摘要: L298N参数: 参数一般只关心如下两个: 逻辑电压(控制端口电压):5V 驱动电压(电机电压):5V-35V (我计划用8V锂电供电,在这个范围中) 驱动电流(电机电流):2A(MAX单桥) 意味着这个板子适合用5V引脚的主控板驱动(例如arudino系列),而3.3V引脚的主控板可能就不能用了(例如mcirobit、掌控板、esp32)。这个板子驱动的一般都是小电流的电机,例如TT电机(小黄马达)、N20电机这一类的。(我要用掌控板做主控,3.3V,好像不太好用哦。上次我按Nick的教程测试,电机只能勉强转起来,没有一点力量的呢。) 接下来看L298N的控制方法:(现在这个图片能看懂了,实践很要紧) 引脚说明: 输出A、输出B:接两个电机,不分正负,反了只会反转。(换线头可以调方向) GND:电源地,需要与主控板的GND用一根杜邦线连接到一起(共地)。(这一点很重要的) 12V供电:给电机供电的接口,此处要独立供电,最好不要从主控板引电。 5V供电:此为电压输出口,可以使用这个口给主控板供5V电源,但不推荐这么用。 板载5V使能:此跳线帽接起来之后上面的“5V供电”口才有5V电压输出。 通道A、通道B使能(ENA、ENB):此接口高电平则电机可以运行,低电平则电机停止运行,一般直接跳线帽短接到高电平,即一直使能,可以拔掉跳线帽接到主控板pwm模拟输入端口实现调速(我要调速,就要拔掉跳帽了)。 逻辑输入(IN1、IN2、IN3、IN4):这两个接口控制电机正反转,IN1和IN2控制电机M1,IN3和IN4控制电机M2. 具体控制信号如下图(重点图片): 简单理解(亮工神总结): 电源接线: 从12V和GND供6-12V的电压。 L298N和主控板的GND使用一根线连接起来。 板载5V使能跳线帽不动。 电机接线: 两个电机分别接到M1和M2上。 信号控制: ENA和ENB跳线帽拔掉,使用杜邦线分别接到主控板两个PWM模拟输出口。 IN1和IN2,IN3和IN4分别接到主控板数字口。 一图说明: 以Arduino uno为例(例图不是掌控,我们要在大脑中结合掌控扩展板翻译成掌控的接线图) 其中:(这是例图的接线) ENA接D5 (PWM口) ENB接D6 (PWM口) IN1接D3 IN2接D4 IN3接D8 IN4接D7 我用L298N_红色直流电机驱动模块和掌控扩展板的接线方式(可以更换的哦,我这样安排是方便写程序,好记): ENA接 P8 (PWM口) ENB接 P9 (PWM口) IN1接 P13 IN2接 P14 IN3接 P15 IN4接 P16 提示:记得L298N和主控板的GND使用一根杜邦线连接起来 电机1、2分别接电机接口 不分正负,换线头可以调方向 8V锂电正极 接 12V接口 负极接GND口 掌控扩展板用3.7v锂电供电 接下来进行编程: 使用Mind+,下载和安装按照官网教程进行即可(http://mindplus.cc ) 打开Mind+,切换到“上传模式”,“扩展库”>“主控板”>选择“掌控板” 注意:如果对mind+不了解可以先学习一下官方教程:http://mindplus.dfrobot.com.cn L298N的驱动只有数字输出和模拟输出即可控制,因此不用再加载扩展模块。 首先让M1正转起来: 根据信号图,只需要让IN1高电平,IN2低电平,ENA输出PWM调速即可。 程序如下,让电机M1以800的速度正转。(掌控板的调速范围是0-1023。) 上传运行之后如果电机不转,则检查电源接线是否正确,是否共地,信号线是否正确,是否接触良好,尝试将速度调到最大。 接下来测试M1反转,只需要让IN1低电平,IN2高电平即可: 正5秒,反5秒,停1秒,重复3次 接下来测试M2正转,让IN3高电平,IN4低电平即可 程序如下,让电机M2以600的速度正转。 上传运行之后如果电机反转了,只需要把M2电机的两个线调换即可。 接下来测试M2反转,IN3高电平,IN4低电平即可 最后测试停止功能,停止电机转动只需要把速度设置为最低即可: 程序如下,两个轮子同时以800速度反转5秒,然后停止3秒。 经过这个测试,则我们就可以控制电机了。 考虑到单独使用引脚控制不方便,我们可以使用”函数“功能,将这几个功能变成一个个函数: 添加一个输入参数为速度,方便速度的控制: 测试一下,双电机1000速度正转1秒,600速度反转1秒,停1秒。 那么,后面仰望小车的遥控控制就可以很方便完成了。 程序如下,仰望小车3L298N_红色直流电机驱动模块版: 遥控器仍然沿用前面帖子的配置: 程序如下 【小结一下】 1、经过测试,L298N_红色直流电机驱动模块在掌控3.3伏逻辑电压下也还可以工作。 虽然没有aduino那样5V逻辑电压的效果好,基本上还算可以。2、现在再看L298N参数:逻辑电压(控制端口电压):5V 这个逻辑电压的意思终于明白了,就是IN1,IN2,IN3, IN4, ENA,ENB它们的电压啊。这个红色驱动模块如果用在5V电压的aduino上,同样的驱动电压(电机电压)情况下应该能发挥更强大的驱动力吧。 3、按这个思路走,mPython也可以给L298N_红色直流电机驱动模块编写程序了(后面再汇报结果)。 仰望红色电机驱动模块版.rar 【感谢】李亮工程师的详细教程。 |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed