专注电子技术学习与研究
当前位置:单片机教程网 >> Arduino >> 浏览文章

3D打印制作的Arduino互动作品-骷髅精灵

作者:RobotBase   来源:来自RobotBase   点击数:  更新时间:2014年07月30日   【字体:

  

 

    正所谓“一夜成名天下知”,在过去的30年间,快速成型技术在传统工业制造方式的挤压下,只能蜷缩在制造业的某些角落。然而今天,在开源运动的助推下,硬件作为软件的附属已变得十分廉价,3D打印技术也因此迎来了它的高速发展期。各种桌面型3D打印设备层出不穷,在网上搜索3D打印机,会浏览到数以万计的相关内容。从MakerBot、Ultimaker这些优秀的桌面型3D打印机到提供给电子爱好者的各种开源硬件,这些神奇的东西终将改变我们未来的生活。
    喜欢尝鲜的笔者老早就购置了一台3D打印机,这款打印机采用的是相对成熟的FDM技术,据说,它是目前市场上最可靠的桌面型3D打印机。材料使用的是廉价的环保可降解丝材PLA。


 
图1 笔者使用的MakerBot 3D打印机
  

    从第一次开始打印,笔者就深深的爱上了这台3D打印机。有了它,自己再也不必为了满屋翻找合适的零部件。一般的外壳与支撑结构、通孔,甚至是关键的连接件,只要是经过合理的设计,都可以一次打印搞定。把笔者从锯条、电钻、手锉的原始DIY生活中解放出来了,几乎实现了从设计到制造的一体化,省时又省力。我们姑且不谈什么产业链、什么生态圈,就以上的几个优点,笔者发自肺腑的告诉你:“3D打印机,值得拥有”。
    笔者在万圣节来临之际,想给好友DIY一个小礼物。整个礼物的外壳都是这台>MakerBot 3D打印机的杰作,透过本书,我会将这个小礼物的制作全过程,向你娓娓道来。
 

骷髅精灵——3D打印与Arduino完美结合

    说了半天3D打印,其实它早已是开源领域的一个热议话题;而Arduino,则是流行已久的简单、易用的开发板。这两款神器落在热衷于改变生活的笔者手里,会创造出怎样的惊喜呢?下面就和大家一起分享用3D打印机+Arduino控制器+避障传感器等部件制作的一款新奇小礼物:放置在盒子上的一个灵异骷髅头,我喜欢叫它“骷髅精灵”。在内部Arduino的控制下,它的两个眼睛会随时盯着面前的你!拿它当作万圣节礼物送给朋友一定搞怪。.
    为了制作这样一个诡异的万圣节礼物,笔者想起了早先在Thingiverse下载的骷髅模型。打算以它为蓝本,进行一番Arduino电控改造。首先,把模型文件放入MakerWare中,配置为低精度打印,等待Gcode生成完毕,存入SD卡,开始打印。


 
图2 模型放入MakerWare中
 

    接下来,还要为这个骷髅头设计两个炯炯有神的大眼睛,在SolidWorks里,我们直接为眼球添加一个安装孔,直接3D打印出来,省去了后续的钻孔操作。当然,如果前期,孔的大小不是很确定,也可以先在Solidworks里随便开一个小孔,这样后期用电钻扩孔会很方便。


 
图3 Solidworks绘制骷髅眼球
 

    为了礼品的美观,我们还需要绘制一个外壳,即能够做为承托骷髅头的底座,也能够安置我们的Arduino控制板。


 
图4 用SolidWorks绘制骷髅头底座
 
图5 3D打印骷髅模型过程
 

    嗯,不错。这些结构零部件就先交给3D打印机来加工吧。想让骷髅精灵的眼球盯着面前的人转动起来,除了“眼球”相关机构的设计外,更重要的是电控部分的程序设计。接下来给大家说明下它的电路控制部分的组成。
 

眼睛转起来——控制板与传感器挑选
 
   为了实现让骷髅精灵的眼睛盯着面前物体移动,我们需要一些能够检测面前障碍物的传感器,除此之外是一种能够带动眼睛转动的电机。最重要的是控制核心板,由它来接收传感器信号,执行特定程序,最终驱动控制电机运动,实现我们想要的功能。别急,笔者这就为大家慢慢介绍自己的硬件搭配方案。
    控制器:身为一个电子制作迷,笔者一定会选择Arduino系列控制器,因为它简单易用、方便可靠;不过考虑到如今许多人身边都闲置有Micro-USB接口的手机数据线,笔者要给大家推荐的是一款配备Micro USB接口的CarDuino UNO控制器。它的功能与Arduino UNO完全一致,但板上的Micro USB接口会为你省去购买数据线的开销,板子更强,接口标注更清晰。


 
图6 CarDuino UNO 控制器
 

CarDuino UNO控制器的基本参数
控制芯片 ATmega328
运行电压 5V
输入电压 7-12V
数字I/O口 14个(6路具备PWM功能)
模拟输入口 6个
Flash空间 32KB(0.5KB被bootloader使用)
SRAM 2KB
EEPROM 1KB
时钟频率 16MHz
数据接口 Micro-USB

 

    驱动电机:骷髅头的两只眼睛需要能够转动,不过这里携带的负载质量小,且转向始终是同步的,笔者选用了一个小巧的9g伺服舵机,至于具体的传动结构,就留到后面详细叙述。


 
图7微型伺服舵机
 

    避障传感器:检测面前物体的传感器,笔者将用到的是一种Mini红外避障传感器,它板载两个电位器,一个调节感应范围、一个调节灵敏度,能够适应环境,灵活易用。


 
图8 Mini红外避障传感器
 

    为了我们的小制作更加美观,笔者也特别地为Mini红外避障传感器设计了外壳,一起交给3D打印机来加工。


 

图9  3D打印的红外避障传感器外壳

 

    传感器扩展板:由于手头恰好有一块传感器扩展板,笔者也就懒得用多余的杜邦线了,直接把传感器与舵机的3P接线头插接在该扩展板上对应接口上即可。


 

图10传感器扩展板
 

    所需要的电路元件已经选择好了,接下来只要把UNO扩展板插接在CarDuino UNO上,四个红外避障传感器分别连接在扩展板的数字2、数字3、数字4、数字5接口,舵机连接在数字9接口,下面罗列电路控制方面的基本硬件构成:


 
图11 硬件构成框图
 

眼睛转起来——机械结构设计
 
    接下来着重介绍下眼睛动作的机械结构。本着一切从简的目的,这次笔者并没有打算使用3D打印机来加工复杂的机械传动结构。而是找来两个废弃的按动式圆珠笔,发挥我们的优良传统:拆!
    把其中的两根圆珠笔芯当做骷髅精灵眼睛的转轴,笔芯从骷髅的眼眶下方穿出,圆珠笔芯则方便的与“眼球”穿接。这样,圆珠笔芯一旋转,就会带动眼球一起旋转。
 


图12 “眼睛”旋转的机械结构
 

    两根转轴的同步横轴也是用的笔芯,连接销用的是订书钉。这样,这根横轴摆动的同时,就会间接带动上面的两个眼球转动。试图用舵机的摇臂直接与同步横轴相连时,笔者犯了难。因为舵臂转动受限,转角稍有不慎,舵机动作就会卡住,容易损害舵机。看着桌面上多余的两个弹簧,笔者当时灵机一动。把这其中一个拆出的弹簧拿来,套在同步横轴上,摇臂连接到弹簧,间接带动同步横轴。舵机转动过量时,不会卡死,而是压缩弹簧。


 
图13 舵机带动“眼球”转动的机械结构
 

    好了,一个由舵机摆动进而带动两个眼球左右转动的机械结构设计完成,然后安上后盖。

 

 
图14 初步组装好的骷髅精灵
 

骷髅精灵之灵魂——Arduino程序编写
 
    硬件与机械结构制作完成了,赶快来写程序吧,这个可是笔者的强项。思考下,程序要实现的功能是:当人走进骷髅精灵的“视力范围”时,它的眼睛就会盯向你,并且随着你的移动而转动。因为功能简单,程序写起来也不难,基本逻辑就是,哪个红外避障传感器检测到障碍物,就让舵机旋转到特定角度,好让骷髅的眼睛盯向那一方向。不过要考虑好细节,比如有两个人或很多人围着骷髅精灵,也就是多个红外避障传感器被同时触发时,它该看谁呢?看美女吗?我是让它谁也不看,目视前方,哈哈。话不多话,给大家看下四个红外避障传感器的布置以及程序的控制流程。


 
图15 四个红外传感器部署位置与对应序号
 


图16 程序流程图
 
图17 程序编译通过,准备下载
 

骷髅变精灵——大功告成
 
    到此为止,我们的骷髅精灵就已经大功告成了。笔者第一次弄时,刚开始效果很不理想,眼睛不是盯着不动,就是一直在疯狂的乱抖,很难停下来。原因是红外传感器对障碍物过于敏感。这时需要依照环境特点做灵敏度校正。如果你觉得感应距离不合适,也应该适当调整感应距离大小。
    眼睛转动范围调整完毕,线路摆好,就可以合盖,在装进万圣节礼物包之前可以畅快的试玩啦!


 
图18  骷髅精灵整体展示

 
    经过一上午的努力,一个死寂的骷髅头模型终于变成了一个活灵活现会动的精灵。笔者不禁感慨,每天为了工作而忙碌,生活有时也会变得枯燥乏味。当意志消沉无聊的时候,打开桌上的电脑,拿起Arduino写个小程序,通过3D打印机,动动手,很容易就会变废为宝,制作出各种各样有趣新奇的作品,笔者希望抛砖引玉,带给大家一些创作灵感,同时也期望大家都能开源无私分享。

    


   

关闭窗口

相关文章