利用单片机的PWM 功能对LED进行调色调亮控制
扫描二维码
随时随地手机看文章
本系统是利用触摸屏控制的可调颜色的照明灯具。灯源为大功率超高亮三基色发光二极管组成。本设计最大的亮点是触摸屏上所指示的颜色与实际灯照出的颜色一致。到通过c语言程序对单片机的PWM 功能进行控制实现相应的坐标变换使灯具实现调色调亮的效果,为使用者提供一个随心调节室内气氛的良好工具。
一、控制硬件总体设计
系统的总体框图如图1 所示。系统可有输入,输出,控制三部分组成,当触摸屏被按下触摸屏芯片读取触摸屏上X 轴与Y 轴的值,然后通过SPI 协议传送到控制器,控制器负责信号的处理,把处理完毕的信号以PWM 方式输出驱动LED。
二、触摸屏的使用
本系统选择电阻式触摸屏,它将矩形区域中触摸点(X,Y) 的物理位置转换为代表X 坐标和Y 坐标的电压其触摸屏结构如图2 所示。图3显示了四线触摸屏在两层相接触时的简化模型。对于四线触摸屏,最理想的连接方法是将偏置为VREF 的总线接ADC 的正参考输入端,并将设置为0V 的总线接ADC 的负参考输入端。
1. 控制器与触摸屏连接
本系统采用美国TI 公司生产的ADS7843,该芯片内置12 位AD 转换、低导通电阻模拟开关的SPI 总线接口触摸屏控制。供电电压为2.7 ~ 5.25V,参考电压VREF 为1V~+VCC,转换电压范围为0 ~ VREF,控制器可 通过内置的SPI 输出口MOSI、MISO、SCK 与触摸屏芯片进行连接,如图4 所示。
2. LED驱动电路
控制器输出PWM 波形作为驱动电路的驱动信号,三极管Q1 作为斩波器件。当驱动信号为高电平时三极管处于截止状态,LED 不亮;当输入信号为低电平三极管处于导通状态,LED 点亮。红色LED 的驱动电路如图5 所示,绿色与蓝色LED 的驱动电路的结构与红色的相同,单片机的PB7 端为绿色LED 的驱动信号,PD4 为蓝色LED 的驱动信号。
四、系统的程序设计
1.系统总流程图
系统硬件可以分为输入、控制、输出部分,其中控制部分是连接输入、输出。单片机程序决定输入如何影响输出,输出如何响应输入,其具体框图如图6 所示。单片机对ADS7843 进行读取后对数据进行坐标变换,最后把处理的值输出驱动LED.
2.触摸屏坐标读取
所谓的触摸点坐标是指当触摸屏被按下时触摸芯片读出的X 轴与Y 轴的数值。触摸坐标的读取时非常关键的,它是触摸屏使用过程中最重要的环节,若触摸点坐标有误,将导致单片机错误处理。首先使能ADS7843,然后向ADS7843 写入测量X 坐标的控制字,延时若干毫秒后,读取ADS7843 的转换数据。读取的数据即X 的坐标值;再把测量Y 坐标控制字写入ADS7843,延时若干毫秒后,读取ADS7843 的转换数据,就得到了Y 坐标的值,然后禁止ADS7843.这样既完成了一次读取坐标值的过程。其具体流程如图7所示。
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拉高实现与从机的同步。
A D S 7 8 4 3 读写时序。由此可见ADS7843 SPI接口的一次完整操作需要3×8=24个DCLK时钟周期,前8个脉冲接收8位的命令,并在第6个脉冲的上升沿开始A/D转换器进入采样阶段,从第9个脉冲开始进入转换阶段,输出12位采样值,转换结束进入空闲阶段。直到24个DCLK结束,CS置高电平,一次测量结束。
5.控制器PWM输出
系统使用了控制器快速PWM 模式对驱动控制,当系统采用8MHz 晶振频率是快速PWM 模式频率最大值为31.25KHz.计数器从BOTTOM计到MAX,然后立即回到BOTTOM 重新开始。
对于普通的比较输出模式,输出比较引脚OCRn在TCNTn 与OCRn 匹配时清零, 在BOTTOM时置位;对于反向比较输出模式,OCRn 的动作正好相反。具体的时序所示。图中柱状的TCNTn 表示这是单边斜坡操作。方框图同时包含了普通的PWM 输出以及方向PWM 输出。
TCNTn 斜坡上的短水平线表示OCRn 和TCNTn的比较匹配。产生PWM 波形的机理是OCRn 寄存器在OCRnX 与TCNTn 匹配时置位( 或清零),以及在计数器清零( 从TOP 变为BOTTOM)的那一个定时器时钟周期清零( 或置位)。输出的PWM 频率可以通过如下公式计算得到:
变量N 代表分频因子(1、8、64、256 或1024)。
五、结论
多彩LED照明系统是一个极具开发前景的课题,随着国家对大功率LED的进一步推广LED的造价会继续下降,LED灯具的普及将会很快到来。
LED在控制电路及控制方式的简易与颜色的多样性使其在多彩照明方面具有极大的发展,多彩LED只要配以简单的控制方可发出不同的颜色,颜色控制设备的多样性可供用户选择。无论如何LED 的上述特点都是其成为多彩照明中的光源首选,使用LED能为我们未来的生活带来缤纷的色彩。