POV LED时钟的设计
2011-06-13居敏花
居敏花
(苏州工业职业技术学院电子系,江苏苏州 215000)
1 旋转时钟原理分析
物体在快速运动时,当人眼看到的影像消失后,人眼仍能继续保留其影像,约0.1秒左右,这种现象称为视觉暂留现象。旋转时钟就是利用了视觉暂留效应[1],原理如图1所示。图1(a)中最内侧的一个发光二极管和最外侧的一个发光二极管在点亮并绕电机轴高速旋转后就形成了图1(b)所示的内框和外框。图1(b)紧挨着外框的那个LED灯用来显示时间刻度。假设12点那个刻度为0°,则每个小时时针之间的角度为360°÷12=30°,于是当整一列发光二极管每旋转30°,该LED灯就点亮一个瞬间以呈现出时间刻度。如果在小于0.1秒内这列LED灯能旋转完一圈,人眼就会误认为先后产生的12个刻度是同一时间显示出来的。
图1 旋转时钟原理图
显示秒针、分针和时针的方法跟显示时间刻度的原理一样。假设用10支发光二极管来显示秒针,10支里面靠内部的9支用来显示分针,再靠内的7支作为时针的显示灯,如图1(a)所示。若要显示3点零5秒,在时间刻度的显示基础上,控制整列发光二极管在0°时点亮9支LED灯以显示分针在12点位置上;紧接着整列发光二极管又转过30°即到了1点的位置,此时点亮10支LED灯,用以显示秒针在5秒的位置上;当发光二极管再转过60°时,再点亮5支来显示时针指在3点的位置上,如图1(c)所示。因为发光二极管在不断高速旋转,在1秒内已经重复点亮12点位置上的9支、1点位置上的10支和3点位置上的7支LED灯10次以上,人眼就会产生图1(c)所示的画面。时钟画面是由一列发光二极管绕圆心按顺时针方向逐列高速扫描过去,每到一列单片机控制相应的LED灯点亮或者熄灭,要在0.1秒内扫描完一圈,重复执行这样的扫描,人的眼睛看上去就形成了一幅时钟的画面。转速越高,LED灯越多,分辨率就越高,看上去就越逼真。
2 旋转时钟方案设计
系统框图如图2:单片机负责数据的处理并控制LED的显示;红外接收模块由一体化红外接收头和红外接收管组成,分别负责处理红外遥控器发出的调时信号和识别旋转的起始位置的作用;时钟模块负责记录时间数据,节省单片机的资源,提高其工作效率,可在系统掉电后正常计时,不需重新设定时钟时间。
图2 旋转时钟系统框图
结构设计如图3,将单片机、时钟芯片、LED灯组、一体化红外接收头、红外接收管等器件焊接在一块指针板上,只需要外部送电就可以正常运作。电路板中心钻一个电机轴插孔,电机轴插入其中带动指针板旋转。电源采用无线供电模块则装在底座上,无线供电的初次级线圈放在电机与单片机之间,中心线圈随着PCB旋转,外线圈和电机一起固定。
图3 整体结构图
3 旋转时钟硬件电路设计
3.1 电源设计
供电电路如图4所示,采用无线供电模块,具有无触点、噪声小、寿命长的特点。在线圈距离很近的情况下,输出效率很高。其中L1是发射线圈,接收端需要一个接收线圈,经整流稳压后接入指针板的单片机和时钟芯片。
图4 无线供电模块图示意图及原理图
3.2 指针板的硬件设计
为使指针板轻巧,采用贴片式LED。本时钟需要能显示“12、3、6、9”这四个整点数字和秒针、分针、时针,用7 支 LED灯显示数字,21支用来显示秒、分、时三针,另外再加一支内框一支外框灯,总共30支LED灯。为了节省单片机I/O管脚,并不是每支LED灯都由一个I/O管脚控制的。为了满足驱动电流,加一支三极管来驱动。为使显示稳定,在指针板上加装一个红外接收管,当接收到与之配对的红外发光二极管发出的红外线后,就会反向导通,接到单片机外部中断。有了这个信号,单片机就可以在指针板旋转过程中实时检测计算指针板的角度位置[3],并根据指针板所处的不同位置,点亮相应的LED。
单片机主要用于对红外遥控代码的译码、读写DS1302的时间数据以及控制LED显示熄灭。本设计充分运用89C52的各个接口:首先是28支LED灯,由于有13支LED灯只用来显示时针,所以它们是同时点亮或者熄灭的,可以接在同一个I/O 接口上,取 P 2.7口。P 0.0-P 0.7和P 2.0-P 2.7这16个引脚分别与16支LED灯连接,可以用来显示不同的字符;其次X1、X2引脚接12MHz晶振;P 3.2口接一体化红外接收头,作为高优先级的外部中断;P 3.3口接红外接收管,作为低优先级外部中断;P1.5-P1.7分别接DS1302的SLCK、I/O及CE引脚。电路原理如图5所示。
图5 指针板电路原理图
3.3 红外接收/发射控制单元
在指针板旋转工作状态中,可利用红外遥控器来给旋转时钟调时间。发射电路采用TC9012遥控芯片自制遥控器,TC9012是一块用于东芝系列红外遥控系统中的专用发射集成电路,接收部分直接采用了红外一体化接收头HS0038[2]。
4 软件设计
旋转时钟软件设计首先是各种初始化及DS1302的初始时间设定,然后单片机采用查询方式查询P 3.3是否接收到了中断信号。接收到中断说明指针板已经旋转到起点。查询到之后先读取DS1302的时间,然后显示到LED。当有红外遥控信号调整时间时,红外接收头HS0038将接收到红外遥控器发出的红外脉冲,会以下降沿的方式给单片机一组下降沿脉冲中断信号,单片机接收到脉冲后,通过编程和定时器,记录每一个脉冲的脉宽,实现对各种信号的识别,实现时钟时间的调整。系统主程序流程如图6所示。
5 结论
本文实现了用30支LED灯旋转扫描显示的形式来取代大量的LED点阵矩阵板来显示时钟信息。贴片LED的设计,体积小;采用红外对管来同步转速,使显示的画面稳定;无线供电,无机械磨损,噪声小;红外遥控,调时方便。本设计能够实现低成本、高质量的显示宣传效果,具有一定的实用价值。
图6 系统主程序流程图
[1]周正华.51单片机POV趣味制作详解[M].北京:北京航空航天大学出版社,2011.
[2]匿名.旋转时钟[J].电子制作,2008(6):47-49.
[3]张立霞,周立余,冯新.基于AVR的LED旋转屏设计[J].现代电子技术,2011(7):155-157.