滑板.jpg

自制SEGWAY平衡滑板车玩耍吧!

科普中国网 2016-09-01

  http://3.im.guokr.com/gkimage/84/7f/7b/847f7b.png" 

  为什么我要撰写此教程?

我把我的自动平衡滑板带到了 2010 年 3 月在英国纽卡斯特举行的 Maker Faire 展会上,男女老少都快挤爆我的摊位了,人人都想试一试,好奇的年轻人都想知道制作过程。      
  至今为止我已经研究这玩意儿好几年了。      
  我一开始做了一个独轮车,花了我三个月才让它能够平衡(而且非常糟糕),接着做了一个通过 Wii 的无线双截棍遥控器控制的更轻便的双轮车——这就是我现在这个机器。      
  这玩意儿造价非常昂贵而且制作起来很不容易。      
  我想尝试能将一开始的“廉价”想法实现到什么样的地步,而且直至现在我也一直在尝试。

  http://3.im.guokr.com/gkimage/t5/wg/nf/t5wgnf.png" 

           我的长远目标是制作出某种真正实用的“i-slide”(对,没错,这玩意儿——“氢燃料电池动力”平衡车——还只不过是个设计概念而已)之类的东西。      

  http://3.im.guokr.com/gkimage/55/x7/k8/55x7k8.png" 

我设想的是一种你可以在校园里用来骑行,不用的时候可以单手提起带入室内的玩意儿。      因此它的轮子和电机必须不能过大,而且要轻得可以提起来!这就是为什么我将顶层设计成理想的平面,这样你就可以轻松地握住把手将它提在你的身边到处走了。    这篇教程的方针是将所有的东西简化到最基础的部分,来看看我究竟能让这种技术的成本降到什么样的程度,并且略微将它美化一下,不至于像是工业原型那么吓人,同时还是要能够承受一个成人的负载。     
   我非常希望能有个 DIY 社区加入这个项目。   
   有哪个 DIYer 论坛想要加入吗?(果壳DIY伸出蠢蠢欲动的爪子……)

   所谓的“廉价”究竟能廉到多少?

这些东西显然不是几个硬币可以搞定的,即使一再强调“廉价”也可能会花费上千。      
   本教程提到的材料如果买全新的话,大约将近 300 英镑,你还得另选电池为它提供电力。     
   和许多电动小摩托一样,你可以一开始用铅酸电池,以后再花点银子换成更给力的电池。      
   要是能看到有青少年也在鼓捣这玩意儿的话我就太欣慰了。这就是我之所以开发了这一廉价版本的原因——你不会在告诉你爸爸说要做这样一个“教育”项目时吓得他心脏病发作。      
   我融入了 KISS——让事情傻瓜般简单(Keep It Simple Stupid)的设计理念!

  做起来容易吗?

显然这不是一个初出茅庐的 DIYer 能够应付得了的,但在自动平衡载具项目的开展过程中,我发现它其实也难不到哪里去。      这次我们还是要用到 Arduino 平台的微控制器。      
   我在教程中将试着滴水不漏地地描述每一个步骤,因此,没错,你会看到很多照片,不过如果你是认真想要做一个东西出来的话这是很有帮助的。      
   整个过程也不会用到焊接,硬件安装过程只需要螺钉螺栓和支架。      
   我还在 Arduino 论坛上做了该项目的 笔记 :

  成本合计(全部以新品计):


  ○ Sabertooth 牌 2x25 瓦电机控制器(一件) 97 英镑   ○ Motors 牌 250 瓦24 伏适用于电动滑板的电机 (两件),在易趣上卖价参差不齐,不过一般约每件 35 英镑。   ○ 每侧的链条:9 英镑就足够买一根够两侧用的链条了。   ○ Arduino 平台(一件):20 英镑   ○ IMU(一件):52 英镑(据说有人找到了更便宜的)。   ○ Razor 牌 E100 后轮组件(两件):在网上电动小摩托商店备件部上每件卖 24.99 英镑。      含消费税总计 273 英镑,我认为这个价位对于自动平衡载具而言相当不错了。            
   买了电池以后就会超出我 300 英镑的预期,不过不会超出太多。和一般的 4 轮(在一个后轮上装有一个电机的那种)电动滑板相比也颇具性价比。   英镑目前汇率不高,1 英镑相当于 1.5 美元左右。      
   Sparkfun 牌和 Razor 牌的小电机都是美国产的,也就是说也许你在美国买会更便宜些。      
   就我所知,Segway 在美国(至少是一些州)的人行道上是可以合法行驶的,也许你可以在专门的 segway 通道上自由行驶。      削减成本:如果你想要在电机控制器上省些银子的话,可以参考某人成功地利用一台 2 X 10 瓦的 Sabertooth 牌电机制作了一台山寨 Segway。   那台山寨 Segway 在水平地面上似乎还跑得挺给力的。

  产权:

有人发信息询问相关产权的问题。      我想说的是,如果哪个企业想要从我这里了解更多信息的话,请便。      这只是我的兴趣罢了,哥也是有正经工作的人。      不过我曾经开过些小公司。但在这个问题上我持开放态度。      这个项目的教育价值远比商业价值重要——至少我是这么认为的!            另外,如果你对于独轮类型感兴趣,可以了解一下“enicycle”独轮车,它真的创意十足,特别注意它惊人的转向结构。

  http://3.im.guokr.com/gkimage/hr/ml/jh/hrmljh.png" 

这就是来自德国的 ewee(出现于2010 年 8 月)      
   属于德国的轻量级山寨 Segway 售价约 1200 美元。看上去就像几块被螺栓连接起来的金属板。      
   有人批评它外观丑陋,不过让所有的金属板都能由计算机控制切割成形并让整个结构平滑安装是一种非常聪明的节约成本的手段。    它采用和最小的那种 e-小摩托类似的小轮胎和带传动。      
   接下来我要在 另一教程 中展示的滑板车改造成“ewee”的风格。

  调试:

有人的觉得很简单,有的人觉得很难。      
   我会写一些 Arduino 平台代码的调试方案。     
   我写了一段代码,让你能够在电脑上的 Arduino Serial 窗口中读取加速器、陀螺仪以及总增益的值。它让你能够在连接电机之前测试平衡部件。      程序每秒只循环一次,而不是 100 次,所以它会以慢动作显示出来!      
   我还会写更多的调试方案的。

  想要代码的请 果断点击此处 (为DBank网盘链接)

这里是 视频教程 :对那些有兴趣尝试用 Wii 来替代的朋友们,在 Arduino论坛 上有人在这一组合方案上做出了相当大的进展: 有人问我如何给一台小型自动平衡机器人安装小型的电机控制器,这里发表了一篇有关小型 Arduino平台驱动的 电机控制器的教程 : 该作者绝对是平衡车达人,这里是他的网站,来 围观 一下大神级别的牛人是怎么玩转平衡车的吧!      双向电梯 1   工具和材料2   照搬小摩托轮胎3   近看小摩托轮胎4   拆装轮胎5   重新组装轮胎6   架构7   轴支撑8   轴装配试验9   装配轴实战10   调整轴11   装配轮胎12   电机13   比较布置方案14   置于板上的电机是个什么状态呢?15   链条16   装配链条17   链条松紧度18   电子器件19   Arduino 电路板20   连接 Arduino 电路21   Arduino 电路的电源22   陀螺仪定位23   电机控制器24   Sabertooth电机控制器的设定25   连接电池26   连接手柄27   手柄28   组装手柄29   将手柄输入端与 Arduino 电路相连30   输入31   测试32   紧急电源切断开关33   开工34   在滑板上重制35   滑板露底照36   DIYer签到处

1   工具和材料

http://3.im.guokr.com/gkimage/em/ek/ce/emekce.png"     
● 如图所示,将所有部件排排坐。            

  2 照搬小摩托轮胎

http://3.im.guokr.com/gkimage/gm/xb/7s/gmxb7s.png"      
   ● Razor 牌小摩托 E100 的链条驱动后轮。      
   ● 它可以安放在滑板下面,且带有全套的轮轴和轴承、链条齿轮也已准备就绪,真是拿来就能用。可以大幅减少你的工作量。         

  3 近看小摩托轮胎

http://3.im.guokr.com/gkimage/0b/9p/x3/0b9px3.png"      
   ● 有一根穿过整个轮胎的螺杆。   
   ● 在每一边都有一长一短两条套筒。      
   ● 每一端的螺母都牢牢地将套筒和轮胎轴锁紧了,让整体能够紧密地结合,而轴承依然能够自由旋转。         

  4   拆装轮胎

http://3.im.guokr.com/gkimage/16/hw/vg/16hwvg.png"     
   ● 我们要将轮胎拆解开来,然后重新组装,让长的金属管换到另一边去,而短的也一样换到这一边来。      
   ● 最后的效果就是轮胎能够装在平衡车的外侧,而让链条齿轮处于轮胎的内侧。         

  5   重新组装轮胎

http://3.im.guokr.com/gkimage/it/1a/el/it1ael.png"      
● 从另一个角度来看看组装效果。         

  6   架构

http://3.im.guokr.com/gkimage/3w/r2/96/3wr296.png"      
   ● 架构可不能偷工减料。 所有的东西都要和一块宽 24 厘米厚 2 厘米的船用胶合板用螺钉相连。 你也可以选用其他的材料,不过得保证其柔韧性不太大,否则驱动链条的张力会在运转时发生变化。         

   7   轴支撑

http://3.im.guokr.com/gkimage/fs/lv/5i/fslv5i.png"     
  ● 用于支撑轴的支架也万万不可马虎,你应该使用大型五金商店里卖的那种角钢支架。

   8   轴装配试验

http://3.im.guokr.com/gkimage/id/sr/ck/idsrck.png"     
   ● 你可以试试轮胎轴和支架的配合状况。     
  ● 两个支架面对面相互对准了固定在平板上。      
   ● 将轴穿过两个支架上的两个孔(务必保证所钻的孔确确实实相互对准了。)         

   9   装配轴实战

http://3.im.guokr.com/gkimage/1b/k8/u2/1bk8u2.png"      
  ● 轴必须和该位置的一个大垫圈相配合,否则螺纹长度就不足以让轴端螺母将所有的零件和通过轴的长、短管密实地结合起来了。  ● 提示:先把轴像这样用螺栓固定好,然后再把所有东西锁紧。      ● 然后,而且只有在这之后,你才能标记下 L 行支架在轮胎下面的重合区域,之后我们会用螺栓在这个区域将它们和平板连接。      ● 将它们夹住,然后穿过这两层钻几个孔,这些孔以后会在与木板连接时用到。我在钻孔时还用螺栓(从下方)把轴固定在相应位置。要当心别钻得太给力突然把两层 给钻穿,伤到轮胎!我把底板的孔的位置定好了,让钻头尖端不会在钻孔时伤到轮胎!把孔小心翼翼地统统钻好,然后就可以安心地将它们都用螺栓连接起来了!

  10   调整轴

http://3.im.guokr.com/gkimage/rk/6c/on/rk6con.png"      
   ● 如果某块角钢高于另一块的话,要记得在钻孔时将这个差值考虑在内!(红笔标出容差范围)      ● 正如你在图中看到的那样,最后我钻的孔偏向了一边,所以进行矫正是必须的。

   11   装配轮胎

http://3.im.guokr.com/gkimage/9z/cv/52/9zcv52.png"      
  ● 这一步我们要把轮胎装上,并用螺栓将其和板子相连。      ● 请注意,如果你希望轴距尽可能地小,就像自动平衡的滑板那样,那么你可以将轴的内侧轴端修剪掉一些,就像我这里所做的一样。

  12   电机

http://3.im.guokr.com/gkimage/3j/22/3y/3j223y.png"      
   ● 我们用的电机是小滑板车所专用的电动滑板车电机.你可以从电动滑板车供应商或者易趣网上买到它们。

  这两个都是 250 瓦 24 伏,预装 11 齿链条齿轮的电机,它们的齿轮齿距和轮胎的链条齿轮是相互匹配的。

   ● 你可以选用 300 瓦的型号(看上去都一个样)。 只要确保它们一模一样就行了。      

   13   比较布置方案

http://3.im.guokr.com/gkimage/dl/32/y4/dl32y4.png"      
   ● 下面我要谈到的是最简布置方案。不过还有另一套可能适用于滑板的布置方案,即电池放在平板下面,而电机放在上面——不过你需要自行研究。      ● 链条是垂直运动的。两边完全对称。      ● “Emanual”板就是用的这种布置方案。         

   14   置于板上的电机是个什么状态呢?

http://3.im.guokr.com/gkimage/0v/q4/4t/0vq44t.png"      
  ● 我尝试焊了一个框架来放置轮子,让它们能够受到架在板上的电机的驱动。      ● 我不太喜欢这种方案。虽然这是可行的,但是电机会离开轮胎的链条齿轮很远,我担心会造成较多的链条松弛状况,在平衡点附近产生振动。之后我就没有在这条设计道路上走下去了。         

   15   链条

http://3.im.guokr.com/gkimage/ju/g6/3t/jug63t.png"      
   ● 我选的链条是 ASA 25-1 链条。我从英国的“Bearing Boys”购买了 2 米长的链条。      ● 而右边的小东西是你在缩短链条时所需要的连接件。      ● 如果你不清楚如何缩短链条,可以交给自行车铺搞定。         

  16   装配链条

http://3.im.guokr.com/gkimage/eu/iq/aj/euiqaj.png"      
   ● 链条既不能太紧也不能太松。太紧了电机会卡死。太松的话由于电机在固定位置平衡时会快速来回运动,其间将发生碰撞、产生振动。      ● 把电机的螺孔开成槽状,然后前后移动电机,摸索出一个张力适当的位置是个不错的办法。 我没有这么做,因为在我上次做另一个玩意儿的时候电机陷入了暴走,改变了所在的螺孔槽的位置,让链条变松了。 如果你想这么做的话,我建议你一定要一再测量,在仔细确认之后再钻电机的螺孔。      ● 我的建议是:将电机置于链条略微有点松的位置上。      ● 拿出铅笔和卷笔刀,把铅笔削尖,只留出大约 1 英寸长的尖端。      ● 不要移动电机,小心地将铅笔穿过电机底板上的 4 个螺孔,然后在木基板上划出需要钻孔的位置。这样它们就应该能够刚好处于正确位置了。      ● 从电机下方将 M6 螺钉拧入这 4 个螺纹孔。         

   17   链条松紧度

http://3.im.guokr.com/gkimage/gd/a5/7a/gda57a.png"      
   ● 这里所示的链条有点太松了。 我们有必要将它矫正过来。      ● 能像这样提溜起来的就说明松弛了。       http://3.im.guokr.com/gkimage/ti/hd/0c/tihd0c.png"      
   ● 在电机内侧的两个螺孔之间插入一个垫圈。这样可以略微抬高电机,从而略微拉紧链条。      ● 在做这玩意儿的时候手术钳很好用——还可以用来夹持焊接用线。

   18   电子器件

http://3.im.guokr.com/gkimage/oh/0j/uj/oh0juj.png"     
   ● 这是 Sparkfun 的 5 自由度惯性测量单元(IMU)。

  这是他们生产的产品中适合本例的最便宜的一款——不过市场行情经常会发生变化。

     ● 它带有一个 3 轴加速度计。

  我们只需要用到其中的一根轴。

     ● 它带有 2 个固态陀螺仪。

  其中一个将用来和加速度计配合(通过一个“结合”过滤器)来保持整体的平衡。

  另一个将用来让整个机构避免突发的方向变化(例如一边的轮子撞上了石头),这样它就不会团团转了。

  这可能比另一种解决方案——依据轮速编程——更容易,也更可靠。

     ● 我喜欢选用排线,因为它要整齐得多。

  我在进行此类焊接工作时还喜欢选用蓝色贴墙胶,因为它能将线路准确地保持在正确的位置,并能稳稳地固定电路板。

     ● 我在线头上镀好锌,然后将它们焊在孔上。      ● 请注意:有人在这里找到了更便宜的(不同型号)的 IMU :

  你必须自行研究如何利用这款 IMU,也许还需要修改程序代码,不过它看上去还是挺适合本例的。

     ● 在谈到这些东西的价钱时你一定会大吃一惊。

  单是我独轮车上的单轴陀螺仪大约就要价 100 英镑(150 美元)了。

        

  19   Arduino 电路板

http://3.im.guokr.com/gkimage/dn/v4/eo/dnv4eo.png"     
● 采用 Arduino 平台。      ● 我上次制作的机器使用的是机器人自动电压调整电路板,不过 Arduino 要便宜些,要是你碰到问题了,还有相当活跃的网上论坛以及入门书籍供你寻求帮助,而且它易编程,还可以轻松地通过 USB 连接线上载软件。      ● 你可以在我过去的 自动平衡项目 的网站上找到历史代码以及开发过程。      ● 这张图有点小,后面附有两张稍微大点的图。   

   20   连接 Arduino 电路

http://3.im.guokr.com/gkimage/2n/7f/sd/2n7fsd.png"     
   ● 这是我从前拍的一张 Arduino 电路板左侧(主要是模拟输入)的照片。      ● 下面的图表非常重要。      0 号模拟引脚:和 IMU 的 Y4.5 连接   1 号模拟引脚:分压计(用来手动调节总体增益)的电压输入   2 号模拟引脚:和 IMU 的 X-rate 连接   3 号模拟引脚:和 IMU 的 Y-rate 连接   4 号模拟引脚:和 IMU 的 z-acc 连接   5 号模拟引脚:置空      ● 分压计接线:使用 10K 的分压计。      ● 分压计一排上有 3 个引脚。

  从最左边到最右边的引脚之间的阻抗应该为 10K 欧姆。

  也就是说中间那个引脚相当于由控制旋钮移动的那个活动的触点。

● 将最右边的引脚连上 Arduino 电路板上 +5V 电源引脚(用于给此类设备供电)。      ● 将最左边的引脚连上一个接地引脚(标示有 Gnd)。      ● 在这两根接线中都串联一个约 150 欧姆的电阻器,这都是为了避免现在这样将触点放在 5V 全压输出导致 5V 电压直接不受限制地冲击模拟输入引脚。

  这并不是非做不可的工序,不过为了安全起见我加上了这一步骤。

● 如果你在触点(中间的引脚)和地线之间连上一个电压表的话,它现在就能够在移动的过程中输出从 0 至 5V(大约)的电压了——你应该测试一下,确保它工作正常。      ● 然后把从中央的引脚引出的接线连上代表“总增益”的模拟输入端口(也就是1号模拟输入引脚)。      ● 当你搞定这一步之后,你可以之后在 Arduino 程序代码中定下一个总增益值,这样就再也用不到分压计了。

  不过,在机器运转时测试程序中的其他变量也是很有用的。

● 请注意:在最新版本的代码中(只要用你常用的邮箱给我发信息,我就会发给你最新版本的代码,因为代码一直在更新变化)你会发现我利用一个式子来对分压计值进行采样,再将它平滑修改为移动的平均值。

  这么做是有原因的。

  如果你在程序每循环一次都测试一次分压计的值,并对它取样,可以找到在分压计所在模拟接口线路上的叠波中偏离较大的电压峰位,这一(过量)值将在其余式子中被放大。

  换句话说,任何由电机等产生的叠波的电压峰值都会通过这些式子被放大,造成电机的异常振动。

  像分压计之类的任何输入设备都应该像我所示的那样经过调整,否则你就要保证电路的响应速度够快(像陀螺仪和加速度计的信息输入)。

  我在这一点上受过非常深刻的教训,在我早期的试验中各种各样的偏离波形被放大,那真是太杯具了(其中有一次我在平衡算法中用 4 个分压计分别控制4个变量,就埋下了悲剧的种子)。

      http://3.im.guokr.com/gkimage/2n/7f/sd/2n7fsd.png"      ● 如图所示是 Arduino 电路板的右侧(主要是数字信号输入)。      ● 数字信号输入:      4 号引脚:手柄的右转信号   5 号引脚:手柄的左转信号   6 号引脚:手柄上的平衡点微调开关   7 号引脚:手柄上的平衡点微调开关   9 号引脚:手柄上的紧急停止按钮      ● 数字输出:   8 号引脚:示波器脉冲。程序每循环一次发出一个脉冲,我就可以测量出程序的周期时间,在需要倾斜一定角度时我们会用到这个值进行计算。别担心,除非你大幅改动我的软件,否则周期时间不会有太大的变化。       http://3.im.guokr.com/gkimage/5u/56/p0/5u56p0.png"      
   ● 我们继续连接 Arduino 电路板的引脚。      ● 你需要一片带有 3.3V 输出引脚的新款 Arduino 电路板,因为 IMU 工作需要提供 3.3V 电压。      ● 注意:数字信号输入管脚(4,5,6,7,9)都必须接地。建议接地电阻为10K欧姆,尽管我用15K欧姆也OK。焊接这种活看起来有点荒废光阴,但是这也是必须滴~      ● 从图上可以看到,电阻们接在一块儿都是通过Arduino板另外一边的黑色导线接地的。       http://3.im.guokr.com/gkimage/ef/zc/8o/efzc8o.png"      
  ● 有关我的 Arduino 板子上的连接细节。      ● 我用从Maplins买到的连接器来连接单片机上的母头,然后把导线焊接到顶部的短针上。      ● 任何类似功能的设备都可以用。         

   21   Arduino 电路的电源

http://3.im.guokr.com/gkimage/is/nj/eb/isnjeb.png"      
   ● Arduino 电路板由带有开关的外置小盒中的 9V 电池驱动。      ● 这样做有如下几点好处:      一、又给力又安全——我有一次接上了 12V 电池(接错了),把一个 100 英镑买来的陀螺仪烧坏了。   二、你可以在主电机控制器没有通电的情况下调试软件。   三、便宜。      ● 虽然山寨,但是便宜实用的中国制造电源还常常附赠一排接口,找到一个跟Arduino匹配的接口然后焊上从9V的电池盒里接出来的导线,中间别忘加一个开关……检查一下吧!   ● 这样在电机控制器关闭的情况下你也可以运行单片机来调试啦。      

   22   陀螺仪定位

http://3.im.guokr.com/gkimage/4t/68/02/4t6802.png"     
  ● 有时你会搞迷糊,不知道哪个陀螺仪在做什么、在哪一根轴上旋转。      ● 我们之所以用到加速度计,是因为它可以提供准确的数据,确定哪里是垂直方向(重力方向)。

  不过它对于振动非常敏感,而我们恰恰缺少平滑的地板,常常在不平的地方行驶。

● 陀螺仪可以提供旋转角度(例如机器的倾斜角度)的实时数据,它对振动并不敏感,但是,随着时间的流逝它会产生漂移。      ● 如果你像我在照片中那样把 IMU 的线都接好了,那么就能参考右边的图表了。      ● IMU 很有意思,因为每个陀螺仪都有两个电压不同的输出引脚。

  其中一个相对而言不那么敏感,但是只适用于旋转速度高于每秒 500 度的情况。

  另一个更敏感一些,但可以工作在每秒 110 度以下的情况下。

  因此我所写的 Arduino 电路的软件代码会在高速旋转时读取低敏感度的陀螺仪,而在低速旋转时读取敏感度更高的那个。

● “附加滤波器”法利用了它们各自的长处:用陀螺仪测量短时间内倾斜角的变化、用一段时间内加速度计的读数平均值来得到向上方向的稳定值。这个值可以在后面校准陀螺仪的漂移。      ● 如果你在网上查阅相关资料,会发现这种方法叫作 PID 整定。

  还有一种叫做卡尔曼滤波器的方法,这是种更加复杂的数学方法。

  但是有位工程师告诉我说只有当你知道控制输入信号是什么样的,这种方法才值得推荐。

  而在本例中我们的“滑板”只是笨拙地想要保持平衡罢了,它并不知道我是不是偏移了重心,更不知道我的关节是否灵活什么的。

  于是他告诉我附加滤波器这一技术在实际情况下更适合采用。

● 我并非工程师,因此我敢说一定会有哪位网友对这一方面做一番扩充,要是我有说错的地方也一定会指正。      ● 不管怎么样,只要附加滤波器能正常工作就行了。

  不管是多么专业的模型玩家到了最后似乎也都必须手动对它们的设备进行微调( 在我的网站上有不少其他类 Segway 项目的链接 )。

   23   电机控制器

http://3.im.guokr.com/gkimage/km/6r/7p/km6r7p.png"      
● 这是一套 Sabertooth 牌 2 x 25 安(峰值电流 40 安)电机控制器,这样的控制器适用于中等大小的机器人。

  每一台电机都必须能够正反转,并能够频繁地快速、不出差错地切换方向。

     ● 我这里用的是 250 瓦,峰值电流 13.7 安的型号(铭牌上是这么写的)。

  瓦 = 安 x 伏,而我电机的电压为 24 伏,这样算下来电流就是 10.4 安。

  无论如何这都不会超出 Sabertooth 的电流限幅。

     ● 它还必须能够在发生大幅倾斜时提供足够的出力,电机必须足够大才能让这个机器的加速度够快,让它稳稳地待在你的脚下。      ● 因此除非你是这方面的砖家,否则自行设计一个电机控制器根本无从谈起。      ● 这套 Sabertooth 可以应付许多类型的误操作,但即使它再牛逼你也不能把电池给装反了!      ● Arduino 电路可以通过多种方式向电机发送控制数据,但我选择了一种叫做简化串行模式的方式。

  Sabertooth 的网站上有许多与此相关的可供下载的信息。

     ● 它确实并非最便宜的,但绝对物有所值。         

   24   Sabertooth电机控制器的设定

http://3.im.guokr.com/gkimage/n0/jp/dy/n0jpdy.png"   
● Sabertooth 电机控制器可以通过一系列 DIP 开关(双列直插式封装开关)设置去配置不同的数据流和电源。      ● 你需要如图所示进行设置,让它能够工作在简化串行模式、9600 波特率和铅酸电池的条件下。      这些也都可以从他们的网站上下载。

   25   连接电池

http://3.im.guokr.com/gkimage/ju/qo/ed/juqoed.png"      
● 我用两节一般的 7 安时铅酸电池串联起来提供 24 伏的输出。

  主电源开关在当中直接将它们连接起来,从而也可以直接断开。

● 然后再一次确认连入 Sabertooth 的电流方向是正确的。

   26   连接手柄

http://3.im.guokr.com/gkimage/i3/hg/16/i3hg16.png"      
  ● 我的朴素版自动控制板使用一根无线 Wii Nunchuck控制器作为控制系统。      ● 不过在本例中我们更在意的是削减成本。      ● 因此我们在末端通过电缆连上一个手柄。      ● 它有一个紧急停止按钮(如果你发生了翻车等事故时会关闭电机),还有左右转向按钮以及一个用于微调平台平衡点的按钮。      ● 如图所示是线路图。      ● “D”表示 1500 欧姆的电阻器。      ● A-> 简单的按键型开关,松手后开关就打开,与电机断开。      ● B-> 触发类开关,你手不施压的时候它就弹回平衡位置。这个开关有3个连接端,中心管脚与输出管脚之一连接,取决于你按在哪个层级。      ● C-> 跟B开关一样。         

   27   手柄

http://3.im.guokr.com/gkimage/9k/hs/6l/9khs6l.png"      
   ● 如图所示是小塑料盒中的手柄的内部。      ● 我用两根扎带将电缆末端固定住,这样就无法轻易地将它从盒子上扯下来了。      ● 这样做既便宜又简单。      ● 紧急停止按钮位于末端。

   28   组装手柄

http://3.im.guokr.com/gkimage/yi/v6/m7/yiv6m7.png"     
● 组装完成的手柄的照片。

   29   将手柄输入端与 Arduino 电路相连

http://3.im.guokr.com/gkimage/bc/fw/p1/bcfwp1.png"      
   ● Arduino 模拟输入端除了一个用作平衡之外都已经被占用了。      ● 所有的手柄的输入端都要接入 Arduino 电路板另一边的数字输入引脚上。

  我再一次用到了简单的扎带将电缆固定在板上,这样线路就不会在与 Arduino 输入引脚焊接的地方受到挤压了。

● 我所用的电缆是含有 6 根或以上电线的屏蔽电缆。      ●你也会看到我用 10K 的分压计来控制总增益。

  这让你可以在操纵时简单地做一些调整,让这台机器变得“疲软”或者“给力”。

●好好玩儿吧!

   30   输入

http://3.im.guokr.com/gkimage/nm/va/85/nmva85.png"      
   ● 最后,要记住你需要在每个数字输入引脚和地线之间各连上一个大约 10K 的下拉电阻。      ● 你需要一双巧手来完成这一任务。      ● 我的焊点粗看看还挺不错的,但放大了看就这么恐怖了!         

   31   测试

http://3.im.guokr.com/gkimage/1k/gz/lh/1kgzlh.png"     
● 我首先用蓝色贴墙胶把 IMU 固定住,否则在你鼓捣一阵之后就会发现它已经颠三倒四了!      ● 当你确认它能正常工作了以后就适当地固定住它吧。      ● 保护它不受轮胎扬起的尘屑影响,顺便让它往板的中央靠拢——这个位置是它最好的工作点。      

   32   紧急电源切断开关

http://3.im.guokr.com/gkimage/7j/it/c3/7jitc3.png"      
  ● 最后一道工序。

  在最近一次 Maker Faire 展会上我把我的独轮车放在桌上,自个儿到处看热闹去了。

  当我回来的时候发现有个小孩在桌子的一头玩耍,而他爸爸正在鼓捣独轮车上的开关,他试着按遍手柄上所有的按钮想让它跑起来——当时独轮车倾向一边。

  他运气不错,电池当时不给力,独轮车没能跑起来。

  要是他启动了独轮车,那么这个重量级金属巨兽就会由于自己倾斜过度而以 500 瓦的电机马力冲向那个小孩儿了。

  毫无疑问我会因此受到责问。

● 如果你计划将你制作的玩意儿带到类似展会之类的任何公开场合,并且将它放着供他人摆弄一段时间的话,我建议你装上一些中断设备之类的东西,例如一个点火开 关或者也许可以采用大电流继电器(从汽车配件商店购买),要么采用这种最简单的拉力车的紧急电池切断开关,它带有一把钥匙,你可以把钥匙带在身上。

  它能够轻易驾驭大电流,增加的配重也不多。

   33   开工

http://3.im.guokr.com/gkimage/jn/h7/q0/jnh7q0.png"     
  ● 这里就要讲到平衡了。

  这个版本的自动平衡滑板和我上一代双轮自动平衡滑板用的是同一种电机和电机控制器,因此应该运行效果也是相同的。

     ● 它的轴距为 24 厘米,不过要是你把它们分得更开些,做出来的玩意儿就更有 Segway 的风格了。      ● 它有趣的地方在于你可以把任何你想要装的东西用螺栓固定在它上面,无论是 Segway、滑板、R2D2 机器人或者任何让它看起来很潮很给力的部件!      ● 外面有卖一种 R2D2 垃圾桶,修改一下就可以完美地放在它上面了。      ** 主要部件(全新): **   Sabertooth 牌电机控制器: 97 英镑   电机:在易趣网上要价不等,大约在 35 英镑左右      链条:9 英镑   Arduino 电路板:20 英镑   IMU 单元:52 英镑   Razor 牌 E100 后轮组件:在大型电动小摩托配件商店里每套卖 24.99 英镑            含消费税总计 273 英镑,我认为这个价位对于自动平衡载具而言相当不错了。

  买了电池以后就会超出我 300 英镑的预期,不过不会超出太多。

  和一般的 4 轮(在一个后轮上装有一个电机的那种)电动滑板相比也颇具性价比。

     ● 英镑目前汇率不高,而Sparkfun 牌和 Razor 牌的小摩托都是美国产的,也就是说也许你在美国买会更便宜些。      ● 你也可以试试买一台二手的 Razor 牌 E100 电动小摩托,你可以从上面拆出一套后轮单元、一台电机(不过也许太小了)、一些可供试验用的电池以及相应的充电器,然后只要再买齐上述其余的配件即可。      

   34   在滑板上重制

http://3.im.guokr.com/gkimage/24/j0/fc/24j0fc.png"      
   ● 在首次发表这篇教程以后我又将所有教程中用到的组件装到了一块用船舶用夹合板加固过的滑板上。      ● 于是我有机会尝试玩儿滑板了。      ● 为了完成它,我略微修改了程序代码,改进(加强)了行驶状态,还用第二个陀螺仪来改进转向性能。      ● 在转向时陀螺仪会调整电机的出力,让转向速率保持恒定。

  目前这个速度设得较低,为每秒 5 度,不过你可以在代码里自行修改。

  已经有读者反馈说成功修改了。

● 如果你有兴趣再加一个步骤的话,还可以利用分压计来改变所需的转向速率。

   35   滑板露底照

http://3.im.guokr.com/gkimage/hd/cj/b7/hdcjb7.png"     
   ● 这就是滑板底部的模样。      ● 把加速度计/陀螺仪尽可能地放在板的中央。      ● 另外,如果你像我那样用蓝色贴墙胶作临时调整的话,要确保它能够牢牢地固定住零件。

  如果它会松脱晃动的话,滑板就会振动,而你根本无法查出故障原因!

● 这块滑板已经是我能找到的最大的了。

  另外,当你站在上面的时候,它的两端会有轻微的弯曲。

  这会让链条变松的!

  因此你需要用木料或者金属将它撑向中央,或者在板顶边缘进行加固。

  只要从中心线延伸到电机所在的位置就行了。

        
      http://3.im.guokr.com/gkimage/32/dv/9a/32dv9a.png"
   最后来点好玩的: 

  这幅图片很好得表达了上个世纪初(1900)年的人类们对于未来(二十世纪)的美好预期:没有人需要步行。取而代之的是可谓标配的私人小轮车,绝对是一个让人心向往之的愿景,虽然人们在着装上依然是那么复古~

祝你成功!

责任编辑:李阳阳

科普中国APP 科普中国微信 科普中国微博
科普中国网
是中国科协为深入推进科普信息化建设而塑造的全新品牌,旨在以科普内容建设为重点,充分依托现有的传播渠道和平台,使科普信息化建设与传统科普深度融合,以公众关注度作为项目精准评估的标准,提升国家科普公共服务水平。

猜你喜欢