基于stm32温湿度采集平台开发

基于stm32温湿度采集平台开发

  • ==这里记录一下自己以前课设报告,但是论文中图片和文字、公式太多了,懒得粘贴了,需要完整的私信==
  • 摘 要
  • 关键词
  • 第一章 绪论
    • 1.1 研究背景
      • 1.1.1国内研究现状
      • 1.1.2 国外研究现状
    • 1.2研究的目的与意义
      • 1.2.1研究的目的
      • 1.2.2研究的意义
    • 1.3系统要解决的主要问题及论文结构
      • 1.3.1 系统要完成的主要功能及描述
      • 1.3.2 论文结构
  • 第二章 需求分析
    • 2.1 系统总体需求分析
    • 2.2 系统功能需求分析
    • 2.3 系统非功能需求分析
  • 第三章 系统设计
    • 3.1 系统总体设计
      • 3.1.1系统架构
      • 3.1.2功能架构
      • 3.1.3技术架构
    • 3.2 系统类图设计
      • 3.2.1初步类图设计
      • 3.2.2时序图设计
      • 3.2.3详细类图设计
    • 3.3 系统数据库设计
      • 3.3.1数据库实体模型设计(E-R图)
      • 3.3.2数据库设计
    • 3.4本章小结
  • 第四章 系统实现
    • 4.1系统开发环境
    • 4.2程序目录结构
  • 4.3平台端
    • 4.4手机端
  • 5 本章小结
  • 第五章 结论
  • 参考文献
  • 致谢

这里记录一下自己以前课设报告,但是论文中图片和文字、公式太多了,懒得粘贴了,需要完整的私信


摘 要

随着现代社会的高速发展,越来越多的科学技术被应用于农业生产领域。在温湿度大棚中对温湿度、二氧化碳浓度等外部参数的实时准确的测量和调节更是保证农业高效生产的重要前提。 本次课程设计中实现了一个基丁 STM32F103VET6的智能温湿度检测系统,目的是实现温湿度的采集和显示,温湿度的采集是作为自动化科学中一个必须掌握的检测技术,也是一项比较实用的技术。本次实验主要作了如下几个方面工作:首先通过对实时性、准确性、经济性和可扩展性等四个方向的分析比较之后,选择了 STM32F103VE 微控制器作为主控芯片和 DS18B20温湿度传感器来实现对温湿度数据进行采集:在TFT 液晶屏上显示出温度和湿度,然后详细介绍了各个模块的工作原理和硬件电路设计思路,实现了温湿度数据实时准确的测量:之后阐述了系统各个部分的软件设计思路: 最后对系统在实际应用中采集到的数据进行了处理,分析了误差产生的原因,并通过分段线性插值算法对系统非线性误差进行了校准,同未校准时采集的数据相比,校准后的数据准确度更高,稳定性更好。 在保证测量效果的基础上,本系统设计中充分考虑到性价比和再次开发周期性等,具有成本低、设计开发方便、通用性强等特点,不仅适用于现代农业生产中,还能用于其它工业控制、机械制造等其它领域,具有一定的市场推广价值。

关键词

嵌入式技术,电路设计,STM32, DS18B20 温湿度采集,TFT 液晶显示屏,程序设计

第一章 绪论

1.1 研究背景

在人类的生活环境中,温湿度扮演着极其重要的角色。特别是在冶金、医药、食品制造和化学制造业等行业尤其显得重要。在适当的温湿度下生产的产品质量、产量和合格率会大大的提高。有些药品的生产和存储要在很低的温湿度下进行: 石油分的过程中在不同的温湿度下才能分离出汽油、柴油、煤油、硫化物:食品的制造和存储也要在特定的温湿度下才能保证质量。在农业大棚蔬菜和室内圈养牲畜对于环境温湿度的要求也很高,大棚蔬菜的温湿度基本上要保证在 20~30C。鸡舍的育维期温湿度要控制在 36C左右。随着社会生产力和科学技术的发展,工农业生产和生活中对于温湿度的要求会越来越高,因此能够检测温湿度变化的温湿度检测设备出现在人们的视线中。它能使人们能及时看到温湿度变化的第一手资料,提示温湿度变化情况,协助人们及时调整,让温湿度控制更好的服务于整个社会和人们的生活。
近年来随着电子信息技术的飞速发展,人类的生活发生了很大的变化,尤其是随着大规模集成电路的出现,微型计算机应运而生,让人类社会进入了一个崭新的时代。但是因为微型计算机成本较高,在很多工业控制中并不是最好的选择。所以单片机因为价格低廉、可靠性高,性能稳定以及独特的定时、计数功能而被广泛的应用在工业控制,工业生产,家用电器制造等方面,单片机的应用在不断的走向深处,在实时检测与白动控制的单片机应用系统中,单片机一般是用来做核心部件的,由具体的硬件结构与控制对象的特点,和软件相结合来加以完善”温湿度是表示物体冷热程度的物理量,工农业生产过程中温湿度是一个非常重要的参数。温湿度测量在产品生产,工业设计,能源节约中发挥到了关键性的作用。随着科学技术的进步和生产的需要,温湿度传感器不断更新和卡富起来。温湿度作为一个模拟量,如果采用合适的技术和元件,把模拟的温湿度量转化为数字量虽然说不难,但电路比较复杂,成本也太高。温湿度测量中测量温湿度是亚点,本设计中单片机温湿度测量同样如此。
温湿度控制系统常用米保持温湿度恒定或者使温湿度按照某种规定的程序变化。由于温湿度白身的一些特点,如惯性大、滞厅现象严重、难以建立精确的数学模型等,传统的控制方式出于其控制精度不高、不能及时的跟踪对象特性变化等原因造成控制系统性能不佳。本设计基了这一点,选用具有高性能而又经济的 STM32 单片机作为控制器,所用算法为位置型 PID 控制算法,完成了对系统的设计,本课题的设计方案县有可行性和一定的推广性,若能够应用于实际生产生活中,将会对提高企业白动化水平、降低生产成本、减轻工人劳动强度、提高生活质量等方面起到积极的促进作用。

1.1.1国内研究现状

早期一般用人工手动方式测量温湿度,这种方式由于监测速度慢、监测精度低等而效率低下,监测时间长,应用场所有很大的局限性,不能及时根据实际情况调整温湿度的监测和控制。随着电子技术的飞速发展,传统的温湿度计被温湿度传感器替代,温湿度监测系统控制核心采用单片机,能够在数码管上实时显示出监测结果,从而使温湿度监测范围和系统工作效率得到极大提高。但是由于温湿度传感器的分布式布局和模拟信号转换,系统具有复杂的结构,,随之带来价格和维护上的劣势。
目前分布式的温湿度监测系统成为了主要的发展方向。作为一种新型控制技术,分布式控制系统能够集中监测、管理、操作并且分散控制整个生产过程。由连接到中心上位机的分布式温度控制子节点组成分布式温度监测系统。系统工作时,先实时控制每个子节点系统对采集的温湿度数据进行处理,然后将数据信息传到主机并加以存储和显示,同时主机通过以太网通信方式[0,111向每个子节点系统发送控制设定值和其它的控制参数,实现整个系统的闭环控制。发达国家如荷兰、英国等国家自 20 世纪 70 年代起已经致力于大力发展集约化的温湿度产业,用计算机统一调控温湿度内的温度、湿度、光照等变量。如:由以色列科学家研发的用于实现温湿度施肥、供水和环境的计算机自动化控制;英国的伦敦大学农学院大量采用计算机技术,观测和控制温湿度内的温度、湿度等环境状况,成功实现 50km 以内的温湿度遥控管理;1974 年荷兰首发的计算机 CECS 控制系统1978 年日本东京大学学者研制的温湿度综合环境控制系统。

1.1.2 国外研究现状

文献[1]中提到温湿度温度控制系统采用先进的单片机控制技术对温湿度进行温度调节,具有多点采集、适应性强、成本低以及节约能源等特点,能提高作物的品质和产量,可明显增加使用者的经济效益。该系统不但可以推行到其他同类型的温湿度中,还可以应用于类似进行温度调节的场合。该系统可作为温湿度多因素综合控制研究的基础,为作物生长提供更加适宜的环境条件。此外,该系统还便于与 PC 机相连,对今后较大规模的测控系统通过通道接口实现遥信控制。
文献[8]中提到,以色列、日本等先进国家的大型温湿度已经普遍采用计算机控制系统,在实现温湿度自动化控制的基础上,当前国际上对温湿度计算机控制技术的研究方向包括:1)基于互联网的温湿度计算机控制系统和温湿度图像系统;2)生态环境因素控制:3) 作业自动化: 4) 将专家系统应用于温湿度的管理、决策、咨询等方面,取得了不小的进步。
国内现有的大多数系统是从国外引进的,这些系统一是价格昂贵,二是存在水土不服的问题。我国温湿度经过十几年的消化吸收和发展,国产温湿度已经占据了主导地位,但温湿度计算机控制系统则一直依靠进口,成为我国温湿度行业的一个技术难题和瓶颈。国内在温湿度的自动控制与智能化方面进行了许多有价值的研究,但研制的系统体系结构不合理,软件功能比较弱,可靠性不高,系统组态不灵活,不能适应温湿度自动化控制的要求。
文献[2]中提到,美国有着发达的设施栽培技术,农业设施工厂有 100 多家其综合环境控制技术水平非常高。多数温湿度都以计算机控制为主,监测项目多控制精度高,且使用效果好。温湿度内监测项目包括: 水温、气温、土壤温度、相对空气湿度、管道温度、相对空气湿度、保温幕状况、通窗状况、泵工作状况、CO,浓度等。

1.2研究的目的与意义

1.2.1研究的目的

温湿度监测系统是为了维护仓储商品的质量完好,创造适宜于商品储存的环境,当库内温湿度适宜商品储存时,就要设法防止库外气候对库内的不利影响;当监控到库内温湿度不适宜商品储存时,就要及时采取有效措施调节库内的温湿度。因此,建立实时的温湿度监控系统,保存完整的历史温度数据都已经进入了行业规范。

1.2.2研究的意义

温湿度环境监测控制绝大部分都需要有人工经验来管理实现,这种方法是低效而落后的,而且这种现状不能满足现实要求,严重影响了农业设施的大力发展川。温湿度环境控制综合应用了当代农业生物学、环境科学、计算机控制与管理科学,因此它是一项非常综合的技术。为了满足农作物最佳生长要求而主动调节和控制温度、湿度、光照强度、CO浓度等环境因子的方法被称为温度综合环境控制。温湿度内有一些执行机构,对这些执行机构进行控制便可实现对各种环境因子的控制[2],生态环境得到改善作物便可更好生长。为了能够自动控制滴灌设备和调节土壤温度,实现报表打印及实时、历史数据趋势显示以及数据传输、越限报警、参量设置这些功能,需要用温度监测控制系统实时显示光照、温湿度内温湿度以及土壤湿度等参量[3]。
温湿度内的监测区域较大,通常分为各个子区域,采用下位机和上位机构成的反馈控制系统可以有效的进行监测控制,其中下位机的温湿度传感器是根据采集地点进行分布式排布的。由于传输距离和布线的限制不能用传统的 RS485总线方式通信,而是采用基于以太网的通信方式,减少数据延迟,建立基于各分布式温湿度测量子节点的自动控制网络,提供整个控制系统的可靠性和稳定性。

1.3系统要解决的主要问题及论文结构

正文

1.3.1 系统要完成的主要功能及描述

分功能进行简要的描述其功能。

1.3.2 论文结构

正文

第二章 需求分析

2.1 系统总体需求分析

现在的社会,信息化越来越高,几乎在各个领域都有信息化设备的存在,我国是个农业大国,对于农业种植一向都是十分重视的。由于自然气候合土壤质地原因,农作物的生长会受到一定的影响,甚至会影响作物的质量合产量。而智慧化农业的出现,能够大概率避免减少这些影响作物的因数。

2.2 系统功能需求分析

功能描述如下:
(1)温室环境实时监控
通过手机能够远程查看温室内的实时环境数据,远程查看温室的监控,保存历史监控,方便以后查看;
温室内环境报警,用户可以直接报警,系统记录处理信息,可以直接远程控制温室内设备;
远程控制室内环境设备,提高工作效率,做到基本的操作;
(2)远程自动控制
能够远程控制温室内的环境设备;
用户可以在任意地点查看温室的所有设备;
(3)历史数据分析
系统可以对当前数据与历史数据作对比,形成曲线图,方便农户对作物生长情况做了解;
业务流程如下:
温室内的环境数据通过传感器采集,将数据传输到服务器中进行汇总、整理、分析,反馈到用户的手机、计算机上,用户通过远程查看室内环境的情况,远程控制室内环境设备。
能够实时获取室内的温度、湿度、光照强度等等环境数据,通过获取到的值,进行智能分析,做到远程控制温度、灌溉、补充氧气浓度等等,保证给作物最适宜的生长环境。还能够通过手机、计算机向用户发送实时数据,让农户随时了解到作物的生长情况。

2.3 系统非功能需求分析

界面个性化

第三章 系统设计

3.1 系统总体设计

该设计主要由单片机最小系统模块,温湿度采集模块、显示模块和键盘模块,报警模块等构成以 STM32 单片机作为核心处理器。
主要完成的功能有以下几点:对室内温度进行实时检测、可按照指令改变控制参数、将检测的温度显示出来。

3.1.1系统架构

3.1.2功能架构

电路总体可以分为温度采集模块、单片机 STM32 最小系统模块、电机驱动模块、按键模块以及显示模块等。以 STM32 单片机最小系统作为核心控制电路,传感器采集温湿度作为 STM32 的输入,电机驱动模块、TFTLCD2.8 寸液晶屏,以及按键模块作为 STM32 的输出。采集温度方面由 DS18B20温度传感器来完成,它是一个数字温度传感器、内置模数转换,可直接与单片机相连接。而 TFTLCD2.8寸液晶显示屏是插针式,也可以直接与单片机相连接。通过 DS18B20 传感器采集当前的温湿度值、经单片机将其处理后的数据送到 TFTLCD 液晶显示屏来进行显示,主要显示测得的实时温度与设定的温度上下限。利用键盘设置温度阙值,如果当前采集的实时温度不在设定的温度阀值范围之内,则由STM32 单片机发出指令来控制电机驱动模块,使电机正常工作来实现室内温度控制。

3.1.3技术架构

(1)keil5环境下完成stm32温湿度检测程序的开发。
(2)使用串口调试助手(提供软件:串口调试助手V2.2.exe)模拟下位机,模拟的下位机每隔5s从串口发送数据包,数据包格式为“SDDTDDHF”。其中,第1位“S”是起始标志,第2-3位“DD”,表示温度值,第4位“T”为温度标识符,第5-6位“DD”表示湿度值,第7位“H”为湿度标识符,第8位“F”是结束标志。
(3)使用虚拟串口软件(提供软件:vspdxp虚拟串口破解版.rar)模拟串口线连接串口调试助手和上位机程序。
(4)上位机由LabVIEW程序语言设计,数据库采用2003版本的Access。

3.2 系统类图设计

3.2.1初步类图设计

单片机要正常工作必须电源电路提供电源,通过震荡电路产生时钟周期,同时为了防止系统异常还需加上复位电路,可手动让系统重新工作。(1) 震荡电路
震荡电路用的是 8M晶振,因为 STM32 内部可以通过锁相环可以进行倍频,变为最高 72MHZ 的频率,所以外部接 8MHZ 晶振,经过倍频可达到 72MH2”。其电路如图 2.3 所示。其电路主要有晶振电容和电阻组成。其中0SDIN 和 OSDOUT 为 STM32外部时钟电路引脚。通过震荡电路产生时钟从该管脚输入作为处理器时钟源。

Stm32 是低电平复位并且每次上电是会复位一次,所以系统上电之后默认情况下其 RST 脚应该为高电平。其电路如图 2.4 所示。R1 位上拉电阻,REST 为单片机复位引脚,当按键 K1 按下 RST引脚输出低电平,此时系统复位;当复位按键 K1 没按下时,由于 RST 直接接在上拉电阻上,默认为高电平,所以系统正常工作。

3.2.2时序图设计

DS18B20的核心功能是它的直接读数字的温度传感器。温度传感器的精度为用户可编程的9,10,11或12位,分别以0.5℃,0.25℃,0.125℃和0.0625℃增量递增。在上电状态下默认的精度为12位(所以最后获取的数据要乘以0.0625得到实际温度)。DS18B20启动后保持低功耗等待状态;当需要执行温度测量(和AD转换)时,总线控制器必须发出[44h]命令。在那之后,产生的温度数据以两个字节的形式被存储到高速暂存器的温度寄存器中(所以后期获取数据时,必须连续读取两次数据),下面介绍时序及相应代码(以12MHz的晶振为例,数据线定义为DQ),其中DS18B20的所有通信都是以由复位脉冲组成的初始化序列开始的,并采用的是单总线协议。
(1)初始化
(2)DS18B20的写时序
(3)DS18B20的读时序

3.2.3详细类图设计

整个设计系统功能是由软件程序配合硬件电路来实现,如果硬件电路已经确定,软件的功能也就基本上确定了,因为软件程序的编译是基于 STM32 单片机编程。软件部分可分为主程序和子程序主程序是整个控制系统的核心,用于调节和处理各模块之间的关系”。子程序是各个模块实现实质性的功能,其主要子程序包括: 温度采集、键盘扫描、LCD 显示等。

首先进行系统初始化配置,即首先向在 stm32 控制器中配制寄存器和I/0 口,建立系统任务、测量任务及控制任务,并在启动任务中初始化传感器基础配置。然后在任务中编写用户程序。用户程序设计如下:将接 DS18B20 读到的数据通过 STM32 的输入捕获模式得到该数据,送到 TFTLCD 液晶显示屏来进行显示,主要显示测得的实时温度。然后首先判渐按键是否按下,如果未按下按键则返回按键扫描,否则再进一步判断所测得的数据实时温度是否在室内温度设定的阀值范围内。如果没有在室内温度设定的闽值范围内,则需要启动电机驱动模块来启动电机,通过热冷客气对流来平衡温差,直到室内温度达到室内温度设定的阙值范围的要求,最后结束主程序。

3.3 系统数据库设计

3.3.1数据库实体模型设计(E-R图)

3.3.2数据库设计

总设计包括一下几个步骤:
(1)利用EMQ X Cloud部署云服务器
(2)点击左侧菜单栏规则引擎,找到资源面板,点击新建资源,下拉选择 MySQL 资源类型。填入刚才创建好的 mysql 数据库信息,并点击测试如果出现错误应及时检查数据库配置是否正确。

(3)规则测试
点击左侧左侧菜单栏规则引擎,找到规则面板,点击创建,然后输入如下规则匹配 SQL 语句。在下面规则中我们从 temp/zhong 主题读取消息上报时间 up_timestamp、客户端 ID、消息体(Payload),并从消息体中分别读取温度和湿度。
(4)添加响应动作
点击左下角添加动作,下拉选择 → 保存数据到 MySQL 选择第一步创建好的资源,并输入以下数据插入 SQL 模板。
点击创建,并返回规则列表

3.4本章小结

上位机程序所包含的功能有:
①在登录窗体下,根据Access数据库建立的用户表信息,用户输入正确的用户名和密码可登录主界面窗体,若输入错误信息则弹出错误对话框。
②用户进入主界面窗体后,能接收到下位机发送的测量数据,经过分析处理在数值型指示控件和Waveform Chart控件分别显示实时温度、实时湿度、温度变化趋势图和湿度变化趋势图。
③该系统具有数据存储功能,在Access数据库中建立测量数据表,将下位机发送的测量数据写入到数据库中存储。
④历史数据显示功能,系统每次开机都将访问数据库中的测量数据表,将记录在Table控件中显示出来。

第四章 系统实现

4.1系统开发环境

Vmware(ubuntu19.04)、阿里云平台(ubuntu)、Android、vscode本地网页端口8000

4.2程序目录结构

4.3平台端

4.4手机端

5 本章小结

本章简要介绍了温湿度监测系统的结构构建、硬件设计、软件设计和控制算法设计方案。分布式结构的构建中,上位机系统选用 PC 机和手机端,可以配置多个单片机的参数,从而形成上位机和下位机两级分布的控制方式;硬件设计方案主要是设计以太网通信电路和下位机系统:软件设计方案包括上位机软件、下位机各模块和以太网通信模块的设计。

第五章 结论

本设计介绍了基于 STM32 单片机的温度控制系统的设计内容,对整个硬件电路设计和软件程序设计做了分析。主要完成的工作有: 硬件电路图的设计、软件的编程以及硬件的制作。系统以 STM32 为核心进行系统设计,采用 DS18B20 芯片完成对温度采集,并将采集的温度转换为数字量传送给单片机进行分析和处理,采用 L298N 与单片机相连接,从而控制风机的转动,以达到降温的目的。采用 TFTLCD 液晶显示屏对检测到的温度和设定的温度进行显示。在设计制作的过程中遇到了不少问题,但是在不断的检测与调整下得到了解决。但由于我个人缺乏对 STM32 单片机开发的经验以及制作时间有限,使本次设计仍存在缺陷,比如当温度低于设定的温度值时要进行升温操作,但是在这次设计中没有实现。
其实写完了本篇文章,也仅仅是对温度控制系统做出了一个简单的设计方案,温度控制器应用在很多领域,在一些人不能直接进入的场所,利用单片机控制的温度控制器,可以设置并控制其中的温度,温度控制器利用在温室中,这样就可以方便的控制温室中的温度。我相信在不久的将来温度控制系统肯定会广泛地应用在我们的日常生活及工农业生产中,这将会对提高企业自动化水平、降低生产成本、减轻工人劳动强度、提高生活质量等方面起到积极的促进作用,让温度控制更好的服务于整个社会和人们的生活。总之基于单片机的温度控制器利用在很多领域。本课题只是单片机温度控制系统的一种设计方法。

参考文献

[1] 唐豪强。程序设计(第二版) 。北京: 清华大学出版社。 (2003)
[2] 智博陈,王春琳。目标程序语言。北京: 人民邮电出版社。 (2002)
[3] 永福陈。红外辐射装置及其典型应用。北京: 电子工业出版社,2004。 [4]世昌江。红外测量技术综述。测量试验杂志,1999(3) : 18 至19
[5]唐文彦。传感器。北京: 机械工业出版社。 (2006)
[6] 锡惠陈,张教授。LabVIEW 编程从入门到精通 8.20。北京: 清华大学出版社。 (2007)
[7]霍梁初识刘、仙阳。STM32 库开发实用指南。北京:机械工业出版社。 (2013)
[8]湘军胡。电路分析。北京: 高等教育出版社。 (2007)
[9]w.richard 史蒂文斯 (美国)。TCP / IP 舍入,卷:协议。机械工业出版社。(2000)

致谢

报告简单地记录了本人与小组成员在这学期期间在学校进行的线上嵌入式培训。在老师的指导下,我们最终完成了基于stm32的温湿度检测综合平台的开发。
最终以三个功能模块的设计以及各功能模块整合结束此次课程。经历了这门课的学习,我们更深入地了解了嵌入式,上手设计使得理论更具体。

你可能感兴趣的:(嵌入式完整作品,stm32,单片机,嵌入式硬件)