嘿!您似乎在 United States,您想使用我们的 English 网站吗?
Switch to English site
Skip to main content

【转载】教你自制最skr的全向麦轮小车

原作者:铁熊
麦克纳姆轮(下文简称“麦轮”)的神奇全向行动能力,一直是众多机器人的首选方案,例如RoboMaster机甲大师比赛中,各种机器人车轮便采用的就是麦克纳姆轮。
 
163802oeeox561awex8h6x_446300b3bc67f27ed223b758545d640612c9cb02.jpg
图1(来自RoboMaster官网:https://www.robomaster.com/zh-CN/resource/image
 
 
但麦轮动戈几百的价格,让热爱它的小伙伴们望而却步。那是否麦轮就与我们普通创客爱好者没有关系、太遥远了呢?当然不是,本教程就教你自制麦轮,并用麦轮设计出一辆麦轮战车。只要你身边有3D打印机和激光切割机(可选),那么就跟我一起制作出一辆麦克纳姆轮全向小车吧!
 
 
首先来看一下麦轮战车的演示视频吧:
是不是很心动了呢?别犹豫了,拿起你的工具,准备好你的3D打印机,准备开干吧!
 
 
## 制作麦克纳姆轮
 

 

首先你要准备好如下材料和工具:
 
 
材料:
  • 26mm长标准大头针,每个轮子需要9枚,共36枚;
  • 3D打印麦轮零件(包含大轮和从动轮)
  • 9mm热缩管
 
工具:
  • 热风枪
  • 502胶水
  • 美工刀
  • 镊子
 
1、将麦轮模型用3D打印机打印出来,每个轮子由1个大轮与9个从动轮组成。左旋与右旋模型各打印两个,从动轮左右通用打印4×9=36个
163942t8q88ssq8aqzt28p_5d09369efbac7c830f9f0e4aee5a4cdab1bf9e7d.jpg
 
2、①将热缩管裁剪至适当长度套在小从动轮上,②用镊子夹住使用热风枪加热热缩管,使热缩管受热缩紧,③最后使用美工刀将边缘多余部分热缩管割掉。
163803kfooww3hme211al2_ee46908ea15cec48d33ba47fefd10b9c447f9a3b.png
 
3、用大头针穿过从动轮并固定在大轮上,确保足够顺滑即可,
163804yp3nbuqpbmq6mmn3_00cc0b3a561fdabd7a6c3b825ee4c63c1c72934b.png
 
4、重复上述步骤,麦克纳姆轮就制作完成啦!
164045rl7mfbst5zig62f2_5cff8f9311a35905b80482e2f2115f6d996375bf.jpg
 
5、接下来是制作麦轮战车底盘。用塑料销钉和电机固定座将4个N20减速电机分别固定在激光切割的木板底盘上,将麦轮安装在电机轴上,如图6所示,底盘就完成啦。
164205pambb763g61a6tez_fe58df374f5aeaee3da5a87d388356f56a7efc54.png
 
## 制作麦克纳姆轮战车
 

 

接下来就要开始制作麦轮战车了。你要准备好如下材料和工具:

 

  • Arduino核心控制板Athena×1
  • 电机驱动×2
  • 超声波模块×1
  • 3.7V锂电池×1
  • 麦轮战车底盘
  • 激光切割木板结构件
  • 杜邦线导线若干
  • 铜柱螺丝若干
  • 塑料销钉若干
 
工具:
  • 电烙铁
164318u91uuug53g5s55xw_057129aefe70cd993f036c8ccde01e1c47f08118.png

 

1、首先将电机与电机驱动之间焊接好导线,并将各电机信号线以及电源线用杜邦线母头引出待用,
164356iqgownvw774bavad_a5f4fbe99fe7351f905ec51cdb8269230139e274.jpg
 
2、准备好前挡板与电池仓挡板以及固定件
164556k7xsz1zk7thsz74h_99f80409bce4b08479cec1243b64bcc43d246198.jpg
前挡板与固定件
 
164557pzmccmmoamc9hl9o_5dcb25447d0b3f4972763d73baae1f97ca951ee4.jpg
电池仓挡板与固定件
 
 
3、安装好电池仓与前挡板。
 
164558mf9egf9afh1zf7cg_8a7e29574c6819ff1c950be540faa0e8bdf0cbbb.jpg
 
164559ln3j36i4j311s697_e6cded2b9ab0e829029b8fd60c7ff0fdd2f52bde.jpg
 
164600af3f3qwf4s7r9zrs_0a10486901cb092dae5e2e90e84c4a35c7733eb9.jpg
 
4、将Arduino核心板固定好后,将底板引出信号线与电源线接好。共8根信号线控制4个电机的正反转
164602srr42k4ohodrooht_0b18a0082517e3c70657b3c0b415b8dbc928e537.jpg
 
5、将超声波模块和固定座固定好后装在小车上。适当移动电池与零件位置,将小车重心保持在小车中间位置,至此,麦克纳姆轮小车就完成啦!完成后的麦轮战车,是不是还有点萌呢?
163805gu1pmselez11u1uj_c8747483c43a9c9ca20f36ac8742e878c9d9e3ea.jpg
 
恩,其实我还能换头像呢~
分分钟换个 skr skr 的麦熊头像!
 
093444u09l800cn009lrlu_2a5a039d3c770ac7affe7ad826d45fbfc03008f9.jpg
 
 
## 麦克纳姆轮战车电路
 

 

此小车采用的是捣鼓车间出品的Athena核心控制板,自带传感器接口与蓝牙接口,可以满足大部分项目需求。
163806z979zza0g7axfqx9_0da26dec3e9da5e6c17a7dd14a2808d42baf9f95.png
Athena核心控制板
 
我们知道Arduino不管是UNO还是Nano,都只有6个PWM口(3、5、6、9、10、11),没法实现8个电机的调速,MEGA2560有8个以上的PWM口,但是体积过大,不适合该项目,我在引脚分配上做出了调整,使用4个PWM与4个数字口就可以实现4个电机的调速,我们知道PWM简而言之就是数字口的占空比,当一个引脚为低电平,一个输出PWM信号时,可以调节速度为0~255,255为最快。经过试验,一个引脚为高电平时,一个输出PWM信号时,调节速度也是0~255,区别就是255是停止,PWM输出0时为最快。这样,只需要在程序中调节PWM的参数与数字口的输出,就可以控制电机的速度与旋转方向了。调速说明如表1所示。
 
 
表1:调速说明
直流电机
旋转方式
IN1(PWM)
IN2
IN3(PWM)
IN4
Motor-A
正转(调速)
1/PWM
0
 
 
 
反转(调速)
PWM/0
1
 
 
 
待机
0
0
 
 
 
刹车
1
1
 
 
Motor-B
正转(调速)
 
 
1/PWM
0
 
反转(调速)
 
 
PWM/0
1
 
待机
 
 
0
0
 
刹车
 
 
1
1
注:表中“1”代表高电平;“0”代表低电平;“PWM”代表调制脉宽波。IN1、IN2控制电机A;IN3、IN4控制电机B。
 
 
有了Athena核心控制板的介绍和PWM调速说明,整个麦轮战车的电路原理图就很简单啦。
 
163807dmxmpbxj66vxv2vn_b3abf39faeec0c74708c3f346ab89bde87c2094f.png
 
## 麦克纳姆轮控制程序
 

 

麦克纳姆轮与普通轮子的区别在于麦克纳姆轮旋转时,由于存在斜向的从动轮,会同时产生一个斜向的力,当我们控制轮子旋转的速度与方向时,将斜向的力增强或抵消,从而实现小车的全向移动。可以完成横移、斜方向移动等普通小车无法完成的高难度动作。
163807ye4qxfycf438y71z_ce2f2b3b2555e690c3e6bb863566d262fd62bf43.jpg
 
麦轮战车采用手机App遥控的方式来进行操作,手机端控制采用的是“可控Ctrl”App(App作者个人网站:http://www.pengzhihui.xyz/),可在腾讯应用宝下载。手机与战车之间通过蓝牙通信,手机端通过摇杆控制小车的全向移动。
 
 
麦轮战车下位机端的编程思路是:摇杆通过蓝牙返回Joy_x与Joy_y两个变量,最大为1,最小为-1,两坐标遍历半径为1的圆内,程序中有8个方向移动的子程序,程序思路是摇杆半径大于0.5以后,开始判断属于哪个范围内,并执行相对应的子程序。最开始采用的是判断坐标范围,发现效果并不理想。最终采用通过Y/X计算tan值大小与Joy_x与Joy_y构成坐标的象限,计算出所在的区域,这样的方法在内圆内不作执行指令,方便操作。另外可以将整周的圆八等分,算法简洁可靠。摇杆部分算法如图19所示,完整程序详见附件。
 
163808waakcmaukarmdeaf_695b8c165844d51627a6a4afbef04ca5f0bdeda8.png
 
至此,完整的麦轮战车就完成啦!
PuaChengLin 还没写个人简介...