基于单片机的智能家居控制系统毕业论文(编辑修改稿)内容摘要:

传感器在检测信号时会调用这些参数,以确保传感器的高度可靠性和长期稳定性。 该芯片测量湿度范围在 20%90%,温度范围 0℃ 50℃,足以满足家庭测温的需要。 该器件单价 人民币,性价比非常高,所以本次设计采用 DHT11 来采集温度与湿度信息。 DHT11 只需要一根数据线便可以和单片机进行通讯。 一次通讯获得 5 字节的数据, 2字节的温度数据 2字节的适度数据。 若前 4字节的和的最后 8位与校验和相等,则数据正确;若不相等,则应舍弃本次读数。 8 DHT11 与单片机的连接如 图 5所示。 图 5 DHT11与单片机接口 3 .4 光照强度传感器的设计 本次设计使用 BH1750 来检测室内的光照强度,单片机获取到光照强度数据后进行处理,通过 PWM 波驱动可控硅来控制 LED 灯的发光强度。 BH1750FVI 是光照强度传感器的集成电路,使用 IIC 协议与单片机进行通讯,可探测的光照强度的范围为 1lx65535lx。 无需其他外部器件,它可与单片机直接拿进行连接。 该芯片对光源的依赖性弱,可检测白炽灯、荧光灯、白光 LED 和日光灯等。 该芯片工作于 电源电压下,工作温度 40℃ 80℃,受红外光影响较小,适合家庭环境下光照强度的采 集。 BH1750FVI 进行光照转化的框图如 图 6所示 : 图 6 BH1750内部结构图 当外界的光照强度改变时,接近人眼反应的光敏二极管 PD 的电流也随之改变,运算放大器 AMP 将流经光敏二极管的电流转换为电压,然后将该电压进行模数转换并获取 16位数字数据,通过 IIC 接口电路将这 16 位数据发送出去。 BH1750HVI 的测量方式分为单次测量和连续测量两种,可以通过写入相应的控制命令来进行控制。 本设计使用的是单次测量的模式。 该芯片还可以设置不同的测量分辨率,但是需要注意的是,不同分辨率下芯片的测量时间又有所不同,在测 9 量的时候一定要等待足够的时间,以免读出错误数据。 单片机读取到光照强度据后进行处理,然 后设置不同的 PWM 波的占空比,来让灯光稳定在一定能的范围内。 3 .5 火险预警模块 现在家庭中广泛使用液化石油气和天然气,这些气体发生泄露时往往不宜被人觉察,碰到明火或静电引起的火花时便容易引起爆炸,发生火灾;即使没有发生火灾,这些气体也容易使人中毒,陷入昏迷状态。 MQ2 气体传感器可以对 家庭生活中的多种可燃气体进行检测,其原理是根据其气敏材料的导电率在不同浓度的可燃气体下变化。 通过模数转化,可以得到可燃气体浓度。 表 1 标准工作条件 敏感体功耗( Ps) 的计算 : Ps=Vc2 Rs/(Rs+RL)2 传感器电阻( Rs) 的计算: Rs=(Vc/VRL1) RL 本次设计主要注重于报警功能,当室内可燃气体浓度达到一定值时,直接发出警报即可,可用以下电路实现。 如 图 7所示, MQ2 的第 4引脚输出模拟信号到运算放大器的反相输入端,通过调节 RP的阻值可以调节运算放大器同相输入端的电压,当 MQ2 输出的模拟信号电压大于运算放大器的同相端输出电压时,该模块便输出低电平, LED 灯亮, MCU检测到低电平后向上位机发出报警信号。 图 7 烟雾传感器报警电路 符号 参数名称 技术条件 Vc 回路电压 ≤ 24V VH 加热电压 177。 RL 负载电阻 可调 RH 加热电阻 31Ω177。 3Ω PH 加热功耗 ≤ 900mW 10 3 .6 入侵警告模块 当无人在家而又有其他人员进入房间时,系统需要能发出警报,并以短信形式通知户主。 本次设计选用对人体红外光较为敏感的红外热释电传感器进行信息采集,在系统 开启入侵检测的情况下,当传感器感应到有人时,向主控单片机发出信号,单 片 机 收到信号以后驱动蜂鸣器报警,并通过 GSM 模块发送报警短信到指定的手机号码。 本设计采用 BIS0001 这款专门处理传感器信号的集成电路芯片来处理红外热释电传感器信号。 BIS0001 内部框图如 图 8所示: 图 8 BIS0001内部框图 从芯片的内部框图可以看到, BIS0001 是有比较器,运放,状态控制器和封锁定时器,定时器构成的数模混合的集成电路。 VC的值决定了芯片是否进入延时周期。 A端为可重复触发和不可重复触发的选择端。 本次设计的入侵警报系统使用的是该芯片的可重复触发方式,所以将 A端接高电平即可。 电路原理图如图 11所示。 红外热释电传感器的信号经过运放放大和再经过鉴幅器处理,当检测到有效触发信号是, Vs 启动延时时间定时器,由第二引脚输出有效信号。 JP1 与 1 端联通时工作于可重复触发状态。 电位器 RL2 可以用来调节运算放大器的增益, 电位器 RT1 用来调节触发封锁时间 ,值为: Ti=24*RT1*CY1。 输出延迟时间有 R33 和 CY2 共同决定,值为: Tx=24576*R33*CY2。 本红外热释电报警电路如 图 9所示。 当有人在红外热释电传感器模块的检测范围时,立刻触发该模块持续输出高电平,当红外信号消失后,该高电平持续一段时间后变为低电平。 该电路设计使 BIS0001 工作在可重复触发的模式下。 11 图 9 红外热释电电路 12 3 .7 GSM 模块设计与应用 现在 GSM 技术已经非常成熟,在远程监控、移动电话、 POS 机等移动领域都能见到它的应用。 TC35 是西门子公司的一款 GSM 模块,支持短信的收发,语音和传真的发送和收受。 具有音频接口,并通过 RS232 接口提供控制功能。 GSM 模块与单片机接口电路如 图 10所示。 单片机只需用一组串口与之相连,通过发送简单的 AT 指令便可以实现短信的收发。 图 10 GSM与单片机接口 对于 AT指令,现对本设计中使用到的几条作简单介绍 (1)AT:用于检测 TC35 模块是否就绪。 若该模块就绪,则该模块收到指令后应答“ OK”。 (2)AT+ISP=XXXX:设置单片机与该模块通讯的波特率,默认是 9600; (3)AT+CMGF=1:设置 GSM 模块的短信模块为 TEXT 模式,在该模式下只可发送英文,但是无需编码; (4)AT+CMGS=“ 13569400193”:设置短信接收号码为 13569400193,若 GSM模块工作正 常,则该模块应答“ ”。 确认模块得到应答之后,则可输入短信内容。 (5)1A:短信结束符,必须以十六进制方式发送。 模块接收到结束符后,把短信发送到指定号码。 3 .8 无线通讯模块 为了使智能家居控制系统布线方便,现使用 NRF24L01 模块进行下位机和上位机之间的数据传输。 NRF24L01 是挪威设计的一款工作于 频段下的短距离无线收发芯片。 该芯片有五个通道,支持一对多通讯,具有自动应答功能。 该芯片一次可以发送最大 32 个字节的数据。 该芯片使用 SPI 通讯协议与单片机进行通讯 ,只需通过单片机配置该芯片的相关寄存器,便能实现无线发送与接收。 该芯片与单片机的接口电路如 图 11。 图 11 NRF24L01与单片机接口 使用该芯片进行数据发送时,需要按一下步骤对芯片进行初始化: (1)写发送的节点地址; (2)写发送端的节点地址; (3)使能芯片的自动应答功能; 13 (4)配置芯片的自动重发次数; (5)设置芯片的通信频率; (6)配置发射参数; (7)配置接收通道 0 有效数据宽度; (8)切换芯片的工作模式; 图 12 NRF24L01模块原理图 初始化完成之后,将制定数据写入到发送缓冲器中,拉高 CE,芯片将进行数据的发送。 将该模块配置为接受模式的初始化过程: (1)写接收端的节点地址; (2)写发送端的节点地址; (3)使能芯片的自动应答功能; (4)配置芯片的自动重发次数; (5)设置芯片的通信频率; (6)配置发射参数; (7)配置接收通道 0 有效数据宽度; (8)切换芯片的工作模式; 配置完成后,芯片将工作在接受模式下。 一旦捕获到有效的数据包,芯片的中断输出引脚输出低电平,单片机检测到低电平后读状态寄存器的值,判断是否接收到有效数据,若接收到数据,则读出接收到的数据。 14 第四章 软件开发 LabVIEW 上位机软件设计 LabVIEW 是美国国家仪器公司开发一款图形化编程软件。 LabVIEW 容易上手,有 C 基础的人员只需学习几个相关的例程,便可以快速的进行简单的软件开发。 软件内置丰富的图形控件,包括多种多样的数学函数,并且支持多种操作系统,实时操作系统和嵌入式设备。 串口是现在大部分 MCU 都具有的硬件功能,串行口的使用也比较方便,只需要设置好数据长度,波特率,等相关参数两个硬件设备便能进行通讯。 在此设计中使用串行口将数据发送到上位机, LabVIEW 接收到串口发来的数据后进行分析处理,显示。 LabVIEW 基本控件介绍 LabVIWE 有丰富的图形控件和函数,可以满足程序开发人员的基本需要。 下面对本设计所用到的部分控件作简要介绍。 LabVIWE 布尔控件主要用来输出和 显示布尔值。 控件外形见 图 13。 按钮、开关类控件只有在外形上有所不同,功能上都是一致的,用于输出“ T(1)”或“ F(0)” ,该类控件在程序图中只有一个输出端;指示灯类控件用于指示所连接数据的布尔值,该类控件在程序图中只有一个输入端。 图 13 布尔控件 LabVIWE 的数值输入控件用来输入指定精度的数值。 该类控件在前面板上有一个输入框或滑块,用来调整数值大小,在程序框图里面只有一个输出端,由于输出指定的数值 ,如 图 14所示。 图 14 数值控件 LabVIEW 的字符串控件包括字符串显示控件、字符串输入控件、文件路径控件等,如 图 15所示。 本设计主要用了字符串输出与显示两类控件。 字符串输入控件用于用户输如字符串,字符串显示控件则用于显示指定的字符串。 15 LabVIEW 的数组、矩阵和簇控件用于创建新的数组、矩阵、簇, 如 图 16所示。 本设计中主要使用了 数组控件。 使用数组控件可以方便的创建某一数据类型的一维或多维数组, 配合程序上提供的多种数据处理函数,以及丰富多彩的显。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。