纯手工打造LED旋转显示屏

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

纯手工打造L E D旋转显

示屏

Document serial number【NL89WT-NY98YT-NC8CB-NNUUT-NUT108】

纯手工打造LED旋转显示屏

金杰郑州市电子信息工程学校450007

图1所示为LED旋转显示屏的显示效果。所谓LED旋转显示屏,是指在电路中只有一列发光二极管,通过电动机带动发光二极管转动,当这列发光二极管转到不同位置,用单片机控制相应的发光二极管点亮和熄灭,由于人眼的视觉暂留现象,形成图形或文字,达到漂浮在空中似的神奇梦幻般效果。

图1LED旋转显示屏

下面本文就带您一起DIY一个属于自己的LED旋转显示屏。由于显示屏是靠转动的发光二极管的残留影像显示信息的,整个电路所需的发光二极管的数量很少(本电路共使用16只发光二极管),所以电路原理图非常简单,几乎和流水灯电路无异,很适合手工制作。但由于整个电路板处于高速旋转状态,所以我们首先要解决两问题:一是如何给运动的系统供电;二是如何保证显示信息稳定显示。

给运动的系统供电,常用的供电方式有三种:(1)电池供电;(2)电刷供电;(3)无线感应供电。电池供电方式简单方便,易于携带,但使系统重量增加,影响转速,尤其是成本高,寿命短,只适用于摇摇棒等短时间使用的装置,长时间运行的装置就不适合,比如能显示时间的LED旋转显示屏,每次电池用完,重换电池就够烦心了,换了电池还得重新调整日期、时间,那简直可以用“痛苦”二字来形容。第二种方式——电刷供电,这种供电方式简单有效,能传送较大电流强度的电能,但在业余制作时,很难找到合适的高质量的电刷,高速旋转时会产生较大的噪声。第三种方式——无线感应供电,这种方式为无接触方式供电,寿命长,无新增噪声,虽然传送电流强度有限,效率稍低,但完全可以满足单片机系统的需要,其原理与变压器的原理相同,就是在相距很近的两个线圈中,一个线圈作为电能的发送端,另一个线圈作为电能的接收端,通过振荡电路给发送端线圈提供交变电流,在相距很近的接收端线圈中就可以感应出交变电流。所以考虑再三,决定用无线供电方式,无线供电方式技术要求稍高一些,但能增加制作的挑战性和趣味性。图2所示为通过无线感应供电方式驱动发光二极管发光的演示。

图2通过无线感应供电方式驱动发光二极管发光

要保证LED旋转显示屏显示正常和稳定,就要求单片机控制显示屏总是从电路板转到某一位置时开始播放所要显示的内容。通常的做法就是通过传感器来检测电路板的位置,并通过中断的方式通知单片机进行显示。传感器可以使用霍尔元件或者光电传感器,其中光电传感器要求工艺简单,安装方便。

综上所述,LED旋转显示屏的电路原理图如图3所示。

图3LED旋转显示屏电路原理图

一、电路说明

本电路采用无线感应供电方式给旋转部分供电,所以电路包括无线供电部分电路和旋转部分电路两部分。其中无线供电电路使用74HC4060产生多谐振荡波,再由大功率场效应管IRF530给发送端线圈L1提供交变电流。74HC4060构成的振荡电路不但频率稳定,而且有10种输出频率可供选择,当选用11.0592MHz的晶振时,QD端输出为经过16分频的频率691.2KHz。经实验证明,工作频率在500KHz和1MHz的范围内时,可以获得较高的转换效率和较大的输出功率。本无线供电电路的功率管在不加装任何散热片时长时间工作不会有丝毫发热,使用效果非常好。当然读者也可以采用三极管振荡电路或者门电路构成的振荡电路,但要注意振荡频率的选择,力争使输出功率和转换效率有好的表现。

旋转部分是由电动机带动作高速旋转,其电路非常简单,首先由接收端线圈产生感应电动势,经二极管D19整流、电容C4滤波、稳压二极管D20稳压后得到5V电源给整个电路供电,单

片机的16个I/O口线分别控制16个发光二极管。为了修改程序的方便,在电路中安装了ISP下载接口。

需要说明的是,在电路中并没有具体标明单片机的型号,您可以选用您最熟悉的单片机,只要I/O口够用就可以了,当然如果在I/O口够用的情况下尽量选用体积小、重量轻的单片机为佳。

另外,在无线供电电路板和旋转电路板之间安装一对红外光电传感器,将电路板的位置状态送到单片机的外部中断请求输入端,用以对显示内容进行定位。

二、电路组装与调试

本系统电路不太复杂,两块电路都可以在万能实验板上插装焊接,制作时首先按照原理图在万电路板上规划出合理的元件布局图,然后按布局图将元件依次插装并焊接,最后把需要连接的引脚用电磁线和镀锡裸铜线连接起来,大家注意不要短路,线路连接关系不要出错。图4所示是装配好的无线供电电路及底座实物图,图5所示是我装配好的旋转主板的实物照片,发光二极管和限流电阻均使用贴片元件,这样像素更紧凑,显示更清晰,单片机使用STC12C5616AD,28脚窄体DIP封装,因为在万能实验板上无法使用帖片集成电路,LED与单片机引脚的连接均用电磁线相连,这样走线整齐、美观,还能减小整个电路板的体积。其它引脚的连接使用镀锡裸铜线连接。全部安装好以后,需要插到电机轴上测试一下电路板是否平衡,如果不平衡,可以通过在适当位置加焊锡进行配重。

图4装配好的无线供电电路及底座

图5装配好的旋转主板

电路装配好以后,需要对硬件电路进行调试,方法是通过ISP下载线接口对主板供电,依次测试每个发光二极管是否正常发光,或者通过下载器向单片机烧入流水灯等简单程序,观察电路整体运行情况。

三、程序设计

LED旋转显示屏的程序流程图如图6所示。

由程序流程图可知,主程序主要是对外部中断的控制寄存器进行初始化设置,外部中断的中断请求信号来自红外光电传感器的红外接收二极管,每当电路板的红外接收二极管转到与之对应的红外发射二极管的位置时,就会向CPU发出中断请求信号,CPU响应中断,调用显示子函数,这样显示子函数总是在电路板转到同一个位置时被调用,保证显示的内容正常和稳定。

显示程序在外部中断子函数中被调用。编写程序时需要注意的是,因为显示程序是逐列扫描显示的,所以在对字符或汉字取模时要采用逐列式,正序和倒序都是可以的,在程序中都可以调整。比如要显示5个汉字,每个汉字16列,共扫描80列,可用如下程序:

unsignedinti;

for(i=0;i<80;i++)

{

P1=tab[2*i];

P2=tab[2*i+1];

delay(70); //延时时间的长短决定了字的宽度

}

P1=0xff; //扫描完所有列后要熄灭所有LED

P2=0xff;

如果想让显示的字符如图1所示的效果,上半部是正立的,下半部也是正立的,我们可以编写一个字节倒序的子函数,对取出的字模数据首先作倒序处理,然后,显示程序是的i值是从80减小到的,参考程序如下:

unsignedinti;

for(i=80;i)0;i--)

{

相关文档
最新文档