Arduino探测漫游车1—底盘

这篇文章来源于DevicePlus.com英语网站的翻译稿。

目录

 

 

背景简介

arduino explorer rover

很长一段时间以来,我一直在寻找一种能够行走于崎岖地形,并且使我不需要从舒服的椅子上站起来就可以对真实世界进行探索的机器人。有很多种机器人可以作为组装的配件,但是当我在寻找一款好用的六轮机器人时,一个问题不断出现:这些机器人尺寸都不够大。当然,有些已经比较接近理想尺寸了,比如Dagu Wild Thumper,但至今没有找到我所心仪的。因此,我决定自己来设计产品,在CAD上花费了大量时间,然后又在我的车库里花费了更长的时间,现在,我终于可以在这里向您展示ArduRover:一个全金属材料,带有独立车轮悬架的六轮越野机器人!

硬件

  • • 48x KFL-08 球形轴承
  • • 6x 1:8 RC 越野车轮和轮胎
  • • 6x 1:8 RC 车吸振器
  • • 6x Pololu 37D 30:1 电机
  • • 6x Pololu 12 mm 六角适配器,适用于6mm轴
  • • 1x Pololu 37D 电机支架(用作模框)
  • • 6x 12 mm ~ 17 mm 的六角适配器
  • • 10mm 螺纹杆(1米)
  • • 8mm 螺纹杆(3米)
  • • 多种铝型材,M型螺栓和螺母(详情请见“制造底盘”章节)

 

工具

  • • 电动工具: 钻床(必需),带锯(可选)
  • • 钻头[mm]: 2.50, 3.00, 4.00, 5.00, 6.00, 7.00, 8.00, 9.00, 10.00, 12.00
  • • 手动工具: 钢锯,锤子,螺丝刀,扳手,砂纸,锉刀等。

 

这个“巨兽”的尺寸为60 x 50 x 25 cm (23.6 x 19.7 x 9.8 in),不负载任何电子设备或电池时重量为9.5 kg(20.9 lb)。它具有六个大型1:8 RC车轮,以及六个带有30:1变速箱的高档Pololu电机。可为我们提供(理论上)最高10Kph(6mp)的时速。每个车轮都有独立的悬架,因此机器人可以在非常崎岖的地形上移动。此外,如果您想自己来完成制作,唯一需要的电动工具就是钻床—该项目不需要焊机或角磨机!但首先我们还是先来快速了解一下该设计的主要功能特点。

 

设计方案

在每个项目的开始,您应该尽可能简洁的写下您的最终目标。这样,您就可以有一个客观的参照,来告诉您所做的工作是否可以真正的帮助您完成起步。所以我们首先就来用一句话简单地总结这个项目的目标:

制造一个可以自由探索自然环境的大型、敏捷的六轮机器人。

很好,现在我们就知道确切的目标了。接下来,我们需要对机器人进行设计。幸运的是,如今有许多种类的CAD程序可供使用,可以极大的加速这一部分的进程。我使用SolidWorks 2016完成了机器人设计,但如果您没有这个软件的许可证,不要担心,您可以在我的GitHub里获取所有部件的设计图。

设计类似这样的机器人时,您要做的第一件事就是制作类似“功能演示”的东西:一种仅仅演示最终组装的产品如何工作的模型。在这一点上,您不必考虑那些之后会用到的精确的零部件,现在比较重要的是先得到机器人所有机械化工作的总体思路,然后创建出证明其可行的模型。

arduino explorer rover

图1:演示模型

从上图中,您可以看到整个模型。在该模型中,所有零件都没有被指定是哪种材料制成,也没有零部件的相关细节。也没有类似于碰撞这种物理约束,所有零部件都只是安装在相应位置。也就是说,即使您按照这个模型来完成所有制作过程,也并不能保证制作出的机器人可以运行。但是,我们可以测试出这种类型的悬架表现如何,这恰好是整个项目中最关键的部分。还记得我们上文中所定的目标吗?这台机器人需要能够在一个自然环境中移动,而不仅仅是在乏味的、平坦的、空无一人的街道上。在自然环境中,将会有岩石,成堆的尘土和树枝,所以悬架必需足够坚固来应对这些状况。

arduino explorer rover

图2:悬架细节

我决定使用的悬架类型基本和当今您所能找到的大多数汽车所用的一样。它类似于被称为双横臂悬架,可以确保每个车轮的位置相对于其他轮子高或低,车轮的轴线都始终平行于地面。这就可以使车轮保持与地面之间的最大接触面积。此外,这种悬架看起来相当的酷。

既然我们已经对机器人会如何表现有个大概的了解了,我们就将开始逐步用现实世界中可以获取的实际零部件来替换演示模型中的所有虚拟部件了。首先,我们需要替换的是那些我们不能进行修改的部件,比如电机、车轮和减震器。

arduino explorer rover

图3:添加了车轮、轴承和减震器的模型

接下来,我们需要找到制造底盘的材料。既然机器人将要在自然环境中移动,并且尺寸庞大,那么塑料以及木头似乎都不是好的选择。所以我们决定使用金属来制造所有的部件。通常,我们有两种选择:

  1. 1. 钢或铁。优点是可以很容易的将其进行焊接,所以不会有太多钻孔。如果通过正确的方法进行焊接,那么即使在恶劣的环境中,连接点也会十分稳固。而主要的缺点就是材料过重。
  2. 2. 铝。在我们的实际应用中,它的性质几乎完全与钢相反:铝很轻,但是很难进行焊接,只有通过使用非常昂贵的设备才能完成焊接。如果我们选择了铝,所有零部件需要通过螺栓进行连接。

 

这样看来最终的选择要取决于重量了—如果所有的钢部件都太重,那么也许我们就必须使用铝了。幸运的是, CAD软件在这里也给我们提供了很大的便利:只需要简单的设置所有零部件的材料,我们就可以获取重量的估计值。太神奇了!所以,结果是什么呢?如果我们使用钢的话,大约16 kg (或者 35 lbs)。我甚至不打算费心对减震器在这种情况下的表现进行模拟—它不可能承受这样的负载运行太久。所以我们决定使用铝。这样就可以将预估重量减至“仅仅”8kg(17.5 lbs),是钢制部件的一半。这肯定比我见过的绝大多数DIY机器人都要重,但已经在合理范围内了。在以下的模型迭代中,我们可以将悬架中的所有虚拟部件替换为我们可以实际制作的部件。

arduino explorer rover

图4:具有真实悬架部件的模型

好了,我们已经有进展了,现在开始看起来像一个真正的机器人了!设计过程的最后一步是完善所有的细节,比如减震器组件。另外,我们还需要弄清楚用什么来替代中间的连接条。最后,我决定使用一些10mm的螺纹杆来替代,这样可以使我们能够完全按照我们的要求来设置车轮之间的距离。除此之外,我们还需要一些空间来安装电子设备。您可以在下图中看到相关内容。

arduino explorer rover

图5:完成所有细节设计的最终模型

所以,模型已经建立完成了!接下来,我们将会把设计图纸打印出来。现在到了去车库用我们的双手进行实践的时候了!

 

制造底盘

正如我承诺的那样,本文接下来的部分将会是分步指南,来帮助您实现自己制造机器人!如果您仅仅是对最后的制作结果感兴趣,请忽略这些步骤,直接阅读最后一页,如果不是的话,那就让我们一起开始吧!所有零部件的PDF格式图纸都可以在我的GitHub上获取。如果您想要打印这些文件,请不要留有页边距,这样的话图纸就可以保留1:1的比例。所有的尺寸都以毫米为单位。

在开始之前,我想要在这里澄清一些术语表达。我不是一名机械工程师,并不了解大部分零部件用英语(或者其他任何语言)应当怎样表述,所以我就对那些部件自行起了名字。当我说到“电机模块”、“悬架模块”或者“框架模块”的时候,可以用下图作为参考来明确我说的是哪一部分。

arduino explorer rover

图6:术语参考

获取材料

现在应该是获取所有材料的时候了。某些部分,比如电机和车轮,在刚开始已经列在硬件要求里了,所以这里我将只说明铝型材和螺栓。另外,所有下表中的尺寸单位为毫米,所有螺栓均为M型六角螺栓。

铝型材

部件编号和名称 类型 宽度 高度 厚度 长度 数量
[1] 控制臂 U 型材 30 15 2 180 24
[2] 悬架模块 方形管 40 20 2 100 6
[3] 电机模块 方形管 80 50 3 50 6
[4] 框架模块 方形管 80 40 2 100 3
[5] 减震组件 U 型材 25 25 2 80 12
arduino explorer rover

图7:所使用铝型材的所有类型

螺母和螺栓

零件编号和名称 长度 数量
[1] M3 螺栓 8 36
[2] M3 螺栓 30 6
[3] M3 螺母 18
[4] M4 螺栓 22 6
[5] M5 螺栓 8 48
[6] M5 螺栓 12 96
[7] M5 螺母 144
[8] M7 螺栓 30 6
[9] M7 螺母 12
[10] M8 螺母 48
[11] M10 螺母 12
arduino explorer rover

图8:螺母和螺栓的所有类型

 

第一步:控制臂

我们首先制造的是控制臂。制造过程很简单,只需要一个两端各带有三个孔的U型材即可,这些孔用于连接轴承。为了使所有孔对齐,我强烈建议将控制臂成对制作。还有一点需要注意的是—事实上,铝型材很软,实际上比很多木材都要软。虽然这意味着对它很容易进行钻孔和切割,但同时也说明了这种材料在加工过程中很容易产生划痕。

arduino explorer rover

图9:控制臂图纸(比例1:1)


1.1 俗话说“三思而后行”。第一个需要测量的是孔的位置。我建议使用一些锋利的东西,比如开箱刀,在铝板上画线。因为钢笔或记号笔永远都无法达到像锋利的刀那样的精准度。

arduino explorer rover


1.2 接下来,您需要将孔所在位置的精确点标记下来。一个尖锐的钉子和一个锤子就足以完成这个过程。在铝板上打一个小凹痕,这样的话当您开始钻孔时,钻头就会有一定的导向,孔也就会精确的打在我们期望的位置。

arduino explorer rover


1.3 现在,取一个小口径钻头,钻出刚刚标记过的6个孔。2.50mm的钻头应该刚刚好。这不是孔的最终直径,我们现在仅用来对齐。

arduino explorer rover


1.4 在这一步中,我们将使用一些C型夹将两个U型材进行固定。拿出刚刚钻过孔的U型材,然后再拿出一个没有孔的新的U型材,将它们紧紧的夹在一起。尽可能使U型材的边缘精准对齐。您可以使用另外一个U型材作为参考平面。

arduino explorer rover


1.5 现在,我们已经有两个尽可能对齐的U型材了(一个带孔,一个不带孔)。然后,在U型材的一端钻两个5mm的孔,就像图片所示那样。完成之后,将那些不可避免地会出现在另一侧的毛刺敲掉。

arduino explorer rover


1.6 卸下临时夹具,使用一些M5螺栓将U型材固定在一起。在我们钻剩余的孔的时候,U型材要保持对齐。请尽可能的将螺母拧紧,并同时注意保持U型材对齐。如果边缘开始出现错位,您需要松开螺栓,然后再次将U型材对齐。

arduino explorer rover


1.7 现在,使用6mm钻头钻开其余孔。

arduino explorer rover


1.8 用9mm钻头钻出中间孔,然后敲掉另一侧的毛刺。拆下螺栓,用6mm钻头对之前有螺栓的两个5mm孔进行扩孔。瞧,两个全新的(虽然可能有一定的划痕)控制臂产生了!因为它们是一起完成的,我建议您对它们以某种方式做一下标记,这样之后就不会和其它控制臂混淆了。

arduino explorer rover


1.9 最后一步是锯掉所有的角。这时候带锯就派上用场了。如果您身边没有带锯的话,也可以徒手完成。但是由于您需要锯掉96个角,然后用锉刀完成所有的切割,所以可能需要花费一周的时间才能处理完。另外,处理之后这些表面看起来也不可能很完美。

arduino explorer rover

整个过程重复12次,您就会有足够的控制臂来制造一个ArduRover了!

 

第二步:框架模块

接下来是框架模块。这里没有太多的内容,只要钻一些10、8和6mm的孔就可以了。

arduino explorer rover

图10:框架模块图纸(比例1:1)


2.1 测量位于框架模块一侧的所有孔。

arduino explorer rover


2.2 用钉子和锤子敲打出导向的凹痕,使钻头能钻在准确位置。

arduino explorer rover


2.3 钻出6个2.50mm的孔。

arduino explorer rover


2.4 用5mm钻头进行扩孔,直到穿出对面一侧。

arduino explorer rover


2.5 现在,使用8mm的钻头再次进行扩孔。

arduino explorer rover


2.6 在侧面标记并钻出两个孔,用于安装减震组件。开始用2.50mm的钻头扩孔至6mm,并在对面一侧进行同样的操作。

arduino explorer rover


2.7 最后,将中间的两个孔用10mm的钻头进行扩孔,并敲掉框架内的所有毛刺。

arduino explorer rover

您总共需要做三个框架模块。

 

第三步:悬架模块和电机模块

类似于制作控制臂的方法,我们还需要制作悬架和电机模块。我们要保证这两部分的孔精准对齐,所以会先夹紧之后再用螺栓进行固定。这可能是最难制造的零部件了,所以在测量孔的位置的时候一定要格外谨慎。

arduino explorer rover

图11:悬架模块图纸(比例1:1)

arduino explorer rover

图12:电机模块图纸(比例1:1)


3.1 首先,您需要在悬架模块上标记出所有需要打孔点的位置。我们将在两侧钻出通孔,所以只用在一侧进行标记就可以了。就像我们之前做的那样,测量出所有尺寸,用钉子和锤子敲出导向的凹痕,然后钻出2.50mm的小孔。

arduino explorer rover


3.2 接下来,我们要对插入轴承轴的孔进行扩孔。我建议这个过程分两步来完成:首先,钻出一个5mm的通孔—穿过对面一侧—这样最后所有的孔都会对齐。然后再扩孔至8mm。

arduino explorer rover


3.3 现在,我们需要将悬架模块和电机模块夹在一起,这样就可以把用于连接的螺栓孔对齐。确保两种模块的边缘对齐,并且悬架模块位于电机模块的中间。

arduino explorer rover


3.4 现在,用5mm的钻头对其中两个小孔进行扩孔。钻头一直穿过悬架模块的对面一侧以及电机模块的顶部一侧。

arduino explorer rover


3.5 卸下夹具,使用两个M5螺栓将模块固定在一起。再强调一下,保证两个模块的边缘精准对齐,这一点非常重要。然后,用5mm钻头对剩下的孔进行扩孔。完成之后,拆掉螺栓并敲掉电机模块内的毛刺。现在,您就已经有了可以进行精准装配的电机模块和悬架模块了。就像制作控制臂那样,我建议对它们进行标记,这样您组装机器人的时候就知道哪对是配套的了。

arduino explorer rover


3.6 悬架模块遗漏的最后一个部分是那些用于安装减震组件的孔。我们在较早的时候用2.50mm的钻头钻出了这些孔,所以现在只需要用将其扩孔至6mm即可。一定要注意,只需要对悬架模块的一侧钻孔!这一步完成后,悬架模块就已经完成了,您可以暂时把它放置在一边。

arduino explorer rover


3.7 取出电机模块,在6个将用于安装电机的前孔中标记出2个,然后,用3mm的钻头钻出这些标记的孔。

arduino explorer rover


3.8 接下来,我们需要钻出用于安装电机的其他四个孔。保证它们对齐是非常困难的,但是我们有一个诀窍:使用Pololu 37D底座。这个底座已经带有钻好的孔了!所以我们可以使用几个M3螺栓来将其与电机模块进行固定,现在,我们就有了用于钻孔的模板了。

arduino explorer rover


3.9 使用3mm钻头钻出剩下的四个孔。

arduino explorer rover


3.10 卸下模板,用4mm钻头进行扩孔。有些孔可能并没有精准对齐,那我们可以把尺寸精准度放宽一些,增加1mm的活动空间。

arduino explorer rover


3.11 测量并钻出用于电机轴的孔。请在测量的时候格外小心,保证这些孔位置的精度!开始用3mm钻头然后逐渐扩孔至我们需要的直径12mm。像上文一样,您可能需要使用圆锉对孔进行一些校正,直到达到与电机的精准装配。

arduino explorer rover


3.12 最后一步是挫掉这些电机模块的角,这样的话当车轮移动的时候就不会造成干扰。只需要挫掉几毫米就可以了。您可以安装电机并连接车轮来进行测试。如果运行顺利,那您可以继续进行下去。

arduino explorer rover

将整个过程重复6次,您就可以进行下一部分内容了。我保证所有最难的部分已经完成了,从现在开始,将会是比较轻松的工作。

当然我们还远没有完成整个项目!我们还需要把减震器添加到我们刚刚制作的悬架模块的框架上。然后,我们将用所有部件进行底盘的组装!

点击这里继续阅读下文 >

Jan Gromes
Jan Gromes

Jan 目前在布尔诺工业大学学习电气工程。他有多年使用Arduino和其他微控制器来构建项目的经验,对于机器人系统的机械设计十分感兴趣。

相关文章

  1. how-to-make-eobot_02_19

    “魅力四射”的机器人制作【下篇】

  2. “魅力四射”的机器人制作【上篇】

  3. 用Arduino和TOF距离传感器制作甜甜圈播放器【后篇】

  4. 用Arduino和TOF距离传感器制作甜甜圈播放器【前篇】

  5. 1-1

    Arduino电子制作总结!基于微控制器的电子制作基础之基础篇

  6. 用Arduino制作的太阳能电池板供电数字养殖箱【前篇】

    用Arduino制作的太阳能电池板供电数字养殖箱【前篇】

  7. 使用D/A转换器灵活控制电压并使用Arduino输出模拟信号的方法

  8. 在最后一刻停下来!用Arduino和距离传感器制作小鸡赛车!(第3篇•最终篇)

  9. 在最后一刻停下来!用Arduino和距离传感器制作小鸡赛车!(第2篇)

TECH INFO

  • Sugiken老师的电机驱动器课堂
  • 重点必看
  • 技术分享
  • Arduino入门指南

基础知识

  • Si功率元器件
  • IGBT功率元器件
  • 热设计
  • 电路仿真
  • 开关噪声-EMC
  • AC/DC
  • DC/DC
  • 电机
  • 传递函数

工程技巧


Sugiken老师的电机驱动器课堂

PICK UP

PAGE TOP