旋转彩色LED显示屏设计与实现
2014-11-09梁光胜陈世宏陈志勇
梁光胜,秦 菁,陈世宏,陈志勇
(华北电力大学 电气与电子工程学院,北京 102206)
1 引 言
LED屏已得到广泛应用。现在随处可见的LED屏多是由大量LED组成的显示点阵平板,通常采用循环扫描方法,逐行点亮LED;人眼对动态频次分辨率为1/16~1/24s,由于视觉滞后效应,所以屏幕上单行LED会连成一幅静态画面。但是这种显示有一些不足,首先整屏LED数量巨大,成本高,而且极易坏掉,一定面积LED的非正常工作使得整屏显示都受到影响,更换或者维修工作量较大;其次由于正常LED屏为平板,可视角度非常有限,再加上通常采用单色LED屏,能吸引注意却无美感可言。
本文设计的旋转彩色LED显示屏,则能完美解决传统LED显示屏的各种问题。它以机械转动方式代替逐行扫描,利用视觉暂留(POV:Persistence of vision)原理[1],通过电机带动单列显示器件旋转,精确同步旋转位置和LED亮灭,产生一系列运动轨迹的残留影像。旋转显示屏是在支架上安装了一列32个三色七彩LED,支架由电机带动旋转,单片机控制这一列LED在不同位置的亮或灭,在合适的旋转频率下,就可以看到完整显示的彩色文字或图形。此系统不仅成本低廉,而且可视范围扩展到了360°,更重要的是,此系统根据色彩学原理,用RGB三色LED显示七色彩图,达到神奇梦幻般效果。
2 系统硬件总体设计
图1为旋转显示的LED彩屏系统整体设计框图。带动LED屏转动的为直流电机,并配置合适的电机驱动电路;核心控制模块选用凌阳SPCE061A单片机,采用电刷供电方式;光电传感器用来感知系统运行状况;外部存储器用于存储图片数据以方便后续扩展。
图1 硬件系统总体设计框图Fig.1 Design diagrams of hardware system
2.1 LED显示组件设计
彩色LED显示屏作为系统的关键部件,在设计时需要考虑诸多因素,如发光体的选择、发光体运动方式、发光体引脚数量简化方式等。为了达到彩色显示的目的,发光体选择共阴RGB三色七彩直插封装LED,这种LED高亮度、寿命长、色彩丰富、耐冲击、功耗小、驱动简单、工作电压低。这种封装的LED包含了红(Red)、绿(Green)、蓝(Blue)3个发光二极管,每个LED都可以单独驱动,因此RGB三色可搭配出的颜色如表1所示。
表1 R、G、B三色产生的七彩配表Tab.1 Rainbow of colors created by R、G、B
对于七彩LED,内部无控制电路,外部四引脚,配四线控制器,因此只能做出上表中的颜色变化。对于炫彩LED,外部十引脚,配专用十线控制器,内部控制电路可以控制256级灰度变化,理论上可以搭配出上万种颜色。
在LED显示组件中,将发光体排成一列做柱面式旋转运动。如果保持恒定的旋转速度,则可以产生稳定的圆柱面,使显示效果更均匀,也使制作调试时振动现象易于控制。由“视觉暂留”原理可知,人眼的暂留时间在0.05~0.2s之间,因此彩色LED屏必须保证至少0.2s转一周。在合适的转速下,利用单片机精确控制LED在固定位置上的亮灭,就可以看到稳定显示的整幅彩色图片。旋转显示屏显示原理示意图如图2所示,深色的一列代表LED屏在某个特定时刻的位置,而浅色表示在其他位置的影响残留,转速足够快时,影像稳定显示,无闪烁或漂移等。
图2 旋转显示屏显示原理示意图Fig.2 Diagram of rotating display
旋转彩色显示屏是由1列32[2]只RGB三色LED组成的矩形框。32个LED共计需要32×3=96个引脚来控制其亮灭或者颜色,此三引脚主要用以RGB色彩输入,而三色LED的第4个引脚统一连接到地。为了缓解单片机引脚的压力,选用八进制3态非反转透明锁存器74HC573来进行扩展,一个74HC573可控制8个单色LED,因此共需要12个74HC573芯片。考虑到单片机引脚资源紧缺,与单片机的接口引线要尽量少,故选用一片4-16译码器CD4514作为片选信号的转换。
LED显示屏驱动电路结构示意图如图3所示,其中前8个LED连接及其驱动电路原理图如图4所示。32个LED被分为8个一组,每8个LED需要3片74HC573分别控制R、G、B端口,其接法均与图4类似。12个74HC573芯片的LE1~LE12引脚接CD4514的译码输出;而每个74HC573的D1~D8接单片机I/O口,单片机所给数据经74HC573锁存并输出至彩色LED的RGB端口,从而控制RGB灯的亮灭。第1片74HC573的Q1~Q8引脚控制LED1~LED8的R端口,第2片74HC573的Q1~Q8引脚控制LED1~LED8的G端口,第3片74HC573的Q1~Q8引脚控制LED1~LED8的B端口,后面的情况以此类推。
图3 LED显示屏驱动电路结构示意图Fig.3 Diagram of LED Display driving circuit
图4 8个LED及其驱动电路原理图Fig.4 Schematic of eight LED driving circuit
在设计时,为了使显示屏在高速转动过程中不发生震动,显示屏PCB布局遵从严格对称的原则[4]。
2.2 供电模块和电机驱动模块设计
在七彩旋转LED显示屏系统中,为了实现有效控制并简化接线,一般都让主控电路和发光体一起运动。如何给彩色LED显示屏和主控电路供电,就成为系统设计时必须考虑的关键问题之一,有以下几种供电方案可供参考。
1.电池供电。简单易携,但不适合长时间运动,常见的摇摇棒就采用此方案。
2.柔性导线。常用于需要过度弯曲的频繁移动的场合,适用范围单一,如摇摆式运动。由于LED显示屏一直处于高速旋转状态,使用柔性导线会缠绕显示屏。
3.电刷送电。在底座的电机转轴上安装电刷,并通过电动机轴上或主控显示板上的金属环传输电能,能够提供较大电流强度的电能,保证系统长时间运行。这种方式结构简单,成本低。
4.发电机供电。在中心轴上面放一个小型发电机,发电机的定子为磁铁,固定在轴上,线圈为转子,直接连接在电路上,高速旋转时即可产生电流,对主电路进行供电。这种方法可克服由电刷产生的干扰[3]。
通过比较,本系统采用电刷供电方式。电机的作用是带动电路部分进行旋转,其关键在于电机的转速要均匀,这样才能保证图像在水平方向不会被局部伸展或者压缩,为此我们要使用匀速直流电机。因作品外形较大,故而选用较大的无刷直流电机进行驱动,电机驱动模块电路原理图如图5所示。由于人眼的暂留时间在0.05~0.2s之间,所以旋转的LED至少0.2s转一周,即每分钟至少300转。设计时电机转速为5r/s左右,可大大增强旋转稳定性和精确性,可保证清晰的显示效果。
图5 电机驱动模块电路原理图Fig.5 Schematic of motor driving circuit
2.3 运行状态感知模块设计
在彩色LED显示屏高速旋转时,显示内容的稳定与否取决于转动的角度和LED亮灭及色彩的配合,要使运动的发光体形成正常和稳定的显示效果,系统大多需要通过传感器来感知发光体的运动位置或状态,以确定显示的起始位置,并对系统进行校正。本系统采用光电传感器来确定第一列LED显示位置,并与合适的计数器配合来控制列数据更新频率,以合适的电机转速来确保显示内容的完整性。与传统显示器相比,此处传感器的作用类似于场同步信号发生器,保证旋转彩色LED屏在固定位置产生同一内容,确保图像不会产生漂移。
2.4 数据存储模块设计
显示一幅同样大小的画面,七彩图案的数据量是普通单色图案的3倍。另外考虑到单片机内存非常有限,为了显示功能的实用和扩展,故图案的数据采用外部存储方式,存储芯片选择512k位紫外线擦除存储器和OTP存储器 M27C512[5]。以我们选取的图片为例,其大致为32×150像素,一幅图片大小为1.8KB,M27C512大致可存储284张同大小的图片数据,以传统电影放映机每秒24帧的放映速度,视频数据可持续11s。
3 软件设计
3.1 图像数据提取
图6 原始图片与R、G、B三通道图Fig.6 Original picture and RGB channel graph
本文设计的彩色LED显示屏,有一项最重要的任务是提取出彩色图片的显示数据。首先要选取大小合适的图片。因为所设计的LED显示屏只有32个LED,所以需要调整图片的宽度为32像素。然后将彩色图像分离出R、G、B三通道图,存为.bmp格式,如图6所示。
由于没有现成的直接提取图案数据的取模软件,因此只能手工提取。利用凌阳“DM Tool字模提取工具”,分别对R、G、B三通道的图像提取二进制数据。图7为提取R通道二进制数据示例。
图7 取模软件对图像的处理过程Fig.7 Processing of image by DM Tool
3.2 程序设计
图8 主程序流程图Fig.8 Main program flow diagram
为了保证显示画面的稳定性,系统运用了光电传感器,在特定位置设置反光点,记为初始位置;光电传感器随着显示屏一起转动。当每次转动到初始位置时,传感器将位置数据传递给单片机,单片机接收到外部中断信号后,从内存中读取第一列应该显示的数据,并传递给LED控制电路;在转动当圈的其他位置,采用定时器计时方式来决定在哪个位置显示下一列数据。这样的显示方式能保证图片无形变,但是定时器的计数初值需要与电机转速严格匹配[6]。为了更精确地显示或者满足某些变速系统实时显示的要求,可以引入速度传感器来实时测定当前转速,根据特定算法得到当前定时器的计数初值。
4 系统的实际测试
在硬件电路制作完成后,我们编写C语言程序,经过测试、调试程序查看电路是否能正常工作;然后用专用的烧录器,手工编程将数据写入外部存储器;最后将系统的主控程序下载至单片机,其实际运行效果如图9所示。从图中可以看出,旋转扫描使图像在横向上发生了点阵粘连,这是由于扫描LED时点亮的时间稍长导致的,如果要达到传统显示屏类似效果,需要在显示数据时序上增加LED灭的时间。所以显示的图像大小与显示图片质量与扫描速度有关,如果采用时钟速度更高的控制芯片,如ARM、FPGA等快速单片机显示的效果会更好,显示的精度控制可以更加准确。今后我们会通过一定的改进,提高硬件时钟或进一步进行程序调试,采用电影放映原理,在旋转显示屏上不但可以放映一张彩色的图片,还可以放映一段彩色动漫。
图9 彩色LED屏实际运行效果图Fig.9 Practical tests of colorful LED display
5 结 论
本系统以凌阳单片机为核心,通过控制LED显示组件的旋转,显示了一幅彩色图案。设计的新型旋转柱式显示屏,以机械转动扫描方式替代逐行扫描,同时采用32个RGB三色七彩LED,实现了32pixel×150pixel像素彩色图像显示,经过长时间测试运行该系统稳定可靠,实现360°全方位显示、灰度实现256级调节。旋转彩色LED显示屏设计新颖,成本低廉,尤其是360°观看角度使之非常适合展厅一类的场合。
[1]张勇,金保华.一种无线旋转柱式图文显示屏的设计[J].郑州轻工业学院学报:自然科学版,2005,20(4):82-84.Zhang Y,Jin B H.Design of wireless rotate pole scanning display screen[J].Journal of Zhengzhou University of Light Industry:Natural Science,2005,20(4):82-84.(in Chinese)
[2]赵梓权,王瑞光,郑喜凤,等.基于视觉感受的LED显示屏系统精度分析[J].液晶与显示,2012,27(3):324-231.Zhao Z Q,Wang R G,Zheng X F,et al.Systemic accuracy analysis of LED displays based on visual perception[J].Chinese Journal of Liquid Crystals and Displays,2012,27(3):324-231.(in Chinese)
[3]周正华.51单片机POV趣味制作详解[M].北京:北京航空航天大学出版社,2011:21-97.
[4]雷鑑铭,范文,邹雪城,等.图像硬件旋转显示功能的研究与实现[J].微电子学与计算机,2007,24(5):4-6.Lei J M,Fan W,Zou X C,et al.The Study and Implement of hardware rotation of an image[J].Microelectronics& Computer,2007,24(5):4-6.(in Chinese)
[5]魏天兵,刘锦高.立体旋转显示屏中数据传输问题的研究与实现[J].信息技术,2011(8):227-229.Wei T B,Liu J G.Study and realization of data transmission in three-dimensional rotating screen[J].Information Technology,2011(8):227-229.(in Chinese)
[6]邓宏贵,李志坚,吴让亮,等.基于步进电机细分驱动技术的旋转LED显示屏设计[J].液晶与显示,2008,23(5):595-598.Deng H G,Li Z J,Wu R L,et al.Design of rotating LED display screen based on micro-stepping of moto[J].Chinese Journal of Liquid Crystals and Displays,2008,23(5):595-598.(in Chinese)