在今天的项目文章中,我们将制作一款无需任何微控制器的3D打印太阳能蛇形机器人。它的运动无需计算机编程,而是由简单的感官输入决定。当暴露在阳光下或足够亮的白炽灯下时,它会沿直线向前爬行。
图1. 完成后的蛇形机器人。图片由Kristijan Nelkovski提供
该项目基于BEAM机器人技术原理,同时借鉴了一些受蛇类启发的波浪式机械移动研究。在开始制作机器人之前,我们先来了解这些影响因素。
BEAM机器人技术
BEAM机器人由马克·W·蒂尔登(Mark W. Tilden)最初发明,它采用自供电设计,不含任何微处理器或微控制器,仅使用简单的模拟电子元件。其设计目标是让机器人的反应更接近生物有机体,而非复杂的顺序计算机算法。
BEAM是生物学(Biology)、电子学(Electronics)、美学(Aesthetics)和机械学(Mechanics)的缩写。正如缩写中“美学”部分所暗示的,这类机器人的设计不仅要表现得像生物,外观也要像生物。图2展示了马克·蒂尔登及其制作的部分概念验证型BEAM机器人。
图2. 马克·蒂尔登与各类概念验证型BEAM机器人。
除上述原则外,BEAM机器人通常遵循一些简单的设计规则,包括:
使用尽可能少的元件实现刺激-反应功能。
使用可再生能源为系统的部分或全部供电。
利用回收元件构建电路。
我们这款机器人的体型和移动机制,源于本·古里安大学(Ben Gurion University)的大卫·扎鲁克(David Zarrouk)博士及其学生在2016年发表的一项研究。他们开发的机器人名为单驱动器波浪式机器人(Single Actuator Wave-like Robot,简称SAW机器人),如图3所示。
图3. 原始SAW机器人。图片由内盖夫本·古里安大学提供
SAW机器人通过单个直流电机产生垂直的蛇形运动。其躯干由薄而空心的矩形支架组成,支架之间通过两个机械螺钉串联在一起。一根长长的螺旋线穿过机器人每个支架的开口,迫使整个结构形成正弦曲线形状。
这个螺旋部件固定在电机轴上,但不与支架本身连接,使其能够围绕支架的开口自由移动。当电机通电时,螺旋线的旋转运动产生振幅较大的前进正弦波,推动机器人向前或向后移动。
蛇形机器人制作步骤
和我大多数项目一样,你可以用面包板、万用板制作这款机器人,甚至可以采用点对点焊接的方式(许多BEAM机器人实际上都是这样设计的)。当然,我也设计了一个小型印刷电路板(PCB),你可以在此处下载:
https://www.allaboutcircuits.com/projects/constructing-a-solar-powered-snake-robot
其他项目文件可在此处获取:
https://www.allaboutcircuits.com/projects/constructing-a-solar-powered-snake-robot
表1是该项目的官方物料清单(BOM)。
这些元件中的大部分(如果不是全部)在普通电子工作间里都能找到。你也可以采用真正的BEAM理念,通过回收利用废弃或损坏电子设备中的元件来获取所需物料。
你可以使用任何类型的微型舵机,但需要拆除其内部电子元件,并将实际的直流电机端子直接连接到我们的电路中。这是因为我们利用舵机的外壳(其具有易于操作的矩形结构和螺丝孔)及其变速箱的高扭矩,而不使用舵机的驱动机构或反馈电路——毕竟这些部件需要微控制器才能正常使用。
如果你决定重用旧电子元件,请注意最可能出现问题的是电解电容器。如果你曾修理过旧电子设备,就会发现很多时候,一个原本功能完好的系统无法启动,就是因为电解电容器故障导致电路短路。因此,检查旧电容器是否有潜在损坏非常重要。
接下来,我们讨论如何为蛇形机器人供电。
太阳能引擎电路
在直射阳光下,一块小型太阳能电池板可提供约5V电压,电流可能不到100毫安。这仅仅是几节AA电池能为微型直流电机提供功率的一小部分,显然不足以满足我们的机器人项目需求。
幸运的是,我们可以构建一种称为“太阳能引擎电路”的系统。该系统能够储存太阳能电池产生的微弱电能,之后以可用的能量脉冲形式释放,间歇性地推动蛇形机器人前进。
大多数太阳能引擎设计会监测一个或多个电容器中收集的电压,以判断是否有足够的电能驱动执行器。这类电路结构简单,且能将大部分储存的能量用于驱动电机。
本项目中,我选择了蒂尔登(Tilden)二极管太阳能引擎设计的一种变体。二极管太阳能引擎电路的原理图如图4所示。
图4. 二极管太阳能引擎电路图。图片由克里斯蒂扬·内尔科夫斯基(Kristijan Nelkovski)提供
在直射阳光下,电路中电容器两端的电压缓慢上升。当电压超过二极管的阈值电压时,二极管开始导电。此时,基极与二极管连接的PNP晶体管导通,向NPN晶体管的基极提供电流。这就闭合了电机和电容器之间的电路,从而为机器人供电。
当NPN晶体管的集电极电压降至零时,电阻中的电流反向并激活PNP晶体管,实际上将二极管从电路中移除。之后,机器人持续运行,直到电容器电压下降,整个过程再次重复。
底盘和躯干设计
虽然没有PCB也能完成制作,但如果不3D打印机器人的底盘,就无法实现蛇形移动。我在网上搜索后,未能找到扎鲁克(Zarrouk)博士机器人的原始CAD文件,但找到了一些替代方案。
我的设计很大程度上基于Thingiverse平台上Noobnood的版本,但做了一些修改。例如,我修改了每个支架,使其可以作为单个部件打印,无需粘合零件;同时制作了一个通用支架,用于固定电机、PCB和太阳能电池板。图5展示了该支架与躯干支架的连接方式。
图5. 太阳能蛇形机器人的侧视图。
如图所示,我制作的蛇形机器人有15个躯干支架。如果你想让蛇更长,可以使用更多支架——我只是因为可用的1.5毫米机械螺钉数量有限才选择了15个。
至于中央螺旋线,我使用了一根铜线,将其缠绕并拉伸成螺旋形状(模仿Noobnood的塑料螺旋线)。3D打印不仅耗时过长,还可能带来很多麻烦:如此小尺寸的塑料容易断裂,一旦断裂就需要重新打印螺旋线。
铜线的一端弯曲后连接到舵机的一个摇臂上。我没有使用特定规格的铜线,螺旋线的实际尺寸也是目测确定的。
动手制作吧
一旦你制作好太阳能引擎电路和移动系统,只要阳光照射到太阳能电池板,你的蛇形机器人就会立刻行动起来!你可以点击图6中的视频链接,查看我的原型机运行效果。
现在你已经知道如何制作简单的太阳能引擎,并将其用作机器人的“大脑”,无需编写任何计算机代码。你还会将这个电路用于其他什么类型的项目呢?
原文
https://www.allaboutcircuits.com/projects/constructing-a-solar-powered-snake-robot
创芯大讲堂芯片课程汇总
热门跟贴