基于单片机的LED线阵显示装置的研究
2020-07-03崔景萍
崔景萍
(山东职业学院,山东 济南 250104)
1 LED线阵显示装置的设计要求
设计并制作一个LED线阵显示装置[1],该装置由图文录入部分、LED线阵显示部分和转动控制三部分组成。利用人的视觉暂留现象,观看到的转动时LED显示内容效果跟平面连续显示效果是一样的。应达到的要求如下:1)电机转动后,在LED任意指定行上稳定显示两条水平线;2)从LED最上和最下端一行开始,控制2条水平亮线向中间做上下往返运动;3)固定显示独立全亮的16×16的点阵(以2个点阵为例,图形点阵间隔为4各点对点距离),可以在水平方向进行宽窄变化;4)可以显示和回放由图文录入装置录入的图文信息,录入方式自行选择。
图1 LED线阵显示装置示意图
2 LED线阵显示装置系统设计
2.1 方案比较论证
2.1.1 单片机方案选择
方案一:采用普通的51系列单片机作为系统控制的方案。AT89C51单片机算术运算功能强,软件编程灵活、自由度大,可用软件编程实现各种算法和逻辑控制。但是它有频率较低、运算速度慢,RAM、ROM空间小等缺点。
方案二:采用STM32F103系列单片机作为控制系统的方案,STM32F103ZET6单片机采用了高性能、低成本、低功耗的ARM 32 Cortex-M内核,高达64k字节的SRAM,1μs的双12位ADC,4兆位/秒的UART,18兆位/秒的SPI,多达112个快速I/O端口等,功耗低,精度高。
比较上述2种方案,51单片机速度较慢,而且很多外设都要外接;而STM32主频高,外设丰富,本设计选用方案二的STM32F103系列单片机。
2.1.2 电机方案选择
方案一:采用步进电机带动旋转平台,步进电机是将电脉冲信号转变为角位移或线位移的控制元件,使得其在速度、位置等控制领域应用普遍。但步进电机转速不宜调整。
方案二:采用直流电机带动旋转平台,直流电机具有调速性能好、启动容易并可带负载启动等优点,其机械特性和调速特性的线性度好,调速范围广、维护方便。
综合比较,本系统采用方案二。
2.1.3 供电方案选择
方案一:使用电刷连接供电,需要在电路板上加焊一层耐磨导电层,制作简单,非常有效,但使用时间长了电刷触点就会不够光洁接触压力变大。
方案二:使用无线输电供电,此方法无任何触点,但存在无线电波在传输中的弥散和衰减问题。
方案三:使用电池供电,即在电路板上直接附带一组干电池,为系统供电。使用时将电池固定在电路板上适当的位置,既解决了旋转时因重力引起的重心不稳,也节省制作时间。
综合比较,本系统采用方案三。
2.2 系统方案设计
线阵LED其实就是一个循环的LED显示,利用人的视觉滞留产生静态显示的现象。根据系统设计的任务和要求,通过方案对比,本设计系统整体框图如图2所示。本作品本着方便、价格低廉的原则,采用单片机控制。整个系统由图文录入部分、电机旋转部分、LED线阵显示部分组成。由12V开关电源为直流电机供电,5V电源为单片机供电,单片机接收输入的图文信号后按照一定的算法控制LED灯的显示,通过电机转动完成相应的控制要求。
图2 系统整体框图
3 LED线阵显示装置硬件设计
3.1 电路连接及硬件资源分配
本系统电路连接及硬件资源分配见图3所示。采用STM32F103系列STM32F103RET6两片单片机作为核心器件,通过按键输入图文送一片单片机处理后,通过红外通信与另一片单片机连接,经过高精度算法后控制LED线阵显示。
图3 系统电路连接及硬件资源分配图
3.2 按键电路的设计
本设计中通过按键完成图文信息的录入,电路没有设计按键的上拉电路,而直接使用单片机内部上拉,电路简单。
图4 按键电路
3.3 液晶电路的设计
液晶电路完成图文录入器的显示与回放功能。液晶电路通过5RXD脚接收信息、6TXD脚发送信息,完成与单片机的通信,如图5(a)所示。具体内容显示如图5(b)所示,此时显示内容为一级菜单,箭头指向LED线阵显示装置,按下确认键显示上一次录入的内容,实现回放功能;通过图4(b)按键调节箭头所指的位置,按一次向下键进图图文录入器,确认后,可手动输入要显示的图文,实现图文录入与显示功能。
图5 液晶电路图
3.4 LED显示电路的设计
本研究选用成本低且又满足精度要求的16个共阴极红绿双色LED灯显示,因单片机的I/0口有限,且每个I/0驱动一个LED灯线路复杂,因此采用四片74HC595芯片作为驱动,每个芯片为8位并行输出,可同时驱动8个LED灯,因此两片74HC595芯片驱动绿色LED,两片74HC595芯片驱动红色LED。驱动电路接线图如图6所示,图中只画出了一片74HC595芯片。
图6 LED驱动电路接线图
4 理论分析与计算
4.1 LED线阵驱动参数分析与计算[2]
线阵显示装置中LED驱动方法为普通的LED与电阻串联的方式来驱动点亮LED,该限流电阻计算公式如下:
根据设计,红绿双色LED灯的亮度不同,绿色灯驱动参数为:Vcc=5V,VF=1.2V,IF=20mA;红色灯驱动参数为Vcc=5V,VF=1V,IF=10mA可求得限流电阻:
经计算,采用200Ω电阻与绿色LED串联,470Ω电阻与红色LED等串联即可。
4.2 LED线阵运动参数分析与计算
LED线阵在电机带动下进行高速旋转。由于人的视觉滞留时间长达0.04~0.1s,以0.04s为例,显示完一列LED后加入一段合适的(40ms以内)延时,看到的是静态稳定的字,LED线阵可以很好地显示图文。所以设定电机周期T=40ms,则电机转速为25r/s。
1)要求固定显示2个16×16的点阵图形,图形间隔为4个点阵点距离时,只需给出合适的脉冲刷新数据即可。电机旋转一周需40ms,需要经过(16×2+4)即36个点阵点,所以刷新送数周期t为:
脉冲图如图7所示:
图7 刷新送数脉冲图
2)当要求显示图形在水平方向上进行宽窄变化循环显示时,保证40ms内刷新32个送数脉冲前提下,只要改变刷新送数脉冲周期即可。周期变大,显示图形变宽;周期变小,显示图形变窄。
以此时间刷新送数LED线阵就能很好的地显示图文,(根据实际情况进行调整)。
5 LED线阵显示装置系统软件主程序设计
系统程序设计采用自上而下、模块化、结构化的程序设计方法[3]。程序开始运行,首先对单片机I/O口、寄存器进行初始化操作[4];通过红外串口接收到图文录入器指令,根据其指令进行显示,并支持通过图文录入器传输图文信息到LED线阵显示装置显示。
LED线阵显示装置,根据检测到LED线阵旋转位置信号,进行刷新显示。当检测到位置信号时,数据计数器清零,再重新进行显示。对本设计的软件流程如图8所示:
图8 软件主程序流程图
6 测试方案与结果分析
本研究设计并制作完成了一个由16只红绿双色LED灯构成线阵显示装置。实物如图9所示。
图9 LED 线阵显示实物图
经过测试,可以确定系统构架设计比较合理,可正常用LED显示出各图文,电路功能基本符合设计要求,测试结果如表1所示。
表1 LED线阵显示测试结果
7 结语
本课题根据LED线阵显示装置设计要求,利用STM32F103RET6单片机作为核心器件,通过红外数据接收器接收录入的图文信息(图文信息采用稳定可靠的按键方式录入),利用高精度算法优化,实现了对LED线阵显示的各种控制,各项指标都可以达到设计要求。