【摘要】旋转LED时钟是指,借助人的视觉暂留,通过少量LED灯的高速旋转,以机械扫描的方式来显示各种字符或图像。本文详细分析了旋转LED时钟的制作原理和制作过程,以8位单片机STC89C52RC作为主控芯片,时钟部件采用DS1302,并使用数字化温度传感器DS18B20对温度进行采集。系统工作时,通过互感线圈进行无线供电,采用红外遥控技术,对系统进行实时控制。实验结果表明,旋转LED时钟系统的设计可靠,具有成本低、功耗小、实用性强等特点,而其显示的新颖性往往更能吸引人们的眼球,因此该设计有着十分广阔的实用价值和商业前景。
【关键词】旋转LED时钟;视觉暂留;单片机;时钟芯片;温度传感器;无线供电;红外遥控
1.引言
目前人们看到的绝大多数显示屏都是传统显示屏,它是由无数个LED组成的点阵集合。这种显示屏的优点是原理简单、控制方便,在生活中被广泛使用。但随着经济发展,市场需求日益丰富,在很多情况下,传统LED显示屏已经无法满足实际需要。这主要表现在以下几个方面:第一,传统显示屏整个显示面积全由LED组成,器件数量多,硬件连接复杂,成本高;第二,由于显示屏是一个平面,有一定的视角限制;第三,传统显示屏显示画面单调,缺乏吸引力,容易使人产生审美疲劳。
本设计针对以上传统LED显示屏的不足,研究并设计了采用旋转LED的方案,成功解决了传统平面LED显示屏器件数量多并
且无法全方位显示的问题。系统的特点是一次投入较小,能以少量的LED灯实现甚至超越传统方式下大量LED灯才能实现的显示功能,符合现阶段倡导的低碳理念、节约能源。其全方位的显示功能使处于不同角度人都拥有相同的视觉感受,可呈现出炫丽缤纷、流光溢彩的多层图文画面,极具吸引力。
2.系统整体设计
本旋转LED时钟设计的主要思路是,由电机带动显示屏做高速旋转,通过单片机控制LED旋转到不同位置的亮灭,利用人眼的视觉暂留从而看到完整的显示内容。采用时钟芯片记录时间数据,从而节省了单片机的资源,提高工作效率,并可在系统掉电后正常计时,不需要重新设定时间,因此在实际使用中更加便捷。温度传感器负责测温,并将结果实时显示出来,这使系统功能多样化,满足市场需求。为了解决向旋转中的单片机传送数据的问题,本设计采用了红外通信传输的方式,利用商场上常用的编码格式为UPD6121的遥控器发送红外信号,一体化红外接收头接收数据并解调给旋转中的单片机,然后由单片机进行解码处理,最后控制显示。由于传统的有线供电方式无法满足本设计的需要,系统采用了无线供电方式,利用变压器的磁耦合原理,为整个系统供电。
此外,在显示屏高速旋转时,显示内容的稳定与否取决于转动的位置与LED亮灭的配合,所以还需要一个校准器件来判断显示屏的转动是否到达准确位置并根据结果做出校正处理,本设计选用了红外对管进行位置检查并完成校正功能,使LED的亮灭与旋转保持同步,总体设计示意图如图1所示。
2.1 旋转LED时钟的原理分析
旋转LED时钟是利用人眼视觉暂留的原理。如图2.1(a)所示,最内侧的一个发光二极管和最外侧的一个发光二极管在点亮并绕电机轴高速旋转后就形成了图2.1(b)所示的内框和外框。紧挨着外框的那个LED灯用来显示时间刻度,如图2.1(b)所示。假设12点那个刻度为0,那么每个小时时针之间的角度为360°÷12=30°,于是当一列发光二极管每旋转30°,该LED灯就点亮一个瞬间以呈现出时间刻度。如果在小于0.1秒的时间内这列LED灯能旋转完一圈,人眼就会误认为先后产生的12个刻度是同一时刻显示出来的。
显示秒针、分针、时针的方法跟显示时间刻度的原理一样。假设用10个发光二级管来显示秒针,10个里面靠内部的9个来显示分针,再靠内的7个作为时针的显示灯,如图2.1(a)所示。若要显示3点0分5秒,在时间刻度的显示基础上,控制整列发光二极管在0时点亮9个LED以显示分针在12点位置上;紧接着整列发光二极管又转过30°,即到了1点的位置,此时点亮10个LED灯,用以显示秒针在5秒的位置上;当发光二极管再转过60°时,再点亮5个LED灯来显示时针指在3点的位置上,如图2.1(c)所示。因为发光二极管在不断高速旋转,在1秒内已经重复点亮12点位置上的9个LED灯,1点位置上的10个LED灯和3点位置上的7个LED灯10次以上,所以人眼就会产生图2.1(c)所示的画面。时钟画面是由一列发光二极管绕圆心按顺时针方向逐列高速扫描过去,每到一列单片机控制相应的LED灯点亮或者熄灭,要在0.1秒内扫描完一圈,然后再重复执行这样的扫描,人眼看上去就形成了一幅时钟的画面。转速越高,LED灯越多,分辨率就越高,看上去就越逼真。
图2.1中的时钟指针是不变的,比较方便实现,而现实中时钟的指针是会走的,每秒都在变,这就要求显示指针用的数据需要随着时间的推移而不断更新。单片机本身是具有计时功能,可在设定好的时间一到(比如1秒),就刷新驱动LED灯的I/O口的数据,这样每秒钟的画面都在变,指针就仿佛在“走”了。
3.系统硬件设计
本系统硬件主要有以下几个模块组
成:STC89C52RC单片机最小系统、电源模
块、时钟模块、温度传感器、显示模块、位
置检测装置、红外发送、接收模块。系统总
体框图如图3所示。
3.1 控制器简介
本系统采用宏晶科技公司的8位单片机STC89C52RC作为主控芯片,工作电压为5V,其I/O口资源和片上外设满足本设计的要
求,且在市场上具有广泛的应用,有利于后期的维护和升级。
3.2 电源设计思想
由于本设计对电源的特殊要求,供电方式必须为无线供电,经过方案验证,最终选择用无线供电线圈模块进行供电。该模块由输入、输出两部分组成,其输入端接5~12V直流电源,输出端能输出稳定的5V直流电源,输入线圈和输出线圈之间的距离会影响输出电流的大小,通过实际测试,当输入线圈和输出线圈之间的距离为2mm时,输出电流最大,为500mA。图3.2为供电模块图。
3.3 时钟和温度检测
时钟模块为美国DALLAS公司推出的一款高性能、低功耗的实时时钟芯片DS1302,采用SPI方式与单片机进行通信,工作电压2.5V~5.5V,采用双电源供电(主电源和备用电源)。该芯片可提供秒、分、时、日、星期、月和年,一个月小于31天时可以自动调整,且具有闰年补偿功能。如图3.3.1为该芯片与单片机接口原理图。
温度模块同为该公司生产的一种“单总线”数字化温度传感器DS18B20,工作电压范围3V~5.5V,温度测量范围为“-55℃~+125℃”,在“-10℃~+85℃”范围内,精度为±0.5℃。现场温度直接以“单总线”的数字方式传输,大大提高了系统的抗干扰性,适合于恶劣环境的温度测量。其原理图如图3.3.2所示。
3.4 红外遥控设计
红外遥控电路由发送电路和接收电路两部分组成,由于本设计的重点不是红外发送这部分,因此红外发送采用市场上常用的符合UPD6121G解码格式的遥控器,红外接收采用的是HX1838一体化红外接收头,接收红外信号频率为38kHz,周期约26μs,同时能
对信号进行放大、检波、整形,并且输出可以让单片机识别的TTL信号,大大简化了接收电路的复杂程度,方便使用。
3.5 位置检测
旋转LED时钟显示时,显示内容的稳定与否取决于转动的位置与LED亮灭的配合情况,所以还需要一个校准器件来判断显示屏的转动是否到达准确位置并在下一次显示时根据结果做出校正处理。本设计选用了红外对管进行位置检查并完成校正功能,使LED的亮灭与旋转保持同步。设计在电动机底座部分安装红外发射管,将红外接收管及单片机一同放入旋转框架上,这样在高速运行的过程中,红外接收管每次接收到信号都能及时反馈给单片机,旋转部分的检测电路如图3.5所示。
3.6 显示电路
本设计采用的是旋转扫描显示方法,即显示器件只有一列,由电机带动其进行旋转,运行到某一位置时就显示该位置的状态,到下一位置后又显示下一位置的状态。由于人眼具有视觉暂留的特性,当画面以一定速率刷新时,人眼看到的就是连续的图像。在本设计中一列显示器件要完成全部内容的显示,扫描过程由机械转动更换位置来实现,原理示意图如图3.6所示。
4.系统软件设计
系统软件设计主要包括:LED显示程序
设计、温度的采集与处理、红外接收的软件
设计,如图4是旋转LED时钟的总体软件设计
流程图。
4.1 LED显示程序设计
旋转时钟能否准确显示时钟的画面关键在于指针板每到一个位置单片机是否能正确点亮相应的LED灯,这是扫描显示程序的核心内容。为了方便程序的计算,我把连续的旋转平面离散化,划分为180份,每一份为一列,如图4.1所示。
另外程序一定要与指针板旋转周期联系起来。根据视觉暂留的原理,一列发光二级管在同一位置出现的时间间隔应该不大于0.1秒,即旋转周期T≤100ms。为方便计算,取周期为90ms,则发光二级管每到一列位置上点亮并熄灭相应LED灯的时间t=90ms÷180=0.5ms。可用软件设置为点亮并延时0.4ms后熄灭,而剩下的0.1ms时间则留给单片机读程序用。这样程序处理完一列位置所用的时间差不多是0.5ms,之后又去处理下一列的LED灯的点亮情况。而硬件上指针板经过0.5ms,也正好转到了下一列位
置上,这样软件程序就能和硬件很好地配合。
4.2 温度的采集与处理
测温程序和时钟程序很相似,其软件的思想也是一个循环扫描(启动温度转换、读取和显示)的过程,首先是DS18B20初始化,初始化包括启动DS18B20以及产生应答脉冲;接下来就是启动温度转换,然后就是读取采集到的温度值,这是测温程序编写的
难点,其包括如何把采集到值正确的转换成需要显示的值,最后就是把采集并转换完的温度值显示出来。
4.3 红外接收软件设计
红外接收主要有两部分组成:信号的解调与解码。解调由一体化红外接收头HX1838来完成,信号解调示意图如图4.3(a)所示,把接收到的信号(图4.3(a)中的波形D)经内部处理并解调复原,输出图4.3(a)中的波形E。二进制的解码由单片机来完成,把红外接收头送来的二进制编码波形通过解码,还原成发送端发送的数据。如图4.3(b),把波形E解码还原成数据信息。
5.系统调试
5.1 硬件调试
1)发光二极管的调试。检查所有LED焊接正确,给系统上电,分别使每个LED的阴极接地,发现都能正常点亮和熄灭。
2)红外对管的调试。给发射管接限流电阻并上电后,对准板上的红外接收管,用电压表测试其阴极,为低电平;移开发射管后为高电平,红外对管工作正常。
3)电源驱动调试。电刷制作完成后,将LED灯都接地,并给电机和电刷都上电。指针板开始旋转,并且LED灯都能点亮,电刷供电成功。
5.2 软件调试
本系统软件调试主要分为四块:LED扫描显示、单片机读写DS1302、单片机对DS18B20温度数据读取和对红外遥控编码的
解码。先对每个模块进行单独调试,全部通过后进行整合,在实际调试时所有模块都能成功运行。
5.3 综合调试
系统综合调试主要验证各个模块之间是否能协调工作,以及测试其在不同工作环境下的适应能力,直至系统能在较长时间内
处于稳定的工作状态。最终调试效果如图5.3所示。
6.总结
本设计是基于51单片机的旋转LED时钟的显示系统,设计的独特之处在于LED显示屏不是传统的平面LED点阵显示屏,而是安装在支架上的一列34只LED,支架由电动机带动快速旋转,由单片机控制这一列LED旋转到不同位置时的亮灭,利用人眼的视觉暂留现象,看到显示的内容。
本设计中要解决的核心内容是如何精确的控制LED在不同位置的亮灭,通过加入位置检测装置,成功的解决了这一问题,实际显现效果良好。采用红外遥控的方式,可方便、直观的控制系统的运行或切换要显示的内容,操作十分简单。而且本设计的独到之处在于它新颖的显示方式—旋转显示,这种新颖独特的东西往往更能吸引人们的眼球,对于信息发布以及广告宣传能起到非常好的效果。作品的特点是一次投入成本低,可开发性、宣传性强,极具吸引力,因此相信本系统的设计思想具有很大的实用价值和广阔的市场前景。