Skip to content

Latest commit

 

History

History
117 lines (50 loc) · 5.52 KB

README.md

File metadata and controls

117 lines (50 loc) · 5.52 KB

MCar-Arudino-ESP01S

A Mecanum-wheel car based on ESP01S.

B站演示视频:https://www.bilibili.com/video/BV1oL4y1i7sb

制作教程视频:https://www.bilibili.com/video/BV1KR4y1b7LR

0. 关于本项目

因为看到up主@孟德尔の公主切的原理图中的TMI8549芯片只用一个引脚就可以控制一个轮,所以就突发奇想用正好只有四个GPIO的ESP01S来做一个麦轮小车,然后这个不到40元的项目就出来了

1.硬件打样说明

Hardware文件内有PCB板的AD源文件,可以直接发去打样,器件BOM有在表面的材料清单列出

因为ESP01S只有四个引脚所以8549这个芯片的使能脚我直接接的3.3V,然后通过PWM来控制正反转和停转,目前除了很吵之外没发现什么问题

焊接时可通过ESP01S麦轮.html来查看对应BOM表

2.固件编译说明

主要基于Arduino开发完成,根据下图的麦轮公式控制

麦克纳姆轮,简称麦轮,是一种全方位轮,因为轮缘上斜向分布着许多小滚子,所以可以横向移动,通过四个轮子的协同控制可以完成很多动作,下图是从顶部观看的辊子方向,所以合力参考可以想象底部辊子的方向是这样“<>”

3.Android端程序说明

程序在Software文件夹里,目前只是能用就行的状态

程序内容大概就是两个摇杆加UDP广播,广播到9999端口,数据包的内容是四个0-32的数字,如:16161616就是两个摇杆回到原点的坐标,如果两个摇杆回到了原点就发一次16161616之后不再发包直到下一次摇杆变化

只需要将手机和模块连接到同一WIFI下,然后模块监听9999端口即可

4.麦轮制作说明

Docs文件夹里的压缩包里有B站up主@孟德尔の公主切开源的麦轮3D打印文件和装配说明,欢迎大家去给Ta的视频三连

https://www.bilibili.com/video/BV1wq4y1774g

Docs里面的辊子100个.STL是为了达到三维猴的壁厚要求自己用Solidworks画的,究极废手,谨慎使用,因为掰下来另一头是堵的,不止扩孔还得钻孔(泪目)搞定四个轮子花了一个晚上,需要的人多的话我再重新画一个版本吧

5.关于这个项目的问题

首先是遥控的延迟(已修复)

感谢B站@27岁的188的指正,原因是运行到map()函数时参数没给好导致芯片重启了,没错就是重启了,过滤一下会导致错误的值便可以解决,开源代码中已修正。

然后是麦轮横移时的漂移,开始的时候是完全横移不动的,然后我做了两个措施就有了现在视频里的效果

1、我用电工胶布粘在电机的外壳和触点之间防止短路,这样就可以把电机座的螺丝拧死了,电机得以更加固定

2、将辊子拆下来,两头用磨砂纸打磨,用钻头又扩了一次孔,辊子转的更加顺畅

总的来说这个还是自制麦轮的弊端,只能是想办法增大摩擦力去搞定,无论是增大整车重量(压力)还是增大轮子表面的摩擦系数都会有一定程度改善


这个项目还有一些凭我个人能力解决不了或者没时间解决的问题在此列出来希望有专攻相应方面的大佬能提供思路

1、首先是停转时电机噪音较大的问题

这个是因为ESP01S没有多余引脚去控制TMI8549的EN脚,所以我只能给它拉高处理导致的,这个问题似乎还会使电流变大快速消耗电池电量所以也值得注意

正常来说停转的时候需要去给EN脚拉低,在不更换主控的前提下我钻牛角尖的方向主要有

硬件:本人没学过数电模电,所以只能想到用三极管去切换控制的电路实现引脚复用,但同时也因为没有引脚去控制三极管了所以在硬件方面暂时没有什么想法

MCU:因为ESP01S和ESP01的区别有个是启动的时候S不需要拉高EN脚,所以我想EN脚在什么情况下能够用起来,比如睡眠模式什么的,多一个引脚问题直接迎刃而解

总之还是钻牛角尖了,并且也想了解到对于这种引脚有限的情况有什么解决方法

2、电机转速无法跟摇杆的拉动距离去调整

因为麦轮的特性,每个轮子都要有不同的转速,程序里有个localMax值用来放大转速

因为让电机转起来首先就需要一定的扭力,没加放大的时候摇杆拉的近可能并不能让小车动起来,所以原作者可能基于这个考虑加了放大,按比例把转速放大,使其中一个轮的转速达到最大

问题有两点,一个是摇杆不会按拉动的距离去变速,另一个是对于转速比例低的轮子可能扭力并不能让它动起来,这样就导致移动的方向和想要的方向有偏差

解决方法就是设一个扭力驱动的最小值,让转速在这个最小值和最大值之间映射便可以解决,但我个人暂时没这两个需求,所以把解决思路放这里先了

3、麦轮摩擦力不够,去淘宝8.5一个买四个麦轮可以解决,但联轴器我仿照麦轮手册的联轴器画了一版给这个电机的,发现很容易断,不是打印件断而是让电机断,所以如果要上成品麦轮应该得换电机

在此放上成品麦轮的电机,我买的是48mm无接口的,我画的联轴器放Docs文件夹里了

https://item.taobao.com/item.htm?spm=a1z09.2.0.0.1ef12e8dYhUjfD&id=597783667844&_u=g389riah1755

其他的后续再补充,欢迎大家给视频点赞~