当前位置: 首页 > article >正文

单片机实物成品-009 温度控制系统水温控制系统

温度控制系统水温控制系统(温度 +排风+加热片+自动模式+手动模式+阈值设置+wifi传输控制+送APP源码 )

本项目以软硬件结合的方式,选择C语言作为程序硬件编码语言,以STM32单片机作为核心控制板,在数据传输节点上连接温度传感器对环境温度进行实时检测,且根据温度的高低实现自动调节,并将数据通过WIFI无线通信技术传输至上位机,实现环境温度的24h远程监控,达到全自动的智能化管理目标。

成品展示:

温度控制系统版本六

功能简介:

 1.STM32F103C8T6 单片机进行数据处理 

 2. OLED 液晶显示空气温度实时数据。 

 3. DHT11(DS18B20)温度传感器检测当前温度

 4.第一个按键:切换模式 自动模式/手动模式/阈值设置模式 

 5.手动模式下 第二个按键切换选中某个设备 第三个按键打开和关闭选中的设备 

 6. 阈值模式下第二个按键切换选中设置某个阈值  按键三 加  按键四 减

 7. 温度高于设定的阈值时,继电器外接排风设备打开   进行排风  低于阈值时 关闭排风设备 停止排风

 8.温度低于设定的阈值时,继电器外接加热片设备打开 进行加热  高于阈值时 关闭加热设备 停止加热

 9.WIFI 模块ESP8266 无线传输数据到APP进行显示

 10.APP 可以远程控制排风设备和加热设备的开启和关闭 

 11.APP 可以远程设置阈值

论文目录展示:

第一章 绪  论  

1.3 主要研究方法

1. 文献调研法:这是一种资料收集方法,通过官方网站、图书馆等途径去查阅相关课题的文献、学术报告以及行业标准等,了解目前该温度控制系统的研究背景、国内外研究现状、发展趋势、未来市场等,为课题的设计提供有效的理论依据和技术指导。

2. 实地调查法:对现有的相关产品进行了解,例如通过对不同品牌、不同型号的温度控制设备进行实践和研究,分析不同产品的优劣,总结问题,根据问题作出改进,从而制定大概的系统需求。

3. 系统设计方法:根据整理得到的基础资料和大概需求,设计系统整体的架构和功能模块,并根据各个模块的需求,筛选合适的硬件元器件,包括单片机、传感器、报警设备执行器等,得到具体、详细的方案设计。

4. 系统集成方法:将划分好的模块进行统一、集成,形成完整的温度控制系统,验证各个模块之间是否成功建立通信,数据和指令是否成功、正确的传输等

1.4 论文组织结构

本温度控制系统论文的组织结构分为六章。

1. 第一章是论文的基础介绍,包括系统的研究背景、意义,相关领域上的国内外研究现状,以及本温度控制系统的主要研究方法;

2. 第二章是对本温度控制系统的方案进行分析,包括对各个功能模块的划分、元器件的选择,以及总体框图的绘制等; 

3. 第三章是对本温度控制系统的硬件电路进行详细介绍,说明各个功能模块的电路连接方式,以及数据的交互情况,能够清楚程序电路是怎么运行的,电平是怎么传输的;

4. 第四章是对本温度控制系统的软件部分进行详细介绍,对各个功能模块的实现逻辑、流程进行说明,并绘制出对应的流程图进行解释;

5. 第五章是对本温度控制系统的软硬件部分进行调试与实现,包括介绍系统的测试目的与方案,系统软硬件的用例测试,以及实物运行效果;

6. 第六章是对本温度控制系统论文的总结与展望,总结出本系统的优势与弊端,以及未来需要调整的方向等。

第2章 系统总体设计

2.1 方案分析

本项目以软硬件结合的方式,选择C语言作为程序硬件编码语言,以STM32单片机作为核心控制板,在数据传输节点上连接温度传感器,对环境温度进行实时检测,且根据温度的高低实现自动调节,并将数据通过WIFI无线通信技术传输至上位机,实现环境温度的24h远程监控,减少人工干预,有效保障环境安全,优化产品质量,推动科技进步。包括了主控模块、传感器模块、按键模块、执行模块、显示模块、通信模块。

其中,主控模块作为设计的核心,能够进行指令的发送、接收,以及对数据的运算处理;传感器模块能够采集环境温度数据;按键模块能够实现程序的人机交互,可以使用按键来设置温度上下限的阈值、切换功能模式、手动控制执行设备;显示模块是将程序的监测数据、设备状态等相关信息显示出来提供给人员查询,从而提高了程序的互动性;当监测到环境温度高于阈值上限的时候,会驱动执行设备风扇进行降温;当监测到环境温度低于阈值下限的时候,会驱动执行设备加热片进行升温,从而实现环境温度的自动调节;在通信模块中,可以实现上下位机的交互,对环境温度进行远程监控。因此,本温度控制系统的总体框图如图2.1所示。

图2.1 程序总体框图

在上位机中,可以实现数据的双向交互,不仅可以接收传感器监测到的环境数据,还可以切换程序的功能模式,设置温度的上下限阈值,控制各项执行设备等,从而达到远程监控的目的,实现温度的智能化调节。其上位机的功能框图如图2.2所示。

图2.2 上位机功能框图

第3章 硬件电路设计

3.1 主控模块电路设计

单片机是一种微处理器,而STM32单片机是一种32系列的微处理器,是硬件程序的核心控制,能够向程序发送指令、接收指令,并控制外设作出一定的反应,同时能够对程序的数据进行计算处理,得到运算结果。STM32单片机分为了Cortex-M0、M3、M4 和M7四种类型。常用的STM32单片机是以Cortex-M3为内核的,其架构包括了Lcode总线、4个驱动单元、4个被动单元、总线矩阵以及AHB/APB桥这几个部分。

Lcode总线是程序的接口向量,负责完成指令预存;4个驱动单元包含了Dcode总线、系统总线、通用DMA1总线、通用DMA2总线,其中Dcode总线负责连接闪寸的数据接口、系统总线负责协调DMA的访问、通用DMA1总线负责AHB主控接口与总线矩阵连接;4个被动单元包括内部SRAM、内部FLASH、FSMC、从AHB到APB的连接APB设备;总线矩阵是负责来协调系统总线与DMA主控总线之间的访问,而AHB外设依靠总线矩阵和系统总线连接,并且允许DMA访问;AHB/APB桥主要负责同步连接。其应用十分广泛,在建筑、安防、消防、智能家居、工业自动化等领域。

本温度控制系统的主控模块选择的是STM32F103C8T6型号的单片机,其电路设计如下图3.1可示。该型号的芯片内集成了各种电路,由电源电路、复位电路、ADC转换电路、时钟电路等部分组成。其中,电源电路负责为整个系统提供供电电源,本STM32F103C8T6芯片规定供电电源为3.3V,在38管脚接入,由于本系统的一些外设需要5V的电源,所以在STM32F103C8T6芯片的18管脚接入了5V电源并通过内置的稳压芯片将其转换为符合STM32F103C8T6芯片要求的3.3V;复位电路是为程序提供的初始化功能,如果要重新进行启动,可以通过复位电路的按钮来操作,从而达到了初始化整个程序的目的;ADC转换电路负责将各传感器采集到的数据信号转换为STM32F103C8T6芯片可以进行处理和计算的数字信号;时钟电路内置了震荡芯片,来对程序的运行进行计时处理,保证程序可以按照一定时间顺序进行运行。主控模块的芯片具有一体化、简易化、灵活化的特点,该电路中的其余管脚和接口用来负责连接各项执行器、通信设备、传感器设备等,实现信号通信。

图3.1 主控模块电路设计

第4章 系统软件设计

4.1 编译语言和环境

C语言是所有计算机语言中的基础,C生万物,也是所有程序员学习编程的第一门语言,它在1972年的时候由丹尼斯·里奇和肯·汤普逊在开发。C语言虽然原始,但是它保留了很多优势,所以直到现在也被很多人使用,首先,它在设计上具有自顶向下的特性,能够对程序进行结构化和模块化设计;其次,在编码过程中,它具有高效、快速的特性;然后,C语言程序还可以在不同的操作系统上运行,只需要稍作修改进行适配即可,具有可移植性、兼容性的特点,如果程序员需要更换设备进行编码,会很方便;最后,C语言也是一款面向程序员的语言,程序员可以直接通过C语言来访问硬件、操作内存中的位信息等。

本温度控制系统属于一款硬件程序,硬件的开发是通过在Keil平台使用C语言进行编码,来实现硬件各功能模块,包括传感器的工作代码、单片机的工作代码等,所以本系统的关键开发技术是C语言。

Java语言nengg对本系统软件部分各功能进行编译的技术,本系统的上位机终端通过手机App实现,让操作人员可以在手机App上实现远程监控。Java是一种面向对象的编程语言,主要用作软件程序的开发,它在C语言的基础上,更加简单上手。Java的编程环境包括JDK、JRE、JVM,其中,JDK是Java程序的开发包,也就是Java程序的开发环境,也是整个Java程序的核心,在JDK中,包含了很多Java API,程序员在开发的时候可以直接调用使用;Java程序开发和运行所需要的条件是不同的,而JRE是Java程序的运行环境,但是在下载JDK的时候就包含了JRE,所以不再需要额外下载安装JRE;而JVM是指Java虚拟机,是一种虚拟处理器,解决Java编译器和操作平台之间的问题,从而实现Java程序跨平台。这三者的关系为JDK包含JRE,JRE包含JVM。此外,Java技术可以应用于Android App中,在本系统的软件开发中,虽然是以手机App的形式进行操作使用,但代码仍然是使用Java语言所编写。并且选择IntelliJ IDEA开发工具,能够进行代码自动提示、分析,能够为程序员节省很多开发时间。

4.2 主程序设计

温度控制系统的主程序设计流程为:首先初始化程序各功能模块,并通过ESP8266模块建立上下位机的连接,通过按键或者手机App来设置温度阈值的上下限,确认后启动程序DHT11传感器设备开始采集环境温度信号,并将信号进行AD数模转换为数字信号显示到OLED显示屏上,同时发送给上位机。程序会根据采集到的信号进行判断是否符合要求,若不在要求范围内,由主控模块自动启动执行模块,实现温度的自动调节。此外,也可以通过按键和手机App来进行手动改善环境温度操作。其主程序设计如图4.1所示。

图4.1 主程序设计流程图流程图

第5章 系统实现与调试

5.1系统实现

5.1.1 系统硬件实现

本温度控制系统的硬件部分,由主控模块、传感器模块、按键模块、显示模块、执行模块、通信模块组成。其中,主控模块使用STM32F103C8T6型号的单片机MCU,能够成功的向各个外设发送、接收程序指令,并对数据进行逻辑运算和处理;传感器模块由DHT11传感器完成,通过与主控模块上的引脚接口进行连接,实现数据传输和控制,能够成功采集并转换环境的温度数据;按键模块由四位按键实现,每个按键对应了不同的功能,通过按下按键触发电路闭合,满足电流通过条件,实现人机交互;显示模块使用OLED显示屏来将采集到的数据等显示读出;执行设备包括两个继电器,连接风扇和加热片,分别对应了不同的操作,可以根据传感器模块的检测情况作出及时反应,从而实现环境温度的自动调节;通信模块使用了Esp8266模块,建立了系统软硬互通的桥梁,完成上下位机的数据交互,为用户的远程监控提供了基础。

综上,本温度控制系统的硬件部分实现界面如下图所示。

图5.1 系统硬件实现图

5.1.2 系统软件实现

本温度控制系统的软件部分,以手机App的形式展示。包括数据查询、设置温度阈值、切换功能模式、以及手动远程控制风扇、加热片的开关,以实现环境温度的24h远程监控。首先,使用手机App与程序硬件连接,在界面顶部,可以在查看到环境的实时温度数据。可以在界面中部,可以控制不同执行器的状态,最后可以分别设置温度阈值的上下限。其软件界面实现如图5.2所示。

图5.2 系统软件实现图


http://www.kler.cn/a/460391.html

相关文章:

  • 【数据结构】双向循环链表的使用
  • 1Panel自建RustDesk服务器方案实现Windows远程macOS
  • 【Vue3项目实战系列一】—— .eslint.config.js配置文件详细说明,本文除了讲解项目配置项内容,还探讨了更多高级设置并给出参考示例,阅读本文你可以更好地理解和使用 eslint
  • Springboot使用RabbitMQ实现关闭超时订单的一个简单示例
  • Android14 CTS-R6和GTS-12-R2不能同时测试的解决方法
  • HTML——49.header和footer标签
  • Midjourney技术浅析(二):文本预处理过程
  • 002 用户数据的构造和渲染
  • 从0到机器视觉工程师(一):机器视觉工业相机总结
  • python23-常用的第三方库01:request模块-爬虫
  • UE(虚幻)学习(三) UnrealSharp插件中调用非托管DLL
  • 前端通过函数方法触发文件上传、限制文件类型、限制文件大小、上传的进度
  • 仿快团团商品详情页底部按钮头像轮播(uniapp)
  • XQR5VFX130-1CN1752V,,具有高度的可编程性和灵活性的FPGA中文技术资料
  • 摄像头监视脚本
  • Wonder Dynamics技术浅析(一)
  • [算法] [leetcode-1137] 第 N 个泰波那契数
  • 【自动驾驶汽车通讯协议】RGMII通信技术详解
  • 自学记录:鸿蒙5使用ArkTS和ArkUI实现Live View功能
  • 【经管】上市公司供应链风险数据测算数据集+dofile(2008-2023年)
  • gitlab的搭建及使用
  • udp分片报文发送和接收
  • 经典排序算法:冒泡排序与选择排序
  • List排序的方法
  • JVM和异常
  • 【华为OD-E卷 - 机房布局 100分(python、java、c++、js、c)】