线性时钟介绍:
我们要制作的东西,叫做线性时钟。什么是线性时钟呢?顾名思义,所谓线性时钟就是把圆形钟面上的数字拉直,然后按直线排列起来。想象一下,要是在家里或是办公室放着一个这么Geek的时钟,一定会有种很潮的感觉。
我雄心勃勃,希望将来能把线性时钟推向市场,让它走进千家万户。如果你看了之后,准备亲自操刀DIY一个,或是灵光闪现想对它进行改进的话,本文提供全套制作方案和使用的零件列表。
这个线性时钟是一个简化版本,用了很多常见的零件。它只是个检验可行性的愿型。制作过程并不复杂,如果零件、工具齐全,一晚上足以搞定。我选择的元件大都比较容易找到,制作时也无需对它们开膛破肚,更用不着太特殊的东西,而且制作精度的要求也不太高。
之后介绍了我试图改进线性时钟所做的几种尝试以及最终定型方案。我很享受整个DIY过程,我相信你看过之后肯定也按捺不住、蠢蠢欲动了吧。下面就让我们开始吧!
这里选取了我设计时画的部分草图。
从中可以大致看出线性时钟逐渐成形的过程。
这个过程确实很辛苦。我甚至因为可实现的方法太多,不知如何选择而陷入僵局。
我提前设定了一些线性时钟应该具备的特性:
1、小功率,最好不用电源线,仅用电池就能工作
2、造价低,适应普通零售商店的价格范围
3、水平、垂直放置皆可使用
4、指针不走动时不能有噪音
5、重量轻,无需特殊的架子或钩子就能固定到墙上
6、满足多数人审美观点需求,要有多种样式、颜色和材料可供选择
我犹豫了很长时间之后,终于选定了一个比较简单的机械设计方案,即用一个绕线轮来控制装有弹簧的蜗牛凸轮的转向,并通过他们来带动齿轮组,控制指针移动。
时钟信号来源于一个石英钟机芯,机芯每秒钟发出一个脉冲信号,该信号可作为时钟的计时装置。其实有很多电子设备都能实现计时功能,比如时钟芯片和无线电时钟等,但是为了简单起见,我还是选择了石英芯片,因为我对它比较熟悉,并且有利于控制成本。
为了避免往时钟上安装讨厌的电源线,我决定用电池作为时钟的能源。因此我主要考虑使用弹簧驱动装置,这样电机之类的就不必使用了,只需每分钟给个脉冲信号就行。但如果按照这个思路制作,难度会很大,所以在本文中我将设计简化为使用微控制器来驱动步进电机。
看到这里,童鞋们可以直接跳到最后去看看制作完的线性时钟是个神马模样。
线性时钟的设计理念是用常规的原理,设计出一个具有非常规外形的时钟。我想让制作出的时钟达到这样一种效果:乍一看根本不像时钟,但定睛一看又确确实实是个时钟。它具备普通时钟的一切要素(指针、数字等),但是外形却完全颠覆常规,令人难以置信。看到这里也许会有童鞋不理解:“你要做线性时钟,可是如果表针走到头之后怎么办呢?——不要着急,耐心看下去,我会给你个满意答复的哦。
从外观上看,它也不会令人感到突兀,因为我想让它能融入到普通家庭中去,所以在颜色和材料的选择上都考虑了这一点。但是它的外形的确是与众不同,横着放,会让我们想起老式收音机上的调频指针,竖着放会让人联想到气压计、温度计之类的仪器。
在水平状态下时,它可以悬挂到墙上,或是当做书架或者壁炉架使用。竖起来放置时看时间可能困难一些,因为上下读数总要比左右读数更别扭一些。
在完成线性时钟制作的过程中,我利用手头的材料制作出一个线性时钟的原型,用它来验证某些想法的可行性。
制作原型的目的是为了尽快确定可行的制作方案,摸清制作的难度以及需要的时间,并借此推测预定时间内最多能测试几个版本。
下面就是我选择的制作材料,材料的选择并非因为它们完美适用,只是碰巧想到,或是恰好有现成的,所以换成其他可替换的零件肯定也是没问题的。
○ 我用泡沫夹芯板来制作底座,因为它重量轻,而且硬度高,强度大,切割比较方便,切痕清晰。如果没有泡沫板,那瓦楞纸板也是个不错的选择。
○ 2个窗帘导轨----我花了7英镑(11美元)从John Lewis商店买了个PVC材料的导轨。导轨需要两段,它的长度就是线性时钟的长度。我将一个125公分的窗帘导轨锯成了两段,因此测试机的长度就是62.5厘米。
○ 4个缝纫机绕线轮当作传动轮----塑料的比较好,而且更便宜。
○ 2个滑轮安装在时钟另一端----我恰好有滑轮,如果没有滑轮也可以用缝纫机绕线轮代替。
○ 绕线要要找稍微粗一点的,还要找些松紧带,一些轻木片之类的能在导轨槽里来回滑动的薄片。
○ 带有Adafruit Motorshield 的Arduino控制板--用这么智能的装备貌似是杀鸡用牛刀了,因为我恰好有一个性能不错的板子,所以就直接用上了。步进电机控制的原理并不复杂,如果你有个暂时不用的Arduino兼容板,再有几片L293芯片,就可以很容易的在面包板上搭建出控制电路来驱动步进电机。你可以直接在Tom Igoe的步进电机专题中查到用Arduino驱动步进电机的电路。但是,这样的独立电路不如Motorshield自带的控制库性能强劲。
○ 所有版本的逻辑/计时部分的代码都是相同的,只是接口部分代码可能有少许不同。据我所知,所有的Arduino兼容板实现这些功能都是小菜一碟。
○ 2个步进电机——我测试的这种步进电机极其便宜,因此转矩不大,精度不高,每转一圈只分成20步,没花多少银子就买到了。同时我还制作了一个用NEMA17 步进电机组装的版本,它的性能强劲了不少,转动一圈分为400步,重量在1磅左右,单价约14英镑。买到它们之后,我就不再需要廉价的电机了。
○ 需要修改Arduino程序中"stepsPerRevolution"的参数来匹配你所选用的步进电机。
○ 在微控制器(arduino)没有连接到电脑上的时候,还要找个6-9V的直流电源给它供电。
● 主要就是刀子——不找把锋利的刀子,泡沫夹芯板就不容易切割整齐。所以最好能找把新的长刀刃裁纸刀,而且切割的时候要掌握好要领,最好是像锯木头那样来回轻轻的割,而不要像劈柴那样用蛮力去砍。
● 粘合剂——常见的带粘性的东西都用到了:强力胶水,热熔胶,万能胶,牛皮纸胶带。
● 焊接用的电烙铁或是螺旋接线柱,还有导线。
● 我制作的线性时钟大约10cm宽,首先把泡沫板裁剪到大致的宽度。
● 把窗帘导轨粘到上面。
● 泡沫板长度不太重要,我找到的板子长度不够,需要用胶水把两块板子粘起来,即使中间留点缝隙影响也不大。我用的胶水就是普通的万能胶,用它足以应付PVC滑轨和泡沫板,但是它能溶解聚苯乙烯材料做的泡沫板,所以用它粘泡沫板边的时候要注意。
● 粘滑轨的时候也要小心些,粘之前,先看看滑轨是否弯曲,要是弯曲,务必要把它掰直。可以裁剪些长条状的东西卡在滑轨间,并用松紧带固定,这样等待胶水晾干时,滑轨就能保持笔直。挤胶水时注意要沿着滑轨的边,尽量避免过量的胶水溶解泡沫板。
● 把两个缝纫机绕线轮粘到一起。
● 粘贴面要打磨平整,然后用强力胶水粘住。
● 在时钟运行中,一个轮绕线,另一个轮放线。你可能会想:两个绕线轮粘在一起,不就相当于一个吗,那只用一个长一些的线筒可不可以呢?嗯,这种想法应该是对的,但是如果这样的话两根线可能会搅在一起,所以为了让它们运行更流畅我使用了两个绕线轮。
● 这里还需要设法把绕线轮和步进电机的轴连在一起。恰好,我的电机轴上带有一个铜环,刚好能塞到绕线轮的孔里,大小还蛮合适。我用热熔胶把轴和绕线轮牢牢地固定在一起,要是不放心,你还可以用环氧树脂来粘,强度保证给力。
● 这里注意要在绕线轮和电机外壳之间留点缝隙,确保电机旋转时没有障碍。缝隙有两张纸那么厚就可以,在固定的时候可以预先拿两张纸垫到缝隙里,这样就不用担心绕线轮和电机外壳接触了。