LED控制器设计
2022-11-12刘康林如威熊宇崔晓曾贵娥
刘康 林如威 熊宇 崔晓 曾贵娥
(广东白云学院 广东省广州市 510450)
为了达到节能减排的目的,LED灯的使用越来越广泛,出现了各种各样的LED灯,有本地控制类LED灯,也有远程控制类LED灯。本地控制类LED灯主要采用机械式开关面板进行控制,而远程控制类LED灯一般采用ZigBee通讯加物联网网关的方式实现对LED灯的远程实时控制。目前的远程控制类LED灯,存在的最大问题是不能直接远程控制,需要加一个无线转Wi-Fi的网关才能实现远程控制;其次,就是目前家庭用2.4GHz频段网络多且复杂,而ZigBee通讯(或射频通讯)网络抗干扰能力低,容易丢数据包,安全性和稳定性不够理想,并且建筑物的墙壁和玻璃的穿透能力也很低,可靠性较差;然后,ZigBee无线技术要兼顾不同地区不同应用的特殊情况,一般来说其协议都比较复杂,开发费时费力。因此,设计一种结合无线调节与手动调节的智能化照明控制系统是很有现实意义的。
1 系统整体控制方案设计
1.1 主控芯片的选择
方案一:使用MSP430单片机作为系统的主控芯片。
MSP430单片机也被叫作混合信号处理器,此主控芯片单片机,不仅能够形成多个数字电路与模拟电路,而且还能形成多样功能未处理器。在一个芯片上集成多个模拟电路、数字电路模块和具备有不同功能的微处理器。MSP430单片机是16位超低功耗的混合信号处理器,有着简化的指令集,该芯片在1996年由德州仪器公司推出。这个系列的单片机主要是用在需要电池供电的便携式仪器中。但是该芯片价格昂贵并且开发相对困难,所以一般不会被采用。
方案二:采用STC89C52单片机作为无线LED控制系统的核心芯片 。
STC89C52单片机具有8K的网络程序设计闪存和低功耗8cmos微处理器,芯片内核是加强版MCS-51,加强后的MCS-51内核比未加强前的MCS-51多了很多功能,例如该芯片具备4K EPROM存储器,而且与STC89C52芯片的指令兼容,存储数据的方式需要电才能存储,这样直接使用内部存储器,不必使用外部存储器芯片就可以将其存储。该芯片有开发方便、成本低、线上编程和下载等优点。STC89C52单片机有以下的标准功能:8K字节,512字节RAM,Flash,内置4KB EEPROM,32位I/O口线,MAX810复位电路,4个外部中断,3个16位定时器/计数器,一个7向量4级中断结构,MAX810复位电路,看门狗定时器,全双工串行口。此外STC89C52可以下降到0Hz静态逻辑操作,可以选择节电模式。
综上所述,考虑到开发的难度及成本,决定采用STC89C52单片机作为主控芯片STC89C52单片机最小系统电路设计图如图1所示。
图1:STC89C52单片机最小系统电路设计图
1.2 LED灯驱动模块设计
对于新型的LED灯来说,可以通过利用PWM信号来调节光的强度的同时也保证光颜色的持续性当LED灯的光照强度被PWM信号调节时,不变的是信号频率,会变化的是导通时间,近似于是调节LED灯的平均电流,在整个过程中电流处于稳定缓慢变动的状态。通过LED灯两端的电流与LED灯的亮度成正比。PWM调光就是利用了这样的原理。调光时,PWM信号源是必须的,驱动器在高电平打开,低电平关闭,以此来切换LED驱动器,当开关频率高于100Hz时,人眼就看不到LED的熄灭了,计算导通与关断的时间均值,可以得出亮度主要由占空比决定,占空比越小,开关管导通的时间越短,关断时间越长,平均电流越小,人睛就不易察觉到LED的亮度变暗了。因此,只需给单片机提供宽度不等的数字脉冲就可以实现对LED亮度的调节和控制。
1.3 遥控模块设计
方案一:蓝牙技术。
这是有别于一般的2.4G技术的无线传输协议,无线传输即使同是2.4G无线传输,但是其所采用的协议不同,所以就出现应用上的不同。以前的2.4G产品必须配备接收器,比如2.4G无线鼠标必须配备一个NANO接收器;然而Wi-Fi传输的标准是在2.402-2.480G频段中,这样的Wi-Fi产品不需要接收器,只需要共用任何带Wi-Fi功能的产品就可以实现连接操作,比如Wi-Fi鼠标,它是没接收器的,在使用的时候只需要连接到任何带Wi-Fi功能的产品就可以实现连接操作。
媒介素养的概念是由美国媒介素养研究中心1992年提出的,指人们对媒体信息的选择(Choose)、理解(Understand)、质疑(Question)、评估(Evaluate)、创造与生产(Create and Produce)以及思辨反应(Respond Thoughtfully)等能力[2]。对于网络编辑来说,媒介素养主要是指采集获取、分析评价、编辑制作、平台发布文化信息的能力以及应遵循的政治原则和道德规范。在媒介融合深入发展的新型传播生态环境下,网络编辑必须具备更高的媒介素养。他们采集甄选的文化信息不仅要具有新闻和社会价值,而且还要以真实性原则为前提,尽可能满足各个受众群体的现实需求。
方案二:Wi-Fi传输技术。
IEEE802.11b局域网协议是Wi-Fi技术所使用的协议,其传输范围在100米之内,速度最大有11Mbps,所使用的是DSSS(直序列扩频)和BPSK(相移键控)或者QPSK,带宽是22MHz。相较于Wi-Fi传输点对点传输的特点,可以多终端同时传输是Wi-Fi传输技术最大的特点,这是由于Wi-Fi属于WPAN无线局域网,仅能实现点对点的信息传输,但是Wi-Fi是属于WLAN无线局域网,可以实现多个终端同时传输的网路模式。
综合上述比较,Wi-Fi与蓝牙都是属于无线通信网络标准。它们都工作在ISM2.4GHz公共频段,这是它们的相同点。不相同的地方在于,Wi-Fi使用的是FHSS(跳频扩谱)方式,一般每秒钟跳变1600次,将83.5MHz的频带划分为79个频带信道,每个时刻只占1MHz的带宽。通信距离通常情况是10米,决定选用Wi-Fi模块作为无线模块方案。
1.4 按键模块的设计
方案一:采用独立的按键作为输入设备。
一个独立的按键对应一个特定的功能,也需要一个对应的I/O口,由按键数的多少来决定检测的次数,但是如果按键数目很多,那么相应地就需要很多I/O端口,这样下来不是很方便快捷,而且按键数据增多相应线路也增多,反应速度也会逐渐变慢,不利于电路板的规划,也不合理。
方案二:采用矩阵键盘作为输入设备。
把矩阵键盘的一端连接到行线上,其另一端连接到列线上,再将每列线与每行线都分别连接到单片机上,运用读取程序得出算法,来确定需要按哪些键。虽然编程有些困难,但是节约了I/O端口的使用。
综合上述比较描述,考虑到本设计对LED灯的控制调节,一个按键就可以实现对LED的亮度调节,所以采用独立按键。相对于多个按键来调节一个按键简单方便,多个按键对有些记性不多的人来说不太方便,所以选择方案一。
无线LED控制系统设计的框图如图2所示。
图2:系统总体方框图
2 硬件设计
2.1 LED驱动电路设计
LED灯通过三极管的基极串联一个10K电阻连接在STC89C52单片机的P3.6口上,8550 三极管与LED相连接,通过导入对应的程序到单片机来控制LED灯的亮或灭,在高电平时LED灯灭,在低电平时LED灯亮。在本设计中,电阻为10K限流电阻,保护三极管。LED灯的亮度是受电流控制的,而通过调整PWM不同的占空比就能够控制电流的大小。其电路如图3所示。
图3:LED驱动电路
2.2 按键电路设计
单片机的键盘采用独立按键。按钮在I/O端口和接地之间连接。连接简单,系统稳定,本设计采用一个按键就可以开或者关并且可以调节LED灯的亮度。
键盘抖动是人们感知不到的,因为10至200毫秒的时间对人们来说很短,察觉不到时间的流逝,但是它是真的存在的。产生的原因是由于键盘断开或者是接通的瞬间动作,对于以微秒为单位处理数据的单片机来说,键盘抖动其实是很慢的。消除抖动有软硬两种方式,硬件消抖一般有两种方式:
(1)利用RS触发器来吸收按键的抖动,有按键按下时,触发器会立即翻转,则触电的抖动不会对输出产生影响;
(2)利用电容进行滤波,在按键两端分别并联一个电容,利用电容放电的延时特性,将产生的抖动的电平通过电容进行吸收。硬件消抖需要增加新的控制电路,增加系统复杂程度,所以选择软件消抖的方式。其电路如图4所示。
图4:按键控制电路图
2.3 电源电路设计
本设计用5V直流电源作为系统总电源,使电路稳定并且比较简单。也可以直接用USB作为电源线,一端插在插座上,另外一端插在5V电源上,比如充电器、充电宝、电脑数据线接口等等。LED为红色LED灯,作为系统的指示灯;加1K限流电阻保护LED灯,以防电流过大烧坏。SW是自锁开关,按下开关后,红色LED灯亮,几秒钟后灯灭,此时系统电源5V直流输出。再次按下开关后,此时系统电源没有5V电源输出。
另外Wi-Fi模块需要的是3.3V电压,因此可以在这个基础上进行降压,本次采用LM1117-3.3V模块来完成3.3V电压的转换,把3.3V输送给到Wi-Fi模块使用,一端接地一端接入5V电压。其电路如图5所示。
图5:3.3V电压转换原理图
2.4 Wi-Fi模块电路设计
选择设计Wi-Fi芯片时需要考虑的事情有很多,合适的无线控制芯片使系统功耗降低、软硬件设计更加简单,在实际使用中也更加方便。该芯片的选择通常考虑这几个方面:芯片进行数据传输时使用的编码方式、芯片的封装和管脚数、芯片的外围元件数量、芯片的能耗和发射功率。
本设计采用ESP8266 Wi-Fi通信模块。该芯片性能比较稳定,体积小、且价格较低,性价较高。将单片机与ESP8266 Wi-Fi通信模块进行串行通信,通过Wi-Fi把数据传输给上位机。用ESP8266 Wi-Fi通信模块对传统的串口设备进行相关配置。ESP8266是高性能的无线SOC,在较小的尺寸封装当中集成了TensilicaL106 超低功耗的32位微型MCU,16位的精简模式,主频支持 80MHz 和160 MHz,支持RTOS,集成Wi-Fi MAC/ BB/RF/PA/LNA,板载天线,支持标准的IEEE802.11 b/g/n 协议,完整的TCP/IP 协议栈,可以不需要服务器,同样可以使用ESP8266进行开发,把ESP8266Wi-Fi模块作为热点,在智能手机上下载一个TCPAPP即可实现无线通信控制LED的亮灭和LED的亮度调节。 Wi-Fi模块电路图6所示。
图6:Wi-Fi模块电路图
图7:单片机控制LED亮灭程序流程图
3 软件设计及系统调试
单片机STC89C52与Wi-Fi通信模块ESP8266之间的通信是串口通信,程序设计过程中要满足串口通信的协议要求,所以在设计中将ESP8266Wi-Fi通信模块的串口比特率设置为9600Hz。其中,系统流程图如7所示,LED亮度调节的流程图如图8所示。
图8:LED亮度流程图
3.1 手机APP的按钮设置
本设计中控制LED灯的手机APP为“TCP连接”,TCPAPP的控制按钮是可以自定义的,系统一共设置了三个控制按键。第一个按键用来控制LED灯的开关,点击长按会弹出编辑器窗口,可进行相关的设置。在“状态OFF”下的按键功能设置为“关LED”,消息的横线上设置为“A1”,在 “状态 ON”下的按键功能设置为“开LED”,消息的横线上设置为“A2”。第二个按键功能是提高LED灯的亮度,在编辑按键功能时将“状态0FF”和“状态ON”下的按钮文本名称都设置为“加亮度”,消息都设置为“T1”。第三个按钮为降低LED灯亮度的按钮,在编辑按键功能时将“状态OFF”和“状态ON”下的按钮文本名称都设置为“减亮度”,消息都设置为“T2”。
3.2 系统软件调试
利用AT+CIFSR指令查询到Wi-Fi模块创建的服务器IP地址为: 192.168.4.2,通信端口号是1234。在安卓智能手机APPTCP客户端界面上填写上述信息,就可以完成与Wi-Fi模块的无线通信连接,通过点击开LED/关LED、加亮度、减亮度等按钮实现对LED灯亮灭以及亮度的强弱的无线控制。