您的位置: 主页  >  新闻中心  >  行业新闻  > 远距离图传厂家基于无线模块设计的联网LED照明灯方案

远距离图传厂家基于无线模块设计的联网LED照明灯方案

发布日期:2021-12-04  浏览次数:2284
远距离图传厂家基于无线模块设计的联网LED照明灯方案,智能家居是指通过物联网技术将各种设备连接到一起,物联网技术的迅速发展促进了智能家居的发展;设计了一种基于Android的可组网的LED照明灯,该LED照明灯以基于Android的智能电子设备为控制终端,通过socket通信的方法实现与LED照明灯之间的通信,达到对照明灯的开关以及亮度调节的目的;LED照明灯采用S微处理器作为控制芯片,选用高效率、高性能的T作为大功率LED的驱动,并采用远距离图传厂家CV5200作为WIFI通信模块;LED照明灯的亮度通过微处理器输出的PWM信号进行调节,不仅可以实现亮度从0-1的线性调节,而且解决了普通照明灯在开灯和关灯时,瞬间点亮和瞬间熄灭,对人眼的冲击问题;采用该方法设计的照明灯实用性强,具有较好的推广价值。

智能家居是指通过物联网技术将家庭中的音视频设备、照明系统、数字影院系统、网络家电等各种设备通过无线的方式连接到一起,提供家用电器的远程智能控制。与普通家居相比,智能家居不仅具有传统的居住功能,还兼备网络通信、信息家电、设备自动化,提供全方位的信息交互功能。当前,高效、节能、环保和使用寿命长的LED照明灯已大范围替代效率低、对环境污染大以及使用寿命短的白炽灯和荧光灯。LED照明灯主要采用大功率LED灯珠作为发光光源,大功率LED灯珠属于电流型半导体器件,具有二极管的特性,通过调节其流经的电流即可调节其发光亮度,因此,通过微控制器和带亮度调节功能的专用的LED驱动芯片,即可方便的调节灯光的亮度。另外,基于An-droid系统的智能电子设备,如智能手机、PAD等随处可见,成为人们生活中必不可少的一部分。因此,将基于An-droid系统的智能电子设备和带无线通信功能的可调光LED照明灯结合,将会打开产生一个新的应用空间。

本文阐述了一种带微处理器和远距离图传厂家LED WIFI通信功能的可调光、可组网的LED照明灯,并提出了将多个该LED照明灯组成一个分布式的可调光的智能照明控制的方案。

由Android终端以及分布在家居空间的LED照明灯组成。AP为无线接入点,是网络的中心节点,在智能家居中,可以采用家庭或办公室常用的无线路由器作为AP。Android终端和其他LED照明灯为STA站点,所有的STA都以AP作为无线网络的中心,STA之间的相互通信都通过AP转发完成。AP通过WLAN与外网连接,外网的服务终端可以通过AP访问到内部各个STA站点。Android终端作为TCPServer,其余的LED照明灯作为TCPClient,作为TCPClient的LED照明灯上电后,其内部的无线模块WIFI模块会主动连接指定IP地址和端口的An-droid终端,连接成功后,Android终端和LED照明灯之间就可以进行通信了。LED照明灯内部的处理器就会定时发送LED照明灯的状态信息,如开、关状态以及亮度比例等。安装在Android终端的APP运行后,会通过WIFI网络接收到各个LED灯上传的数据,并显示各个照明灯的状态。同时用户通过APP的操作,通过socket通信的方式,按照自定的通信协议来控制各个灯的开、关以及调节各个照明灯的亮度。在LED照明灯的电路组成中,远距离图传厂家WIFI电路构成MCU与Android终端的通信桥梁,MCU是单个LED照明的控制中心,负责解析并执行Android终端发出的控制指令,MCU选用带有PWM控制器的微处理器,这样很方便与带PWM调光功能接口的LED驱动芯片无缝对接。

LED驱动电路T系列器件是内部集成了290mΩ低电阻N沟道金属氧化物半导体场效应晶体管(MOSFET)的紧凑型单片开关稳压器,该系列开关稳压器利用恒定关断时间和峰值电流控制功能来运行,工作原理简单可靠。该系列器件输出高达2A的恒定平均电流,具有多种调光方法,适用于注重高效率、高带宽、PWM模拟调光以及小尺寸的高亮度LED照明应用场景,例如汽车照明、工业照明、农业、航海和重工业照明等领域。TPS92515系列器件具有很宽的输入电压范围,其中TPS92515x的输入电压范围为5.5V至42V,TPS92515HVx的输入电压范围为5.5V至65V。

在LED照明灯中,采用T作为大功率LED的驱动电路。EN信号用于控制P型MOS管U1(IRF6216)的导通与截止,从而控制T的电源输入,达到通过EN信号控制LED照明灯的开和关的目的。T的第9引脚为PWM调光信号输入引脚,标准的PWM信号的频率范围为100Hz至2kHz,该引脚与微处理器可输出PWM信号的特殊引脚连接,通过固件程序改变输出PWM信号的占空比,来调节LED照明灯的亮度。WIFI电路WIFI电路作为LED照明灯与Android终端通信的桥梁,WIFI电路采用远距离图传厂家云望联网技术有限公司的WIFI模块CV5200,模组是一款一体化的802.11b/g/n模组,通过该模组,传统的串口设备或MCU控制的设备可以很方便的接入WIFI无线网络,从而实现物联网络控制与管理。由于模块内部完成协议转换,因此,对于用户来说,无需关心内部具体细节,通过简单设置即可实现串口与无线模块WIFI之间数据的双向透传。

微处理器智能家居调光系统的LED照明灯的微处理器采用S,S是S32F系列微控制器中,成本很低的一种32位ARM处理器,主频48MHz,其内核是Cortex-M0,传承了STM32系列的重要特性,特别适合成本敏感型应用,该芯片集成定时器Timer,UART等多种外设功能,这些外设功能的存在,非常有利于简化电路的设计工作和降低产品的成本。S处理器内部有1个定时器TIM1,通用定时器TIM3、TIM14、TIM15、TIM16、TIM17和基本定时器TIM6、TIM7,一共8个定时器,除了TIM6和TIM7以外,其他的定时器都可以用来配置产生PWM信号,其中定时器TIM1可以同时产生6通道的PWM输出,而通用时器也能同时产生多达4路的PWM输出。PWM(脉冲宽度调制)是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。在本设计中,我们将S的第18引脚PA10与LED驱动电路的PWM控制引脚相连接,通过底层软件配置,将TIM1的CH3产生一路1kHz的PWM输出,用于调节LED的亮度。STM32F030F4P6的第17引脚PA9与LED驱动电路的EN信号相连接,用于控制驱动电路的供电。STM32F030F4P6的第8引脚PA2(USART1_TX)和第9引脚PA3(USART1_RX)分别与USR-WIFI232-B2的第4和第3引脚连接,用于与WIFI模块进行串行通信。
在本设计中,我们将STM32F030F4P6的第18引脚PA10与LED驱动电路的PWM控制引脚相连接,通过底层软件配置,将TIM1的CH3产生一路1kHz的PWM输出,用于调节LED的亮度。STM32F030F4P6的第17引脚PA9与LED驱动电路的EN信号相连接,用于控制驱动电路的供电。STM32F030F4P6的第8引脚PA2(USART1_TX)和第9引脚PA3(USART1_RX)分别与USR-WIFI的第4和第3引脚连接,用于与无线WIFI模块进行串行通信。

Android软件设计ToggleButton是Android中一个具有选中和未选中两种状态的按钮,并可为不同的状态设置不同的显示文本,常用于表示开、关场景中。在Android终端的APP软件设计中,LED照明灯的开和关用ToggleButton来实现。在xml布局文件中设置ToggleButton,然后在Activity文件中初始化用于控制照明灯开关的ToggleBuuton控件,并设置控件的OnCheckedChangeListener监听器和重写监听器的onCheckedChanged()方法,通过该方法的传入参数isCh-ecked,判断控件的状态。如果控件压下,则发送开灯指令,如果控件弹起,则发送关灯指令。具体实现代码如下。LED_Lightting.setOnCheckedChangeListener(newOnChecked-ChangeListener(){@OverridepublicvoidonCheckedChanged(CompoundButtonbuttonView,booleanisChecked){if(!buttonView.isPressed()){return;}else{if(isChecked){//发送开灯指令printWriter.print("$$o##");printWriter.flush();}else{printWriter.print("$$p##");printWriter.flush();}}}});在Android系统中,SeekBar继承于ProgressBar,是增加了滑动块的扩展ProgressBar。SeekBar的目的是让用户可以自主拖动,用来调节进度,比如通过拖动进度条来改变音乐和视频的播放进度,这里我们也用SeekBar来调节LED照明灯的亮度。其具体实现代码如下。privateSeekBarmseekBarBrightness;mseekBarBrightness.setOnSeekBarChangeListener(newOn-SeekBarChangeListener(){@OverridepublicvoidonStopTrackingTouch(SeekBarseekBar){//移动后放开事件}@OverridepublicvoidonStartTrackingTouch(SeekBarseekBar){//TODOAuto-generatedmethodstub}@OverridepublicvoidonProgressChanged(SeekBarseekBar,intprogress,booleanfromUser){//TODOAuto-generatedmethodstub//取得当前亮度intBrightness=seekBar.getProgress();//当进度小于5时,设置成0,关闭LED照明灯if(Brightness<5){Brightness=0;}//根据当前进度改变亮度StringorderStr="";orderStr=String.valueOf(Brightness);try{printWriter.print(orderStr);printWriter.flush();}catch(Exceptionex){ex.printStackTrace();}}});Android终端的APP中,通过ToggleButton来打开和关闭LED照明灯,通过SeekBar来调节LED照明灯的亮度是外在的,处于应用层,而内在的通信,即Android终端与LED照明灯之间通信指令的传输则是通过Socket来实现的。Socket即为套接字,用于描述IP地址和端口,是支持TCP/IP协议的网络通信的基本操作单元,也是应用层与TCP/IP协议族通信的中间软件抽象层,表现为一个封装了TCP/IP协议族的编程接口(API),主要解决数据如何在网络中传输。对我们用户来说,在Andorid平台上进行TCP/IP协议开发,只需调用Socket按照指定的协议,向网络发出请求或者应答网络请求,即可实现通信,内部具体实现则无需关心。在本设计中,采用基于TCP的Socket实现客户端与服务器间的双向可靠连接的实时通信,是一种C/S模型的通信方式。Android终端为服务端,LED照明灯为客户端,由于LED照明灯采用的是具有透明传输功能的远距离图传厂家无线模块WIFI模块,内部集成了Socket通信功能,在使用时,只要对模块进行配置成客户端,并绑定服务器的IP地址和端口号即可,而服务器端的程序则要另行开发。服务器与客户端通信前,需要创建服务器端的Socket,绑定端口号并开始监听端口,等待建立基于TCP面向连接的端对端的传输。具体实现代码如下。publicclassLightServer{publicstaticArrayList<Socket>socketList=newArrayList<Socket>();publicstaticvoidmain(String[]args)throwsIOException{//创建8899端口的服务端ServerSocketsocket=newServerSocket(8899);while(true){//等待连接Socketnew_socket=socket.accept();socketList.add(new_socket);//为新加入的连接创建线程newThread(newServerThread(new_socket)).start();}}}服务器与客户端一旦创建连接后,就可以通过getIn-putStream和getOutputStream来接收和发送数据。getIn-putStream用于获得读Socket的输入流,getOutputStream用于获得写Socket的输出流。通过getInputStream和getOutputStream,实现LED照明灯亮度调节指令的发送和LED照明灯状态的收集,特别是APP软件中途退出重新启动时,APP根据收集LED照明灯状态调整显示信息,确保APP显示的状态与实际的状态一致。

固件程序设计固件程序运行于S,主要有两个功能,一是用于从串口1接收Android终端通过远距离图传厂家WIFI模块发送的控制指令,打开和关闭LED照明灯和调节亮度,二是将照明灯的状态信息,例如当时的实际亮度比和开、关状态等信息,通过WIFI模块定时上传到Android终端,使An-droid终端的显示状态与实际的一致。固件程序中,S的USART1的收发数据均采用DMA的方式来完成,其中数据发送采用DMA1的通道4,数据接收采用DMA1的通道5,并通过空闲中断的方式来响应接收到的指令,这样可以大大提高CPU对外设的响应速度。通用定时器TIM3用来设置上传信息的2秒时间间隔,每隔2秒,LED照明灯上传当前的状态信息,APP如果超时未收到照明灯发送的信息,则认为LED照明灯故障或者失联,并给出提示信息。用于调光的PWM信号是通过配置S的TIM1来产生1kHz的PWM信号,并通过库函数TIM_SetCompare3(TIM1,Duty)或者通过修改寄存器的值TIM1->CCR3=Duty来修改PWM信号的占空比,达到调节亮度的目的。Duty为占空比,取值范围为0~100。为了解决普通照明灯开灯和关灯时,照明灯瞬间点亮和瞬间熄灭,对人眼的冲击,固件程序在接收到开灯指令时,并不会将亮度直接调节到指定值,而是先将LED驱动电路的电源关闭,将输出的PWM信号的占空比调节到小,然后打开LED驱动电路的电源,再将输出PWM信号的占空比逐步增大,使亮度慢慢增加。在接收到关灯的指令时,先将PWM信号的占空比逐步减小,使亮度慢慢降低,达到小值后再关闭LED驱动电路的电源。

根据设计,制作了原理样机,并在功能和指标上做了测试。在功能上,各个LED照明灯上电后,默认均处于关灯状态,并每隔2秒发送状态信息,用于连接Android终端。打开运行在Android手机上的APP后,LED照明灯与An-droid终端能很快建立连接。建立连接前,APP上LED照明灯的状态是灰色,建立连接后,状态变为绿色,表示连接成功。连接成功后,通过APP上的控件可以对LED照明灯进行开灯和关灯操作,通过拖动进度条可以很灵敏地调节对应照明灯的亮度,并且在开、关灯的时候,亮度有明显的变化,对人眼没有明显的刺激。另外,对样机进行了高温环境下的老化测试,样机能连续较长时间稳定工作。在指标上,主要测试了实际输出电流与PWM信号占空比的关系。通过对PWM信号的占空比与输出电流的监测,得出LED驱动电路的输出电流与PWM信号占空比。从实验结果来看,在功能上,样机能很好地满足设计的要求,达到了预期的目的,另外,由于采用市面成熟的远距离图传厂家WIFI模块、性价比非常高的微处理器和专用LED驱动电路,简化了电路和软件的设计,提高了照明灯的可靠性。在指标上,专用LED驱动芯片的引入,输出电流能很好地线性跟随PWM信号的占空,达到良好的调光效果。另外还测试了样机LED驱动的效率,其高效率高达92%。效率高的原因是由于T内部开关管的内阻很低,仅为290mΩ,而外部电路则采用了高品质的电感和低ESR的滤波电容,而这些因素恰恰是影响BUCK电路效率的因素。

远距离图传厂家基于无线模块Android系统的可联网LED照明灯的设计,给出了关键部分的硬件电路和软件实现方法,并对样机进行了测试,测试的结果表明样机很好地满足设计的要求,达到了预计的目的。由于照明灯的控制是采用无线控制,通过组网,可以形成一个物联网照明系统,不仅在局域网范围内,还可以通过广域网,对部署的照明灯进行控制。该系统具有部署简单、实用性强的特点,具有较好的推广价值和市场前景。
QQ咨询
微信咨询
联系电话
18681563125
返回顶部