1、本科毕业论文 (设计 )题目: 基于单片机的 WIFI 智能无线开关 学院: 物理与电子科学学院 班级: 姓名: 指导老师: 王强 职称: 助教 完成日期: 2014 年 5 月 1 基于单片机的 WIFI 智能无线开关摘要:科技高速发展,人们的需求也在日益增长,智能成为人们孜孜不倦的追求。电子计算机的出现丰富了这个世界,也简化了这个世界。当然微型处理系统也悄悄产生了,并大量应用在实际中,利用 MCU 控制,处理一些事务,降低了劳动时间,提高了劳动效率,也提高了精度。MCU 的出现使生活与生产发生很大的改变。人们的生活与网络与智能越来越密不可分。本文阐述了一套智能 WIFI 无线开关的设计,首
2、先论述了 WIFI 和开关的历史与发展,然后提出了不同的方案,并进行了详细的分析,在此基础上形成了一套方案,并对此方案提出了一系列的软件及硬件的设计方法。最后对本方案存在的问题及应用前景进行了分析。 关键词:WIFI;智能;无线开关目 录引言 .11 WIFI 与开关 .11.1 WIFI 的发展与现状 .11.2 开关的发展与现状 .12 系统方案 .22.1 系统的设计要求 .22.2 方案比较与选择 .22.2.1 控制芯片的选择 .22.2.2 WIFI 模块的选择 .32.3 短距离无线模块的选择 .32.4 开关的选择 .33 系统硬件电路设计 .53.1 芯片 .53.1.1 S
3、TC89C52RC 芯片 .53.1.2 STC12C2052AD 芯片 .63.2 WIFI 模块 .73.3 无线模块 .73.4 开关 .83.5 总体设计 .84 系统整体设计 .84.1 系统详细设计及工作原理 .84.2 上位机软件的编写 .94.2 系统框架图与流程图 .94.3 系统存在问题 .105 结束语 .101引言这是一个智能的时代,科技决定生活质量。方便,高效,省时是这个时代的主题,也是科学发展的方向。在千千万万的高科技术中,有一门技术虽然仅仅是在近来才发展起来的,但是其对人类生活的影响却不容小觑,这一技术就是 WIFI 技术。其实在 WIFI 技术之前,已经存在有很
4、多种通信方式了,比如说以前很火的到目前为止仍然还在应用的蓝牙技术,但是蓝牙技术只能用于用户到用户也就是点到点的信息传输,而与其相比 WIFI 技术就不同了,WIFI 可以作为圆点,向四面八方传播信息,当然也可以用于点到点的传播,因此 WIFI 技术大大提高了信息传播的广度,与蓝牙技术相比其方便性是不言而喻的。其实在目前的现实生活中,可以说 WIFI 技术是无处不在的,比如说现在的大部分饭店、咖啡馆等公共场所都会免费提供 WIFI 上网,以此作为一种营销手段来招揽顾客,使得顾客在享受服务的同时,也可以轻松、方面的上网浏览信息。但是能不能将目前火热的 WIFI 技术与生活中的开关技术相结合呢?这正
5、是本论文研究的核心之所在。在生活中我们经常会用到开关,但是用 WIFI 来控制开关的开启与关闭却是很少见的,本论文将设计一个系统以期将 WIFI 技术用于控制灯泡。具体的说就用 WIFI 来决定灯泡什么时候亮以及亮到什么程度。理论来说这一系统是可以实现的,因为在其之前已经就是通过控制它可以的控制家用电器的通断工作的一个器件。智能开关,也就是遥控,可以对电气设备实现中短距离的无线控制。人们可以通过遥控进行无线控制,摆脱了电线的束缚。本设计是基于中短距离无线开关设计的一套系统,由一个主机和多个从机组成,主机与从机之间进行无线通信。从机对开关进行控制。它可以通过手机实现在家里任何地方实现对家用电器的
6、控制。因为手机几乎是每个人不离身的必须设备,不像遥控一样随便放置。手机又有 WIFI 的功能,不必考虑直线传播,比红外要好很多,比蓝牙的穿透能力要好。手机通过安装 APP 文件作为上位机控制软件,连接主机(由 STC89C52RC 芯片组成)控制的 UART-WIFI 模块,对其发送指令,进行连接。然后再发送开关控制指令,MCU 接收到之后,通过中短距离无线模块 NRF24L01向各个分机发送指令,分机接收到指令后进行核对,如果正确则执行,反之保持现状,继续等待命令。21 WIFI 与开关1.1 WIFI 的发展与现状WIFI 的出现改变了我们的生活和工作,极大的方便了人们与这个社会越来越密不
7、可分,作为一种无线传输方式,给无线传输这个领域增添了不少色彩。 1.2 开关的发展与现状不用多说,开关更是我们不可缺少的一部分,它与我们的生活息息相关,为了适应各种用途,它的演变也是很快很多样的。开关发展历史总结如下图:图 1-1 开管的发展历程2 系统方案2.1 系统的设计要求本设计要求实现通过手机发送指令或者是直接按开关,均可实现对家用电器进行简单控制。32.2 方案比较与选择2.2.1 控制芯片的选择 STC89C52RC 芯片作为一种常用 MCU 应用领域很广了,虽然它没有嵌入式的功能强大,也没有 AVR 系列反应速度快,但是凭借它简单易懂,功能齐全,性价比高的优势在生产生活中占据着一
8、席之地。 因为此系统对芯片处理速度要求不是很大,考虑到主机程序稍微大一些,故TC89C52RC,而从机考虑到体积大小的问题选用了 STC12C2052AD。2.2.2 WIFI 模块的选择方案一:选用华为 HG255D 无线路由器,对其进行刷机,变为 openwrt 系统,然后 利用它接收手机发出的指令。 方案二:选用串口 WIFI 模块WIFI-M03WIFI-M03 是一种嵌入式串口 WIFI 模块产品。Wifi 是基于串口通信无线网络的模块,能够实现用户串口数据到无线网络之间的转换。通过串口 Wifi 模块,传统的串口设备也能接入无线网络。 经斟酌方案一刷机过程比较繁琐,跟单片机的接口驱
9、动不太好移植,另外一个原因就是,会导致主机体积变大。方案二比较方便,可以直接利用单片机的串口通信进行指令的获取。故选用方案二。 2.3 短距离无线模块的选择方案一:选用 315M 无线模块315M 无线模块作为数据发射模块在现实生活中比较常见。接下来我们以 315M无线模块在现实生活中最普遍的应用车钥匙为例,来对 315M 无线模块进行简单的理解。大部分车钥匙内部都含有一个 315M 无线模块,用来实现对车辆的远程控制。当车主不在车内且车辆被物体碰撞或惊动之后会发出信号,而车钥匙内部安装的315M 无线模块可以准确无误地接收到这一信号,并发出报警,通知车主车辆遇到了碰撞或惊动。由此我们可以看出
10、 315M 无线模块在生活中的用处是很大的。方案二:选用 NRF24L01 无线模块nRF24L01 无线收发器芯片是基于单片机的无线发收模块,无需自己编写通信协4议适用于短距离通信,效果不错,多用于玩具车,无线鼠标中,市场前景不错。这两种方案中,315M 需要自己制作编码,比较繁琐,而且自己编码,容易造成系统不稳定,而 NRF24L01 比较方便,自带编码,稳定可靠,故选用方案二。2.4 开关的选择方案一:选用继电器电磁继电器是一种常用的电器开关,用小电流去控制大电流运作的一种“自动开关” ,具有隔离的优点,故在电路中起着自动调节、安全保护、转换电路等作用。缺点是需要吸合电流,功耗稍大,有触
11、点,反应速度不是很迅速。方案二:选用三极管图 2-1 三极管三极管的作用是把小信号放大成大电信号,也可以做无触点开关。具有放大电流的作用,用于功放中。而在很多地方常当直流开关使用,反应灵敏可以达到100KHz。方案三:选用双向可控硅双向可控硅也是一种常用的功率开关,驱动能力比较大,常做为交流无触点开关使用。B 基极E 发射极C 集电极NPN 型 PNP 型C 集电极B 基极E 发射极5图 2-2 双向可控硅光控可控硅也属于可控硅,它把控制端与被控制端隔离开,提高安全性,其输出可以用来安全的触发双向可控硅,不需要在双向可控硅两端并联阻容吸收电路,可以直接触发。图 2-3 光耦合可控硅经斟酌三者均
12、是利用小电压信号控制大电压,继电器反应速度慢,有触点,闭合有声音,经测试吸合电流需要 100mA。三极管适合于做直流开关使用。可控硅可做交流开关使用,经选择选用可控硅。 3 系统硬件电路设计该系统由主控芯片模块 STC89C52RC、STC12C2052AD、光控可控硅MOC3041、双向可控硅 BT136、无线模块 NRF24l01 等组成。下面分别对各个模块作具体介绍。63.1 芯片 3.1.1 STC89C52RC 芯片本设计系统的数据传输方式采用串口通信,而此芯片带有 UART 可以直接利用它实现数据传输,软件程序中通过串口的中断检测一帧的数据是否完成的传送。STC89C52RC 芯片
13、串行口有四种工作方式,根据 SM0 和 SM1 进行设置,方式 0 为8 为位同步移位寄存器,方式 1 为 10 位 UART 发送方式,方式 2 为 11 位 UART 发送,方式 3 为 11 位 UART,其中方式 1 和方式 3 波特率可变。本设计采用的是方式 1,而且采用的是中断方式,与查询方式比起来的话有节省 CPU 的作用。图 3-1 STC89C52RC 芯片3.1.2 STC12C2052AD 芯片把 STC12C2052AD 作为从机,主要应用了它自带的 SPI 同步通信,关键是考虑到NRF24L01 使用了 SPI 通信,比较方便,无需模拟 SPI 通信协议。除了 fla
14、sh 比STC89C52RC 小一些外,其他功能都是差不多的。本设计在定时的部分使用了定时器,利用定时器定时中断进行精准的定时,然后控制开关通段时间。另外还需要用定时器来进行调光,市电的周期为 20ms,经过全桥整流后,会变为周期为 10ms 的脉动直流,通过单片机可以控制可控硅的导通角,也就是 10ms 内导通的时间,从而改变灯的亮度。7图 3-2 STC12C2052AD 芯片对于主从机芯片均采用上电自动复位的电路设计,所以就没有在接复位按键。利用芯片的外部中断功能可以实现在没有手机的情况下,通过按键也可以控制电器的开关。3.2 WIFI 模块BLN-07 是基于 UART 接口的 WIF
15、I 无线网络模块,能够实现用户串口数据到无线网络之间的交换。通过串口 Wifi 模块,传统的串口设备就能接入无线网络。此模块与手机之间通信,使用的是 ASCII 码,手机把编码变为 ASCII 码进行发射,UART-WIFI 会接收 ASCII 码并产生中断给单片机。 此 WIFI 模块可以通过终端像普通路由器一样设置和修改密码,也可以通过配置软件进行修改和设置,有比较不错的安全性能。3.3 无线模块nRF24L01 作为单片无线收发器芯片无线收发器,拥有 6 个数据数据通道,本设计主机和从机均采用了它的数据通道 0,主机采用发射方式,而从机采用已知查询接收方式。对于主机,当接收的 WIFI 信号后,会判断接收到的数据,然后会先发送一串代码,作为识别码,接着发送命令代码。对于从机,当检测到信号后,会把数据先存入缓存,接收完这一帧数据后,判断识别码是否与自己的完全吻合,如果吻合,则采取动作,反之,继续检测信号。