1、触摸屏控制的LED调光系统的设计触摸屏控制的LED调光系统的设计摘要:该系统设计基于STM32F103RBT6处理器为系统主控芯片,采用在触摸屏上设计调光控制界面,通过对触摸屏的操作实现对LED灯的调光控制,调光采用PWM脉冲宽度调制,PWM调光的占空比范围为0-100%,按1%的梯度进行调节。通过恒流源电路驱动LED灯。该设计的触摸屏采用四线电阻屏,显示屏为TFT彩屏。随着现代人们追求艺术化、个性、高品位的生活,本组研制了用户可以随意调光,取代了传统机械开关的触屏按键模式,从而控制LED灯的渐变。关键词:STM32F103RBT6;四线电阻屏;PWM脉宽调制; 恒流源电路:LED调光一、前言
2、 近几年来,随着科技的发展和物质生活水平的提高,家居、酒店智能化也不断被人们所推崇。如今LED已经随处可见,其靠着低能耗,体积小,便宜等优点迅速抢占了市场。而电阻式触摸屏工作在于外界完全隔离的环境中,它不怕灰尘、水汽和油污,可以用任何物体来触摸,比较适合家居和工业控制领域,充分发挥LED数字化照明的优势。目前正是发展该系统的最佳时机,它将LED提光改革浪潮下的一波新的增长点,所以我们完全有必要设计一款由触摸屏控制的LED调光系统。智能调光系统是按照预先编制的运行规律和工作条件自行运行的灯光环境智能调光管理系统,也是随着现代电力电子技术、计算机及微电子技术的发展而兴起的现代照明控制方式。二、系统
3、功能与意义的概述 该系统具有电路简单、功耗低、数据传输可靠性高、功能易扩展等特点,可充分适用在各种场景下高精度调光的要求:控制LED灯光的强弱,调出理想的情调,随心所欲,达到最佳效果。适用于家居客厅,酒店宾馆,会所KTV,别墅公寓,现代茶室,咖啡厅,办公场所,会议室。采用TFT彩屏触摸模式实现调光控制,指示一目了然,方便夜间辨识,无论晴天还是雨天用户均可调出各自所需的灯光亮度。定时 、触屏操作,方便省心,符合现代潮流。对于顺应人们舒适便捷的生活要求,促进LED照明发展有着重要意义。三、硬件电路设计(一)系统方案比较与选定1微控制处理器部分方案一:采用51单片机(如AT89S51)作为为控制核心
4、。方案二:STM32F103RBT6处理器作为微控制核心。选用方案二。STM32F103RBT6相对于51单片机性价比高,资源多,功能强大。2开关控制部分方案一:采用四线电阻式触摸屏。方案二:采用传统机械开关。选用方案一。电阻式触摸屏环境要求低,可以用任何物体来触摸写字画画。新颖方便。 3屏幕显示部分方案一:采用点阵显示数据。缺点是体积大。方案二:采用TFT触摸彩屏。 选用方案二。TFT触屏相比于点阵TFT触屏体积小,但有更多的空间来显示数据。而且是触屏,连按键都省了。4LED灯驱动电路部分方案一:采用串联电阻来控制电流。方案二:采用恒流源电路。选用方案二。对LED做恒流控制,目前是效率最高,
5、成本最低的方案。可获得预期的亮度要求。此系统本组采用PT4115的降压恒流源。(二)电路设计 系统主要分为电源部分,主控部分,触摸屏部分,驱动电路部分,系统总框图如图1所示。图 1 系统总框图1电源电路电源电路主要由变压器、桥式整流、LM7805和电容组成。220V电源经过变压器,接入桥式整流,经过滤波到LM7805稳压,稳压成5V直流电,再通过ASM1117稳压成3.3V输出给STM32F103RBT6板块供电。2主控部分STM32F103RBT6芯片资源:32位CPU,最高主频72MHz,51个GPIO口,128KB字节FLASH,20KB SRAM,3个串口,2个12位ADC,3个16位
6、定时器,1个24位系统节拍定时器,1个USB,2个I2C,2个SPI。STM32F103RBT6开发板上的PA7口通过PWM脉宽调制,经过PT4115恒流控制LED灯。开发板上的LED0接在PA8上,LED1接在PD2上,其中LED0和LED1是低电平有效。TFT触摸屏与STM32总共有5根线相连接,分别是PC0、PC1、PC2、PC3、PC13。3四线电阻屏四线电阻模拟量技术的两层透明金属层工作时每层均增加5V恒定电压:一个竖直方向,一个水平方向。一次校正,稳定性高,永不漂移。基本原理:手指按压屏幕,双层屏幕间距离改变,导致屏幕电阻值改变,获得触摸信息,显示在液晶屏上。 (x,y)坐标原理如
7、图2所示。图 2 四线电阻原理图4LED灯驱动电路LED的特性:发光亮度与通过的电流量几乎呈线性正比关系。LED驱动电路特性:输出电源是恒定的,而输出电压会跟随LED的VF值去变化。LED受电流变化影响比较大,采用恒流源驱动能延长LED的使用寿命。此系统的恒流源驱动电路我们采用PT4115来实现。四、系统的软件设计(一)TFT-LED显示程序 相关步骤:设置STM32F103RBT6与TFTLCD模块相连接的IO。 初始化TFTLCD模块。 通过函数将字符和数字显示到TFTLCD模块上。LCD_Fill(80,50,160,110,RED); /填充一个红色的矩形框LCD_Fill(80,21
8、0,160,260,BLUE); /填充一个蓝色的矩形框Test_Show_CH_Font24_2(90,70,0,GREEN,RED);/矩形框里显示字体调Test_Show_CH_Font24_2(118,70,1,GREEN,RED); /矩形框里显示字体光Test_Show_CH_Font24_2(90,220,4,WHITE,BLUE); /矩形框里显示字体定时Test_Show_CH_Font24_2(118,220,5,WHITE,BLUE);Test_Show_CH_Font24_2(20,150,2,BLUE,GREEN); /矩形框里显示字体灯亮Test_Show_CH_F
9、ont24_2(48,150,3,BLUE,GREEN);Test_Show_CH_Font24_2(160,150,6,MAGENTA,YELLOW);/显示字体灯灭Test_Show_CH_Font24_2(188,150,7,MAGENTA,YELLOW);以填充的方式在TFT主界面上画出四个矩形,上下左右分别写有调光、定时、灯亮、灯灭。调光界面上下左分别写有递增、递减、返回。定时界面上最上方显示有时间数值、上左上右下左下右分别写有加一、减一、确定、返回。(二)触摸屏按钮控制程序KEY_Init是用来初始化按键输入的IO口的,将PA0、PA13、PA15 设置成输入。void KEY_I
10、nit(void) /按键初始化 RCC-APB2ENR|=1CRL&=0XFFFFFFF0;/PA0设置成输入 GPIOA-CRL|=0X00000008; GPIOA-CRH&=0X0F0FFFFF;/PA13,15设置成输入 GPIOA-CRH|=0X80800000; GPIOA-ODR|=1ODR|=1=80&Pen_Point.X050&Pen_Point.Y0=10&Pen_Point.X0130&Pen_Point.Y0显示在液晶上。 要生成16*16的GBK字库,则选择GBK,字宽和高均选择16,其他大小选择12,然后选择众向取模方式二,最后单击生成字模就会出现所需字库了。点
11、阵字库的设置如图3所示。图3 点阵字库的设置方法在指定位置(x,y) 显示1个16*16的汉字程序如下。void Test_Show_CH_Font16(u16 x,u16 y,u8 index,u16 color) u8 temp,t,t1; u16 y0=y; for(t=0;t32;t+) /每个16*16的汉字点阵 有32个字节 if(t16)temp=tfont16index*2t; /前16个字节else temp=tfont16index*2+1t-16; /后16个字节 for(t1=0;t18;t1+) if(temp&0x80)LCD_Draw_Point(x,y,colo
12、r);/画实心点 else LCD_Draw_Point(x,y,BACK_COLOR); /画空白点(使用背景色) temp0) LED0_PWM_VAL-=9; /占空比的1%的梯度递减当在屏幕上按下递减键的时候,开发板上的DS1灯闪0.2秒后灭掉,实现按1%的梯度控制小灯越来越暗,最后达到占空比为0%,熄灭。LED1=1;delay_ms(200);LED1=0; /延时0.2秒使LED灯闪烁 if(LED0_PWM_VALCR1|=0x01; 定时器2中断服务程序如下。void TIM2_IRQHandler(void) if(TIM2-SR&0X0001)/溢出中断 LED1=!LE
13、D1; time-; if(time=0) LED0_PWM_VAL=900; /灯灭 LED1=1; TIM2-CR1&=0x01; /不使能定时器2 TIM2-SR&=(10);/清除中断标志位 五、下载调试与测试结果触摸屏三个界面如图6、图7、图8所示。图6 主界面 图7 调光界面 图8 定时界面在完成软件设计之后,我们将编译好的文件下载到STM32开发板上,观看其运行结果是否与编写的一致。当在主界面依次按下灯亮 、调光,切换到调光界面,按下递减键的时候,开发板上的DS1灯闪0.2秒后灭掉,控制小灯越来越暗;按下递增键的时候,开发板上的DS1灯闪0.2秒后灭掉,控制小灯越来越亮。当在主界
14、面依次按下灯亮 、定时,切换到定时界面,在初始值为20秒的基础上用加一 、减一来设定时值t,按下确定后,灯将在t秒后熄灭。使用示波器来观察PWM的占空比波形。当我们在屏幕上按下灯亮键的时候,占空比显示为50%;当我们在屏幕上按下灯灭键的时候,占空比显示为0。在电路电源部分,通过7805整流成5V。我们从LM7805的第3脚的测试输出电压为稳定的4.95V。六、总结本次系统设计本组分工明确,模块分明。我们制作了控制一盏灯的亮度渐变,我主要编写软件程序,搭档制作硬件部分。值得一提的是我们用PWM脉宽调制可以无极调光,并且我们在完成特定的任务以外,还自主增加了一个定时功能,使作品更加完善。这次设计工
15、程量较大,尤其是汉字显示部分,在程序编译时碰到错误。在触摸屏程序中,原本设置增减为开发板上的DS0的亮和灭,但是其一直不亮,最后我将它改成用DS1的闪烁,现象成功且清晰。我们通过耐心的分析,并且运用工具书、利用网络查找和咨询指导老师,从而慢慢解决了其中的问题。总体说来,对于本人在编写PWM输出实验、触摸屏实验、汉字显示实验及定时器中断实验中更清晰了解,设计进展顺利,高效! 参考文献 1 王静霞单片机应用技术(C语言版)M.电子工业出版社,20092 刘军. 例说STM32 M.北京航空航天大学出版社,20113 何立民. 单片机与嵌入式系统应用M.北京航空航天大学出版社,20024 刘淼. 嵌
16、入式系统接口设计与Linux 驱动程序开发M.北京航空航天大学出版社,20065 江志红. 51单片机技术与运用系统开发M.清华大学出版社,20086 李朝青. PC机及单片机数据通信技术M.北京航空航天大学出版社,2001附录附录一:使用LCD点阵生成软件“PC to LCD2002”,生成汉字调(0) 光(1) 灯(2) 亮(3) 定(4) 时(5) 灯(6) 灭(7) 递(8) 增(9) 返(10) 回(11) 递(12) 减(13) 确(14) 定(15) 加(16) 减(17) 一(18),数字 0(20) 1(21) 2(22) 3(23) 4(24) 5(25) 6(26) 7(27) 8(28) 9(29)的代码。附录二:电源电路 附录三:电源电压转换电路图附录四:触摸屏与STM32的连接图附录五:PT4115应用电路附录六:实物成品
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1