郭星辰
(江苏联合职业技术学院南京工程分院 江苏省南京市 211135)
随着现代电子技术的飞速发展,LED 显示以其亮度高、体积小、稳定性好、功耗小、寿命长等特点广泛应用到各个领域。现在随处可见的大多是平面LED 显示屏,但这种显示有些不足,首先是整屏LED 数量巨大,成本较高,损坏后维修工作量较大;其次,LED 屏为平板,可视角度有限,占地面积大。
本文设计的LED 旋转显示屏是基于POV(persistence of vision)原理进行显示,研究发现,当显示的刷新频率大于24f/s,会产生视觉暂留现象,人的肉眼就看不到刷新的动作,而是在上一帧画面的残留视觉影像还没消失的情况下看到了新一帧的画面,从而产生了视觉错觉,形成了连续性的画面[1]。
本设计通过电机带动单列显示器件旋转,电机与显示部分通过导电滑环连接,采用红外准确定位旋转位置,从而控制LED 灯的亮灭,在适合的旋转速度下,就可以看到显示完整的文字或图形。
处理器采用STC12C5A60S2 单片机,其特点是体积小,质量轻,便于安装,并且内部资源相对丰富,可以满足设计需求;LED 显示采用16 个单色LED 灯,放置在PCB 板一侧;带动LED 屏旋转的是直流电机,并配置合适的电机驱动电路;通过红外传感器来感知显示屏运行状态,确定其初始位置;采用串行通信进行数据传输;通信及供电采用电刷方式。LED 旋转显示屏系统总体设计如图1所示。
图1:系统总体设计框图
图2:STC12C5A60S2 最小系统电路
图3:LED 显示电路
图4:电机驱动电路
图5:位置传感电路
图6:总体程序流程图
本设计采用双处理器设计,均采用STC 公司的STC12C5A60S2型号单片机,一只处理器负责驱动LED 显示,另一只处理器负责驱动电机以及其他扩展功能,扩展功能该设计不再赘述。两只处理器通过串口进行数据传输。最小系统电路如图2所示。
电路中将16 只LED 灯按照顺序依次排开,放置在PCB 板一侧,为了显示整齐美观,16 只LED 灯保持在一条直线上。LED 灯一端接5V 电压,330 欧姆电阻限流,另一端直接与单片机相连。电路结构简单、实用,如图3所示。
电机的作用是带动显示电路部分进行旋转,若使得观看的画面平稳清晰,其关键要使电机均匀旋转,这样才能保证图像在水平方向不会被局部伸展或者压缩,因此要使用匀速直流电机[2]。按照POV 原理要求,LED 旋转一周不得低于0.2s。电机驱动采用标准逻辑电平信号控制,TTL输出电平,可以直接接CPU,输出电压稳定,输入端通过EL357N 光耦反馈进行输入、输出信号隔离,抗干扰能力强、传输效率高。电机驱动电路如图4所示。
图7:LED 显示程序流程图
LED 屏在高速旋转时,显示内容是否稳定取决于转动的角度和LED 灯亮灭的配合,要使图像稳定,需要通过位置传感器来感知发光体的位置和状态,确定显示屏的初始位置,同时对显示进行校正。本设计采用红外传感作为位置传感器,配合计数器控制刷新频率以及直流电机转速。当给红外发射器一个电压,它会发出红外光线,红外线被红外接收器接收后会连通接收器两端。当红外接收器接到信号时,就会导通单片机所在电路,启动单片机对LED 进行控制,从而使LED 灯依次点亮显示文字。位置传感器电路如图5所示。
串口通信通过导电滑环所引出的导线进行连接,采取直连方式。这样既减轻了旋转显示屏的重量,同时也有效的解决了通信问题。
系统开始工作后,查询串口是否有新数据,若没有则按照当前显存内容送显示屏显示。若接收到新的数据,则更新显示内容。总体程序流程图如图6所示。
旋转显示屏开始工作后,传感器确定显示屏初始位置,程序上通过算法可得到每一排灯的显示位置,根据位置逐列发送显存内的数据,计数器计数,直至送完全部数据。显示屏查询串口有无更新数据,若无则按照当前内容显示,若有则更新显存内数据。LED 显示控制程序设计如图7所示。
本设计主要介绍了利用STC12C5A60S2 单片机实现旋转显示屏的设计方法,该方案合理、可行、易实现。通过设计我们认识到:
(1)必须保持电机一定的转速且匀速运动,否则屏幕在高速旋转下容易出现误差,影响显示效果;
(2)显示屏要做好动平衡,否则在高速旋转下容易出现不稳定而导致设备损坏;
(3)编程时做好数据显示与转速之间的匹配关系。
本设计不仅成本低,占地面积小,更重要的是可视范围扩展到了360°,较好的满足了特定条件下的显示需求。