江苏航运职业技术学院学报  2016年01期 57-61   出版日期:2016-03-25   ISSN:1006-6977   CN:61-1281/TN
基于STC12LE5A32S2单片机的车轮LED POV系统设计


0引言
物体在快速运动时, 其影像会做一个短暂的保留, 这种现象被称为视觉暂留现象 (Persistence of Vision,以下简称“POV”) 。LED POV系统是指利用单片机控制LED灯在旋转平面的相应位置上点亮, 此时前面的图像没有完全消退, 新的图像又继续产生, 在大脑里会形成连贯的影像。将LED POV系统安装在自行车车轮上,可以使得自行车在夜间骑行更加安全、更有乐趣。[1]
1车轮LED POV系统设计方案
LED POV系统以单片机为控制单元, 用户把要显示的图形和字符通过数据线烧入单片机中;系统运行以后, 系统中的霍尔传感器产生电平跳变, 生成转速信号, 转速信号经过单片机处理后, 将调整LED发光状态, 并通过LED驱动电路点亮LED灯。LED POV系统结构框图如图1所示。[2]
图1 LED POV系统结构框图
图1 LED POV系统结构框图 下载原图
2车轮LED POV系统硬件设计
2.1系统主控芯片
STC12LE5A32S2单片机是宏晶科技出品的高速、低功耗、超强抗干扰的新一代单片机, 指令代码完全兼容传统单片机, 但速度速度比普通8051快8-12倍。片内集成了2个16位定时器/计数器和2个PCA定时器, 8路10位的ADC转换, 2路PWM脉宽调节和复位电路。片内具有32K字节的Flash程序存储器和1 280字节的SRAM空间, 具有ISP和IAP功能, 无需专用编程器, 可直接通过串口下载用户程序。对本设计而言, 需要经常更换显示的图形和字符, 相比传统51单片机通过烧录器烧录程序更加方便。根据行LED POV系统要求, STC12LE5A32S2单片机的引脚分配如表1所示:
表1 单片机引脚分配 下载原表
表1 单片机引脚分配
LED POV系统以STC12C5A32S2单片机为控制核心, 通过霍尔传感器测取速度, 控制LED闪烁, 显示精美的图形和文字, 其外部接口电路如图2所示:
图2 单片机外部接口接线图
图2 单片机外部接口接线图 下载原图
STC12C5A32S2的工作电压为3.3-5.5V, 在系统的整体设计时估算本系统的总功耗为0.214W (系统电压3.3V,电流0.065A) 。考虑到整个系统要安装在自行车轮辐上, 为了不影响自行车的骑行, 所以系统的电源设计为3节7号电池串联。
2.2 LED发光体设计
发光二极管LED的核心部分是由P型半导体和N型半导体组成的晶片, 在P型半导体和N型半导体之间有一个过渡层, 称为PN结。在某些半导体材料的PN结中, 注入的少数载流子与多数载流子复合时会把多余的能量以光的形式释放出来, 从而把电能直接转换为光能, 几乎不产生热能。PN结加反向电压, 少数载流子难以注入,故不发光。当它处于正向工作状态时 (即两端加上正向电压) , 电流从LED阳极流向阴极时, 半导体晶体就发出从紫外到红外不同颜色的光线, 光的强弱与电流有关。[3]由于自行车车轮是做圆盘式旋转运动, 所以在设计LED发光体时, 采取钟表指针式设计, 通过旋转形成圆形显示画面。LED发光体做圆盘式旋转运动时速度为50-70r/min, 选用的贴片LED二极管宽为2mm, 二极管之间间距也与其自身的宽度相同, 发光体可以显示的宽度为128mm, 常见自行车车轮半径为300-360mm, LED发光体显示区与近轴点外侧与圆心的距离为100-200mm, 在显示字体时, 接近圆心的地方字形会产生形变, 需要对发光点进行的坐标修正。[4]LED POV系统设计为双面显示, 两面各32个单色LED二极管。为了便于控制LED二极管, 一面又分为2组, 16个LED灯为一组。这四组LED灯分别由管脚P3.4、P3.5、P3.6和P3.7通过PNP三极管控制选通, 选通的管脚给高电平, 并持续一段时间, 在此延时值预设为10ms, 其他不通的管脚给低电平。选通的一组LED灯又通过与LED灯阴极连接的单片机管脚, 即:P0.0-P0.7和P2.0-P2.7来控制点亮或熄灭, 只有在选通状态下且阴极输上为低电平, 该LED灯才能点亮。
2.3传感器设计
为了使每一次显示的画面都能稳定, LED的闪烁频率应与车轮旋转的频率同步, 车轮旋转的频率需要加装传感器通过脉冲计数法进行测量。因为自行车轮相对自行车是旋转的, 所以采用非接触式传感器——霍尔传感器, 在自行车车架上安装磁铁作为刷新零点, 当霍尔传感器接近磁铁时则会有一次电平跳变作为中断信号,单片机检测这一电平跳变进行数据显示输出, 以及进行测速和显示的调整, 从而将转速信号测量并显示出来。3144E霍尔传感器采用半导体集成技术制造的磁敏电路, 它是由电压调整器、霍尔电压发生器、差分放大器、史密特触发器, 温度补偿电路和集电极开路的输出级组成的磁敏传感电路, 其输入为磁感应强度, 输出是一个数字电压讯号。霍尔传感器3144E在LED POV系统中的主要作用是车轮转速检测。车轮每转一周, 磁铁经过霍尔传感器3144E一次, 引脚3就输出一个脉冲信号作为单片机STC12LE5A32S2的外中断信号, 从P32口输入。单片机测量脉冲信号的个数和脉冲周期, 根据脉冲信号的个数计算出车轮频率。霍尔传感器与单片机连接结构图如图3所示。考虑到系统使用时多为夜间, 环境照明情况复杂, 为了在不同的照明环境中达到良好的显示效果, 设计了一个基于光敏电阻的亮度感应电路。光敏电阻器又称光导管, 具有光照强时阻值迅速减小, 光照弱时阻值变大的特性。感应电路由光敏电阻和一个上拉电阻与电源串联而成, 通过光敏电阻阻值的改变来实现输入电压的变化, 并将变化的电压值输入到单片机的P1.0口中。设计根据不同的光照情况, LED灯显示的亮度有所不同。亮度感应电路如图4所示。
3车轮LED POV系统软件设计
本系统程序采用C语言开发, 由主程序和LED显示程序构成。系统通电启动后, 由光敏电阻控制系统的工作模式, 当外界有阳光照耀时, 系统处于低功耗模式下;当外界无阳光时, 系统退出低功耗模式, 进入正常工作模式。系统正常工作后启动霍尔传感器, 检测霍尔传感器是否经过固定在自行车车架上的磁铁, 若有电平跳变, 则该跳变作为外部中断信号, 启动定时器T0, 预先给T0一个合适的初始值10ms。由于自行车车轮在运动中转速变化大, 而自行车转速又与画面的刷新频率息息相关, 如果两种频率不匹配, 无法显示出完整的图形和字符。所以在车轮旋转运动中, 通过定时器通T0处理程序给T0的中断的次数 (即显示的列数) 计数, 当旋转一周完成后, 根据实际中断次数与预设的值N[]比较, 根据比较结果, 在外部中断处理程序中对T0的初设值进行修正, 直到定时器T0的中断次数达到预设值为止。[5]根据车轮LED POV系统工作情况的特性, 设计总程序流程如图5所示。
3.1自适应转速计算
制作自行车上的POV LED显示时, 难度最大的是自行车车轮的转速变化大, 导致图像和文字会发生严重变形。如何在随时改变转速的情况下, 正常显示是POV制作中的难题。针对这种控制对象会发生不可预测的变化的情况, 自适应调节算法可以有效解决此类问题。在外部中断处理程序中, 预先给T0一个合适的初始值。在旋转运动中, 通过定时器T0处理程序给T0的中断的次数S (即显示的列数) 计数, 当霍尔传感器经过刷新零点即完成旋转, 根据实际中断次数与预设的值N[M]比较。根据比较结果, 在外部中断处理程序中对定时器T0的初设值进行自动修正, 直到定时器T0的中断次数达到预设值为止, 调节过程如图6所示。[6]修正值D的计算如式 (1) :式中, D-修正值, S-实际中断次数, N[M]-预设值。自适应调节算法部分主要程序如下:
图5 程序设计流程图
图5 程序设计流程图 下载原图
图3 霍尔传感器与单片机连接结构图
图3 霍尔传感器与单片机连接结构图 下载原图
图4 亮度感应电路
图4 亮度感应电路 下载原图
3.2图像文字的处理
对于要显示的图像和文字, 通过LCD/LED点阵取模软件 (Character Matrix字模提取软件) 来实现。该软件是一款对字符进行处理的软件, 它能够支持图片和文字混合排版编辑, 支持包括BMP、JPEG、ICO、EXE、DLL格式的文件等, 并且LCD/LED点阵取模软件还支持使用指定字体、指定取点模式及字节排列模式, 支持字体加粗、斜体、删除线、下划线等设置, 并且可以生成C格式代码或ASM格式代码。多幅静态的图像组合起来可以构成动态的图像。
图6 自适应调节算法流程图框图
图6 自适应调节算法流程图框图 下载原图
4结束语
本文详细研究了LED POV系统的工作原理, 并设计制作了车轮LED POV系统, 用C语言编写系统程序, 利用自适应调节算法改进了图形的显示。在软件和硬件的联合调试中, 车轮LED POV系统能够很好地控制LED发光二极管显示预设的文字和画面, 达到了预期目的。