单片机实例分享,无线供电的LED旋转显示万年历
大家一定见过各种各样的万年历吧?下面我就带领大家手工打造一台采用无线供电方式、以LED旋转显示屏作为显示器的万年历。图7.1所示就是这款LED旋转显示万年历的实际效果。所谓LED旋转显示屏,是指在电路中只有一列发光二极管,通过电动机带动发光二极管转动,当这列发光二极管转到不同位置时,用单片机控制相应的发光二极管点亮和熄灭,由于人眼的视觉暂留现象,形成了视觉上的图形或文字。
图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[2*i];
P2=tab[2*i+1];
delay(70);//延时时间的长短决定了字的宽度
}
P1=0xff;//扫描完所有列后要熄灭所有LED
P2=0xff;
如果想让显示的字符出现如图1所示的效果,上半部是正立的,下半部也是正立的,我们可以编写一个字节倒序的子函数,对取出的字模数据首先作倒序处理,然后,显示程序的i值是从80减小到的,参考程序如下。
unsigned int i;
for (i=80;i)0;i--)
{
P2=chg(tab[2*i]);//chg是对字模数据作倒序处理的子函数
P1=chg(tab[2*i+1]);
delay(70);//延时时间的长短决定了字的宽度
}
P1=0xff;//扫描完所有列后要熄灭所有LED
P2=0xff;
数字温度传感器DS18B20和时钟芯片DS1302的读写程序在这里不再详细列出,需要的读者可以到qq群657864614进行下载。但需要注意的是,温度传感器DS18B20的读写对时序要求非常严格,并且读写过程中一旦被打断,就会导致读写错误,所以DS18B20的读写程序也放在外部中断0的中断服务程序中,我们可以放在显示上半部分文字和显示下半部文字的程序之间,作为两段文字之间的空格。
所有硬件和软件完成之后,下面就可以坐下来慢慢欣赏自己的作品了。
【测试分享】+基于单片机的10W无线充方案测试
【测试分享】+基于单片机的10W无线充方案测试
由于项目需要,给国产单片机厂家要了一款10W无线充方案,样板的外观如下图所示。
板子有点大,不过作为演示板大的好处是可以很方便的测量。
一、效率测量
拿到一款电源,无论是有线的还是无线的,第一步我总是测量一下效率,只有一款高效率的电源才能勾起我的研究和使用欲望,我想电源网的小伙伴应该很多也是这样的。
测试设备:泰克PWS2323直流电源,艾德克斯IT8512+电子负载测试仪
▲空载时(没有无线充接收端在发射线圈上)消耗功率为:0.05~0.09W之间跳的。
▲放上接收线圈时,在线圈没有工作电流时,消耗功率为:1W之间跳变。这个数据大家注意下,在手机充满时就是这种情况。1W的功耗还是相当高的,所以这就需要通信协议的支持。这个协议主要是手机端告诉无线充发射端,我充满了,不要在1W工作了,你可以回到待机状态了。如下图所示:
待机状态下的工作波形如下图所示:
▲待机时,工作80mS,停500ms,以节省电力。
我抽查了接线端500mA负载时的效率。其中电源供电为4.83V*0.72A=3.4776W,电子负载消耗4.7V*0.5A=2.35W,所以效率为:67.6%。值得注意的是,我为了图省事,电子负载并没有采用4线制。但我用的铜线比较粗,这个值值作为参考。
二、工作频率测试
测试设备:固伟GDS1072B示波器
本无线电源使用的谐振电容为330nF,线圈电感量为6.8uH,所以谐振频率为106kHz,频率计算如下图发示:
然而我们测量的待机工作频率为177KHz左右,有接收线圈无电流时频率为146kHz;有接收线圈有600mA电流时,频率为166kHz。
▲图示为空载时线圈两端的电压电流波形,频率为177kHz,幅度为10V左右,电流幅度为2A左右。
▲图示为有接收线圈时,发射线圈两端的电压电流波形,频率为148kHz,幅度为10V左右,电流幅度为2A左右。
▲图示为有接收线圈时,为电子负载提供600mA电流时,发射线圈两端的电压电流波形,频率为166kHz,幅度为10V左右,电流幅度为2A左右。
频率都在QI协议规定的范围内。我想这应该有PID调节的缘故。
▲A2类型充电电路及工作频率
▲PID调节原理,工作频率以1kHZ步进进行调节
三、通信测试
测试设备:固伟GDS1072B示波器、泰克P6022电流探头,三华SI9002差分电压探头。
▲通过读取发射线圈的电压电流,可以看出线圈被调制了,调制方式为ASK,编码方式为差分双相编码,通信波特率为2kHz。
▲图示为QI协议规定的差分双相编码。
然后我们看看电路的解调能力,本演示板用的是电流通道的信号进行解码。解码电路如下。
解码波形如下:
▲从图中我们可以看出,该电路对于ASK的解码效果还是比较好的。
相关问答
STC 单片机 工作电压是5V,电流是多少? 怎么用3--4节干电池(5...怎么用3--4节干电池(5号或七号电池)给STC单片机供电?相机电池ST讨论回答(5)STC89C52RC的工作电压范围是:3.3V~5.5V,整体流过单片机的电流总和不要超过70...
怎么用usb给 单片机 供电-ZOL问答USB口的1脚为+5V,4脚为GND,在你设计版时可以直接引用这个电源为单片机供电,如板上需要3.3V则再加个1117模块稳压输出3.3V使用时要注意:1、不要知路及反接2...
如何用 单片机 制作锂电池充放电?你先要明白充电的过程和放电的过程。锂电池放电,就是把锂电池正负极接到一电阻,通过这样,把电能耗完。锂电池充电就是把锂电池接到电源上,正负极要接对,进行...
单片机 控制的电池 充电 是恒流还是脉冲 充电 ?从电路上看,你的这个设计是有问题的:1、电池电压为9V,外接电源电压才10V,这样的充电效果会很差,充电电压应该在12V以上。2、由单片机的P0.1直接驱动NPN三...
我想问一下,如何给舵机单独供电。我是这么认为的, 单片机 只能提供3.3和5v的电压,要提供更高的电压?供电最好独立,要5V,控制信号到3.3V没事。如果供电也要3.3V,则要看舵机的牌子了,有的舵机就不工作,有的就可以。可以试一下,只是电压低不工作而已,不会坏的...
已知给了400V的直流电源,如何得到5V的电压给 单片机 供电用电...[最佳回答]单片机最大工作电流在20mA以内,建议用电阻分压;否则,采用DC-DC模块.
单片机 用锂电池供电,如何较为准确的监控实时电池电量?单片机可通过ADC检测电压来监控电池电量我们一般通过检测电压来判断锂电池的电量。单节锂电池标称电压为3.7V,充满电压为4.2V。电压大于等于4.2V我们认为电量为...
如何用USB为51 单片机 供电?USB口的1脚为+5V,4脚为GND,在你设计版时可以直接引用这个电源为单片机供电,如板上需要3.3V则再加个1117模块稳压输出3.3V使用时要注意:1、不要知路及反接2...
单片机 用6V电源供电会不会烧啊?这个要看你使用的单片机是什么型号,你可以查看你选用型号的单片机的PDF,上面会有单片机的最大工作电压,如果在工作电压范围内的话就不会烧。可以到www.datas...
无限遥控器收发模块如何使用_住范儿家装官网无限遥控器收发模块如何使用:一、遥控器使用说明:1.供电:遥控器背面有4节5号电池给遥控器正常工作供电。若发现供电不足导致其无法工作,应该立即...