多通道LED照明控制系统设计
2016-10-20郝彬岳思轩薛一民黄伟李树凤
郝彬,岳思轩,薛一民,黄伟,李树凤
(1.天津职业技术师范大学电子工程学院,天津300222;2.天津光电华典科技有限公司,天津300211;3.科信达通(天津)科技发展有限公司,天津300101)
多通道LED照明控制系统设计
郝彬1,岳思轩1,薛一民1,黄伟2,李树凤3
(1.天津职业技术师范大学电子工程学院,天津300222;2.天津光电华典科技有限公司,天津300211;3.科信达通(天津)科技发展有限公司,天津300101)
为进一步提升LED照明灯具使用的舒适性,设计了一种能够实现多通道控制的照明系统,可对LED灯头照明强度进行无级调节。系统采用STM32F10x芯片作为核心控制器,利用STM32芯片内置PWM控制通道多的特点,实现多通道LED调光的功能;使用2.8寸触摸屏作为显示控制终端,并采用STemWin中间件开发用户交互程序。实验结果表明:通过调整各通道PWM信号,占空比由0~100%变化时,LED灯头的驱动电流呈线性变化,较好地实现了无级调光功能。
多通道;LED照明;STM32;PWM控制
随着社会经济的快速发展,如何实现照明场所的智能化控制,已成为环境照明工程项目中研究的主要课题。目前,居家或办公场所的照明系统大多采用简单的开关控制,每个照明灯都需要手动控制,使用不便,智能化程度较低,容易造成能源浪费。一般照明灯都采用单一光强模式,在白天室内照度相对较高的情况下无法调整,而人在高强度光强度下,眼睛也会感到不适。因此,如何实现多通道的光照强度任意调节功能,是照明系统中需要解决的问题。近年来,LED照明技术日趋成熟[1-2],大量的LED照明灯具正逐步取代常规白炽灯泡和日光灯管进入家庭和办公场所。2009年,国家发改委联合住建部等六部委出台了《LED照明节能产业发展意见》,明确了我国LED照明产业的发展目标,即具体目标为2015年半导体照明节能产业产值年均增长30%。国家相关部委开展的针对LED照明产品的一系列推广活动及出台的相关政策,极大地加快了我国LED照明产业的发展步伐,对LED在照明领域的应用起到了积极的推动作用[3-4]。针对上述技术发展趋势,本文设计了一套多通道LED照明控制系统,采用LED光源,实现多通道的LED照明强度任意调节功能。在日常生活环境中应用该设计,可改善照明舒适度,在照明控制和管理方面更加智能化、具体化,有利于节能降耗[5]。
1 系统设计
系统采用STM32F10x系列芯片作为核心控制器[6],利用STM32芯片脉冲宽度调制(pulse width modulation,PWM)控制通道多的特点,实现多通道LED调光的功能;选用2.8寸带触摸功能的液晶屏作为显示控制界面,方便易用;采用STemWin中间件开发用户界面,系统框图如图1所示。在LED照明中加入调光功能,发光的效率会提高,原因在于通过灯的正向电流与灯的光通量呈正比,在发光亮度低时,会减小流过LED灯的电流,因此节能效果更加明显;而照明调光在视觉空间上的改变效果,也给人们带来舒适感。
图1 多路照明系统结构图
1.1微控制器特点
该设计采用意法半导体公司(ST)基于ARMCortex-M3内核,专为高性能、低功耗、低成本要求的嵌入式应用而设计的微控制器STM32。其中,STM32F10x系列为“增强型”系列产品,时钟频率可达72 MHz,满足工控领域的一般应用需求,即使全速运行,功耗也仅0.5 mA/MHz,是一款低功耗的32位微控制器[7-8]。
采用的具体芯片型号为STM32F103RCT6,其配置为:256 kB的Flash、48 kB的SRAM、8个定时器、16×12位的A/D、64引脚封装及5个串口且自带CAN总线接口等。这种配置在一般工控应用场合非常实用,且其价格与51单片机处于同一水平。
1.2多路PWM控制实现
常见LED调光方式有3种:PWM控制调光、可控硅调光和线性调光。对于其他调光方式而言,PWM通过控制输入的脉冲信号占空比改变LED通过电流的大小,从而调节光照水平,占空比可从0~100%变化,一个周期内流过LED平均电流值呈线性趋势。该设计采用的微控制器本身具有这种方法所需的PWM信号源,并且集成度高,易于实现[9]。
STM32F103RCT6芯片内部具有8个定时器。除了TIM6和TIM7,其他定时器都可用来产生PWM输出。高级定时器TIM1和TIM8可以同时产生多达7路PWM输出,TIM2、TIM3等通用定时器能同时产生4路PWM输出。由于触摸屏的显示尺寸正好能放置4路控制模块,所以采用TIM2作为PWM发生器。通过增加定时器很容易增加通道数量。
LED灯头采用直流PWM进行驱动,发热少、体积小、电路简单,有多种驱动芯片可供选择,如AMC7150、PT4115、PT4105和MC34063等。
2 软件实现
2.1PWM波形控制
多通道LED照明控制采用直流开关PWM方式实现,如何实现PWM占空比的精确控制是软件编程的重点。设计选用TIM2作为PWM发生器,产生4路PWM信号。TIM2输出到PA0-PA4引脚,对应PWM通道CHANEL1-CHANEL4。
为易于观察,设定定时器的自动重装载值ARR= 2 678,预分频值PSC=12。根据72 MHz的系统时钟,通过公式可计算出PWM的脉冲频率约为2 kHz,PWM频率计算式为:
对STM32实现PWM脉冲占空比的控制需完成以下6个步骤设置[10]。
(1)使能TIM2的定时时钟,使能GPIOA时钟。
RCC_APB1PeriphClockCmd
(RCC_APB1Periph_TIM2,ENABLE);
//使能TIM2时钟
RCC_APB2PeriphClockCmd
(RCC_APB2Periph_GPIOA
|RCC_APB2Periph_AFIO,ENABLE);
//使能GPIOA时钟
(2)指定TIM2的PWM输出到PA0(PA1、PA2、PA3类似),设置引脚工作方式。
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0;//设置TIM2输出到PA0(CHANEL1)
GPIO_InitStructure.GPIO_Mode=
GPIO_Mode_AF_PP;//设置推挽输出方式
GPIO_InitStructure.GPIO_Speed=
GPIO_Speed_50 MHz;
GPIO_Init(GPIOA,&GPIO_InitStructure);
(3)初始化定时器的自动重装载值和预分频值。
TIM_TimeBaseStructure.TIM_Period=ARR;//设定自动重装载值
TIM_TimeBaseStructure.TIM_Prescaler=PSC;//设定预分频值
TIM_TimeBaseStructure.TIM_ClockDivision=0;
//设定时钟分割
TIM_TimeBaseStructure.TIM_CounterMode=
TIM_CounterMode_Up;//设定向上计数方式
(4)初始化PA0(PA1、PA2、PA3类似)输出比较参数。
TIM_OC1Init(TIM2,&TIM_OCInitStructure)
(5)使能预装载定时器。
TIM_OC1PreloadConfig
(TIM2,TIM_OCPreload_Enable);
(6)使能TIM2。
TIM_Cmd(TIM2,ENABLE)
完成以上设置后,调用函数TIM_SetCompare1实现产生不同占空比的PWM波形效果。
2.2图形交互界面设计
对嵌入式系统用户来讲,用户的交互界面好坏无疑是决定系统优劣的重要因素之一。优秀的图形用户界面(graphical user interface,GUI)无疑让用户更愿意接受。多通道照明控制系统采用基于STemWin中间件进行GUI设计[11]。
STemWin是广泛用于嵌入式应用的图形支持中间件。它用来为任何使用图形LCD的应用提供一个有效的、不依赖于处理器和LCD控制器的图形用户接口,能在单任务或多任务的操作系统环境下工作。作为中间件,STemWin适用于任何LCD控制器和CPU进行任何尺寸的物理显示和虚拟显示,其采用ANSI C语言编写,因此适合于所有的CPU。STemWin有一个很好的颜色管理器,允许处理灰阶显示,适合大多数使用单色和彩色LCD的应用程序。同时,该中间件提供了可扩展的2D图形库和视窗管理器,可使用很小的RAM支持窗口显示。
由于该系统的硬件基于STM32F103RC微控制器进行开发,所以选用STemWin进行图形用户界面设计。系统采用一款2.8寸的TFTLCD作为显示终端,其具有触摸功能,在很小的终端上完成信息显示和用户操作,方便易用。STemWin中提供了GUIBuilder窗口设计工具,使界面设计更加方便。设计完成的用户界面如图2所示。
图2 用户界面
由图2可知,系统可以进行4通道LED照明灯的控制,通过各通道的滑动条调整各通道的占空比,变化范围在0~100%。当前的占空比值可在滑动条后面的编辑框中显示,由于屏幕尺寸小,对于更多通道增加了“NEXT PAGE”的翻页按钮。该用户界面采用GUIBuilder进行设计。GUIBuilder可以自动生成C语言代码,以GUI_WIDGET_CREATE_INFO_aDialog Create数组形式描述在对话框中需要创建的窗口小工具的资源列表详细参数,根据这些参数,STemWin可以创建出如图2所示的窗口界面。
资源列表实际是GUI_WIDGET_CREATE_INFO结构数组,例如其中1个数组元素的控件描述为{TEXT_ CreateIndirect,"Duty_Ratio",GUI_ID_TEXT8,156,5,78,23,0,0},其含义是使用TEXT_CreateIndirect函数创建一个文本框,文本框的标识ID是GUI_ID_TEXT8,显示的内容是占空比"Duty_Ratio",在窗口中的位置坐标是(156,5),文本框的像素尺寸是78×23。在程序中,调用创建并执行对话框的API函数GUI_ExecDialog Box(_aDialogCreate,GUI_COUNTOF(_aDialogCreate),&_cbCallback,0,0,0)就可以在LCD上显示图2的用户界面。显示用户界面只是PWM多通道照明控制系统软件的第一步工作,要实现各通道的调光控制还要与硬件交互。滑动条对占空比的控制是在窗口的回调函数中实现的。在回调函数中的消息循环中,针对滑动条的WM_NOTIFICATION_VALUE_CHANGED消息专门编写了一个处理函数_OnValueChanged,用来读取滑动条的当前值,并转化成相应的PWM波形占空比参数,通过调用TIM_SetCompare1设置输出波形,并更新文本框显示当前占空比值。
3 驱动电路设计
该系统选用符合MR-16标准的LED灯头作为驱动对象。这种灯头的应用范围广泛,如天花板灯、台灯、吊灯、景观照明、零售业照明、自行车车头灯等,具有一定代表性。为实现对LED灯头的供电驱动,设计了可以提供4路输出的LED驱动板,如需增加灯头数量,仅需使用更多驱动板即可。驱动芯片使用AMC7150,这款LED驱动芯片峰值电流可达1.5 A,功率高、成本低,广泛应用于LED照明和汽车照明领域。AMC7150内建PWM功能和功率晶体管,仅需5个外部元件就可实现一个灯头的驱动功能。单通道LED驱动电路如图3所示,图3中电路只给出其中一个通道。AMC7150输入工作电压为4~40 V,电源适应能力强,最高驱动电流1.5 A,工作频率可达200 kHz,在稳定工作状态下,可以通过调整外部电阻值来改变输出电流。
图3 单通道LED驱动电路
电路中输入电容C1用来保持输入电压并滤除IC产生的开关噪声。电阻R为峰值电流感测电阻,其值决定通过LED的峰值电流IPK,手册上给出的计算式为:
当电路中选择的R=0.33 Ω,则IPK为1 A。为保证LED平均驱动的电流不超过1.5 A,R值不能低于0.2 Ω。PWM调光脉冲通过高速开关二极管IN4148加到AMC7150的OSC引脚,通过调节PWM信号的占空比,可以实现LED的亮度调节。
4 实验验证
为验证系统的实际调光效果,测试过程中在驱动板的驱动输出端串入电流表,测试流过LED灯头的实际电流。通过触摸屏界面调整PWM信号不同占空比时,用电流表测得的流过LED灯的驱动电流曲线如图4所示。
图4 PWM占空比-LED驱动电流曲线
从图4中可以看出,由于AMC7150是低电平有效,所以在占空比为0时,LED获得最大的驱动电流,且驱动电流值与供电电压Vin的大小直接相关。当Vin=13.5 V时,LED最大的驱动电流为364 mA;当Vin=12.5 V时,LED最大的驱动电流为280 mA,所以适当调整供电电压Vin可以进一步提升照明的强度。此外,通过LED的驱动电流值与PWM的占空比满足线性关系,这样可以获得很好的调光效果。
5 结束语
本文设计了一种能够实现多通道控制的照明系统,实现了多LED灯头照明强度无级调节功能。系统以STM32F10x芯片作为核心控制器,充分利用STM32芯片内置PWM控制通道多的特点,实现多通道LED调光的功能。该设计使用2.8寸的触摸屏作为显示控制终端,采用STemWin中间件开发用户交互程序,并使用AMC7150设计宽电压适应范围的LED驱动板。实验结果表明,通过触摸屏调整PWM波形的占空由0~100%的变化过程中,LED灯头的驱动电流呈线性变化,很好地实现了无级调光功能,说明该系统具有应用推广价值。
[1]叶峰.LED在道路照明中的应用现状与趋势[J].照明工程学报,2012,23(2):29-32.
[2]郑孟.LED照明优缺点及其应用[J].山西建筑,2011,37(14):122-123.
[3]窦林平.国内LED照明应用探讨[J].照明工程学报,2011,22(6):54-58.
[4]张建碧.智能照明控制系统发展趋势[J].无线互联科技,2012,11(6):47-48.
[5]纪祥和,张桂青.智能家居环境下家庭节电控制方法研究[J].机电节能,2015,9(6):48-53.
[6]贺洪江,程琳.基于STM32与MODBUS协议的超声波测距仪设计[J].仪表技术与传感器,2014(11):27-29.
[7]意法半导体公司.STM32F103xCDE数据手册[Z].北京:意法半导体(北京)研发有限公司,2015.
[8]王纪永,王建平.基于两通道PWM的LED调光调色方法[J].光电工程,2012,39(7):132-136.
[9]付贤松,任梦奇.基于SSL2129AT的新型隔离式PWM调光LED驱动电路[J].天津工业大学学报,2015,34(5):85-88.
[10]孟博宇.STM32自学笔记[M].北京:北京航空航天大学出版社,2012.
[11]SEGGER.emWin用户手册(5.12)[Z].SEGGER Microcontroller GmbH&Co KG Hilden,2011.
Multichannel LED control system with dimming function
HAO Bin1,YUE Si-xuan1,XUE Yi-min1,HUANG Wei2,LI Shu-feng3
(1.School of Electronic Engineering,Tianjin University of Technology and Education,Tianjin 300222,China;2.TOEC Huadian Technology Co Ltd,Tianjin 300211,China;3.Keystar-Technology Co Ltd,Tianjin 300101,China)
In order to improve the comfort of the LED lamps,a multichannel dimming equipment is presented in this paper. LEDs can be adjusted to any level of lighting intensity with it.The STM32F10x processor with many PWM multiplexed channels is chosen as the micro-controller.The MCU performs as a Pulse Width Modulation(PWM)source generator to realize dimming function.The graphical user interface(GUI)is designed by STemWin middleware and shown on a 2.8 inches touch screen.The experiment results show that the driver current through the LEDs has a linear relationship with the PWM duty ratio,from 0 to 100%.The device as a unlimited dimmer works fine.
multichannel;LED lamp;STM32;PWM control
TM923.02
A
2095-0926(2016)02-0022-04
2016-04-11
天津职业技术师范大学科研发展基金项目(KJ15-14).
郝彬(1973—),男,高级工程师,硕士,研究方向为数据通信与自动控制.