您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 触摸屏控制的LED调光系统的设计
浙江工贸职业技术学院毕业设计(论文)1触摸屏控制的LED调光系统的设计摘要:该系统设计基于STM32F103RBT6处理器为系统主控芯片,采用在触摸屏上设计调光控制界面,通过对触摸屏的操作实现对LED灯的调光控制,调光采用PWM脉冲宽度调制,PWM调光的占空比范围为0-100%,按1%的梯度进行调节。通过恒流源电路驱动LED灯。该设计的触摸屏采用四线电阻屏,显示屏为TFT彩屏。随着现代人们追求艺术化、个性、高品位的生活,本组研制了用户可以随意调光,取代了传统机械开关的触屏按键模式,从而控制LED灯的渐变。关键词:STM32F103RBT6;四线电阻屏;PWM脉宽调制;恒流源电路:LED调光一、前言近几年来,随着科技的发展和物质生活水平的提高,家居、酒店智能化也不断被人们所推崇。如今LED已经随处可见,其靠着低能耗,体积小,便宜等优点迅速抢占了市场。而电阻式触摸屏工作在于外界完全隔离的环境中,它不怕灰尘、水汽和油污,可以用任何物体来触摸,比较适合家居和工业控制领域,充分发挥LED数字化照明的优势。目前正是发展该系统的最佳时机,它将LED提光改革浪潮下的一波新的增长点,所以我们完全有必要设计一款由触摸屏控制的LED调光系统。智能调光系统是按照预先编制的运行规律和工作条件自行运行的灯光环境智能调光管理系统,也是随着现代电力电子技术、计算机及微电子技术的发展而兴起的现代照明控制方式。二、系统功能与意义的概述该系统具有电路简单、功耗低、数据传输可靠性高、功能易扩展等特点,可充分适用在各种场景下高精度调光的要求:控制LED灯光的强弱,调出理想的情调,随心所欲,达到最佳效果。适用于家居客厅,酒店宾馆,会所KTV,别墅公寓,现代茶室,咖啡厅,办公场所,会议室。采用TFT彩屏触摸模式实现调光控制,指示一目了然,方便夜间辨识,无论晴天还是雨天用户均可调出触摸屏控制的LED调光系统的设计2各自所需的灯光亮度。定时、触屏操作,方便省心,符合现代潮流。对于顺应人们舒适便捷的生活要求,促进LED照明发展有着重要意义。三、硬件电路设计(一)系统方案比较与选定1.微控制处理器部分方案一:采用51单片机(如AT89S51)作为为控制核心。方案二:STM32F103RBT6处理器作为微控制核心。选用方案二。STM32F103RBT6相对于51单片机性价比高,资源多,功能强大。2.开关控制部分方案一:采用四线电阻式触摸屏。方案二:采用传统机械开关。选用方案一。电阻式触摸屏环境要求低,可以用任何物体来触摸写字画画。新颖方便。3.屏幕显示部分方案一:采用点阵显示数据。缺点是体积大。方案二:采用TFT触摸彩屏。选用方案二。TFT触屏相比于点阵TFT触屏体积小,但有更多的空间来显示数据。而且是触屏,连按键都省了。4.LED灯驱动电路部分方案一:采用串联电阻来控制电流。方案二:采用恒流源电路。选用方案二。对LED做恒流控制,目前是效率最高,成本最低的方案。可获得预期的亮度要求。此系统本组采用PT4115的降压恒流源。(二)电路设计系统主要分为电源部分,主控部分,触摸屏部分,驱动电路部分,系统总框图如图1所示。浙江工贸职业技术学院毕业设计(论文)3图1系统总框图1.电源电路电源电路主要由变压器、桥式整流、LM7805和电容组成。220V电源经过变压器,接入桥式整流,经过滤波到LM7805稳压,稳压成5V直流电,再通过ASM1117稳压成3.3V输出给STM32F103RBT6板块供电。2.主控部分STM32F103RBT6芯片资源:32位CPU,最高主频72MHz,51个GPIO口,128KB字节FLASH,20KBSRAM,3个串口,2个12位ADC,3个16位定时器,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恒定电压:一个竖直方向,一个水平方向。一次校正,稳定性高,永不漂移。基本原理:手指按压屏幕,双层屏幕间距离改变,导致屏幕电阻值改变,获得触摸信息,显示在液晶屏上。screamYMINYMAXYMINxheightVVVVyscreamXMINXMAXXMINYwidthVVVVx(x,y)坐标原理如图2所示。STM32F103RBT6电源触摸屏PT4115LED灯PWMM触摸屏控制的LED调光系统的设计4图2四线电阻原理图4.LED灯驱动电路LED的特性:发光亮度与通过的电流量几乎呈线性正比关系。LED驱动电路特性:输出电源是恒定的,而输出电压会跟随LED的VF值去变化。LED受电流变化影响比较大,采用恒流源驱动能延长LED的使用寿命。此系统的恒流源驱动电路我们采用PT4115来实现。四、系统的软件设计(一)TFT-LED显示程序相关步骤:①设置STM32F103RBT6与TFTLCD模块相连接的IO。②初始化TFTLCD模块。③通过函数将字符和数字显示到TFTLCD模块上。LCD_Fill(80,50,160,110,RED);//填充一个红色的矩形框LCD_Fill(80,210,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_Font24_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);浙江工贸职业技术学院毕业设计(论文)5以填充的方式在TFT主界面上画出四个矩形,上下左右分别写有调光、定时、灯亮、灯灭。调光界面上下左分别写有递增、递减、返回。定时界面上最上方显示有时间数值、上左上右下左下右分别写有加一、减一、确定、返回。(二)触摸屏按钮控制程序KEY_Init是用来初始化按键输入的IO口的,将PA0、PA13、PA15设置成输入。voidKEY_Init(void)//按键初始化{RCC-APB2ENR|=12;//使能PORTA时钟GPIOA-CRL&=0XFFFFFFF0;//PA0设置成输入GPIOA-CRL|=0X00000008;GPIOA-CRH&=0X0F0FFFFF;//PA13,15设置成输入GPIOA-CRH|=0X80800000;GPIOA-ODR|=113;//PA13上拉,PA0默认下拉GPIOA-ODR|=115;//PA15上拉}KEY_Scan函数则是用来扫描这3个IO口按键是否有按下。按钮程序如下。key=KEY_Scan();if(Pen_Point.Key_Sta==Key_Down)//触摸屏被按下{Convert_Pos();//将像素坐标转化为物理坐标Pen_Point.Key_Sta=Key_Up;if(Pen_Point.X0=80&&Pen_Point.X0160&&Pen_Point.Y050&&Pen_Point.Y0110)elseif(Pen_Point.X0=10&&Pen_Point.X090&&Pen_Point.Y0130&&Pen_Point.Y0190)Pen_Int_Set(0);//关闭中断while(PEN==0);//如果PEN一直有效,则一直执行Pen_Int_Set(1);//开启中断触摸屏控制的LED调光系统的设计6}(三)汉字显示程序用PCtolcd2002软件生成汉字的点阵数据-显示在液晶上。要生成16*16的GBK字库,则选择GBK,字宽和高均选择16,其他大小选择12,然后选择众向取模方式二,最后单击生成字模就会出现所需字库了。点阵字库的设置如图3所示。图3点阵字库的设置方法在指定位置(x,y)显示1个16*16的汉字程序如下。voidTest_Show_CH_Font16(u16x,u16y,u8index,u16color){u8temp,t,t1;u16y0=y;for(t=0;t32;t++)//每个16*16的汉字点阵有32个字节{if(t16)temp=tfont16[index*2][t];//前16个字节elsetemp=tfont16[index*2+1][t-16];//后16个字节for(t1=0;t18;t1++){if(temp&0x80)LCD_Draw_Point(x,y,color);//画实心点elseLCD_Draw_Point(x,y,BACK_COLOR);//画空白点(使用背景色)浙江工贸职业技术学院毕业设计(论文)7temp=1;y++;if((y-y0)==16){y=y0;x++;break;}}}}同理可以编写点阵为24的汉字程序。(四)PWM输出控制占空比程序此系统程序采用的是通道2和PWM模式2,即在向上计数时,CNT的值大于CCR的值才为有效电平。占空比显示公式:(CCR/ARR)×100%。脉宽调制波形图如图4所示。图4脉宽调制波形图占空比:(TH/T)×100%。PWM波形显示图如图5所示。图5PWM波形显示图原理:通过控制TIM3_CH2输出PWM来控制DS1的亮度。步骤如下。①开启TIM3时钟,配置PA7为复用输出。②设置TIM3的ARR和PSC(控制输出PWM的周期)。③设置TIM3_CH2的PWM模式。④使能TIM3的CH2输出,使能TIM3。触摸屏控制的LED调光系统的设计8⑤修改TIM3_CCR2来控制占空比。首先定义PWM初始化,设定arr的值为900,psc的值为0。LED_Init();//初始化与LED连接的硬件接口PWM_Init(900,0);//不分频。PWM频率=72000/900=8Khz当在屏幕上按下‘递增’键的时候,开发板上的DS1灯闪0.2秒后灭掉,实现按1%的梯度控制小灯越来越亮,直到占空比为100%的灯最亮。LED1=1;delay_ms(200);LED1=0;//延时0.2秒使LED灯闪烁if(LED0_PWM_VAL0)LED0_PWM_VAL-=9;//占空比的1%的梯度递减当在屏幕上按下‘递减’键的时候,开发板上的DS1灯闪0.2秒后灭掉,实现按1%的梯度控制小灯越来越暗,最后达到占空比为0%,熄灭。LED1=1;delay_ms(200);LED1=0;//延时0.2秒使LED灯闪烁if(LED0_PWM_VAL900)LED0_PWM_VAL+=9;//占空比1%的梯度递增设置PWM的初始占空比为50%。当在屏幕上按下‘灯亮’键的时候,开发板上的DS1灯亮。LED1=0;LED0_PWM_VAL=450;//占空比=(900-450)/900×100%=50%设置最大占空比为0。当在屏幕上按下‘灯灭’键的时候,开发板上的DS1灯灭。LED1=1;LED0_PWM_VAL=900;//占空比=(900-900)/900×100%=50%(五)定时熄灭程序定时器2产生中断的步骤如下。①TIM2时钟使能。②设置TIM2_ARR和TIM2
本文标题:触摸屏控制的LED调光系统的设计
链接地址:https://www.777doc.com/doc-2097026 .html