NUNK
发表于 2016-10-14 07:42:19
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?快速注册
x
基于触摸屏的LED彩色台灯控制系统设计1 t' B: Y/ `8 Z
) I: d6 t! Q5 R* A; j
本系统是利用触摸屏控制的可调颜色的照明灯具。灯源为大功率超高亮三基色发光二极管组成。本设计最大的亮点是触摸屏上所指示的颜色与实际灯照出的颜色一致。到通过c语言程序对单片机的PWM功能进行控制实现相应的坐标变换使灯具实现调色调亮的效果,为使用者提供一个随心调节室内气氛的良好工具。 一、控制硬件总体设计 系统的总体框图如图1所示。系统可有输入,输出,控制三部分组成,当触摸屏被按下触摸屏芯片读取触摸屏上X轴与Y轴的值,然后通过SPI协议传送到控制器,控制器负责信号的处理,把处理完毕的信号以PWM方式输出驱动LED。 / P" M& O- h$ {1 V' F; |& C6 {
& s8 [: l# g/ q. k) D/ d( D2 O
) n( n+ E5 z" a9 w' C$ U
二、触摸屏的使用 本系统选择电阻式触摸屏,它将矩形区域中触摸点(X,Y)的物理位置转换为代表X坐标和Y坐标的电压其触摸屏结构如图2所示。图3显示了四线触摸屏在两层相接触时的简化模型。对于四线触摸屏,最理想的连接方法是将偏置为VREF的总线接ADC的正参考输入端,并将设置为0V的总线接ADC的负参考输入端。 / m) i1 O( |8 X* @2 q& @7 O! U
7 {% W7 P& a! k5 o6 Z
1 [; T. v' s* I7 a& H* T
3 c+ K. g9 E! ~& _9 `5 M; d
# w3 k8 F# D0 D, H& Z4 H& }
9 A$ [4 o* I- Y& m4 I 三、接口电路设计 1.控制器与触摸屏连接 本系统采用美国TI公司生产的ADS7843,该芯片内置12位AD转换、低导通电阻模拟开关的SPI总线接口触摸屏控制。供电电压为2.7~5.25V,参考电压VREF为1V~+VCC,转换电压范围为0~VREF,控制器可通过内置的SPI输出口MOSI、MISO、SCK与触摸屏芯片进行连接,如图4所示。
1 `- { B' o% Y u
; ^4 ]* w: y) k# Z2 C; d6 A6 R, \* R3 W" p
8 ]1 I/ o* m. f1 Y( ?4 l0 T3 j3 ]- f' Y9 H$ @
# C: m# }( y: y0 U+ n, ]& o# L* `
' l" ]( g4 ]! L( S6 \, o& z$ x' ^ 2.LED驱动电路 控制器输出PWM波形作为驱动电路的驱动信号,三极管Q1作为斩波器件。当驱动信号为高电平时三极管处于截止状态,LED不亮;当输入信号为低电平三极管处于导通状态,LED点亮。红色LED的驱动电路如图5所示,绿色与蓝色LED的驱动电路的结构与红色的相同,单片机的PB7端为绿色LED的驱动信号,PD4为蓝色LED的驱动信号。 0 N% k2 I5 n9 |4 I" [8 z
$ F/ E& }! t, W* t& U- a
" u5 T) i; ~( f" g# _
1 x U7 W& ~$ C; Q! Z1 [3 K
- a- X2 S/ C- J/ p. ~2 N 四、系统的程序设计 1.系统总流程图 系统硬件可以分为输入、控制、输出部分,其中控制部分是连接输入、输出。单片机程序决定输入如何影响输出,输出如何响应输入,其具体框图如图6所示。单片机对ADS7843进行读取后对数据进行坐标变换,最后把处理的值输出驱动LED。 & O4 Z4 |" V: P/ a. B) `. u: |" f( k; k! e
+ y0 y* J9 J0 Z4 t6 v. r
$ r+ T4 ?5 v; d9 i! v! n5 r9 c4 h1 q
, z/ k1 d/ ~) @& s9 G7 }
8 C% e7 J; Y' w+ j* l S0 s# G' P
" ^, i/ ~; w M 2.触摸屏坐标读取 所谓的触摸点坐标是指当触摸屏被按下时触摸芯片读出的X轴与Y轴的数值。触摸坐标的读取时非常关键的,它是触摸屏使用过程中最重要的环节,若触摸点坐标有误,将导致单片机错误处理。首先使能ADS7843,然后向ADS7843写入测量X坐标的控制字,延时若干毫秒后,读取ADS7843的转换数据。读取的数据即X的坐标值;再把测量Y坐标控制字写入ADS7843,延时若干毫秒后,读取ADS7843的转换数据,就得到了Y坐标的值,然后禁止ADS7843.这样既完成了一次读取坐标值的过程。其具体流程如图7所示。
8 J# L' ?) E" S, X
- X' _0 S6 V$ O/ ~& S U p! [" J/ I! Q1 A+ Y9 l8 D" p
* l% {* E' `. @4 `7 I' L
! A1 }% B& H6 b
3.系统坐标校准处理 由于任意两个触摸屏上的点密度都不可能完全一致,所以要求在使用触摸屏之前,必须进行校准。校准方式有两点校准,三点校准,四点校准等。其中,校准的点数越多,触摸屏数据越精确,校准也越繁琐。本系统使用两点校准的方法对触摸屏进行校准。 (1)先分别测试触摸屏左下角及右上角的坐标(ads7843_xmin,ads7843_ymin);(ads7843_xmax,ads7843_ymax); (2)计算水平方向的比率(ads7843_xts)和垂直方向的比率(ads7843_yts); (3)假设液晶屏中的当前点是液晶屏坐标(X,Y): 当前点的触摸屏的X坐标=X×ads7843_xts+ads7843_xmin; 当前点的触摸屏的Y坐标=Y×ads7843_yts+ads7843_ymin; 系统执行校准程序后把触摸屏左下角,右下角的坐标值与水平方向的比率存放如单片机EEPROM中,每当系统重新启动时调用对应的数值有于对触摸位置的判别。 4.控制器SPI通讯 控制器ATmega48内部集成SPI通讯所需的软硬件功能,主机和从机之间的SPI连接如图8所示。系统包括两个移位寄存器和一个主机时钟发生器,通过将从机的SS引脚拉低,主机启动一次通讯过程。主机和从机将需要发送的数据放入相应的移位寄存器。主机在SCK引脚上产生时钟脉冲以交换数据。主机的数据从主机的MOSI移出,从从机的MOSI移入;从机的数据从从机的MISO移出,从主机的MISO移入。主机通过将从机的SS拉高实现与从机的同步。 5 i2 |2 c9 }) H. a
& p+ h7 _) w: w8 R3 h5 T2 @* @) `1 l0 m- o2 t" y
6 U% o+ B/ ]- i) f( M9 Q7 j( J0 a& @! v1 z( o$ U t
$ C, u% Q/ l8 o6 Y, B
ADS7843读写时序如图9所示。由此可见ADS7843SPI接口的一次完整操作需要3×8=24个DCLK时钟周期,前8个脉冲接收8位的命令,并在第6个脉冲的上升沿开始A/D转换器进入采样阶段,从第9个脉冲开始进入转换阶段,输出12位采样值,转换结束进入空闲阶段。直到24个DCLK结束,CS置高电平,一次测量结束。
9 N ~2 v/ Y2 Q9 C' N7 S- z; t" }6 J2 P, y5 Q; U- ?- X7 B
/ v. ~- ^+ P9 \+ e# L9 Z% F7 K3 `. {1 v3 s7 w# o
5.控制器PWM输出 系统使用了控制器快速PWM模式对驱动控制,当系统采用8MHz晶振频率是快速PWM模式频率最大值为31.25KHz.计数器从BOTTOM计到MAX,然后立即回到BOTTOM重新开始。 对于普通的比较输出模式,输出比较引脚OCRn在TCNTn与OCRn匹配时清零,在BOTTOM时置位;对于反向比较输出模式,OCRn的动作正好相反。具体的时序图如图10所示。图中柱状的TCNTn表示这是单边斜坡操作。方框图同时包含了普通的PWM输出以及方向PWM输出。 TCNTn斜坡上的短水平线表示OCRn和TCNTn的比较匹配。产生PWM波形的机理是OCRn寄存器在OCRnX与TCNTn匹配时置位(或清零),以及在计数器清零(从TOP变为BOTTOM)的那一个定时器时钟周期清零(或置位)。输出的PWM频率可以通过如下公式计算得到: 变量N代表分频因子(1、8、64、256或1024)。
3 c" `; s- y6 J4 |) |* K
) ?4 M$ {( o& b/ J. E4 B6 r6 S! h: _* v4 }
f: r$ M9 I6 P3 a+ o/ ?1 H
3 W" ~: E5 O' ^ 五、结论 多彩LED照明系统是一个极具开发前景的课题,随着国家对大功率LED的进一步推广LED的造价会继续下降,LED灯具的普及将会很快到来。 LED在控制电路及控制方式的简易与颜色的多样性使其在多彩照明方面具有极大的发展,多彩LED只要配以简单的控制方可发出不同的颜色,颜色控制设备的多样性可供用户选择。无论如何LED的上述特点都是其成为多彩照明中的光源首选,使用LED能为我们未来的生活带来缤纷的色彩。 |
|
|
|
|