2023-1-2 13:20:43 [显示全部楼层]
12972浏览
查看: 12972|回复: 2

[项目] 发现秘密:L298N_红色直流电机驱动模块扩展库+掌控板在仰....

[复制链接]
本帖最后由 rzyzzxw 于 2023-1-4 11:37 编辑

发现秘密:L298N_红色直流电机驱动模块扩展库+掌控板在仰....图12



【主角】
这个帖子的主角依然是L298N_红色直流电机驱动模块,我们将探索L298N_红色直流电机驱动模块mind+扩展库和掌控板结合的应用。
发现秘密:L298N_红色直流电机驱动模块扩展库+掌控板在仰....图2
【背景】在仰望2的测试过程中我尝试用L298N_红色直流电机驱动模块Mind+扩展库来写程序,可是使用中发现即使将速度参数调到最大值,也只是有轻微的转动,没有力量,想让小车在地上跑起来,根本不可能。
发现秘密:L298N_红色直流电机驱动模块扩展库+掌控板在仰....图1
在上一个帖子中我重新学习了李亮工程师的教程:
【Mind+】(超详细)如何使用L298N电机驱动图形编程控制电机https://mc.dfrobot.com.cn/thread-298567-1-1.html?fromuid=727937(出处: DF创客社区 - 分享创造的喜悦)并用它解决了仰望3的动力升级问题。在测试中我忽然灵光一现,想到了Mind+扩展库:L298N_红色直流电机驱动模块 前面的和掌控板结合的测试中只能让电机轻微转动没有力量的问题所在,0-255的速度范围在aduino uno中是可以的,可是掌控板下它的速度范围应该是0-1023,如果是这样子,255就是只能提供很弱的动力了。
重读Nick的教程:【Mind+扩展库发布】:L298N_红色直流电机驱动模块https://mc.dfrobot.com.cn/thread-305753-1-1.html?fromuid=727937(出处: DF创客社区 - 分享创造的喜悦)后,我开始尝试,如上图所示,速度框中最大只能输入255,怎么办呢?
解决问题的秘密就在软件中。
发现秘密:L298N_红色直流电机驱动模块扩展库+掌控板在仰....图3

准备工作:

1、下载及安装软件。下载地址:http://www.mindplus.cc
2、切换到“上传模式”。
3、“扩展”中选择“主控板”中的“掌控板”。
4、“扩展”中选择“用户库”:
4、加载成功之后,双击加入,然后进行编程。
5、菜单栏“连接设备”,“上传到设备”
特别注意
  • 电机扩展板需要外接电源


我的测试环境:
L298N_红色直流电机驱动模块和掌控扩展板的接线方式(可以更换的哦,我这样安排是方便写程序,好记):

ENA接 P8 (PWM口)
ENB接 P9 (PWM口)

IN1接 P13
IN2接 P14

IN3接 P15
IN4接 P16

提示:记得L298N和主控板的GND使用一根杜邦线连接起来

电机1、2分别接电机接口 不分正负,换线头可以调方向

8V锂电正极 接 12V接口   负极接GND口

掌控扩展板用3.7v锂电供电
发现秘密:L298N_红色直流电机驱动模块扩展库+掌控板在仰....图4
编写程序如下:
M1电机正转1秒,反转1秒,停1秒,速度最大255。
发现秘密:L298N_红色直流电机驱动模块扩展库+掌控板在仰....图5
上传掌控板,电机只会轻微转动或者有嗡嗡声。

下面开始运用秘密--手动编辑。
在自动生成代码区右击--全选--复制--点击手动编辑--右击--粘贴
发现秘密:L298N_红色直流电机驱动模块扩展库+掌控板在仰....图6
然后手动修改速度数值为1000,上传代码到掌控板。
发现秘密:L298N_红色直流电机驱动模块扩展库+掌控板在仰....图7
惊喜就来了,电机在8 VL298N_红色直流电机驱动模块驱动下高速运转起来了。
修改成M2,速度800,上传测试。
发现秘密:L298N_红色直流电机驱动模块扩展库+掌控板在仰....图8
测试通过,动力很足。


所以,我们只管用L298N_红色直流电机驱动模块扩展库积木块去编写程序,最后修改速度数据为所需值就可。


【编写程序】
仰望小车3程序
驱动模块接线还是测试用的,加上舵机接扩展板的P0口。
发现秘密:L298N_红色直流电机驱动模块扩展库+掌控板在仰....图10
这个程序上传是不能工作的哦,手动编辑一下吧。
  1. /*!
  2. * MindPlus
  3. * mpython
  4. *
  5. */
  6. #include <L298N.h>
  7. #include <MPython.h>
  8. #include <DFRobot_Servo.h>
  9. #include <DFRobot_ESP32_Radio.h>
  10. // 动态变量
  11. volatile float mind_n_s, mind_n_y, mind_n_d;
  12. // 函数声明
  13. void onRadioReceive(String message);
  14. void onRadioReceive_0();
  15. void onRadioReceive_1();
  16. void onRadioReceive_2();
  17. // 创建对象
  18. DFRobot_ESP32Radio Radio;
  19. L298N              tb1(P8,P13,P14,P9,P15,P16);
  20. Servo              servo_P0;
  21. // 主程序开始
  22. void setup() {
  23.         mPython.begin();
  24.         Radio.setCallback("d", onRadioReceive_0);
  25.         Radio.setCallback("r", onRadioReceive_1);
  26.         Radio.setCallback("p", onRadioReceive_2);
  27.         servo_P0.attach(P0);
  28.         Radio.setCallback(onRadioReceive);
  29.         Radio.turnOn();
  30.         Radio.setGroup(13);
  31.         display.setCursorLine(1);
  32.         display.printLine("Mind+仰望3");
  33.         servo_P0.angle(abs(90));
  34. }
  35. void loop() {
  36. }
  37. // 事件回调函数
  38. void onRadioReceive(String message) {
  39.         mind_n_s = (String(message).toInt());
  40.         if (((mind_n_s>10) && (mind_n_s<99))) {
  41.                 mind_n_y = (floor((map(mind_n_s, 80, 40, 60, 120))));
  42.                 servo_P0.angle(abs(mind_n_y));
  43.         }
  44.         if (((mind_n_s>99) && (mind_n_s<199))) {
  45.                 mind_n_d = (floor((map(mind_n_s, 140, 100, 600, 1000))));
  46.                 tb1.setSpeed(M3, CW,mind_n_d);
  47.         }
  48.         if (((mind_n_s>199) && (mind_n_s<299))) {
  49.                 mind_n_d = (floor((map(mind_n_s, 240, 200, 600, 1000))));
  50.                 tb1.setSpeed(M3, CCW,mind_n_d);
  51.         }
  52.         if ((mind_n_s>299)) {
  53.                 mind_n_d = 0;
  54.                 tb1.setSpeed(M3, CW,mind_n_d);
  55.         }
  56. }
  57. void onRadioReceive_0() {
  58.         tb1.setSpeed(M2, CW,600);
  59. }
  60. void onRadioReceive_1() {
  61.         tb1.setSpeed(M2, CCW,600);
  62. }
  63. void onRadioReceive_2() {
  64.         tb1.stop(M3);
  65. }
复制代码
将代码上传仰望3小车,测试通过。


仰望百灵鸽遥控器(前面教程中有详细介绍)遥控器仍然沿用前面帖子的配置:
发现秘密:L298N_红色直流电机驱动模块扩展库+掌控板在仰....图9
遥控器的程序还是用以前的。


【小结】
今天发现了这个小秘密,很开心,分享给大家。
还有一个小秘密:如果速度参数都可以用变量传递进去,图形化也是可以用的哦。

下载附件仰望3红色模块扩展库需手动修改版.rar







rzyzzxw  版主
 楼主|

发表于 2023-1-2 13:22:38

这是续集10:
正剧:
志童道合 | 仰望--帅气的掌控“新能源”小车
https://mc.dfrobot.com.cn/thread-314836-1-1.html?fromuid=727937
(出处: DF创客社区 - 分享创造的喜悦)
续集一:
志童道合 | 给仰望小车做个方向盘式的遥控器
https://mc.dfrobot.com.cn/thread-315004-1-1.html?fromuid=727937
(出处: DF创客社区 - 分享创造的喜悦)
续集二:
志童道合 | 升级仰望小车的动力系统
https://mc.dfrobot.com.cn/thread-315012-1-1.html?fromuid=727937
(出处: DF创客社区 - 分享创造的喜悦)
续集3:
志童道合 | 升级了遥控器,仰望实现无级变速
https://mc.dfrobot.com.cn/thread-315039-1-1.html?fromuid=727937
(出处: DF创客社区 - 分享创造的喜悦)
续集4:
志童道合 | 遥控再升级,增加刹车功能,仰望终极形态将...
https://mc.dfrobot.com.cn/thread-315051-1-1.html?fromuid=727937
(出处: DF创客社区 - 分享创造的喜悦)
续集5:
志童道合 | 用L298N直流电机驱动模块DF-MD V1.3 改造仰望小车2号
https://mc.dfrobot.com.cn/thread-315074-1-1.html?fromuid=727937
(出处: DF创客社区 - 分享创造的喜悦)
续集6:
L298N直流电机驱动模块DF-MD V1.3+百灵鸽,仰望2号跑起来
https://mc.dfrobot.com.cn/thread-315084-1-1.html?fromuid=727937
(出处: DF创客社区 - 分享创造的喜悦)
续集7:
L298N直流电机驱动模块DF-MD V1.3+掌控宝的仰望2号组合
https://mc.dfrobot.com.cn/thread-315093-1-1.html?fromuid=727937
(出处: DF创客社区 - 分享创造的喜悦)
续集8:
用掌控板+DF掌控micro:bit两用扩展板+TT电机+舵机...
https://mc.dfrobot.com.cn/thread-315100-1-1.html?fromuid=727937
(出处: DF创客社区 - 分享创造的喜悦)
续集9:
L298N_红色直流电机驱动模块+掌控板的应用:仰望3动力升级
https://mc.dfrobot.com.cn/thread-315101-1-1.html?fromuid=727937
(出处: DF创客社区 - 分享创造的喜悦)
回复

使用道具 举报

rzegkly  版主

发表于 2023-1-2 17:39:02

掌控“新能源”系列小车棒棒的
回复

使用道具 举报

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

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail