一朝风月 万古长空

0%

机械郁金香mechflower

机械郁金香mechflower制作教程

刷Twitter的时候,看到了jipraus制作的机械郁金香,自己很是喜欢,正好我手头也有NodeMcu V1.0(ESP8266的板子),外加步进电机及其驱动模块.
便以此为契机,进行了仿制.

制作完成的视频

虽然通读了教程,也意识到了相关部分的难度,可是在制作过程中还是经历了不少问题.由此也想给大家分享下其中的关键点. 刚开始制作时,对于作者所说的 >好几次想把所有东西扔进垃圾桶

都有些不以为然.
而当自己后续制作时,每每遇到了抓狂的问题,却是深以为是.
由此总结下自己的心得,也给国内的爱好者提供些方法,好解决制作过程中遇到的问题.
程序源码都在最后附有连接.
闲言少叙,教程正式开始.

郁金香工作原理

简单来说,整个郁金香由6片花瓣组成,每一片都包含五个白色的LED.每片花瓣都需要连接到Arduino的一个输出端口.花蕊由7个WS2812B RGB三色LED组成,并被6片花瓣包裹起来.
从电路的观点来看,整个花是GND,而叶脉都是VCC.
花瓣的开合是由推杆推动的.推杆推到顶部,花朵盛开,
推杆拉到底部,花朵关闭.而推杆是由一个减速电机驱动.
jipraus的原始版本,还有一个触摸开关,通过触摸开关控制开合.我这个版本由于是通过手机控制,所以就直接省略了,如果需要的话可以参考附录的原教程链接.

购物清单

  • NodeMcuV1.0
  • 步进电机28BYJ48+ULN2003驱动板4相5线(见注意事项)
  • 1mm铜丝 总长3m
  • 2mm铜管 总长1m
  • 0.1mm漆包线 一卷(外层绝缘的铜丝)
  • WS2812B 5050封装 LED(rgb三色led)
  • 白色 1206封装 LED
  • 焊锡膏
  • 焊工夹具
  • 竹筒(因地制宜的底座)
  • 杜邦线(若无,能连接对应模块即可)

注意事项:

  • 2mm的铜管内径为1mm,要确保1mm铜丝可以穿入. 以满足后续花开动作.如果自己有疑问,可以直接跟淘宝店家沟通即可.制作过程中,我铜丝竟然买少了,想着在北京直接买能快速搞定,可我在北京跑了好多五金店都没能买到.去中发市场一样没有.所以简单便捷的方式,还是直接淘宝.
  • 铜丝和铜管的焊接,为了防止烫伤和更为方便的焊接,可以用焊锡膏涂在焊接处,使用夹具夹紧. 比较推荐这种方法,安全高效.
  • 当然,如果自认为焊接技术比较高超,如我一般.可以使用焊锡丝加松香进行.但要用砂纸或刷锅的钢丝球,打磨掉铜管和铜丝外部的氧化膜,以保证顺利进行焊接.要注意铜具有很好的导热性,不要烫到手.
  • 买个SG90舵机即可.我是制作了一个门铃自动应答器,就是听到门铃声响,自动摁下开门键.遗留了步进电机及UL2003N驱动模块.所以就拿来直接使用.而这些反而增大了体积,所以,不要学我.买个SG90电机即可.理论上Arduino的板子都应该可以直接驱动,无需那么麻烦.但是相关电机驱动需要自己借鉴jipraus的程序.
  • 为了能隐藏驱动电路,原作者动用了机床,磨了一个底座出来.而我向来取巧,所以采用了竹筒作为底座部分.可以让商家帮忙在竹筒顶部中心打一个2mm的孔,在竹筒杯口,开一个安放电源线的口即可.当然竹子的质感不能和实木相比,但胜在简单方便.如果想要制作送给女孩子,也可以选择一家木工作坊,自己借用工具,车一个出来.

购物链接

SG90
步进电机28BYJ48+ULN2003驱动板 4相 5线

其他部分,需要大家自行淘宝了.我就不做推荐了.

铜丝铜管焊接

在购物清单的注意事项中已经说明,其他问题,如果大家有遇到,可以跟我发邮件,或者在b站私信留言,我看到就会及时回复.

花瓣制作

如果想要能够制作出比较优雅开合的郁金香花朵.那么花瓣制作便是重中之重.
其中最为核心的是,要制作6片一模一样的花瓣.同样大小,同等的弧度.
为了完成花瓣的制作,jipraus利用石膏做了一个模子.
由于外网网速比较慢,而jipraus采用的亦是CC BY-NC-SA的版权,因此我就把视频传到了B站.所有引用都注明了出处,请放心观看.

首先介绍下,花瓣的整体电路构成,借用jipraus的图.
b27bcc79c222553a3f2a5bb890239729

  • 其中中心的叶脉线为VCC,叶边缘线为GND, 贴片LED连接叶脉和边缘,且发光面同花瓣弯曲方向.而每个花瓣的叶脉由漆包线连接到arduino板子,通过PWM进行呼吸效果的展示.

花瓣模具图

0585a5482355fa15a32bd3701622f2ad
2580aaa4d3400d4cbf35b0c7bbd582bc

制作花瓣时,需要重点关注及技巧部分

  • 重重重点,由于后续花朵的开合都会受到花瓣精度的影响,所以需要保证焊接的6个花瓣完全一致.如果此处没有做到,那么后续调整会更为麻烦,我当初就是对此不以为意.而当后续调整花瓣开合的时候,会非常麻烦.并且最后的效果称不上完美.
  • 如果没有jipraus的条件,也可使用细口瓶,花瓶,这类辅助类物品,代替花瓣的模具.只要弧度合适,方便在上面标注辅助线即可.
  • 焊接时需要保证,花瓣顶部金属管转轴部分能自由转动.并且,中心叶脉线不要顶到花瓣顶部,需要留出空间.
  • 如果后续想要得到一个很好的效果,必须要每一环都要做到比较精确.既是,我们虽然无法预测结果,可如果控制了每一环的结果,等到最后,效果自然不会太差.

花瓣焊接视频

焊接完成后的验证

焊接完成后,通过万用表的二极管档位测试花瓣能否点亮.如果有问题,也好进行调整.

jipraus制作完成的花瓣:
0e565aad3d25b4482d3b2b2e2d45179f
ed2dee74e8af78aec360cd84dbf1b163

我焊接完成花瓣
1d198b9b6ef332a10659ddf11cd524c5
理论上,最好的焊接结果是花瓣放在一起底部正好是一个六边形.
由于我开始时的轻视,导致后续做的调整起来更为麻烦.
所以,惨痛经历告诉我们,前期要做好,后期搞得好.

焊接全部花瓣

6片花瓣通过底部的铜管外壁,焊接到一个六边形的底座上,相对于六边形底座,花瓣可以自由开合.
6片花瓣由于彼此之间会有重叠部分,所以如果按照标准的正六边形进行焊接,则不可能会有重叠.针对这个问题,jipraus制作了一张图,利用两个嵌套的六边形,分别标出其中的三条边,以辅助焊接铜管.
由于给出了错位空间,所以花瓣会前后错开,因此可以形成花瓣部分重叠.
简单来讲:沿下图红线焊接即可.也就是焊接花瓣的时候,间隔一条边要么都靠里焊接,要么都靠外焊接.以此错落有致,满足花瓣可以部分重叠.
0925c793940d27f0cf167267fccbb7f7
焊接完成后,整体效果
b791885cab28fe7ab815b463816692e0
4a2500ad0117a554450bf8d114e7a23f

相关注意事项

  • 如果想要开合顺利,则最好错位焊接,这样就可以形成内部3片花瓣,外部3片花瓣,彼此有部分重叠.

推杆和花梗的制作

这部分描述起来,比较麻烦,所以我先给出这部分的动作视频,让大家了解下整体机制.花瓣的开花和闭合部分,都是由这部分机构所推动.

推杆运行原理视频

#### 推杆运行原理简化图

推杆可以在2mm的铜管内部自由移动.
推杆顶部连接到一个很小的六边形上,六边形每个边都套有金属管转轴.每个金属管转轴通过铜丝,连接到几字型的花瓣推杆.
几字型的花瓣推杆中间部位也有自由转动的金属管转轴.
当推动推杆时,推杆顶部的六边形,自然带动花瓣部分的推杆,由此完成了开花和闭合的功能.

几字型的花瓣推杆和推杆顶部中心六边形如下图所示
a3d3eaf10274ef294de9176bbae1e103

几字型推杆和推杆顶部中心六边形通过铜丝连接
16b27c6fe36516d4c6bc63fa6be44468

铜丝的长度,需要自己估量下.能够完成开合即可.
这也跟下面的花梗部分有关,所以牵扯的部分较多.

为了焊接推杆顶部的六边形,jipraus给出了另一张图,也是一个嵌套的六边形,只是更小了而已.
fd7a8075668c8bbb9741c26589920a11
如上图所示,中心最小的红色六边形即为推杆顶部的六边形.

注意事项:

  • 制作推杆顶部六边形时,每弯曲一个边,就要切一个2mm长度的铜管,套在这条边上.每条边都要稍微比铜管长点.确保铜管可以自由转动.
  • 由于推杆顶部的六边形和花瓣的几字型推杆通过铜丝连接,铜丝的长度需要综合花梗部分来进行确认.我采用的办法是.将整个花瓣合起来,比较下推杆顶部六边形的位置,并大概确认花梗的长度,而后进行焊接验证.此处需要确定连接部分铜丝的长度.
  • 推荐先将推杆中心的小六边形和几字型推杆焊接完成后.再将其几字型推杆焊接到花瓣边缘线上.
花梗部分的制作

花梗部分,也就是花托部分.当完成了以上动作后,为了能够完成开合动作,则需要将整个花朵固定在推杆外部的铜管上.
制作的时候,需要保证茎和花朵的六边形底部完全垂直,并茎在中心位置.

65160fc3fb6eabd890d5c16f07d4efee

注意事项

  • 焊接时可以将整个花朵倒立起来.
  • 根据三点组成一个平面的原理,可以间隔一条边去焊接花朵底部六边形的顶点.这样只需要三个焊点,即可稳定整个郁金香.也能给后续调整带来更多的便利.

中心花蕊的制作

当进行到这一步时,真心的出了一大口气.以上部分是最为核心的关键点.如果制作过程中没能够保持相应精度,则会影响花朵的开合及整体流畅性.
所以,以上部分是整个机械郁金香的重中之重.
当制作到这儿的时候,可以长舒一口气了.接下来相对而言会比较简单.但也不要掉以轻心.
中心花蕊,是通过菊花链的方式连接所有的WS2812B三色LED,并且其中6个LED以45度角固定在两个六边形上,还有一个焊接在顶部六边形的中心.测试整个花蕊可以正常点亮后,再将花蕊焊接到花朵底部的六边形.此时,只要焊接对应的六个顶点即可.而整体花蕊,需要摆放在花朵内侧,确保不要影响花朵的开合,可尽量靠近底部.

由电路视角来看:
顶部小六边形为VCC,底部大六边形为GND.且VCC需要连接到控制器的VCC端口,以保证供电.底部大六边形由于连接到了花朵底部的六边形,故已经关联了GND.
我是选取顶部六边形中心的led的DIN连接到了Arduino的GPIO,大家也可以自己根据自己的习惯,完成菊花链即可.

可以参考下图完成的1d1f72c3d99bd6992b2a59eb10c6145d
649d6ea81b5bd014d19b89fda958e3e7

WS2812B引脚示意图
40329e7e37b869f677fb963763799cb2
如有其他问题,可详细参考WS2812B DataSheet

苦于只有一把尖嘴钳,并且没有夹具,随性捏了两个六边形.
并且,只能趴在地上进行焊接.自己的焊工,都不忍心看.
所以,这个故事告诉我们.
工欲善其事,必先利其器.(甩锅焊工)
如果对精度要求较高,可在图纸上继续嵌套对应的六边形.按照图纸,进行花蕊的制作.
39c8ff0367b422c785b84e5b36f4ee62

注意事项:

  • 测试部分,可以在最后找到我的源码烧录进去,按照README进行操作即可.也可烧录其他测试WS2812B的代码,搜索FastLED即可.

最后的安装调试

终于来到了最后一步.大家加油.
6片花瓣的LED,再加上花蕊的VCC和DIN的两根,都要通过漆包线连接到Arduino的板子.
如果想要简单方便,那就直接理清线束后,贴着推杆安置线路.
但要确保,花瓣能够自由移动,并且不会对漆包线造成损伤.

jipraus的方式如下图
8120e87ce1a467cdd52a24e0659afc8d

通过扎带束紧漆包线,而后用透明的强力胶水(502即可)点下线束
而后,沿着花茎均匀的缠绕.如下图所示:
e2059a6e991ff3587f3b97257b8d9bbd

花瓣的漆包线,连接Arduino之前,每一根都需要增加200欧的电阻,也可根据自己手头的电阻,测试下亮度没问题,也都可以使用.

而后将郁金香安装在底座上,并连接到NodeMcu板子和驱动电机.

其他细节问题

触摸元件

我由于使用的是NodeMcu(ESP8266),所以是通过手机进行的控制,就没有采用触摸的方式,所以触摸部分进行了省略,可参考附录部分的原始连接.
如有疑问也都可以给我的邮箱发邮件,或在github上,提交issue.

附录

我的机械郁金香源代码NodeMcu版本
原教程地址(包含原作者的源代码)
机械郁金香作者的Twitter

需要大家支持⬇️⬇️玩摩托,惭愧,惭愧.