logo资料库

基于STM32的温度控制系统设计.pdf

第1页 / 共17页
第2页 / 共17页
第3页 / 共17页
第4页 / 共17页
第5页 / 共17页
第6页 / 共17页
第7页 / 共17页
第8页 / 共17页
资料共17页,剩余部分请下载后查看
基于 STM32 的温度控制系统设计 内容摘要:温度监控主要应用在温室以及需要对温度进行监控的地方,主要目的是为 了能够感知所检测区域的温度情况并进行温度控制。设计以 STM32F103 作为系统控制 核心,使用了 STM32F103 的部分外设模块,使用 DS18B20 测量温度,以电阻加热丝作 为升温设备,使用 OLED 进行显示,利用 PID 位置试控制算法,输出 PWM 进行电热丝的 加热,稳定在温度的预设值。通过对按键的检测去改变目标值的大小,实现对温度的 有效控制。整个硬件系统通过处理器的控制达到协调有序的工作状态。对于软件方面, 实现每个对应功能模块的程序编写。通过反复验证,该温控系统具有操作简单、精度 较高、工作可靠和性价比高等特点。 关键词:DS18B20;温度控制;STM32F103;PWM;PID I
Design of temperature control system based on stm32 Abstract: Temperature monitoring is mainly used in greenhouses and places that need to monitor the temperature. The main purpose is to be able to sense the temperature of the detected area and control the temperature. The design takes STM32F103 as the control core of the system, USES some peripheral modules of STM32F103, USES DS18B20 to measure the temperature, USES resistance heating wire as the heating device, USES OLED for display, USES PID position test control algorithm, outputs PWM for heating the heating wire, and stabilates at the preset value of temperature. The preset value is transmitted to STM32F103 from the mobile phone through serial port communication through the slave of Bluetooth module to realize effective control of temperature. The whole hardware system achieves coordinated and orderly working state through processor's control. In terms of software, each corresponding function module is programmed. Through repeated verification, the temperature control system has the characteristics of simple operation, high precision, reliable operation and high cost performance. Keywords: DS18B20;temperature control; STM32F103;PWM;PID II
目 录 前言 ..................................................................... 1 1 方案设计 .............................................................. 1 1.1 系统功能要求 ...................................................... 2 1.2 系统方案 .......................................................... 2 1.3 系统设计框图 ...................................................... 2 2 电路设计 .............................................................. 2 2.1 电源模块 .......................................................... 3 2.2 单片机 STM32F103 最小系统设计 ...................................... 3 2.3 温度采集模块设计 .................................................. 5 2.4 显示模块设计 ...................................................... 6 2.5 控温模块设计 ...................................................... 7 2.6 按键电路设计 ...................................................... 7 3 软件设计 .............................................................. 8 3.1 主程序流程图 ...................................................... 8 3.2 温度采集程序流程图 ................................................ 8 3.3 控温程序 .......................................................... 9 3.4 显示程序 ......................................................... 10 3.5 按键调控程序 ..................................................... 11 4 总结 ................................................................. 12 附录 1 ................................................................... 14 附录 2 .................................................... 错误!未定义书签。 参考文献 ................................................. 错误!未定义书签。 III
基于 STM32 的温度控制系统设计 前言 第二次工业革命以后,随着工业的快速发展,温度测量及控制技术得到了飞快 发展。目前国内外使用的温度传感器种类繁多、使用范围也较为广泛,总的来看可 以分为以下几种:第一种,日常生活常见的温度计。利用了水银的热胀冷缩原理, 随着温度变化水银柱达到不同的刻度。第二种,利用热阻效应和热电效应制作成的 温度检测元件。例如:热敏器件、电阻测温器件、热电偶等等。还有就是利用声学、 热辐射和红外技术制作的温度测量元件等等。对于温度监控技术在温室内使用情 况,国内外发展还具有很大差距。 我国的温室技术起步较晚,相应的设施也发展的相对较慢,大概起始于 20 世 纪 80 年代中后期。起初,我国通过对国外的技术学习掌握了人工气候室内计算机 应用技术。随后,国内的温室技术才慢慢开始兴起。但由于国内整体农业技术水平 相对较低,温室技术投资大,现实劳动力剩余,以及技术人员短缺等因素,限制了发 展速度。 近几年来,国内的温室技术才正真有了发展,同时由于现有的温室设施都比较 简单,很多监测和调控还需要大量人工 I,温室环境改变的可调度还是相对较低。 相比国外同时期,我国的温室生产效率和生产率还有待提高。监控技术的应用,相 对来说可以提高温室的单位产出率和可靠性。所以,温室的环境监控是非常重要的。 目前的国外温室监控技术已经发展的比较成熟了,很多国家已经实现了自动化 和智能化管理,完全的去除了人为的参与,效率和产量都有很大的提高,经济效益 也变得非常可观。其中在欧洲国家西班牙、法国和荷兰,还有北美洲加拿大和美国 在这方面做得非常的突出,温室中安装有以天然气为主的供暖系统和水肥调控系 统,还有对二氧化碳浓度的实时监控和通风、灌溉技术等等。通过各类传感器,将 各项指标采集后传输到控制器进行在线的处理及分析,再按照最优的环境参数进 行调控,达到适宜农作物生长的最佳条件。 从国内外的温室环境监控技术的发展情况来看,都经历了一个从简单到复杂, 从手动到自动的过程,而且正在逐步的走向智能化和无人化。 1 方案设计 1
1.1 系统功能要求 主要完成的功能有以下几点:对外部温度进行实时检测、可按照指令改变控制 参数、将检测的温度显示出来。 1.2 系统方案 该设计主要由单片机温度采集模块、显示模块、按键模块,控制模块等构成, 以 STM32F103 单片机作为核心处理器。 电路总体可以分为温度采集模块、控制模块以及显示模块等。以 STM32F103 单 片机最小系统作为核心控制电路,传感器采集温度作为 STM32F103 的输入,OLED 显 示屏作为 STM32F103 的输出。采集温度方面由 DS18B20 温度传感器来完成,它是 一个数字温度传感器、内置模数转换,可直接与单片机相连接。而 OLED 屏是插针 式,也可以直接与单片机相连接。通过 DS18B20 传感器采集当前的温度值、经单片 机将其处理后的数据送到 OLED 屏来进行显示,主要显示测得的实时温度。调节温 度是通过改变 STM32F103 单片机温度控制指令来实现室内温度控制。 1.3 系统设计框图 按照系统功能的具体要求,在保证实现其功能的基础上,尽可能降低系统成本。 总体设计方案围绕上述思想,确定系统的方案如图 1.3-1 所示。 晶振电路 电源电路 复位电路 DS18B20 OLED 显示 STM32F103 控制器 场效应管控制 按键模块 图 2.3-1 设计框图 2 电路设计 硬件主要包括:温度采集模块、单片机 STM32F103 最小系统模块、显示模块、 2
控制模块、以及按键模块。 2.1 电源模块 图 2.1-1 电源模块 接入 5V 外接电源,然后通过 AMS1117-3V3 三端稳压器将 5V 电压转换为 3.3V 电压可供 STM32F103 最小系统使用及 DS18B20 模块使用,5V 电源经过 7812 三端稳 压器可输出 12V 电压可供电热丝发热使用。电路图如图 2.1-1 所示。 2.2 单片机 STM32F103 最小系统设计 3
图 2.2-1 单片机 STM32F103 最小系统电路 STM32 系列是为要求高性能、低成本、低功耗的嵌入式应用专门设计的 ARM Cortex-M3 内核。按性能分成两个不同的系列:“增强型”STM32F103 系列和“基本 型”STM32F101 系列。增强型系列的时钟频率能达到 72MHz,是同类产品中频率最 高的:基本型的时钟频率为 36MHz,用 16 位产品一样的价格得到比 16 位产品更大 的性能,是 16 位产品的最好选择。两个系列都有内置的 32K 到 128K 的闪存,不 同的是 SRAM 的最大容量和外设接口的组合。时钟频率为 72MHz 时,从闪存执行代 码来看,STM32 功耗 36mA,是 32 位市场上功耗最低的产品,相当于 0. 5mA/MHz。 以 STM32F103 单片机为处理器,该单片机为 32 位处理器。内核为 Cortex-M3, 其并行总线结构,嵌套中断向量控制单元,调试系统和它标准的存储映射。嵌套中 断向量控制器(Nested Vector Interrupt Controller, 简称 NVIC)是 Cortex-M3 处理器中一个比较关键的组件,它为基于 Cortex-M3 的微控制器提供了标准的中 断架构和优秀的中断响应能力,为超过 240 个中断源提供专门的中断入口,而且 可以为每个中断源赋予单独的优先级。采用 NVIC 可以达到非常快的中断响应速度, 从收到中断请求到执行中断服务的第一条指令仅需 12 个周期。这种极快的响应速 度一方面得益于 Cortex-M3 内核对堆栈的自动处理机制,这种机制是通过固化在 CPU 内部的微代码实现的。另一方面,在中断请求连续出现的情况下,NVIC 使用 一种称为“尾链”的技术,使连续而来的中断可以在 6 个时钟周期内得到服务。在 中断的压栈阶段,更高优先级的中断可以不耗费任何额外的 CPU 周期就能完成嵌 入低优先级中断的动作。用户可以通过设置 CPU 自动进入低功耗状态,而使用中 断来将其唤醒,CPU 在中断时间来临之前会一直保持睡眠状态。 在指令集方面,ARI7 和 ARM9 都有两种指令集(32 位指令集和 16 位指令集), 而 Cortex-M3 系列处理器支持 Thumb-2 指令集。由于 Thumb-2 指令集融合了 Thumb 指令集和 ARM 指令集,使得 32 位指令集的性能和 16 位指令集的代码密度之间取 得了平衡。而且,ARM Thumb-2 专门为 C/C++编译器设计,这就意味着 Cortex-M3 系列处理器的开发应用可以全部在 C 语言环境中完成。STM32 微控制器的推出标志 着 ST 公司在两条产品主线(低价位主线和高性能主线),上迈出了重大一步。STM32 最初发布时有 14 个不同型号,分为两个版本:最高 CPU 时钟为 72MHZ 的“增强型” 和最高 CPU 时钟为 36MHZ 的“基本型”。这些不同 STM32 型号里内置的 Flash 最 4
大可达 128KB,SRAM 最大为 20KB,在 STM32 发布之初,配置更大 Flash, RAM 和 更复杂外设的版本就已经在规划之中了。不管是什么版本,什么型号的 STM32 器 件,它们在引脚功能和应用软件上是兼容的。这就使得开发人员在使用 STM32 系 列微控制器时,不必改动 PCB 就可以根据需要随意更换器件型号。这一看 STM32 的 设备配备,与往日熟悉的 51 单片机倒有几分相似。一般,STM32 都会配备常见外 设,诸如多通道 ADC,通用定时器,I2C 总线接口,SPI 总线接口,CAN 总线接口, USB 控制器,实时时钟 RTC 等。但是,它的每一个外部设备都具有独特之处。例 如,12 位精度的 ADC 具备多种转换模式,并带有一个内部温度传感器,带有双 ADC 的 STM32 器件,还可以使两个 ADC 同时工作,从而衍生出了更为高级的 9 种转换 模式:STM32 的每一个定时器都具备 4 个捕获比较单元,而且每个定时器都可以和 另外的定时器联合工作以生成更为精密的时序; STM32 有专门为电机控制而设的 高级定时器,带有 6 个死区时间可编程的 PWM 输出通道,同时其带有的紧急制动 通道可以在异常情况出现时,强迫 PWM 信号输出保持在一个预订好的安全状态: SPI 接口含有一个硬件 CRC 单元,支持 8 位字节和 16 位半字数据的 CRC 计算。在 对 SD 或 MMC 等存储介质进行数据存取时相当有用。而且,STM32 还包含了 7 个 DMA 通道。没恶搞通道都可以用来在设备与内存之间进行 8 位,16 位,32 位数据的传 输。每个设备都可以向 DMA 控制器请求发送或者接收数据。STM32 内部总线仲裁器 和总线矩阵将 CPU 数据接口和 DMA 通道之间的连接大大的简化了,这就意味着 DMA 通道单元是很灵活的其使用方法简单,足以应付微控制器应用中常见的数据传输 要求。电路图如图 2.2-1 所示。 2.3 温度采集模块设计 图 2.3-1 温度检测模块连接原理图 5
分享到:
收藏