3055浏览
查看: 3055|回复: 11

[项目] 【2020】APP Inventor+Mixly掌控板麦轮小车制造记

[复制链接]
      一直以来,对那些遥控车很感兴趣,儿子小时候也给买过一些玩具遥控车,能够实现前进、后退、转弯之类的功能,比如下面这样的:
麦轮小车制造记60.png
      但是这样的车子都是商业化的成品,功能有限,基本上无法改装。功能多、好玩的遥控车也有,但是价格不是我玩的。
      后来加入了一些创客类的QQ、微信群,看到群里面有高手们自制的各种遥控车,已经不仅仅是玩具遥控车那样前进后退转弯了,比如循迹、避障功能,加上摄像头还可以实现更多炫酷的功能。比如前两天在网上看到有个高手,因为新冠肺炎不能外出,自制了一个遥控车子去外面买馒头回来,令人十分的佩服。


      我在以前学习过一段时间的Arduino,买过一些车架、轮子、电机之类的设备,做了一个能遥控的小车,实现了一些前进、后退、转弯的功能,但是这个车子还是存在好多问题,比如直线走不直,后来网上查看知道这种情况需要再给轮子加码盘,需要计算轮子转速等等,手头又没有码盘,也就不了了之了。
      虽然这个小车是没有玩转,但是玩车子的心思一直存在着,后来又在网上看到一种更炫酷的轮子,叫做麦克纳姆轮,利用这种轮子,可以实现车子平移、原地掉头等功能,也想做一个玩玩,但是这种轮子价格高,还需要更多的电机、电机驱动板等,也只好在心理想着。
      大约199月底的时候,在一个创客群里有团购麦轮的活动,价格也能让我接受,就买了一套4个轮子,包括车架和TT马达,准备做一个麦轮小车,但是因为工作忙,一直没有时间做。准备放寒假做,可是真正放了寒假,已经腊月二十几了,又要准备过年打扫卫生、买年货之类的,正月又要走亲访友,眼看着麦轮小车又要黄了,突如其来的新冠肺炎,又把我禁足在了家里,无所事事之余,正好想起做麦轮小车,从这个想法开始,到初步做出来,花了我大约8天的时间,中间也遇到了各种问题,幸亏可以在网上查资料、向群里面各位老师请教,得到了各位老师不厌其烦的指导,在此首先向各位给予我帮助的各位老师致谢!
一、材料
      1.掌控板×1,这个就不上图了,我用的1.0版。扩展板×1。扩展板是以前买来的,功能单一,基本上就是将掌控板的IO口由金手指转换成了插针,有两个电机输出端,但是不够我用,而且这个扩展板不带电源。年前买了自带电源的百灵鸽扩展板,但是快递发到中途停运给退回去了,无奈只能是用以前那个扩展板了。
麦轮小车制造记993.png
      2.网上买来的车架×1、麦轮×4TT马达×4,买来的麦轮跟TT马达是不能直接匹配安装的,需要一个联轴器,好在卖家有配套的联轴器出售,图中红色的那个就是,但是那个联轴器是3D打印的,看起来有点不结实的感觉。
麦轮小车制造记1100.png

麦轮小车制造记1102.png

麦轮小车制造记1104.png

麦轮小车制造记1106.png

      3.L293D 电机驱动板模块×1
麦轮小车制造记1126.png
      对于这个电机驱动板,买的时间比较早,买的时候不懂,只看着可以控制4路马达,正好跟我的想法一致就买来了,可是真正用的时候才发现,这个电机驱动板是跟Arduino配套的,功能很强大,可以直接插到Arduino主板上使用,卖家也提供了一个Arduino的库,可是那些都是用代码实现的,而我目前的水平只能用图形化的方式编程,况且我要用掌控板做主控,那个库也无法实现,也看不懂究竟哪个IO口控制什么。好在配套资料中有一张板子的电路图,看电路图发现,这个板子使用了一块73HC595,通过查资料我知道,这货叫8位串行输入、并行输出的位移缓存器,大致意思就是将一个8位的二进制数据串行进,并行出,好处就是用较少的IO口去控制较多的IO口,每两个IO口通过电平高低控制一路DC马达,用一块L293D控制两路DC马达,共用2L293D实现4DC马达的控制。
      于是,我首先要了解595的功能及用法,在网上发现了B站有两位老师关于这个芯片的讲解非常好,先把这些资料也转过来。

      这是四川香城王艺刚老师的作品,纯手绘风格,讲的很清楚。


      这是另一位UP主的作品,听口音是港台的,用类比的方式讲解,很有特色。


      然后是L293D,具体到这个板子,我只能似懂非懂的看着电路图,用万用表一个管脚一个管脚的去测,找到了L293D输入和输出的对应关系,以及输出端子和电机的对应关系。
      在连线时又发现,这个扩展板当我有芯片的这么朝上放置时,插针是在板子的下方,非常不利于我辨识插针位置,只能用电烙铁把这些插针给焊下来,再焊接到另一面。使得这个好好的板子成了一个四不像。
麦轮小车制造记1939.png
      左边是改装后的,右边是原版的。
      4.电源方面,我以前看过一些资料,说马达驱动板需要电机供电部分和逻辑电路部分使用单独的电源供电,所以一开始我用了两个手机充电宝,一个给电机供电,一个给掌控板和电机驱动板逻辑部分供电。经过实际测试发现,充电宝输出的5V马达转速差不多合适,但是放上两个充电宝地方太拥挤,只好逻辑电路部分和掌控板用一个充电宝5V供电,马达用一个218650电池组成的模块供电,用2节电池输出7.4V供电,转速过快,用一节电池3.7伏供电,转的慢,很费劲,只能勉强使用了。
      5.杜邦线、导线若干、电烙铁、螺丝螺帽、万用表、钳子起子等。
麦轮小车制造记2215.png

麦轮小车制造记2217.png

麦轮小车制造记2225.png

      这是最终组装好后的样子,线路乱七八糟,面目狰狞啊!
麦轮小车制造记2253.png

二、电路
      通过掌控板的P1口输出8位串行数据给595DS口(14管脚),掌控板的P8口连接595ST_CP口(12管脚),掌控板的P9口连接595SH_CP口(11)管脚,实现利用掌控板的3IO口控制2L293D8个输入端。每个L293D可以控制两个电机,这样,2L293D就可以控制车子的四个电机。每个电机通过L293D的输入端高低电平组合实现正转反转。比如输入10使电机正转,输入01就是使电机反转了。这个需要对照电路图去辨别每个电机是由L293D的哪两个输入口控制,因为我看不懂那个库文件,只好用万用表对着电路图一个一个的去测量查找。
三、关于麦轮的控制
      我在微信群里面看到过一篇介绍的很详细的文章,但是写本文时找不到了,只保存了下面的图片。文章中对麦轮车的走法,有18种,每种走法,四个轮子如何转动,通过下图标识的很清楚,在后面的编程中,也主要是参考这个图实现的。
麦轮小车制造记2651.png

四、软件
      我的想法是用手机来控制车子,这就需要手机跟掌控板通讯,这方面可以有很多的方式,我采用的是手机端用APP Inventor编写APP,通过蓝牙与掌控板连接发送指令给掌控板,掌控板接收到指令做出相应的动作。
1.在手机APP端,首先要通过手机“设置”将手机蓝牙与掌控板蓝牙配对,然后在APP中将手机与掌控板蓝牙连接,我共设计了19个按钮,对应麦轮的18中走法,每按下一个按钮,发送一个指令给掌控板,掌控板根据接收到的指令做出相应的动作。
麦轮小车制造记2876.png
      下面是APP组件界面,设计的很粗笨,用了19个按钮,每个按钮用车子相应走法的图示标识,用的是前面的那个图裁剪的,偷懒的做法。
麦轮小车制造记2941.png
      下面是逻辑设计部分,第一部分是蓝牙连接部分:
麦轮小车制造记2966.png
      下面是指令发送部分,很简单,按下相应的按钮,只是通过蓝牙发送一个相应的指令字母,做的也很笨,重复了接近20个模块。
麦轮小车制造记3026.png
      2.在掌控板这边,因为是要用到蓝牙服务,不管是mPython X还是mPython,都没有提供图形化的蓝牙模块,听说Mixly支持掌控板蓝牙,所以只能用Mixly来设计掌控板的控制程序了。
      这是初始化部分:
麦轮小车制造记3132.png
      这算是主程序吧,按下掌控板的A键开始接收指令,不断的监听串口发来的数据,如果是a,执行前进的自定义函数a,如果是b,执行后退的自定义函数b,以此类推。
麦轮小车制造记3210.png
      下面是其中的一个自定义函数,目的就是通过P1口发送控制四个轮子的8位二进制串给595集成块,再由595转为并行的8位控制L293D,通过L293D驱动电机转动。
       这个部分我一开始的设计是下面的部分,很简单:
麦轮小车制造记3316.png
      但是实际调试时发现,我重复发送相同的指令,595集成块输出的信号本应该也是相同的,但实际上它会发生跳变,如下面视频:

备注:这部分我是把595芯片单独拿下来插在面包板上用LED灯测试的。


      经过请教王艺刚老师,说可能是什么稳态不稳态的东西,也可能是线材的问题,也说不好,咱也不懂这个原理。按照王老师的建议加了一个延时,这样改动后问题仍然存在,只是出现突变的情形非常少了。
      对于这部分,我也不懂原理,只能将就着用了,如果有了解的,请在帖子后面指导一下,先表示感谢。
麦轮小车制造记3728.png
      下面是最终的成果展示,虽然就是走了几步,转了几个圈,可是折腾了好多天的时间:


       虽然看起来蓬头垢面、笨拙不堪,但还是自己好多天辛辛苦苦的成果,回想起来,做出的车子是次要的,重要的是在制作的过程中学到了很多的知识,也有了一定的经验,这才是重要的。
      既然开了头,而且现在又有大把的时间供我折腾,我对这个车子还要折腾下去,比如说控制部分,我用的是蓝牙,容易受到干扰,作用距离也很短,接下来我再学习用其他的物联网方式去控制它,使它变得更好玩。
麦轮小车.rar (2.51 MB, 下载次数: 352)

rzyzzxw  版主

发表于 2020-2-6 20:47:31

好帅
回复

使用道具 举报

DFrJ5KYVQaH  中级技匠

发表于 2020-2-7 10:17:52

好的,学习学习
回复

使用道具 举报

glwz007  高级技师
 楼主|

发表于 2020-2-9 16:14:08


谢谢鼓励
回复

使用道具 举报

glwz007  高级技师
 楼主|

发表于 2020-2-9 16:32:31


谢谢鼓励
回复

使用道具 举报

且歌且行  中级技师

发表于 2020-2-15 22:48:21

老师的这篇文章信息量大,含金量也超高哦
回复

使用道具 举报

glwz007  高级技师
 楼主|

发表于 2020-2-16 19:59:51

且歌且行 发表于 2020-2-15 22:48
老师的这篇文章信息量大,含金量也超高哦

就是瞎折腾,学习别人的东西而已,谢谢鼓励!
回复

使用道具 举报

kylinpoet  高级技匠

发表于 2020-2-18 03:13:11

楼主强大,多谢分享。
回复

使用道具 举报

DFB1PEYnaaS  见习技师

发表于 2020-5-27 10:59:25

老师,你好。我是个小白,受到你的这个项目的启发,也想自己组一个,只是有一些疑问想请教一下,不知老师方便吗?谢谢。1、电机驱动板L293D,你是用一块就可以了吧?那这个线该怎么接?能不能把整个接线画一画?2、你这个轮子的直径是多少?电机有没有特别的参数。我在纠结这两个该怎么配。麻烦老师有空的时候回一下,谢谢。
回复

使用道具 举报

gada888  版主

发表于 2020-5-29 21:59:24

手工很赞
回复

使用道具 举报

glwz007  高级技师
 楼主|

发表于 2020-6-1 14:42:20


谢谢夸奖
回复

使用道具 举报

老叶  学徒

发表于 2021-5-4 22:36:48

手工很赞
回复

使用道具 举报

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

本版积分规则

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

硬件清单

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

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

mail