图7.1 基于LED旋转显示屏的万年历
由于显示屏是靠迁徙改变的发光二极管的残留影像显示信息的,其特点是显示信息丰富,而全体电路所需的发光二极管的数量却很少(本电路共利用16只发光二极管),以是电路事理图非常大略,险些和流水灯电路无异,很适宜手工制作。但由于全体电路板处于高速旋转状态,以是我们首先要办理两问题:一是如何给运动的系统供电;二是如何担保显示信息稳定显示。

给运动的系统供电,常用的供电办法有3种:电池供电、电刷供电、无线感应供电。电池供电办法大略方便、易于携带,但它会使系统重量增加,影响转速,而且它本钱高、寿命短,因此只适用于摇摇棒等短韶光利用的装置,永劫光运行的装置就不得当了。比如能显示韶光的LED旋转显示屏,每次电池用完,重换电池就够烦心了,换了电池还得重新调度日期、韶光,那切实其实可以用“痛楚”二字来形容。第二种办法——电刷供电,这种供电办法大略有效,能传送较大电流强度的电能,但在业余制作时,很难找到得当的高质量的电刷,高速旋转时会产生较大的噪声。第三种办法——无线感应供电,这种办法为无打仗办法供电,寿命长、无新增噪声,虽然传送电流强度有限,效率稍低,但完备可以知足单片机系统的须要,以是本电路采取无线供电办法。无线供电办法技能哀求稍高一些,但能增加制作的寻衅性和意见意义性,因此,本文首先对无线供电电路的设计与电能传输效率进行一些先容。
无线供电技能目前还在研究试验阶段,但其运用处所非常广泛,前景非常好,比如,已经涌现了一些小功率无线充电器运用成品,只要手机或者电子产品具备无线吸收装置,靠近无线充电器就可以充电了,除此之外,还有无线射频IC卡、通畅证、缴费卡等。
一个LED旋转显示屏须要花费多大的电能呢?我们来做一个大略的打算:假设我们采取16个高亮度LED,事情时每个LED耗电10mA,单片机的自身耗电较少,暂且忽略不计,则电路所耗电流的最大值为160mA,电压取5V,以是最大总功耗约0.8W。下面我们就按这个哀求设计电路。
无线感应供电的基本事理与变压器的事理相同。它利用电磁感应征象,通过交变磁场把电源输出的能量传送到负载,即在相距很近的两个线圈中,一个线圈作为电能的发送端,另一个线圈作为电能的吸收端。通过振荡电路给发送端线圈供应交变电流,在相距很近的吸收端线圈中就可以感应出交变电动势,再对这个交变电动势整流、滤波即可对负载供电。图7.2所示为通过无线感应供电办法驱动发光二极管发光的演示。
图7.2 以无线感应供电办法驱动发光二极管发光
图7.3所示是一个大略单纯的近间隔无线供电系统事理图。个华夏线圈L1及其掌握电路构成了发射端,副线圈L2及整流滤波电路构成了吸收端,R5为负载电阻。
电路中利用74HC4060产生多谐振荡波,此多谐振荡波通过大功率场效应管IRF530给发送端线圈L1供应交变电流。本电路之以是利用74HC4060组成多谐振荡电路,紧张是为了测试方便,74HC4060构成的振荡电路不但频率稳定,而且有10种输出频率可供选择,可以逐一测试每种频率所对应的输出功率和电能传输效率。当选用11.0592MHz的晶体振荡器时,QD端输出为经由16分频的频率——691.2kHz。
图7.3 大略单纯无线供电系统事理图
次级吸收电路中的谐振电容C4很主要,加上谐振电容后传输间隔大大增加,输出功率和电能传输效率也明显提高。
按图3所示电路及元件参数搭好电路后接通电源,对电路进行测试。当不加任何负载时(L2阔别L1),VT1的漏极电流I1为45mA;当L2与L1紧耦合时,I1增加到110mA,此时负载电阻R5上的电压U2为6.5V的电压,折合功率为0.83W,U1实测电压为13V,电能传输效率为:
电路的输出功率基本能知足LED旋转显示屏的哀求,对付小功率设备,电能传输效率该当说是相称不错了。
在无线供电电路的制作中,振荡电路可以采取任何一种形式的多谐振荡器,如三极管振荡电路、集成运放电路或者门电路构成的振荡电路,也可以采取74HC4060这种带振荡器的二进制异步计数器来实现,振荡频率在500kHz旁边为宜。其余,比较主要的便是线圈的制作了,发射线圈用Φ0.5旁边的电磁线(漆包线)在外径为1cm的骨架上绕48匝,然后固定好;吸收线圈用Φ0.2旁边的电磁线绕成内径为4mm旁边的12匝空心线圈即可,关键是安装时不要使这两个线圈相碰。
末了,根据我的制作体会,给对此有兴趣的爱好者几点建议:
(1)L1匝数较多是为了有足够的感抗(感抗和电感量及互换频率有关),避免流过的电流过大而发热。实在L1也可以只绕10匝旁边,但一定要配上大小得当的谐振电容,使其事情在谐振状态,这样可以得到更好的传输间隔、输出功率和电能传输效率,包括L2的谐振电容也是如此。谐振电容的选择可以在示波器监视下进行,谐振电容可以用涤纶电容、聚乙烯电容等,建议不要用瓷介电容。
(2)传输能量时,波形不是很主要,但是失落真太大就会使功率监工作在线性区,而非事情在开关状态,这样将使电能的传输效率大幅度低落。如果在功率管的前面增加一级射极跟随器,可以提高波形的质量,从而提高电能的传输效率。
(3)无线供电电路的事情频率不可太高,频率越高对VMOS管的哀求也就越高,目前高频特性知足这种哀求的VMOS管还不随意马虎找到;频率越低,就哀求L1的电感量越大。以是我们常日选择电路的事情频率在200kHz~1MHz为宜。
(4)L2感应的电压经整流、滤波后一定要有稳压电路,以担保单片机事情稳定。
如何担保显示信息稳定显示要担保LED旋转显示屏显斧正常和稳定,就哀求单片机掌握显示屏总是从电路板转到某一位置时开始播放所要显示的内容。常日的做法便是通过传感器来检测电路板的位置,并通过中断的办法关照单片机进行显示。传感器可以利用霍尔元件或者光电传感器,个中光电传感器哀求工艺大略,安装方便。
综上所述,本万年历的电路事理图如图7.4所示。
图7.4 LED旋转显示屏电路事理图
电路解释本电路采取无线感应供电办法给旋转部分供电,以是电路包括无线供电部分电路和旋转部分电路两部分。
无线供电部分采取图7.3所示电路。
旋转部分是由电动机带动,进行高速旋转,其电路非常大略,首先由吸收端线圈产生感应电动势,经二极管VD19整流、电容C4滤波、稳压二极管VD20稳压后得到5V电源给全体电路供电,单片机的16个I/O口线分别掌握16个发光二极管。为了方便修处死式,我在电路中安装了ISP下载接口。电动机可以选用5V长轴直流电机。
作为万年历,该当具备显示公历、农历、星期、韶光以及环境温度的功能,并且在掉电的情形下,所有信息不丢失,时钟正常走时,这里我们利用时钟芯片DS1302和数字温度传感器DS18B20。
同时在电路中还增加了一体化红外遥控吸收头,它用于通过遥控调度韶光和其他参数。
须要解释的是,在电路中并没有详细标明单片机的型号,你可以选用最熟习的单片机,只要I/O口够用就可以了,当然,在I/O口够用的情形下,只管即便选用体积小、重量轻的单片机为佳。
其余,在无线供电电路板和旋转电路板之间安装一对红外光电传感器,将电路板的位置状态送到单片机的外部中断要求输入端,用以对显示内容进行定位。
电路组装与调试本系统电路不太繁芜,两块电路都可以在万用电路板上插装、焊接(有条件的话也可制作PCB)而成。制作时首先按照事理图在万用电路板上方案出合理的元件布局,然后按布局图将元件依次插装并焊接,末了把须要连接的引脚用电磁线和镀锡裸铜线连接起来。把稳不要短路,线路连接关系不要出错。图7.5所示是装置好的无线供电电路及底座实物图。
图7.5 装置好的无线供电电路及底座
安装时须要将直流电机和供电电路板固定在一个盒子里,使电机的转轴伸出盒外,将发射线圈套在电机转轴上,并以电机转轴为中央。图7.6所示是装置好的旋转主板正、反面的实物图,发光二极管和限流电阻均利用贴片元器件,这样会使得像素更紧凑,显示更清晰。
图7.6 装置好的旋转主板正反面
单片机利用STC12C5616AD,28脚窄体DIP封装。LED与单片机引脚的连接均用电磁线相连,这样走线整洁、都雅,还能减小全体电路板的体积,其他引脚的连接利用镀锡裸铜线连接。吸收线圈固定在旋转主板的底面,然后随旋转主板一起插到电机转轴上,使吸收线圈套在发射线圈的内部,构成变压器的形式。全部安装好往后,须要插到电机轴上,测试一下电路板是否平衡,如果不平衡,可以通过在适当位置加焊锡进行配重。
电路装置好往后,须要对硬件电路进行调试,方法是通过ISP下载线接口对主板供电,依次测试每个发光二极管是否正常发光,或者通过下载器向单片机烧入流水灯等大略程序,不雅观察电路整体运行情形。
Tips
DS1302是美国DALLAS公司推出的一款高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、星期、时、分、秒进行计时,具有闰年补偿功能,事情电压为2.5~5.5V。采取三线接口与CPU进行同步通信,并可采取突发办法一次传送多个字节的时钟旗子暗记或RAM数据。DS1302内部有一个31×8的用于临时性存放数据的RAM寄存器,具有主电源/后备电源双电源引脚,同时供应了对后备电源进行涓细电流充电的能力。
DALLAS半导体公司的数字化温度传感器DS18B20采取TO-92封装,体积小巧、接线方便,是天下上第一片支持“一线总线”接口的温度传感器。丈量温度范围为-55~+125℃。现场温度直接以“一线总线”的数字办法传输,大大提高了系统的抗滋扰性,适宜于恶劣环境的现场温度丈量,支持3~5.5V的电压范围,使系统设计更灵巧、方便。DS18B20可以程序设定9~12位的分辨率,精度为±0.5℃。DS18B20的性能是新一代产品中最好的,性能价格比也非常出色,让我们可以构建适宜自己的经济的测温系统。
程序设计本万年历的单片机程序流程图如图7.7所示。
图7.7 程序流程图
由程序流程图可知,主程序紧张是对外部中断的掌握寄存器进行初始化设置。系统共用到两个外部中断源,外部中断0的中断要求旗子暗记来自红外光电传感器的红外吸收二极管。每当电路板的红外吸收二极管转到与之对应的红外发射二极管的位置时,就会向CPU发出中断要求旗子暗记,CPU相应中断,调用显示子函数,这样显示子函数总是在电路板转到同一个位置时被调用,担保显示的内容正常和稳定。外部中断1的中断要求旗子暗记来自一体化红外遥控吸收头,当收到红外遥控旗子暗记时,就会转向中断做事程序,对红外遥控旗子暗记进行解码,并进行相应的按键操作。由于当吸收到红外遥控旗子暗记时,对遥控编码中的“0”和“1”的识别完备是靠韶光是非区分的,为担保红外旗子暗记解码及时和精确,外部中断1必须设置为高优先级。
显示程序在外部中断0的中断做事程序中。编写程序时须要把稳的是,在对字符或汉字取模时要采取逐列式,正序和倒序都是可以的,在程序中都可以调度。显示程序实在便是依次取出字模表中的数据,按韶光前后顺序均输出到同一列发光二极管上。比如要显示5个汉字,每个汉字16列,共扫描80列,可用如下程序。
unsigned int i;
for (i=0;i<80;i++)
{
P1=tab[2i];
P2=tab[2i+1];
delay(70);//延时时间的是非决定了字的宽度
}
P1=0xff;//扫描完所有列后要熄灭所有LED
P2=0xff;
如果想让显示的字符涌现如图1所示的效果,上半部是正立的,下半部也是正立的,我们可以编写一个字节倒序的子函数,对取出的字模数据首先作倒序处理,然后,显示程序的i值是从80减小到的,参考程序如下。
unsigned int i;
for (i=80;i)0;i--)
{
P2=chg(tab[2i]);//chg是对字模数据作倒序处理的子函数
P1=chg(tab[2i+1]);
delay(70);//延时时间的是非决定了字的宽度
}
P1=0xff;//扫描完所有列后要熄灭所有LED
P2=0xff;
数字温度传感器DS18B20和时钟芯片DS1302的读写程序在这里不再详细列出,须要的读者可以到qq群657864614进行下载。但须要把稳的是,温度传感器DS18B20的读写对时序哀求非常严格,并且读写过程中一旦被打断,就会导致读写缺点,以是DS18B20的读写程序也放在外部中断0的中断做事程序中,我们可以放在显示上半部分笔墨和显示下半部笔墨的程序之间,作为两段笔墨之间的空格。
所有硬件和软件完成之后,下面就可以坐下来逐步欣赏自己的作品了。
我的淘宝店铺:首页-数码达人小李-淘宝网,主打电脑周边产品,性价比高,发货快,做事好,品质过硬,总有一款适宜你,感谢支持!










