大功率LED无线调光系统研究

2018-01-22 07:48谭家杰
衡阳师范学院学报 2017年6期
关键词:调光寄存器端口

谭家杰

(衡阳师范学院 物理与电子工程学院,湖南 衡阳 421002)

大功率LED作为第四代照明器件具有体积小、效率高、寿命长、环保、节能特点[1-3]。LED照明的效率可达50-200 lm/W,在相同的照明条件下,耗电量是白炽灯的十分之一,日光灯五分之一,荧光灯的二分之一[4],节能效果相当明显,被称为“绿色能照明光源”。随着LED应用的快速发展,它逐步应用到各个领域,如背景光源、道路照明、室内照明、汽车照明等[5-6]。LED与其它发光器件不同,需要专用的驱动电路才能保持高效、稳定地工作,且对LED进行恒流驱动较为可靠[7]。因此,LED调光显得越来越关键,LED调光技术可以分为模拟调光和数字调光两大类。模拟调光它是利用直流电压信号使LED驱动器输出电流连续地变化,从而实现对LED的线性调光[8]。数字调光则是用单片机等器件直接产生数字信号来控制LED的发光强度,数字调光有抗干扰性能好的特点。目前,对LED灯的控制方式分为有线控制和无线控制方式。有线控制方式具有布线麻烦,系统可扩展性差,系统成本高等缺点[9],如485总线技术控制LED的调光模块[10-11]。由于短距离无线通信方式的兴起,LED无线调光方式主要有:ZigBee调光[1-2,9,12-14]、WiFi调光[15-16]、nRF905调光[17]、红外调光[18]、nRF2401调光[19]。上述无线通信方式为LED照明提供了更加便捷控制方式。

根据室内照明要求,设计了一款基于nRF24L01无线通信的调光控制系统。由STM8S103F3P6单片机控制一个电流型PWM控制,无线传输系统采用同款MCU,由单片机发出指令,接收机根据指令控制3颗LED灯具组输出10级亮度,系统达到了无线PWM调光的目的。

1 系统总体结构

系统以STM8S103F3P6为主控芯片,系统分为发射端和接收控制端两部分,总体框架结构如图1所示。发射模块包括:单片机、nRF24L01模块、按键、OLED显示模块、串口通信模块。接收端有单片机、nRF24L01模块、OLED显示模块、PWM控制模块,接收端可以为多个,但是最多不超过六个。调节LED输出不同光强等级编码的方法有两种:一是在发射端按下轻触按键,系统产生外部中断,从而产生等级编码;二是单片机通过RS232接口接收上位机的等级编码。单片机将编码先进行判断,再次编码送nRF24L01模块以GFSK信号发射。接收端的nRF24L01模块接收GFSK信号解调后送单片机,单片机译码控制PWM控制模块,后者产生PWM信号来控制LED输出相应等级的光强。

图1 系统总体框架

2 nRF24L01无线通信

短距离无线通信目前是学术界的热点,其主要特点是通信距离短、成本低、覆盖的范围从数十米到数百米。一般发射功率小于100 mW;工作频率为免费,且为ISM(Industrial,Scientific and Medical)频段。短距离无线通信的典型技术有:蓝牙、WiFi、ZigBee、红外(IrDA)、超宽带(UWB)、近场通信(NFC)。挪威Nordic公司推出的高集成度的短距离无线收发芯片nRF24L01,它内置链路层,包括调制器、解调器、频率合成器等,它的传输速度能够达到2 Mbps,工作频率为2.45 GHz,有125个可选通信频道;工作电压为1.9 V-3.6 V,工作温度为-40 ℃-85 ℃;具备自动应答和自动重发的功能,能在很短时间内进行频道切换,它的输出功率、频道选择以及协议等工作参数都可以通过写芯片状态字配置得到。此外Nordic公司还提供通信模块的Gerber文件,可以直接投入生产。如果芯片工作在 Enhanced ShockBurst的模式下,它可以同时控制应答及重发功能,并且无需增加单片机控制器的工作量[20]。nRF24L01还具备在同一频道接收多路不同通道数据,能实现一对多的双工无线通信的功能,由此可见它是实现LED无线调光的最佳选择,非常适合以单片机构建无线通信控制系统。将其用于LED的室内照明不但可以减少布线的复杂程度,还可以增加照明的智能性。系统的单片机与nRF24L01模块、OLED显示模块连接如图2所示。

图2 硬件连线

系统采用意法半导体的STM8S103F3P6单片机,它是STM8S系列中一款高性价比8位微处理器,具有3级流水线的哈佛架构。用户存储空间为8k,数据存储空间为1 k,最高工作频率为16 MHz。工作电压为2.95 V-5.5 V,与nRF24L01、OLED的电压相匹配。选用这款单片机的原因还在于其价格低廉、速度快、性价比高等特点,还自带串行外设接口(SPI,Serial Peripheral Interface),与nRF24L01模块接收、发送数据接口一致,但是它比单片机的SPI口多了模式控制端口(CE)、中断端口 (IRQ),其接口及作用如表1所示。

表1 nRF24L01的SPI接口及意义

单片机与nRF24L01接口方式决定了系统程序的写法。第一种连线方法是SPI模式,将单片机的SPI口与nRF24L01对应相连接,其中PC5、PC6、PC7、PA3是STM8S103F3P6的SPI接口。这种连接方式为:PC7口接nRF24L01模块的MISO,PC6口接nRF24L01模块的MOSI,PC5口与nRF24L01模块的SCK连接,PA3口与nRF24L01模块的CSN相连接,而多余的IRQ、CE端口可以任选单片机I/O连接。第二种称为模拟SPI模式,不考虑单片机的SPI接口而直接连接。系统采用第二种模拟SPI方式,其中IRQ与程序下载口SWIM是复用连接的,在编写程序时需要注意,具体见图2。

系统输出选用I2C模式的OLED用来显示系统的调试状况,因此把单片机的I2C口与OLED对应端口连接,即PB4连接SCL,PB5连接SDA,这种连线方式便于系统程序的编写。

3 PWM调光原理

脉冲宽度调制(PWM,Pulse Width Modulation)是利用微处理器的数字输出来对模拟器件组成的电路进行非常有效控制的一种方法,该技术广泛应用于通信、测量、功率控制等领域。大功率LED调光方式一般采用PWM调制模式,它的开关信号以足够高的频率工作,改变PWM信号的周期或占空比达到输出参量的改变,这里的输出参量为输出光强,也称为PWM调光[8]。这种调光方式的优点是:非常适合单片机的控制,能够在较大负载变化范围内保持电源较高的转换效率,而且能极大改善输出的信噪比。大功率LED的PWM调制方式分为电压型调制和电流型调制两种方式。由LED的电光特性可知,发光亮度与通过的电流有关,大多数采用恒流控制[6,8]。其中,电流型优于电压型,电流型PWM工作原理如图3所示。这种电路就是在输入电压、内部参数或负载变化的情况下,控制电路通过被控信号与基准信号的差值进行闭环控制。其特点是电源的效率高、输出电流稳定可靠。

图3 电流型PWM调制原理

图3 所示的电流型PWM调光系统是由电压环、电流环负反馈环路组成。电压负反馈环是由电阻Rsense、A2集成运放组成,从Rsense取出电压V2与Verror进行比较作用于RS触发器。电流环则是由电阻R1、R2、A1比较器组成,从肖特基二极管取出电流,经由R1、R2转换为电压值V1,它与参考电压之差放大后输出误差电压Verror,两个闭合环路产生负反馈有利于系统在恒定的电流上稳定运行。这种电路存在缺点是不适合单片机的控制,将这种方式也称为模拟电流型PWM调制。为了使其适合单片机的控制,需要对其控制部分进行改造。首先修改电流环,将R1、R2组成电流反馈环路的电压V1输入单片机的A/D转换端口,通过单片机对其进行模数转换得到数字信号,然后与带隙参考电压比较产生Verror误差电压。其次,将V2也送入数模转换端,并与误差电压比较。最后计算占空比,具体做法是固定PWM信号的周期,求出PWM的占空比参数。PWM控制电路连接方式为:第一电压采样输入单片机的PD2,第二电压采样输入PD3,PWM信号输出端口选择PA3。经过如此改进,如图3所示模拟型电流PWM变为数字型电流PWM调节系统。

4 系统软件设计

系统软件包括发送端系统软件、接收端系统软件。要求系统进行PWM调制的频率远远高于100 Hz,否则会给人眼带来不舒适感。系统程序按照功能单独划分模块,分别写出头文件和c文件。主要的模块有模数转换模块、延时模块、外部中断模块、OLED模块、PWM模块、nRF24L01模块和串口通信模块,这些模块文件都作为驱动库文件用文件夹打包存放,需要哪些功能将相应的文件加入工程。

发送程序按照图4流程编写。系统初始化主要包括系统时钟选择、端口设置、OLED初始化、nRF24L01初始化、外部中断初始化、串口中断初始化、nRF24L01模式设置。

图4 发送流程

系统复位后时钟自动使用内部8分频时钟,系统采用手动切换方式使用到外部时钟,并开启安全时钟系统。端口设置包括OLED、nRF24L01模块的设置,其中OLED模块的SCL、SDA端口都设置为输出,所有输出端口设置成推挽输出,输入端口设为上拉,这点一定要注意。nRF24L01的端口CSN、SCK、MOSI、CE设置输出,MISO、IRQ设为输入。OLED初始化将相关配置字写入寄存器,由于该器件配置字过多就不介绍。nRF24L01初始化完成本机地址、接收机地址、工作频率、允许接收通道、接收字长、发射功率的设置。系统的工作频率为2.4 GHz,发射速率为2 MHz,发射功率为0 dB,接收长度为32字节。最后设置外部中断和串口中断初始化。最后设置nRF24L01模式,接收系统调用接收模式设置函数即完成系统初始化。系统接收长度为32个字节,因此设计了如图5格式的编码方式。

图5 传输数据编码格式

地址编码为0x00-0x05,由于这种通信方式最多的接收机数为6,因此将其进行编码,如果接收机地址为编码地址,就应答,这样就可以避免通信中存在紊乱问题。第二项编为0x00-0x09,也可以用更多等级的编码。校验码1、校验码2是采用自己算法分别对地址、等级进行重新编码,以提高数据传输的可靠性。

接收程序流程如图6所示,初始化模块不同于发送端,主要有PWM设置、nRF24L01、数模转换设置。先进行PWM设置,它是对定时器的寄存器进行修改。第一步,将PA3口设置为推挽输出,利用PA3的复用功能,在初始化时将其输出设为定时器2的通道3,将定时器2的预分频寄存器TIM2_PSCR赋值0x02,使得定时器2的时钟为1 MHz。第二步,设置定时器2通道3的PWM参数,将捕获/比较模式3的寄存器 TIM2_CCMR3设置为0x68,采用的是PWM1模式。第三步设置自动装载值TIM2_ARRH、TIM2_ARRL,把它设置为1 000。第四步设置捕获/比较寄存器的高、低位TIM2_CCR3H、TIM2_CCR3L。最后,设置TIM2_CCER2的第0位使PWM输出使能,设置定时器控制寄存器TIM2_CR1的计数使能位。对nRF24L01的设置为接收模式,如果接收数据的地址编码为本机地址时,开启应答。

图6 接收流程

当接收机接收到数据时,对接收的数据进行判断是否为本机地址,是的则发送应答信号,并且计算接收数据是否存在错误。然后对当前两路电压信号进行数模转换,最后根据数模转换值和对应强度等级计算出TIM2_CCR3H、TIM2_CCR3L的值并设置之,PA3自动按照当前设置产生PWM信号而无需CPU参与。

数模转换设置的寄存器有:控制/状态寄存器(ADC1_CSR)、配置寄存器ADC1_CR1、配置寄存器ADC1_CR2。分别用于选择转换通道、转换模式、数据格式、开启数模转换。先将PD2、PD3设为浮空输入;然后将ADC1_CSR的低四位,如果采样第一电压设为0011,第二电压通道值为0100;再把ADC1_CR1的转换模式为单次转换;设置ADC1_CR2数据为右对齐;最后ADCON位设为1从而开启转换。查询ADC1_CSR的EOC位,等待转换完成从寄存器ADC1_DRH、ADC1_DRL的数据取出,根据强度等级计算出TIM2_CCR3H、TIM2_CCR3L。

5 测试结果

根据上述方案,设计、制作出了大功率LED无线调光系统,其具体实物如图7所示。为降低成本将发送端、接收端的功能集中在一块板上,尽管两块板子相似,但是程序不同、功能也不同。实验参数如下:直流电源电压9伏,PWM的调光频率为1 MHz,负载为3颗1 W、350 mA大功率LED串联组成的灯具。

图7 系统实物

为了保证LED灯光强度在一定范围内保持稳定,不至于产生闪烁现象[1],实验设定10档调光等级。测量时保证LED灯与测量仪器保持固定距离。每个档次对应的输出照度、单片机输入的占空比如表2所示。测量照度时,采用TES1330A照度计,照度计与LED灯具距离为25 cm。最小照度为0lx,最大为497lx,满足关闭LED灯的要求,同时从4级开始完全满足办公照明的目的,并且各输出等级有一定梯度。在无线控制方面分别在10 m、20 m、50 m都能穿墙且无误码传输,最远无误差传输距离可到100 m测量结果说明系统达到了设计目的。

表2 实验数据

6 结 论

设计了一个基于STM8S103F3P6单片机和nRF24L01无线调光系统,主机传送数据控制分机调节LED灯输出对应光强。用数字型电流PWM调制方式控制LED灯,并保持LED恒流驱动。设计的调光系统具有结构简单、成本低、解决了传统灯具的布线复杂问题和传统灯光不可调节的问题,使照明系统变得更加易于维护。若在此基础上增加传感器模块,很容易转变为智能家居设备。同样,还可以推广到工业、农业等领域的无线智能控制系统。但是,系统也有不足之处,如无线收发模块nRF24L01的传输距离不够远,还有可在发送端添加光敏电阻测量环境照度模块以达到自适应调光的目的,上述缺点可在后续研究中做进一步的改进。

[1] 丁若楠,陈丹江.基于STM8和ZigBee的LED调光系统[J].浙江万里学院学报,2016,29(1):97-102.

[2] 李慧,吴建德,邓焰,等.基于Zigbee网络和驱动LM3409HV的LED调光系统[J].照明工程学报,2011,22(4):46-53.

[3] 张君继,沈艳霞.基于MSP430的新型LED调光系统[J].江南大学学报(自然科学版),2014,13(1):29-34.

[4] 贾冬颖,王巍.基于STC单片机LED智能照明系统的设计[J].照明工程学报,2010,21(2):71-80.

[5] 张冠群,李琦.一种高效大功率LED驱动器的设计[J].桂林电子科技大学学报,2013,33(1):14-18.

[6] 杨卫丽,赵野,黑勇.用于LED驱动芯片的高低边电流检测电路[J].微电子学与计算机,2013,30(1):94-99.

[7] 张慧熙,安康,王琦晖,等.亮度可调大功率白光LED驱动电路设计[J].杭州师范大学学报,2013,12(5):429-432,436.

[8] 谭家杰,谭家腾,杜社会.基于MSP430单片机的LED调光系统研究[J].衡阳师范学院学报,2014,35(3):24-27.

[9] 夏立方,蔡娇,赵升,等.基于ZigBee技术的智能无线调光系统设计[J].电子测量技术,2013,36(10):109-113.

[10] 杨燕,江国栋.基于485总线的LED照明系统的设计[J].电源技术,2011,35(11):1421-1422.

[11] 陈浩,席光,刘胜.一种精确调光的LED电源设计[J].电源技术,2011,35(2):218-220.

[12] 鲁进,郭利进.基于ZigBee的LED路灯照明系统设计与研究[J].微型机与应用,2013,32(9):78-80,84.

[13] 殷骏,王巍.基于Zigbee的LED智能照明系统设计[J].照明工程学报,2011,22(4):75-78.

[14] 于东东.基于ZigBee网络的LED调光灯具的设计[J].电子设计工程,2015,23(16):157-159.

[15] 李翔,章曙光,陈蕴.基于WiFi技术的无线调光日光灯系统设计[J].宿州学院学报,2016,31(6):103-106.

[16] 柏成祥.基于WIFI的室内LED照明系统终端的设计与实现[D].杭州:杭州电子科技大学,2013.

[17] 林仕玲,秦洁琼,黄凌祥,等.基于NRF905的智能照明控制系统设计[J].工业仪表与自动化装置,2017(1):95-97.

[18] 齐春辉,王巍.基于单片机的红外遥控LED调光系统的设计[J].照明工程学报,2011,22(4):50-53.

[19] 侯杏娜,陈寿宏,吕健富.基于NRF24L01的隧道灯控系统设计[J].国外电子测量技术,2017,36(1):108-110.

[20] 潘勇,管学奎,赵瑞.基于NRF24L01的智能无线温度测量系统设计[J].电子测量技术,2010,33(2):120-1222.

(编校 陈志敏)

猜你喜欢
调光寄存器端口
STM32和51单片机寄存器映射原理异同分析
一种端口故障的解决方案
服务区LED照明调光算法探究
Lite寄存器模型的设计与实现
高速公路隧道照明智能调光系统应用探讨
交换机生成树安全
浅谈公路隧道照明调光方案比选
移位寄存器及算术运算应用
基于单片机的大棚自动调光设计
端口阻塞与优先级