序
🔥 毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。
为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天要分享的是:基于51单片机现代智能家居系统的设计与研究
第3章 智能家居系统硬件设计
本章节主要介绍本设计中各个部分电路的设计原理。通过各个模块的功能描述了解其工作原理以及在设计的中作用。
3.1 智能家居系统硬件设计方案
由2.3设计方案与方案选择提出以下系统设计方案。智能家居系统硬件主要由以下部分组成:单片机最小系统、红外线接收发射模块、时钟模块、WIFI模块、传感器模块、红外遥控模块、数据存储模块、LCD显示模块。智能家居系统主要依照各个模块输入结果进行逻辑判断和控制命令的输出,接受单片机发来的指令,实现家用电器的红外遥控控制、定时控制、网络控制,硬件组成结构如图3-1。
图3-1 硬件组成结构
3.2 主控制电路设计
主控制电路采用STC89C516RD+单片机控制。在单片机最小系统接入各种输入设备和输出器件,输入设备从外部采集数据,然后将采集到的数据发送到以单片机体系结构为核心的系统进行处理和计算后输出信号,输出设备根据输出的控制信号进行工作。具体原理图如图3-2所示。
图3-2 STC89C516RD+电路
3.3 红外线发射/接收模块设计
红处接收控制电路采用VS1838红外接收头,与单片机连接,单片机把接收到的红外线信号进行解码。具体工作过程如下:
发射时:当遥控器按下时,信号经过处理放大,然后通过红外发射二极管传输给VS1838红外接收头,接收时:红外接收头接收到信号,由放大器放大处理后还原成信号,并将其发送到外部中断端口P3.2,然后由单片机对其进行处理,得到执行指令。电路图如图3-3所示。
图3-3 红外发射接收电路
3.4 传感器模块设计
传感器采用DHT11传感器,用于检测家居环境的温湿度数据。将当前的温湿度环境送到传感器中进行转换,再传到单片机中进行分析后将数据上传至手机app,数据通过与预设值的对比,判断是否需要开启或关闭空调、加湿器,使家居环境保持在恒定的范围。数据传输时序图如图3-4所示。具体电路图如图3-5所示。
图3-4 DHT11数据传输时序图
图3-5 DHT11电路图
3.5 显示模块设计
显示模块采用的是LCD1602液晶显示屏。LCD1602分为字段和字符显示两种。通过编写程序代码写命令、数据后由单片机给指令,进而实现时钟部分的显示和定时时间的显示以及温湿度上下限的显示。LCD1602各引脚接口说明如表3-4-1所示,具体电路图如图3-6所示。
表3-1 引脚接口说明表
管脚号 | 符号 | 管脚说明 | 管脚号 | 符号 | 引脚说明 |
1 | VSS | 电源地 | 9 | D2 | 数据 |
2 | VDD | 电源正极 | 10 | D3 | 数据 |
3 | VL | 液晶显示偏压 | 11 | D4 | 数据 |
4 | RS | 数据/命令选择 | 12 | D5 | 数据 |
5 | R/W | 读/写选择 | 13 | D6 | 数据 |
6 | E | 使能信号 | 14 | D7 | 数据 |
7 | D0 | 数据 | 15 | BLA | 背光源正极 |
8 | D1 | 数据 | 16 | BLK | 背光源负极 |
图3-6 显示电路
3.6 时钟电路设计
时钟电路采用DS1302芯片,引脚如图3-7所示:
引脚功能如表3-2:
表3-2 DS1302引脚功能
X1,X2 | 32.768kHz晶振引脚 |
GND | 地 |
RST | 复位 |
I/O | 数据输入/输出 |
SCLK | 串行时钟 |
VCC1 | 电池引脚 |
VCC2 | 主电源引脚 |
DS1302连接单片机通过I/O以实现时间读取和寄存器的读写,X1、X2连接到一个晶振,时间秒就会计数。VCC1连接CR2032电池,即使系统停止供电时,时钟还会继续运行,电路可以保持正确的时间。DS1302的功耗低,其组成部分:移位寄存器,控制逻辑,晶振,实时时钟和RAM。数据有两种,但对于读取和写入特定地址的MCU程序,它们实际上是相同的。DS1302电路图如图3-8所示,
图3-8 时钟模块电路图
3.7 继电器电路设计
本设计中采用继电器的通断来决定连接的家用电器是否需要开启或关闭。由于继电器的工作电流需要更大,单片机的I/O输出电流无法满足,所以采用S9012三极管进行电流放大驱动继电器,当系统的P1.6口产生高电平时,三极管截止,继电器关闭。当系统的P1.6口产生低电平时,三极管导通,继电器吸合。驱动电路图如图3-9所示。
图3-9 继电器电路
3.8 WIFI模块电路设计
WIFI模块使用ESP8266通过串行通讯协议与单片机进行通讯。由于模块的工作电压为3.3V,而电源采用5V电压。所以使用两个二极管将5V降至3.3V,供给WIFI模块工作,工作温度:-20-70℃。配置管理采用远程Web管理,编写程序使单片机通过串口发送AT指令来控制模块的工作。WIFI模块的特性如表3-3所示。原理图如图3-10所示。
表3-3 WIFI模块的特性
WIFI模块的特性 | 无线传输速度 | 通道数 | 频率 | 传输功率 | 端口 | 串口波特率 |
范围/数量 | 150Mbps | 14 | 2.4-4835G | 12-15DBM | 4 | 1200-230400bps |
图3-10 WIFI模块电路
3.9 存储模块设计
存储数据采用AT24C02芯片,存储容量为2Kb,AT24C02读/写操作时序图如图3-11所示。
图3-11 AT24C02读/写时序图
在本设计中,使用AT24C02芯片来保存设定的舒适环境数据和读出设定值,A0、A1、A2、WP引脚都接地,这样读/写操作就非常的方便。具体电路图如图3-12所示。
图3-12AT24C02电路图
3.10 本章小结
本章主要介绍硬件电路的设计思想。分别在红外遥控、WIFI、时钟、DHT11、液晶显示和继电器模块的角度对硬件电路的布线、接口、控制流程、工作时序、各个芯片的特征、芯片对比效果以及信息传递的码形等方面进行了一系列阐释。
第5章 系统的调试与实现
5.1 系统的软硬件调试
5.1.1 软件调试
本课题使用的程序编写软件为Keil,编写好程序后,为了在实物制作之前减少出现的程序错误等相关问题,故使用仿真软件Proteus。根据设计好的原理图在Proteus仿真软件中画出仿真图。将程序下载到仿真图里运行。根据系统的设计要求,调试每个模块的子程序,调试成功后,放到主程序中将整合、逻辑性地连接、组合、调用,进行反复的修改调试程序构成系统的软件。系统仿真图如图5-1所示。
图5-1 仿真图
5.1.2 硬件调试
在硬件调试中,首先,设计手动模式中需要用到各模块PCB图,时钟模块的SLCK、I/O、CE引脚分别连接单片机的P1.3、P1.4、P1.5引脚。红外模块的OUT引脚连接单片机P3.2引脚。LCD液晶显示屏连接单片的P0口及P2.4、P2.5、P2.6引脚。继电器模块连接单片机的P1.6引脚。制作好PCB板,将元器件焊接,在焊接过程注意短路、断路、虚焊。焊接完成后将程序下载到单片机,最终完成手动模式功能的调式。其次,设计自动模式中所需各模块的PCB图,制作PCB板,将元器件焊接。完成后利用跳线将WIFI模块的RXD、TXD引脚连接到单片机的P3.0、P3.1口,将DHT11的OUT连接单片机的P2.2口,将存储芯片的SCL、SDA连接至单片机的P2.0、P2.1引脚。整体实物图如图5-2所示。
图5-2 整体实物图
5.2 调试结果
图5-3为系统开机初始化所显示的界面,液晶屏显示服务器IP:115.29.109.104,下一行显示端口:6594。
图5-3 系统开机初始化界面
图5-4为系统连接WIFI热点后进入到时钟、万年历显示界面,液晶显示屏第一行显示实时时间与星期,第二行显示日期。
图5-4 系统显示时间万年历界面
图5-5为系统遥控器和按键控制的手动模式下的继电器和LCD屏幕现象:此时,继电器指示灯点亮,并且sd显示在LCD屏幕上。现象与预期相符。
图5-5 系统的手动模式界面
图5-6为系统的自动模式,液晶显示屏显示ds,将传感器采集的温湿度数据通过ESP8266模块上传至手机app,将保存的设定值调用,采集的温湿度数据与设定值对比,自动控制家用电器。
图5-6 系统的自动模式界面
在系统调试上主要遇到以下几个问题:
(1)焊接全部元器件,下载程序后发现LCD1602没有显示。
解决方法:通过仿真已经确定程序没有错误,所以就考虑到元器件是不是焊接相反,通过PCB和原理图仔细确认元器件的方向后,确认没有问题。然后就考虑有没有虚焊、短路的问题,通过用万用表的二极管档位,检测虚焊、短路,最后发现连接液晶屏的两根线没接通。重新焊接后,接通电源,液晶屏正常显示了。
(2)在向LCD1602发送指令0x01,并未成功的清屏。
解决方法:通过仔细的阅读LCD1602手册发现,LCD1602清屏的确需要1.64ms的执行时间,最终程序采用了4ms的延时。添加4ms的延迟后,重新下载程序成功执行了屏幕清除命令。
(3)DHT11湿度采集值跳动很大。
解决方法:开始检测的结果上看基本是处于正常范围,但是波动很大,所以需要进行优化程序,使得读书稳定。通过增大两次检测的时间间隔后发现数字跳动比较稳定,但是间隔时间调的过长使得灵敏度降低,为了兼顾灵敏度和减少数值的波动,经过多次的调节终于使得灵敏度灵敏,数值波动小。
如果学弟学妹们在毕设方面有任何问题,随时可以私信我咨询哦,有问必答!学长专注于单片机相关的知识,可以解决单片机设计、嵌入式系统、编程和硬件等方面的难题。
愿毕业生有力,陪迷茫着前行!