ImageVerifierCode 换一换
格式:DOCX , 页数:11 ,大小:339.67KB ,
资源ID:5912219      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5912219.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于STM32 的家居环境检测和家电控制系统设计文档.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于STM32 的家居环境检测和家电控制系统设计文档.docx

1、基于STM32 的家居环境检测和家电控制系统设计文档孝感定原电子科技有限公司文 档 编 号产品版本密级产品名称:一种家居环境检测和家电控制软件共 页软件设计说明书摘 要随着信息时代的到来及高速发展,电子产品在日常生活中的应用给人们带来的便利与快 捷是有目共睹的。为人类开发更加舒适便捷、安全高效的产品成为信息社会发展的强有力动 力。在公共场所和工作环境的不断改善下,家庭居住环境也慢慢加入了生活品质的名单。如 今人们的追求不再停留在单纯的物质上,对精神世界的寻求也日益增加。对于住宅,人们除 了关注房屋的大小、外观、安全性,还希望得到更高层次的体验和享受。例如,在看书时不 用起身就可以在光线渐弱的时

2、候打开电灯等智能化控制。在日常生活中,偶尔也会发生出门 前忘记关闭电器的事情,有时甚至发生电器自燃进而引发火灾的突发状况,不仅造成物质上 的损失,更产生了心灵上的阴影和伤害。那么如何通过不断发展的网络设备和通讯设施来实 现家居智能化,便成了当今科技领域努力的方向。智能家居,拥有家庭安全、舒适、信息 交互与通信的能力。这些依赖于家居智能管理系统。家居生活是人们日常生活中很重要的一部分。近几年,智能家居的出现颠覆了传统的住 房概念,给人们带来了与众不同的家居体验。通过智能家居人们可以方便地控制家电,同时 又能获得安全。本课题基于目前市场需求,设计了采用以太网进行网络通讯的家居环境检测 和家电控制系

3、统,并通过 Android 应用程序实现最终的检测和远程控制,实现了继电器控制 家电、红外学习控制系统、语音提示和温度、湿度、光照度测量等功能。关键词环境监测 智能家居1 详细设计1 .1 软件简述本课题采用 32 位的微处理器 STM32F107 作为硬件设计核心,它具有体积小、性价比高等特点。该互联型芯片内置的介质访问控 制和专用的 DMA 控制器可以方便地实现以太网传输控制,在现有的网络设备基础上实现 可靠的网络通信。本系统提供了多种监测和控制前端:通过继电器或者红外学习模块实 现对家庭用电器的控制;提供温、湿度及光照度的环境监测;通过语音合成模块进行提 示或者警报。1 .2 软件功能描

4、述1 .2.1 软件功能介绍驱动部分先配置好主控制芯片 STM32 的上电参数和时钟系统,再进行各个模块的驱动设计,其中使用到 RS232 串口通 信、ADC 模数转换、I2C 总线通信等。为节约数据端口的使用,以太网模块设置为 RMII 通信模式;语音合成模块和红外学习模块均有自己的命令帧格式,通过串口与 STM32 联 系,本设计采用 MAX3232 实现 RS232 通信;继电器可直接通过 GPIO 端口进行操作; 传感器模块中温度传感器有特定的工作时序、湿度传感器使用 ADC 采集、光照传感器采 用 I2C 通信协议。系统整体框架如图1所示。1 .2.2 软件基本框架信号调理部分采用了

5、模拟比较器输入的结构,下图是本软件的基本框架图和主程序流程图。图一 基本框架图信号通过高速运放搭建的模拟比较器,比较器的比较电压通过STM32F417的数模转换器提供,用于初始化进行噪声采集,门限自适应,这样可以滤除存在于信道中的噪声。若开机检测到串口发送指令,则程序切换到USART串口收发模式,可以进行参数设定和数据的导出操作。信号经过了模拟比较器后得到了一个标准的方波信号,方波信号进入到多路轮询模块中进行通道切换。系统以C和汇编语言为编程语言。该系统通过传感器对室内环境条件进行检测,检测数据传送给单片机,由单片机对数据进行处理并采取相应措施。系统程序流程如图3所示。系统启动之后,首先进行初

6、始化操作,为了能够及时显示温度以及对非法入侵报警,系统采用中断技术,使用单片机定时中断TO,每隔500 ms中断一次。打开中断后,系统开始进行工作,当有人进入时,系统调用GSM短信发送程序,并进行蜂鸣器报警,为了让报警产生效果,将报警时间延迟2分钟。GSM发送短信程序设计的流程图如图4所示。图二 主程序流程图1 .3 温度检测及显示模块设计温度检测及显示模块采用数字温度传感器DS18B20,DS18B20数字温度计接线方便,封装成后可应用于多种场合,耐磨耐碰,体积小,使用方便,并且具有超强的稳定性和卓越的灵敏性。温度检测电路如图2所示。1 .3.1 程序流程图1 .3.2 设备侧实现为了保证采

7、样的精度,因此采用了2路ADC并联使用,使得采样率达到48MH,保证了在500H的噪声频带上也能有10倍的采样率。将噪声采集后使用DMA传输8192个点的噪声信号,计算噪声的幅度,并根据噪声的最大值与均方根值确定比较器的电压幅度门限,然后通过DAC发出门限电压信号给比较器,形成电压门限。承载了单频脉冲的待测信号经过了模拟比较器后变成了1个方波信号,方波信号进入了微控制器芯片检测端,该信号会触发中断,从而开始记录信号的脉冲次数以及信号的脉冲长度,通过脉冲长度与脉冲次数的商值可以得到信号的频率、脉宽。当信号的2次脉冲的间隔小于预设区间或者大于预设区间时,就会被判定为无效脉冲或者是噪声脉冲,由此减小

8、信号的虚警概率。1 .1 以太网模块对于以太网模块,本课题除了需要对其进行初始化设置,还需要有收发数据包的函数用 于通信。在此之前,需要注意两点。首先,虽然在 4.3 节中统一配置了引脚包括以太网模块, 但这里用到了引脚的重映射功能(将普通 GPIO 引脚映射成以太网引脚),需要在程序中使能, 否则不能正常工作:GPIO_PinRemapConfig(GPIO_Remap_ETH, ENABLE);。1 .1.1 程序流程图v1 .1.2 设备侧实现系统便通过模式设置函数选择以太网通信接口。设置好这两项后,就开始 对以太网进行初始化,其软件流程如图 4-5 所示。其中配置参数环节,主要对以太网

9、的自动 模式、速度、工作模式、是否重传、是否接收广播帧等进行设置和选择。DMA 接收和发送缓 存存放上一次的工作数据,在使用前应该进行清除。本模块的收发数据包直接调用STM32 自带的以太网开发库函数,主要通过DMA读取或发 送缓存中的数据。除此之外,该开发库还带有以太网寄存器读取函数。DP83848 满足IEEE802.3 标准,STM32 可以通过读写PHY内部寄存器实现对以太网的状态查询和控制35。PHY最多可 以定义 32 个 16 位寄存器,其中 015 定义的功能,其余可由制造商定义和扩展。这些寄存器 不仅使人更了解以太网的工作状态,还能在调试以太网时检测问题所在。其中比较常用的有

10、 0 地址控制寄存器的 14 位:LOOPBACK和 1 地址状态寄存器的 2 位Link Status。当以太网端 口不能正常工作的时候,经常使用LOOPBACK来诊断问题。LOOPBACK可译为“回环”,当 此位置 1 时,将切断PHY与外部的逻辑连接。也就是当主控制芯片向网络发送数据时,数据 不会传输出去,而是重新返回至PHY的接收区。这样,在此模式下,若能接收到发送的数据, 说明MAC和PHY没有问题,可以检测RJ45 或网线;若无法接收,则说明问题存在与MAC、 PHY之间,可以进一步通过MAC的LOOPBACK功能找出问题所在。这一方法在本系统的调 试过程起到重要作用。1 .2 语

11、音合成模块同红外学习模块类似,语音合成模块通过串口 RS232 跟 STM32 进行通信,命令字是对不同功能的区别,而命令参数是对同一功能中方式的选择。图 4-6 展示了语 音合成功能的命令结构图,该功能的命令字为 0x01。而跟在命令字后面的参数为编码格式, 决定了以哪种汉字标准输出准备合成的文本。1 .2.1 程序流程图1 .2.2 设备侧实现当系统正在合成一条语音时,若此时有新的语音合成命令,将会直接覆盖上一条,而执 行后来的这一条。模块的第 7 脚为状态硬件引脚,低电平表示空闲,高电平表示忙碌。在设 计的过程中,本课题通过判断该引脚的状态来判断是否继续下一条命令合成,具体软件流程 图如

12、图 4-7 所示。主控制器在发送合成命令之前,先检测语音模块是否空闲,空闲时通过串 口发送合成参数和文本,忙碌时等待模块合成完上一条指令再合成当前文本。除此之外,也 可以通过查询命令来获取模块的状态,若 STM32 收到“0x4F”的反馈,说明模块空闲;若反 馈信息为“0x4E”则表示模块忙碌。 1 .3 传感器模块 DS18B20 是单总线数字型的温度传感器38,为了提高传输可靠性,并简化外围电路,该 传感器信号只在测试点被数字化。DS18B20 的温度测试范围为-55125,用 12 位来存储温 度,其中bit010 用来存放温度数值,bit1115 用于存放正负值。软件设计中涉及到精确的

13、计 时,本设计通过SysTick实现。SysTick滴答定时器是Cortex-M3 内部的 24 位简单计数器,计 数范围不超过 2 的 24 次方。SysTick的配置主要分为三个步骤: 初始化。配置触发时间。因 DS18B20 的时序为微秒级别,本设计将 SysTick 的触发时间设 置为 1s,设置语句为:SysTick_Config(SystemCoreClock / 1000000); 使能滴答定时器。尽量不在初始化时使能 SysTick,否则容易出现异常,在需要的时候再开 启; 设置中断函数。本设计将 SysTick 用于延时函数,故在 SysTick 中断函数将延时参数自减 1。

14、 完成之后,构造延时函数,在其内部判断延时参数是否为零就能得到延时参数个s 的时间。1 .3.1 子程序流程图 1 .3.2 设备侧实现HIH4000-003 是一款高精度的相对湿度传感器,适用于低功耗系统。该传感器具有良好 的线性输出特性,相对湿度几乎与输出电压值成正比。通过 ADC 通道读取输出电压值,再经 过线性转换就能得到相对湿度值了。STM32 具有 3 个 12 位的内部 ADC 转换器,共有 21 个 外部通道,足够满足这一部分的设计,配置过程如下: 1 设置 ADC 模式、扫描方式、触发方式、对齐方式、通道等参数,初始化 ADC; 2 配置采样周期,最终的采样时间为:T=采样周期+12.5; 3 使能 ADC; 4 复位校准寄存器,并校准 ADC。2 编程协定2 .1 操作系统Win7 操作系统, keil MDK Uvision5 集成开发环境2 .2 调试工具J-link V8仿真调试器2 .3 编译链接工具Keil Uvision 5

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1