1. 项目概述:从“完美”到“有趣”的机器人设计哲学
在大多数机器人项目中,我们追求的是精确、稳定和可预测。无论是循线小车的直线行驶,还是机械臂的精准抓取,工程师和创客们都在努力消除误差,让机器按照预设的轨迹完美运行。但今天我想分享的这个项目——“Clack”,却反其道而行之。它不是一个追求工业级精度的产物,而是一个拥抱“不一致性”和“不完美”的趣味实验。这个项目的核心,是利用两个最基础的连续旋转伺服电机和八把随处可见的塑料勺子,制作一个行为模式充满随机性和探索性的简易机器人。
Clack的“大脑”和“肌肉”非常简单:一个由3节AA电池供电的电池盒,以及两个经过改装的连续旋转伺服电机。它的“轮子”则是用塑料勺子制成的。关键在于,这些勺子的安装长度被有意地设置得参差不齐,两个电机的转速也并非完全同步。正是这些设计上的“缺陷”,使得Clack在启动后不会无聊地直线前进,而是会跌跌撞撞、左摇右摆,以一种不可预测的、仿佛拥有生命般的姿态在桌面上探索。这个项目完美地诠释了一个道理:在创意和趣味性面前,绝对的“完美”有时反而是枯燥的。它降低了机器人制作的门槛,将焦点从复杂的编程和精密加工,转移到了对基础机械原理的理解和即兴创作的乐趣上。
对于刚接触机器人制作的爱好者、电子DIY新手,或者正在寻找一个有趣STEM教育项目的老师和家长来说,Clack都是一个绝佳的起点。它几乎不需要编程知识(如果你使用预改装的连续旋转舵机),材料成本极低,制作过程充满了手工的乐趣。通过完成它,你不仅能亲手搭建一个会动的“生命体”,更能深刻理解伺服电机作为执行器的工作原理,以及机械结构如何影响最终的运动行为。接下来,我将详细拆解从材料准备到最终调试的每一个步骤,并分享我在多次制作类似机器人过程中积累的实操心得和避坑指南。
2. 核心元件解析与选型要点
在开始动手之前,透彻理解你手中的核心部件至关重要。Clack机器人的灵魂在于那两个伺服电机,而它的个性则源于那些塑料勺子。盲目组装只会得到一个不会动或者很快损坏的模型。因此,我们首先需要弄清楚这些元件的特性、为什么选它们,以及在使用中需要注意什么。
2.1 伺服电机的深度剖析:从标准舵机到连续旋转
伺服电机,俗称舵机,是机器人关节和轮式驱动的核心。我们常见的舵机(如SG90、MG996R)通常是位置伺服电机。其内部包含一个小型直流电机、一套减速齿轮组、一个电位器(用于检测输出轴位置)以及一块控制电路板。它接收来自控制器(如Arduino)的PWM(脉冲宽度调制)信号,这个信号的脉冲宽度对应着一个特定的目标角度。控制板会比较电位器反馈的当前角度与目标角度,驱动电机正转或反转,直到两者一致,从而实现精准的角度定位。这就是为什么舵机能用来控制机器人手臂、摄像头云台或遥控模型的转向。
然而,Clack需要的是能像轮子一样持续转动的动力源,这就需要连续旋转伺服电机。它有两种获取方式:一是直接购买成品连续旋转舵机(如Parallax公司的标准件);二是对普通位置舵机进行改装。改装的核心步骤是移除其内部的机械限位和电位器反馈功能。具体来说,需要小心地拆开舵机,找到与输出轴联动的电位器,并将其从电路板上拆除或使其固定在中位。同时,要物理移除输出齿轮上的机械限位凸起。完成这些后,舵机就“忘记”了自己的绝对位置,原本用于控制角度的PWM信号,现在被解释为控制旋转速度和方向:一个特定脉宽(通常是1.5ms)代表停止,大于此值正向旋转,小于则反向旋转,脉宽偏离中位的幅度决定了转速。
注意:改装舵机需要一定的动手能力和细心,不当操作极易损坏齿轮或电路。对于初次尝试的制作者,我强烈建议直接购买已改装好的连续旋转舵机,虽然成本稍高,但省时省力,可靠性也更有保障。这是项目成功的第一步,也是最容易踩坑的一步。
2.2 材料清单与替代方案
原项目的材料清单非常精简,但在实际制作中,我们可以根据手头资源进行灵活替换,这也是DIY的乐趣所在。
- 核心动力:
- 连续旋转伺服电机 x2:这是项目的核心。型号上,SG90(9克舵机)扭矩较小但足够轻巧;MG90S或MG996R扭矩更大,能驱动更重或阻力更大的“轮子”。关键是两个舵机最好同型号,以减少初始性能差异过大导致的严重偏航。
- 3xAA电池盒 x1:提供约4.5V电压。务必选择带开关的型号,方便控制。AA电池建议使用碱性电池或可充电镍氢电池,以保证足够的电流输出。
- 机械结构:
- 塑料勺子 x8:最好是硬质塑料勺,一次性餐勺的强度可能不足。勺子柄的长度和勺头的形状将直接影响机器人的步态和重心。这是体现“不一致性”的关键材料。
- 小型垃圾桶/容器 x1:作为机器人车身。原项目使用小垃圾桶,但你完全可以用塑料饭盒、小型收纳盒甚至坚固的纸盒代替。关键要求是:两侧有足够平坦的面积安装舵机,且内部有空间容纳电池盒和线束。
- 连接与固定:
- 尼龙扎带(束线带)若干:用于固定舵机和整理电线。建议准备多种长度,短扎带用于固定舵机,长扎带用于捆扎线束。
- 电烙铁、焊锡丝、热缩管:用于可靠地连接电机线与电池线。虽然可以尝试用扭接加电工胶布的方式,但在震动环境下极易松动,焊接是最稳妥的方案。
- 手电钻及钻头(1/8英寸、3/4英寸):用于在车身和舵机盘上打孔。如果没有手电钻,对于塑料车身,用烧热的钉子或锥子小心烫出孔洞也是可行的替代方法,但需注意安全和孔洞圆整度。
- 螺丝刀:匹配舵机盘固定螺丝的型号。
这份清单体现了极简主义的设计思路:用最少的专用零件,最大化利用日常材料。在选择替代品时,核心原则是保证结构强度和电气连接的可靠性。
3. 机械结构组装详解与技巧
机械部分是Clack机器人的骨骼,它的牢固度和设计直接决定了机器人能否正常运动以及运动姿态是否有趣。这一部分需要耐心和一点巧劲。
3.1 车身准备与舵机安装
车身的核心任务是为两个舵机提供一个稳固且对称的安装平台。我推荐使用小型塑料收纳盒,因为它通常有平整的侧面和足够的内部空间。
- 定位与标记:首先,确定机器人的前进方向。在车身两侧对称的位置,用尺子和笔标记出舵机输出轴的中心点。这个点的高度决定了机器人的离地间隙。一个实用的技巧是,将舵机(不带舵机盘)贴在车外侧,模拟安装,让输出轴大致位于车身高度的中部偏下位置,这样安装“轮子”(勺子)后,车身能保持稳定,不易侧翻。标记好中心点后,用3/4英寸(约19mm)钻头在这个点上开一个大孔,这个孔是为了让舵机的输出轴能够穿出车身。
- 舵机固定孔定位:将舵机输出轴从车身内侧穿过刚才钻的大孔,使舵机紧贴内壁。此时,透过舵机外壳上的四个安装耳(通常有孔),用笔在车身上标记出这四个孔的位置。这一步务必确保舵机摆放端正,其轴线与车身侧面垂直。
- 钻孔与固定:使用1/8英寸(约3.2mm)钻头,在标记的四个小孔位置钻孔。然后,从车外将尼龙扎带穿过这些小孔,在车内套住舵机的安装耳,拉紧扎带,将舵机牢牢固定在车身上。重复以上步骤,安装第二个舵机。实操心得:拉紧扎带前,可以给舵机垫一小块橡胶或厚布片,既能减震,又能增加摩擦力,防止舵机后期因震动而移位。确保两个舵机安装高度和前后位置尽可能一致,这是保证基础运动平衡的前提。
3.2 “勺轮”的制作与不对称美学
这是整个项目中最能体现创意和“不完美”哲学的部分。我们不是要制作两个标准的轮子,而是制作两套不断拍打地面、长度不一的“腿”。
- 改造舵机盘:舵机盘(舵机臂)是连接输出轴和勺子的关键部件。我们需要将它改造成一个“十字”或“星形”的支架。使用手电钻,在舵机盘的四个辐射臂的末端和稍微靠内(例如向内1/4英寸)的位置,各钻一个小孔(1/8英寸)。这样每个臂上就有两个孔,为固定勺子提供了灵活性。注意事项:钻孔时最好将舵机盘夹在带木料的台钳上,从背面钻,这样可以避免塑料撕裂,并得到更干净的孔洞。
- 勺子的选择与固定:挑选8把勺子,可以有意选择柄部粗细、长度略有差异的。将勺子柄部需要固定的位置,对准舵机盘上一个臂的两个孔,用笔做上标记。然后取下勺子,在标记处钻孔。接着,使用舵机盘原配的螺丝,穿过舵机盘的孔和勺子的孔,在勺子背面用螺母锁紧(如果螺丝不够长,可以用另一根短扎带充当螺母前的垫片防止脱落)。最后,为了双重加固,再用一根细扎带,在勺子柄和舵机臂上绕紧。核心技巧:不要试图让所有勺子长度一致!这正是Clack的灵魂所在。可以有意识地将四个勺子安装得长短不一,甚至略微调整它们相对于舵机盘平面的角度(有些更垂直,有些更外翻)。这种刻意的“不精确”,会让机器人在运动时产生复杂且随机的力矩,从而出现旋转、摇摆、掉头等有趣行为。
- 整体组装:将制作好的“勺轮”组件,套回舵机的输出轴上,用固定螺丝拧紧。由于勺子可能遮挡螺丝孔,建议在固定舵机盘到舵机之前,就先穿好固定螺丝,或者按照原项目建议,在对应位置上方(勺子之间)的车身上钻一个小访问孔,便于后期用长螺丝刀进行调整。
至此,一个张牙舞爪、充满个性的Clack机器人机械部分就完成了。你可以手动转动舵机轴,观察“勺轮”的运动轨迹,感受一下它可能带来的不规则步态。
4. 电路连接与系统集成
电路部分虽然简单,但却是机器人的“神经系统”,连接错误会导致不动作或损坏元件。安全、可靠是这里的首要原则。
4.1 电源与电机的焊接
连续旋转舵机通常有三根线:红色(VCC,电源正极)、棕色或黑色(GND,电源负极)、橙色或黄色(信号线)。对于Clack这个纯开环运动的版本,我们不需要连接信号线。我们直接将两个舵机的电源线与电池盒连接,让它们一上电就全速旋转。
- 接线原理:我们需要将两个舵机并联到电池盒上。并联可以保证它们获得相同的电压。接线方式是:将舵机A的红线与舵机B的黑线拧在一起,然后焊接到电池盒的红线(正极)上;再将舵机A的黑线与舵机B的黄线(信号线,此处闲置,用热缩管包好绝缘)旁边的舵机B的红线(更正:此处应为舵机B剩下的红线,但根据并联接法,实际是舵机A的黑线与舵机B的黑线接电池负极)——让我们重新梳理这个关键且容易出错的点:
- 正确的并联接法是:所有元件的正极连在一起,所有元件的负极连在一起。
- 因此,将两个舵机的红线(正极)焊接在一起,然后引出一根线,接到电池盒的红线(正极)。
- 将两个舵机的黑线(负极)焊接在一起,然后引出一根线,接到电池盒的黑线(负极)。
- 两个舵机的信号线闲置,用绝缘胶带或热缩管单独包好,避免相互接触或碰到电源线。
- 原项目描述“将一电机的红线和另一电机的黑线接电池正极”是一种典型的交叉接法,其目的是为了让两个电机默认以相反的方向旋转,从而一个驱动左侧“轮子”前进,另一个驱动右侧“轮子”前进,实现直行。但如果你的两个改装舵机对PWM中位的响应不完全一致(很可能),这种接法反而会导致两边转速不同。
- 焊接操作:在焊接前,先用剥线钳剥去线头约5mm的绝缘皮,将需要连接的线头拧紧或互相缠绕,然后上锡焊接。焊接点要求光滑饱满,无毛刺。强烈建议在每个焊接点完成后,立即套上热缩管,用热风枪或打火机(小心)加热收缩,实现绝缘和保护。这比电工胶布更可靠耐用。
- 方向测试与调整:完成焊接后,先不要将电池盒放入车身内。打开电池盒开关,观察两个“勺轮”的旋转方向。我们的目标是让机器人在平放时,两个“勺轮”都朝着同一个方向旋转(比如都向前转),这样能产生向前的合力。如果发现一个向前一个向后,机器人就会在原地打转。此时,只需要对调这个舵机连接在电池盒上的两根电源线(红和黑)即可。这就是为什么使用焊接而不是插接的好处——你可以通过更改并联汇流排上的接线顺序来轻松调整方向,而不必改动每个舵机本身的线序。
4.2 线束整理与电池安置
杂乱的电线不仅是美观问题,更可能在机器人剧烈运动时被“勺轮”卷入,导致短路或扯断。
- 捆扎固定:使用较短的尼龙扎带,将两个舵机的线束在靠近舵机本体处轻轻捆扎,留出一定松弛度避免应力。然后将所有线缆(包括电池盒引线)用较长的扎带沿着车身内壁规整地捆好,引导至车身尾部或顶部预留给电池盒的位置。
- 电池盒放置:电池盒是整个机器人最重的部分,它的位置直接影响机器人的重心和运动姿态。将电池盒放在车身尾部(与“勺轮”相对的一端),可以增加向前的推力,使机器人更容易“爬行”而非“仰头”。用扎带或强力双面胶将电池盒固定在车底或车尾内壁。注意事项:确保电池盒的开关留在车外或易于触及的位置,方便随时断电。
完成以上步骤后,一个完整的Clack机器人就诞生了。关上开关,把它放在光滑的地面或桌面上,观察它那充满魔性的、不可预测的运动吧!
5. 调试优化与行为模式探究
Clack机器人制作完成后,它的旅程才刚刚开始。你会发现,每一次启动,它的运动轨迹可能都略有不同。我们可以通过一些简单的调整,来“驯服”或“激发”它不同的行为模式,这也是项目最富探索性的部分。
5.1 基础行为调试与问题排查
即使按照步骤制作,首次运行时也可能遇到一些小问题。下面是一个快速排查指南:
| 现象 | 可能原因 | 解决方案 |
|---|---|---|
| 机器人完全不动 | 1. 电池盒开关未开或电池没电。 2. 电源线焊接点虚焊或断开。 3. 舵机在改装过程中损坏。 | 1. 检查开关,更换新电池。 2. 重新检查并焊接所有接点。 3. 断开电路,直接用4.5V电源(如三节电池)触碰舵机电源线,看是否转动。 |
| 只有一个“勺轮”转动 | 1. 不转的舵机电源线断路。 2. 该舵机在安装时被扎带卡死或齿轮已损坏。 | 1. 检查并修复该舵机的电源线路。 2. 松开扎带检查舵机能否自由转动,或更换舵机。 |
| 机器人剧烈振动或“跳高” | 1. 勺子安装极度不对称,导致旋转动平衡极差。 2. 车身太轻。 3. 地面摩擦力太小。 | 1. 适当调整勺子,使其分布相对均匀一些,虽然不求完全平衡,但避免一侧过重。 2. 在车身内增加配重(如几枚硬币用胶带固定)。 3. 在粗糙地面(如地毯、毛毡)上运行。 |
| 运动轨迹总是偏向一边 | 1. 两个舵机固有转速差异较大。 2. 两侧勺子整体阻力不同(如一侧勺子刮擦车身)。 3. 车身重心严重偏离中心。 | 1. 这是正常现象,也是“不可预测性”的来源之一。若想改善,可尝试交换左右舵机。 2. 检查并调整刮擦的勺子。 3. 调整电池盒位置,使重心居中。 |
| 运行几分钟后停止或变慢 | 1. 电池电量不足。 2. 舵机因阻力过大或散热不良而过热保护。 | 1. 更换新电池。 2. 检查是否有勺子被卡住,确保运行环境通风。 |
5.2 高级玩法与个性化改造
当你对基础版的Clack感到满意后,可以尝试以下改造,赋予它更多个性:
- 引入“控制大脑”:这是从“纯机械随机”到“可编程智能”的飞跃。将两个舵机的信号线(通常是黄线或白线)连接到一个Arduino开发板(如Arduino Uno)的PWM引脚(如9和10)。将舵机的电源正负极连接到Arduino的Vin和GND(注意:如果舵机较多或电流大,需使用外部电源单独供电)。然后,你可以编写简单的Arduino程序来控制电机的启停、速度和方向。例如,你可以让它前进5秒,然后随机左转或右转,实现更复杂的探索行为。甚至加上超声波传感器,让它变成避障机器人。
- “勺轮”形态学实验:勺子的形态是决定步态的关键。尝试使用不同材质的勺子(如金属勺,但要注意重量),或者将勺子剪短、弯曲成不同的角度。你还可以增加“轮子”的“辐条”数量,比如每个舵机盘上安装6把勺子,看看运动频率和稳定性有何变化。甚至可以用塑料叉子、旧信用卡剪成的条状物来代替勺子,创造全新的运动声音和视觉效果。
- 车身结构与重心游戏:改变车身的形状和重量分布。使用更轻的泡沫板做车身,或者增加一个高高的“桅杆”,机器人会变得更容易摔倒和翻滚,行为更加滑稽。在车身前端加一个重物,它可能会频繁地“后空翻”。
- 环境交互设计:为Clack设计一个简单的“舞台”。比如用纸板墙围出一个迷宫,看它如何随机探索出路。或者在桌面上铺设不同材质的区域(光滑的、粗糙的、有坡度的),观察其运动模式如何随环境改变。
Clack项目的魅力,就在于它从一个极其简单的起点出发,却打开了通向机器人学、机械设计、控制原理甚至行为艺术的一扇大门。它用最低的成本和最高的趣味性告诉我们,技术的乐趣不在于复现完美,而在于创造可能性,在于观察一个由你赋予物理形态的系统,如何演化出令人惊奇的、独一无二的行为。每一次调试,每一次改造,都是与这个简易“生命体”的一次对话。我个人最喜欢在工作坊中带领大家制作Clack,因为当几十个形态各异的Clack同时被释放,在场地里横冲直撞、相互碰撞时,那种由简单规则涌现出的复杂场景,总能引发最热烈的笑声和思考。这或许就是创客精神的真谛:动手去做,拥抱不完美,在混乱中发现乐趣与智慧。