摘要
本论文针对LED产品的老化测试问题进行深入的分析研究,借由传统的LED老化测试、开发成本低、以及适于应用为写照,用Arduino开发板为下位机,设计一个LED开关老化测试系统,用来改善LED测试问题。
该系统通过手机的App连接下位机的蓝牙模块来控制系统的整个过程。手机App连接单片机蓝牙后,手机App设置老化参数发送至单片机开始试验,单片机输出PWM信号驱动LED驱动芯片对LED进行老化;温湿度传感器检测的温度数据、湿度数据经485转TTL返回单片机对温度和湿度数值与预设数值进行对比,驱动PTC加热模块和加湿模块,同时返回数据到App;而内置的10位高精度ADC读取LED两端电压,将电压数据经结果传输给手机APP进行整体调控,最终实现LED的开关老化试验。
关键字:LED老化检测,Arduino,蓝牙
1 LED驱动模块设计
设计LED驱动电路时,需要对LED的电特性进行分析,对LED驱动芯片进行合理化选型。LED驱动芯片采用COSIM公司的CN5711降压型LED驱动芯片,CN5711是一款电流调制集成电路芯片,芯片内部集成有功率晶体管,不需要再外接功率管,恒定输出电流可达1.5A,为LED开关老化系统提供宽阔测试范围,采用散热能力增强型的8管脚SOP8封装,如图3-4所示。
图3-4 LED驱动芯片CN5711管脚图
表3-2是LED驱动芯片CN5711的管脚功能描述,为了保证LED驱动芯片CN5711能够正常地工作,VCC管脚的供电电压需在2.8V-6V的范围内,并且要大于LED正向导通电压加上CN5711的VCC管脚与LED管脚之间所需要的压降。通过控制LED驱动芯片CN5711的ISET管脚与GND之间的电阻的大小,可以对芯片输出端管脚的电流进行控制,其计算公式如下:
其中,的单位是安培(A)
的单位是欧姆(Ω)
为了扩展系统板的功能性,采用四个精密电阻通过N-MOS控制作为电阻,使系统可以在多个驱动电流下LED进行开关老化,相较于传统的电位器,固定式精密电阻在使用过程中,不需要重复调节,具有阻值准确,不易受震动、冲击、温度、湿度等外界环境因素的影响。
表3-2 CN5711管脚功能表
为了扩展系统板的功能性,采用四个精密电阻通过N-MOS控制作为电阻,使系统可以在多个驱动电流下LED进行开关老化,相较于传统的电位器,固定式精密电阻在使用过程中,不需要重复调节,具有阻值准确,不易受震动、冲击、温度、湿度等外界环境因素的影响。
综合上述的LED驱动芯片CN5711设计要求,画出电路原理图如图3-5所示;其中,CE端连接到Mega2560的PB7端口,由PB7端口输出的PWM信号对CN5711工作状态进行控制,CN5711的最高可分辨频率为2Khz,基本符合市场上的PWM调制LED驱动频率,LED输出端连接到Mega2560的PA0端口,监测LED灯珠的两端电压。
图3-5 LED驱动模块电路原理图
2 系统软件设计
4.1 下位机系统设计
LED开关老化测试系统的下位机程序设计,首先根据系统的整体功能设计下位机程序的整体框架并且划分各模块的功能间的通讯关系,下位机程序的设计框图如图4-1所示。分别对各个模块进行功能测试,然后将各个模块进行联合调试,优化软件系统功能。
图4-1 下位机系统设计框图
ATmega2560单片机采用的是基于C/C++编程语言基础上进一步封装的Arduino编程语言,使用类似Java、C语言进行编写与编译的,Arduino通过大量的封装建立了一套自身使用的语法,大大简化了编程过程。Arduino编程语言使用的开发环境是Arduino IDE,Arduino IDE开发环境在编写单片机程序代码时,只需直接调用封装库里的函数,就能将单片机的参数设置进行模块化调用,不再需要用户直接处理底层系统,降低了单片机的开发难度,提高了应用程序的开发效率。
3 手机端APP设计
设计开发工具: (1)App Inventor 2开发软件
(2)计算机
(3)安卓手机
设计思路:设计一个简单的app程序,以蓝牙通信为传输手段,传输手机APP端的数据处理结果,通过蓝牙通信传输数据,进一步控制单片机行动。对APP上的按钮进行设置,通过触碰将信号发送给单片机做判断,同时将判断好的编码发送给蓝牙模块,同时单片机判断好它们所需要的功能并发布命令去执行,
流程如图4-3所示。
图4-3 单片机和手机App通信框图
4 系统测试结果和分析
4.1 LED开关老化测试系统运行测试
经过三次PCB打样电路设计和程序设计后,我们将下位机程序通过USB接口下载到Arduino主控板上,然后上电连接手机APP,设置老化时间、频率、电流、温度、湿度等参数后,开始老化,如图5-1所示。
Arduino接收到指令后开始工作,LED被点亮,同时PTC加热模块和超声波加湿模块按照设定的温湿度进行工作,手机APP能够实时显示LED的电压,同时温湿度模块返回的温度和湿度数值也能正常显示,如图5-2所示。
图:5-1 App参数设置图
图5-2 App数据返回图
4.2 结果分析
本系统采用ATMEL公司的AVR系列ATmega2560作为LED开关老化系统的核心,结合降压型LED驱动芯片和485通讯型高精度温湿度传感器硬件的基础,在AI2开发的手机APP和Arduino IDE编写的下位机程序配合下,通过软硬件结合,实现了一种LED开关老化测试系统。经过测试验证,该设计实现了LED可以4种工作电流,可在0-2KHz的开关频率下进行老化,根据加速老化条件的需要,还可以调节老化试验环境的温度和湿度,更加接近于真实的使用环境。自主设计的主控板还可以对试验中的LED工作电压进行实时监测,在超出预设的最大工作电压时,进行实时报警,能提示操作监控人员采取相应的措施。但本设计所使用的LED驱动芯片对电流的输出精度一般,会产生一定的浮动,往后还需要优化LED驱动芯片的选用,若有更多需要,可以对驱动模块进行大规模扩展。
5 结 论
本文通过探索国内外LED老化的工作原理,改进LED开关老化的试验方法,以Arduino为下位机,通过CH340G的全速USB转串口接口方案,将Arduino IDE编写到的程序下载到Mega 2560主控芯片内,通过HC-02蓝牙模块,与手机APP相连接,手机APP设定老化的参数后传输到Mega2560主控芯片,驱动LED驱动芯片进行工作,同时Mega2560主控芯片通过RS485转TTL芯片接收温湿度传感器的数据与手机APP设定的数值进行对比,控制PTC加热模块和超声波加湿模块的工作,达到手机APP设定的老化条件进行老化。通过HC-02蓝牙模块将多路信号的结果传输给手机APP进行整体调控,最终实现LED的开关老化试验。
对Mega2560的PWM调用、LED驱动原理进行了研究,阐述了系统各硬件的电路的设计、上下位机程序的设计及Arduino驱动LED的实现方法。通过上述的设计,系统实现了手机APP与主控板的蓝牙通讯、Arduino驱动LED、485接口的温湿度传感器与Arduino的通讯,最终实现LED的开关老化试验操作。本文主要完成以下工作内容:
1、研究LED的工作原理及电气特性,了解到市面绝大部分LED均采用恒流驱动方式;对LED的老化方法进行研究,目前常用的老化方法有正常条件下的老化和加速条件下的老化,以上方法没有提及到LED的频闪老化,所以本文开发一种PWM开关频闪的LED老化测试方法。
2、硬件电路的设计,包括LED驱动芯片的驱动、LED的实时电压采集、温湿度采集、蓝牙通讯模块设计、可扩展的I/O接口、USB2.0高速接口方案、电源模块电路、能与手机APP进行数据传输和整体调控。USB通讯支持支持通讯波特率为50bps~2Mbps,蓝牙通讯采用SPP协议,简单稳定。自主设计的基于AVR Atmega2560为主芯片的Arduino系统电路板具有可调驱动电流,驱动频率,电压检测功能,并对各个模块做了优化改进。另外,提供12个可扩展支持PWM输出的I/O端口可提供更多的后期开发设计。
3、上下位机的程序设计,利用C++语言编写出下位机程序,AI2编写手机APP程序,使手机APP可以通过蓝牙与Arduino系统板进行通讯,设定LED老化参数进行老化,同时返回老化环境的温湿度和LED的电压值。