当前位置:文档之家› 基于某STM32F103的恒温系统的设计

基于某STM32F103的恒温系统的设计

中国矿业大学计算机学院2013 级本科生课程报告报告时间2016.09.20学生谊坤学号08133367专业电子信息科学与技术任课教师王凯任课教师评语任课教师评语(①对课程基础理论的掌握;②对课程知识应用能力的评价;③对课程报告相关实验、作品、软件等成果的评价;④课程学习态度和上课纪律;⑤课程成果和报告工作量;⑥总体评价和成绩;⑦存在问题等):成绩:任课教师签字:年月日摘要针对目前温度控制在生产生活中被广泛应用,而传统的温度控制系统是由功能繁杂的大量分离器件构成,为了节约成本、提高系统的可靠性,本文设计了一种基于STM32F103T6的温度控制系统。

本设计是基于DS18B20的温度控制系统,以STM32F103ZET6为控制系统核心,通过嵌入式系统设计实现对温度的显示和控制功能。

在该系统中,为了减小干扰的影响,用均值滤波算法对采样数据进行处理之后再进行温度判定等一系列操作的依据。

设计中,基本上实现了该系统的功能,通过DS18B20采集温度数据,使用LCD屏幕来显示相关的信息,能够通过加热和降温将温度控制在恒定的围,并可以手动设置恒温围,温度超出限制后会有声光报警。

关键词:STM32F103,均值滤波,恒温控制,DS18B20目录1 绪论 (1)1.1选题的背景及意义 (1)1.2设计思想 (1)2 硬件设计 (2)2.1硬件平台 (2)2.2硬件设计模块图 (3)2.3温度传感器DS18B20 (3)2.4 LCD屏幕 (6)2.5 DC 5V散热风扇 (8)2.6加热片 (8)3 软件设计 (9)3.1软件平台 (9)3.2软件设计模块图 (9)3.3主程序流程图 (10)3.4子程序流程图 (11)3.4.1 恒温控制子程序流程图 (11)3.4.2 flag标志设置子程序流程图 (12)3.4.3温度设置子程序流程图 (13)3.4.4温度读取函数流程图 (14)3.4.5均值滤波程序流程图 (15)3.4.6显示函数程序流程图 (16)4 调试分析 (16)4.2软件测试 (17)4.3功能实现分析 (17)5 实验总结 (17)参考文献 (19)1 绪论1.1选题的背景及意义21世纪是科学技术高速发展的信息时代,电子技术、嵌入式技术的应用已经是非常广泛,伴随着科学技术和生产的不断发展,在生产生活中需要对各种参数进行温度测量。

因此温度一词在生产生活之中出现的频率日益增多,与之相对应的,温度控制和测量也成为了生活生产中频繁使用技术,同时它们在各行各业中也发挥着非常重要的作用。

如在日趋发达的工业领域之中,利用测量与控制温度来保证生产的正常运行;在农业生产中,用于保证蔬菜大棚的恒温保产等;在科学研究中,往往也需要一个恒温的环境作为实验的保障。

温度值是表征物体冷热程度的一个物理量,温度的测量则是工农和业生产过程中一个很重要也普遍的参数。

温度的测量及控制对保证产品的质量、提高生产的效率、节约能源、安全生产、促进经济的发展起到非常重要的作用。

因为温度测量的普遍性,使得温度传感器的数量在各种传感器中居首。

并且随着科学技术与生产的不断发展,温度传感器的种类仍然在不断增加和丰富以来满足生产生活中的各种需要。

在嵌入式温度控制系统中的关键是温度的测量、温度的控制和温度的保持,温度是工业控制对象中主要的被控参数之一。

因此,嵌入式要对温度的测量则是对温度进行有效及准确的测量,并且能够在工业生产中得广泛的应用,尤其在机械制造、电力工程化工生产、冶金工业等重要工业领域中,担负着重要的测量任务。

在日常工作和生活中,也被广泛应用于空调器、电加热器等各种室温测量及工业设备的温度测量。

但温度是一个模拟量,需要采用适当的技术和元件,将模拟的温度量转化为数字量,才生使用计算机进行相应的处理。

1.2设计思想恒温系统应用于各种工业或者民用领域,如何精确地控制温度成为一个非常重要的研究问题。

本系统需要利用STM32来控制各器件的工作情况,使传感器维持在一个固定的温度上。

本文所研究的课题是基于嵌入式的恒温控制系统设计,实现了温度的实时监测与控制。

温度控制部分,提出了用DS18B20、STM32 F103ZET6和LCD的硬件电路完成对室温的实时检测及显示,利用DS18B20与嵌入式系统连接由软件与硬件电路配合来实现对加热片和散热风扇的实时控制。

从DS18B20读出或写入DS18S20信息仅需要一根口线,其读写及其温度变换功率来源于数据线,该总线本身也可以向所挂接的DS18B20提供电源,不需要额外电源。

同时DS18S20能提供九位温度精度,它无需任何外围硬件便可方便地构成温度检测系统。

加热片通过带有继电器的电路驱动,由嵌入式开发板的一根口线控制并供电,继电器需要嵌入式开发板提供额外的电源。

DC 5V散热风扇的实时控制也仅仅需要一根口线,由开发板供电,不需要外加电源。

而且本次的设计主要实现温度监测,超温报警,温度控制,超过设定的门限值时自动启动加热和散热装置等功能。

而且还要以STM32开发板为主机,使温度传感器通过一根口线与嵌入式开发板相连接,再加上温度控制部分和人机交互部分来共同实现温度的监测与控制。

1.3实现的功能(1)能够连续测量环境的温度值,用LCD屏幕来显示环境的实际温度。

(2)能够设定恒温的温度围,初始围是30℃~33℃。

(3)能够实现温度自动控制,如果设定温度在30℃~33℃,则能使温度保持恒定在30℃~33℃。

(4)使用嵌入式STM32 F103ZET6控制,通过输入按键来控制恒温围的设定值,数值采用LCD屏幕显示。

(5)温度超出围时能够实现声光报警:LED灯和数码管闪烁,蜂鸣器报警。

2 硬件设计2.1硬件平台本次设计的硬件平台选用的是STM32系列的F103ZET6嵌入式开发板。

STM芯片根据容量分为三大类:LD(小于64K),MD(小于256K),HD(大于256K),STM32F103ZET6类属第三类。

具有如下特点:1.基于ARM Cortex-M3核心的32 位微控制器,LQFP-144封装.2.512K 片FLASH(相当于硬盘),64K片RAM(相当于存),片FLASH 支持在线编程(IAP).3.高达72M 的频率,数据,指令分别走不同的流水线,以确保CPU运行速度达到最大化 .4.通过片BOOT区,可实现串口下载程序(ISP).5.片双RC 晶振,提供8M和32K 的频率.6.支持片外高速晶振(8M),和片外低速晶振(32K).其中片外低速晶振可用于CPU 的实时时钟,带后备电源引脚,用于掉电后的时钟行走.7.42个16位的后备寄存器(可以理解为电池保存的RAM),利用外置的纽扣电池,和实现掉电数据保存功能.8.支持JTAG,SWD调试.配合廉价的J-LINK,实现高速低成本的开发调试方案.9.多达80个IO(大部分兼容5V逻辑),4个通用定时器,2个高级定时器,2个基本定时器,3路SPI接口,2路I2S 接口,2路I2C接口,5路USART,一个USB从设备接口,一个CAN 接口,SDIO接口,可兼容SRAM,NOR和NAND Flash 接口的16位总线-FSMC.10.3路共16通道的12位AD输入,2路共2 通道的12位DA 输出.支持片外独立电压基准.11.CPU操作电压围:2.0-3.6V.2.2硬件设计模块图设计整体模块如图2-1所示:图2-1 设计模块图如图所示,本次设计共有五大模块:DS18B20温度传感器模块、键盘模块、LCD 显示模块、温度控制模块以及警报模块构成;其中温度控制模块又有小风扇和加热片两个小模块,警报模块有LED灯和蜂鸣器两个小模块。

各个模块的功能如下:DS18B20温度传感器模块:DS18B20为温度传感器,主要作用是温度采集。

键盘模块:键盘模块共包含三个按键:K_LEFT、K_UP和K_DOWN,其中,K_LEFT 主要是实现Flag标志的更新,实现程序中不同模块的转换,详见下面的程序流图,K_UP和K_DOWN两按键主要是实现最低温度和最高温度的设置。

LCD显示模块:实现温度的显示。

温度控制模块:实现恒温控制,允许温度在设定的一定围变化,温度过低时加热片启动升温,温度过高时小风扇启动降温。

警报模块:警报模块主要是在温度超出正常围时发出警报信息,实现声光报警,主要为LED和数码管闪烁和蜂鸣器发声。

2.3温度传感器DS18B20DS18B20是常用的温度传感器,具有体积小,硬件开销低,抗干扰能力强,精度高的特点。

工作原理:DS18B20的读写时序和测温原理与DS1820相同,只是得到的温度值的位数因分辨率不同而不同,且温度转换时的延时时间由2s减为750ms。

DS18B20测温原理如图2-2所示。

图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。

高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。

计数器1和温度寄存器被预置在-55℃所对应的一个基数值。

计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。

斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。

DS18B20的主要特性:(1)适应电压围更宽,电压围:3.0~5.5V ,在寄生电源方式下可由数 据线供电 (2)独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯(3) DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温(4)DS18B20在使用中不需要任何外围元件,全部 传感元件及转换电路集成在形如一只三极管的集成电路(5)温围-55℃~+125℃,在-10~+85℃时精度为±0.5℃(6)可编程的分辨率为9~12位,对应的可分辨温度分别为0.5℃、0.25℃、0.125℃和0.0625℃,可实现高精度测温(7)在9位分辨率时最多在 93.75ms 把温度转换为数字,12位分辨率时最多在750ms 把温度值转换为数字,速度更快/清除图2-2 DS18B20测温原理图(8)测量结果直接输出数字温度信号,以"一线总线"串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力(9)负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。

接线方法:面对着扁平的那一面,左负右正,一旦接反就会立刻发热,有可能烧毁!同时,接反也是导致该传感器总是显示85℃的原因。

相关主题