LED灯无线如何控制,利用了啥技术以及原理?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LED灯无线如何控制,利用了啥技术以及原理?相关的知识,希望对你有一定的参考价值。
这个控制方案很多的:利用ZigBee无线传感器网络技术对LED节能灯实现远程控制的方案,给出了详细的软硬件设计。
1 自组网控制系统及工作原理
为实现故障检测、温度检测、电压检测、亮度检测和控制以及故障报警等功能,自组网控制系统采用了图1所示的设计。
整个无线网络是由终端节点(ZigBee Endpoint,ZE)、路由(ZigBee Router,ZR)、和协调器(ZigBee Coordinator,ZC)3种设备构成。其中终端是简化功能设备(Reduced Function Device,RFD),只能与路由或者协调器直接通信。路由是全功能设备(FuU Function Device,FFD),既可以和路由和终端直接通信,也可以和协调器直接通信。协调器是PAN协调器(PANC),负责一个PAN区域的网络建立及管理。协调器收集所有节点和路由的信息,通过RS232发给监控计算机来确定灯的亮度、环境温度、电池电量等。
工作原理:系统中每个终端、路由分别控制一盏灯,每个灯对应一个ID(终端或路由加入网络时由协调器自动分配),各个节点和路由将传感器收集的数据通过无线发送到协调器,协调器将收到的数据通过串口发送到监控计算机。如果LED灯出现故障,检测电路会产生报警信号,报警信号最终会发送到监控计算机,计算机会提示工作人员故障灯的ID,让维护更便利。另外终端的光敏传感器会收集光照的程度,然后由终端自动的调整光照的亮度。
终端也会将自身的供电电压传送到监控计算机,以防节点缺电而影响使用。
2 系统硬件设计
系统是由电源模块、无线传输模块(CC2530、温度检测、电压检测)、LED驱动模块、LED检测模块等组成,具体硬件电路逻辑结构如图2所示。其中电源模块是采用市面常用的ASM1117-5.0和ASM1117-3.3,原理简单易懂。下面主要介绍无线通信模块和LED驱动模块。
无线通信模块采用TI公司的CC2530模块,CC2530是用于IEEE 802.15.4、ZigBee和RF4CE应用的一个真正的片上系统(SoC)解决方案。它能够以非常低的总的材料成本建立强大的网络节点。CC2530结合了领先的RF收发器的优良性能、业界标准的增强型8051 CPU、系统内可编程闪存、8 KB RAM和许多其他强大的功能。CC2530有4种不同的闪存版本:CC2530F32/64/128/256(分别具有32/64/128/256 KB闪存)。CC 2530具有不同的运行模式,使得它尤其适应超低功耗要求的系统。运行模式之间的转换时间短,进一步确保了低能源消耗。CC2530优良的性能和具有代码预取功能的低功耗、8051微控制器内核、32/64/128 KB的系统内可编程闪存、8 KBRAM,具备在各种供电方式下的数据保持能力并且支持硬件调试,具有极高的接收灵敏度和抗干扰性能。它的可编程输出功率高达4.5 dBm,并且只需极少的外接元件。硬件电路结构框图如图3所示,其中光控单元采用TPS851芯片,温控模块采用TC77。
LED驱动模块采用的芯片是PT4115。PT4115是一款连续电感电流导通模式的降压恒流源,用于驱动一颗或多颗串联LED。PT4115输人电压范围从6~30 V,输出电流可调,最大可达1.2 A。根据不同的输入电压和外部器件,PT4115可以驱动高达数十W的LED。PT4115内置功率开关,采用高端电流采样设置LED平均电流,并通过DIM引脚可以接受模拟调光和很宽范围的PWM调光。当DIM的电压低于0.3 V时,功率开关关断,PT4115进入极低工作电流的待机状态。驱动原理图如图4所示。PT4115和电感L、电流采样电阻RS形成一个自振荡的连续电感电流模式的降压、恒流LED控制器。VIN上电时,L和RS的初始电流为零,LED输出电流也为零。这时候,CS比较器的输出为高,内部功率开关导通,SW的电位为低。电流通过L、RS、LED和内部功率开关从VIN流到地,电流上升的斜率由VIN、L和LED压降决定,在RS上产生一个压差VCSN,当VIN-VCSN>115mV时,CS比较器的输出变低,内部功率开关关断,电流以另一个斜率流过L、RS、LED和肖特基二极管(D),当VIN-VCSN<85 mV时,功率开关重新打开,这样使得在LED上的平均电流为I。I=(0.085+0.115)/(2×RS)=0.1/RS。
本文应用IAR Embedded Workbench开发环境,在TI ZStack-2.2.1-1.1.3协议栈的基础上,编写了系统的应用程序代码,用VC编写了上位机程序。系统软件主要包括协调器节点程序、路由和终端程序、上位机程序。ZStack提供了丰富的函数调用接口。
ZigBee网络中的协调器工作流程如图5所示,路由(涵盖终端)工作流程如图6所示。在ZigBee网络中,网络协调器具有建立网络、维护邻居设备表、对逻辑网络地址进行分配、允许设备MAC层/应用层的连接或断开网络的功能。对于节点之间的通信有两种寻址方式,分别是通过64位IEEE地址和16位网络地址来寻找网络设备,当节点加入网络时候,协调器会自动给其分配唯一的16位网络地址。灯的无线控制系统要求能够对任意一盏灯进行亮度调节,因此人工分配64位IEEE地址给每个路灯,以便以后进行控制。另外配置ZigBee设备对象断点时候,网内的所有节点的ID和断点描述符必须相同,否则节点间不能通信。路由器和终端的工作流程相识,这里不作区分。
上位机能够为工作人员清楚地提供电压、温度、节点数目、节点地址等数据,实现远程无线控制,创作和谐的人机交互界面,如图7所示。工作人员能够在上位机上使用ID对灯亮暗程度进行远程控制。
4结语
经测试,在室内无障碍15 m左右距离,无遮挡物环境下速率能够达到2 50 kbps;室外空旷环境下30~1 00m距离,速率为40 kbps;300 m,速率为25 kbps。距离150 m时通信的误码率可小于2%。系统在发射状态下电流为25.7 mA,接收时为29.3mA,休眠状态下仅为2.5μA。本系统具有成本低、功耗低、实施简单、维护方便的特点,具有较高的参考价值。 参考技术A
利用ZigBee无线传感器网络技术对LED节能灯实现远程控制的方案,给出了详细的软硬件设计。
1. 自组网控制系统及工作原理
为实现故障检测、温度检测、电压检测、亮度检测和控制以及故障报警等功能,自组网控制系统采用了图1所示的设计。
整个无线网络是由终端节点(ZigBee Endpoint,ZE)、路由(ZigBee Router,ZR)、和协调器(ZigBee Coordinator,ZC)3种设备构成。其中终端是简化功能设备(Reduced Function Device,RFD),只能与路由或者协调器直接通信。路由是全功能设备(FuU Function Device,FFD),既可以和路由和终端直接通信,也可以和协调器直接通信。协调器是PAN协调器(PANC),负责一个PAN区域的网络建立及管理。协调器收集所有节点和路由的信息,通过RS232发给监控计算机来确定灯的亮度、环境温度、电池电量等。
工作原理:系统中每个终端、路由分别控制一盏灯,每个灯对应一个ID(终端或路由加入网络时由协调器自动分配),各个节点和路由将传感器收集的数据通过无线发送到协调器,协调器将收到的数据通过串口发送到监控计算机。如果LED灯出现故障,检测电路会产生报警信号,报警信号最终会发送到监控计算机,计算机会提示工作人员故障灯的ID,让维护更便利。另外终端的光敏传感器会收集光照的程度,然后由终端自动的调整光照的亮度。
终端也会将自身的供电电压传送到监控计算机,以防节点缺电而影响使用。
2. 系统硬件设计
系统是由电源模块、无线传输模块(CC2530、温度检测、电压检测)、LED驱动模块、LED检测模块等组成,具体硬件电路逻辑结构如图2所示。其中电源模块是采用市面常用的ASM1117-5.0和ASM1117-3.3,原理简单易懂。下面主要介绍无线通信模块和LED驱动模块。
无线通信模块采用TI公司的CC2530模块,CC2530是用于IEEE 802.15.4、ZigBee和RF4CE应用的一个真正的片上系统(SoC)解决方案。它能够以非常低的总的材料成本建立强大的网络节点。CC2530结合了领先的RF收发器的优良性能、业界标准的增强型8051 CPU、系统内可编程闪存、8 KB RAM和许多其他强大的功能。CC2530有4种不同的闪存版本:CC2530F32/64/128/256(分别具有32/64/128/256 KB闪存)。CC 2530具有不同的运行模式,使得它尤其适应超低功耗要求的系统。运行模式之间的转换时间短,进一步确保了低能源消耗。CC2530优良的性能和具有代码预取功能的低功耗、8051微控制器内核、32/64/128 KB的系统内可编程闪存、8 KBRAM,具备在各种供电方式下的数据保持能力并且支持硬件调试,具有极高的接收灵敏度和抗干扰性能。它的可编程输出功率高达4.5 dBm,并且只需极少的外接元件。硬件电路结构框图如图3所示,其中光控单元采用TPS851芯片,温控模块采用TC77。
LED驱动模块采用的芯片是PT4115。PT4115是一款连续电感电流导通模式的降压恒流源,用于驱动一颗或多颗串联LED。PT4115输人电压范围从6~30 V,输出电流可调,最大可达1.2 A。根据不同的输入电压和外部器件,PT4115可以驱动高达数十W的LED。PT4115内置功率开关,采用高端电流采样设置LED平均电流,并通过DIM引脚可以接受模拟调光和很宽范围的PWM调光。当DIM的电压低于0.3 V时,功率开关关断,PT4115进入极低工作电流的待机状态。驱动原理图如图4所示。PT4115和电感L、电流采样电阻RS形成一个自振荡的连续电感电流模式的降压、恒流LED控制器。VIN上电时,L和RS的初始电流为零,LED输出电流也为零。这时候,CS比较器的输出为高,内部功率开关导通,SW的电位为低。电流通过L、RS、LED和内部功率开关从VIN流到地,电流上升的斜率由VIN、L和LED压降决定,在RS上产生一个压差VCSN,当VIN-VCSN>115mV时,CS比较器的输出变低,内部功率开关关断,电流以另一个斜率流过L、RS、LED和肖特基二极管(D),当VIN-VCSN<85 mV时,功率开关重新打开,这样使得在LED上的平均电流为I。I=(0.085+0.115)/(2×RS)=0.1/RS。
上位机能够为工作人员清楚地提供电压、温度、节点数目、节点地址等数据,实现远程无线控制,创作和谐的人机交互界面,如图7所示。工作人员能够在上位机上使用ID对灯亮暗程度进行远程控制。
PWM(脉宽调制)——LED特效呼吸灯设计
简述PWM
PWM——脉宽调制信号(Pulse Width Modulation),它利用微处理器的数字输出来实现,是对模拟电路控制的一种非常有效的技术,广泛应用于测量、通信、功率控制与变化等许多领域。
LED特效呼吸灯原理
采用pwm的方式,在固定的频率下,采用占空比的方式来实现LED亮度的变化。占空比为0,LED灯不亮,占空比为100%,则LED灯最亮。所以将占空比从0到100%,再从100%到0不断变化,就可以实现LED灯实现特效呼吸。
设计思路、框图
变亮:当cnt2 < cnt3时为高电平,反之为低电平。
变暗:当cnt2 < cnt3时为低电平,反之为高电平。
先分频出延时为1us的延时电路,作为后面电路的驱动电路,然后是1ms延时和1s延时,会产生两个计数器,刚好是1000倍的关系。
(1)在第一秒时,随着cnt3由0到999逐渐增大,每一个1ms的占空比通过cnt2去调节。当cnt2 < cnt3时为高电平,反之为低电平。 因此,随着cnt3的逐渐增大,高电平的时间逐渐增大,直到100%。
(2)在第二秒时,随着cnt3由0到999逐渐增大,每一个1ms的占空比通过cnt2去调节。当cnt2 < cnt3时为低电平,反之为高电平。 因此,随着cnt3的逐渐增大,高电平的时间逐渐减小,直到0。
设计图如上所示,完后就可以照图施工了,附上部分代码。
1 //延时1us 2 always @(posedge mclk or negedge rst_n) 3 begin 4 if(!rst_n) 5 cnt1 <= 6\'b0; 6 else if(cnt1 < STOP_50 - 1\'b1) 7 cnt1 <= cnt1 + 1\'b1; 8 else 9 cnt1 <= 6\'b0; 10 end 11 assign delay_1us = (cnt1 == STOP_50 - 1\'b1)?1\'b1:1\'b0; 12 13 //延时1ms 14 always @(posedge mclk or negedge rst_n) 15 begin 16 if(!rst_n) 17 cnt2 <= 10\'b0; 18 else if(delay_1us) 19 begin 20 if(cnt2 < STOP_1000 - 1\'b1) 21 cnt2 <= cnt2 + 1\'b1; 22 else 23 cnt2 <= 10\'b0; 24 end 25 end 26 assign delay_1ms = ((delay_1us == 1\'b1) && (cnt2 == STOP_1000 - 1\'b1))?1\'b1:1\'b0; 27 28 //延时1s 29 always @(posedge mclk or negedge rst_n) 30 begin 31 if(!rst_n) 32 cnt3 <= 10\'b0; 33 else if(delay_1ms) 34 begin 35 if(cnt3 < STOP_1000 - 1\'b1) 36 cnt3 <= cnt3 + 1\'b1; 37 else 38 cnt3 <= 10\'b0; 39 end 40 41 end 42 assign delay_1s = ((delay_1ms == 1\'b1) && (cnt3 == STOP_1000 - 1\'b1))?1\'b1:1\'b0; 43 44 //state change 45 always @(posedge mclk or negedge rst_n) 46 begin 47 if(!rst_n) 48 display_state <= 1\'b0; 49 else if(delay_1s)//每一秒切换一次led灯显示状态 50 display_state <= ~display_state; 51 else 52 display_state <= display_state; 53 end 54 55 //pwm信号的产生 56 always @(posedge mclk or negedge rst_n) 57 begin 58 if(!rst_n) 59 pwm <= 1\'b0; 60 else 61 case(display_state) 62 1\'b0: pwm <= (cnt2 < cnt3)?1\'b1:1\'b0; 63 1\'b1: pwm <= (cnt2 < cnt3)?1\'b0:1\'b1; 64 default: pwm <= pwm; 65 endcase 66 end 67 68 //位拼接使得输出八位led呼吸灯 69 assign led_out = {8{pwm}}; 70
产生的pwm信号原来是一位的,所以最后要是需要控制多个LED的亮灭,使用一个位拼接运算即可,如最后一行代码所示。
转载请注明出处:NingHeChuan(宁河川)
个人微信订阅号:NingHeChuan
如果你想及时收到个人撰写的博文推送,可以扫描左边二维码(或者长按识别二维码)关注个人微信订阅号
知乎ID:NingHeChuan
微博ID:NingHeChuan
以上是关于LED灯无线如何控制,利用了啥技术以及原理?的主要内容,如果未能解决你的问题,请参考以下文章