1、基于STM32F103的恒温系统的设计资料 中国矿业大学计算机学院 2013 级本科生课程报告 课程名称 信科专业综合实践 报告时间 2016.09.20 学生姓名 张谊坤 学 号 08133367 专 业 电子信息科学与技术 任课教师 王 凯 任课教师评语任课教师评语(对课程基础理论的掌握;对课程知识应用能力的评价;对课程报告相关实验、作品、软件等成果的评价;课程学习态度和上课纪律;课程成果和报告工作量;总体评价和成绩;存在问题等):成 绩: 任课教师签字: 年 月 日摘要 针对目前温度控制在生产生活中被广泛应用,而传统的温度控制系统是由功能繁杂的大量分离器件构成,为了节约成本、提高系统的可
2、靠性,本文设计了一种基于STM32F103T6的温度控制系统。本设计是基于DS18B20的温度控制系统,以STM32F103ZET6为控制系统核心,通过嵌入式系统设计实现对温度的显示和控制功能。在该系统中,为了减小干扰的影响,用均值滤波算法对采样数据进行处理之后再进行温度判定等一系列操作的依据。设计中,基本上实现了该系统的功能,通过DS18B20采集温度数据,使用LCD屏幕来显示相关的信息,能够通过加热和降温将温度控制在恒定的范围内,并可以手动设置恒温范围,温度超出限制后会有声光报警。关键词:STM32F103,均值滤波,恒温控制,DS18B201 绪论 1.1选题的背景及意义 21世纪是科学
3、技术高速发展的信息时代,电子技术、嵌入式技术的应用已经是非常广泛,伴随着科学技术和生产的不断发展,在生产生活中需要对各种参数进行温度测量。因此温度一词在生产生活之中出现的频率日益增多,与之相对应的,温度控制和测量也成为了生活生产中频繁使用技术,同时它们在各行各业中也发挥着非常重要的作用。如在日趋发达的工业领域之中,利用测量与控制温度来保证生产的正常运行;在农业生产中,用于保证蔬菜大棚的恒温保产等;在科学研究中,往往也需要一个恒温的环境作为实验的保障。温度值是表征物体冷热程度的一个物理量,温度的测量则是工农和业生产过程中一个很重要也普遍的参数。温度的测量及控制对保证产品的质量、提高生产的效率、节
4、约能源、安全生产、促进经济的发展起到非常重要的作用。因为温度测量的普遍性,使得温度传感器的数量在各种传感器中居首。并且随着科学技术与生产的不断发展,温度传感器的种类仍然在不断增加和丰富以来满足生产生活中的各种需要。 在嵌入式温度控制系统中的关键是温度的测量、温度的控制和温度的保持,温度是工业控制对象中主要的被控参数之一。因此,嵌入式要对温度的测量则是对温度进行有效及准确的测量,并且能够在工业生产中得广泛的应用,尤其在机械制造、电力工程化工生产、冶金工业等重要工业领域中,担负着重要的测量任务。在日常工作和生活中,也被广泛应用于空调器、电加热器等各种室温测量及工业设备的温度测量。但温度是一个模拟量
5、,需要采用适当的技术和元件,将模拟的温度量转化为数字量,才生使用计算机进行相应的处理。1.2设计思想 恒温系统应用于各种工业或者民用领域,如何精确地控制温度成为一个 非常重要的研究问题。本系统需要利用STM32来控制各器件的工作情况,使传感器维持在一个固定的温度上。 本文所研究的课题是基于嵌入式的恒温控制系统设计,实现了温度的实时监测与控制。温度控制部分,提出了用DS18B20、STM32 F103ZET6和LCD的硬件电路完成对室温的实时检测及显示,利用DS18B20与嵌入式系统连接由软件与硬件电路配合来实现对加热片和散热风扇的实时控制。从DS18B20读出或写入DS18S20信息仅需要一根
6、口线,其读写及其温度变换功率来源于数据线,该总线本身也可以向所挂接的DS18B20提供电源,不需要额外电源。同时DS18S20能提供九位温度精度,它无需任何外围硬件便可方便地构成温度检测系统。加热片通过带有继电器的电路驱动,由嵌入式开发板的一根口线控制并供电,继电器需要嵌入式开发板提供额外的电源。DC 5V散热风扇的实时控制也仅仅需要一根口线,由开发板供电,不需要外加电源。而且本次的设计主要实现温度监测,超温报警,温度控制,超过设定的门限值时自动启动加热和散热装置等功能。而且还要以STM32开发板为主机,使温度传感器通过一根口线与嵌入式开发板相连接,再加上温度控制部分和人机交互部分来共同实现温
7、度的监测与控制。1.3实现的功能 (1)能够连续测量环境的温度值,用LCD屏幕来显示环境的实际温度。 (2)能够设定恒温的温度范围,初始范围是3033。 (3)能够实现温度自动控制,如果设定温度在3033,则能使温度保持恒定在3033。 (4)使用嵌入式STM32 F103ZET6控制,通过输入按键来控制恒温范围的设定值,数值采用LCD屏幕显示。 (5)温度超出范围时能够实现声光报警:LED灯和数码管闪烁,蜂鸣器报警。2 硬件设计2.1硬件平台 本次设计的硬件平台选用的是STM32系列的F103ZET6嵌入式开发板。STM芯片根据容量分为三大类:LD(小于64K),MD(小于256K),HD(
8、大于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 的实时时钟,带后备电源引脚,用于掉电后的时
9、钟行走. 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
10、操作电压范围:2.0-3.6V.2.2硬件设计模块图 设计整体模块如图2-1所示: 如图所示,本次设计共有五大模块:DS18B20温度传感器模块、键盘模块、LCD显示模块、温度控制模块以及警报模块构成;其中温度控制模块又有小风扇和加热片两个小模块,警报模块有LED灯和蜂鸣器两个小模块。各个模块的功能如下: DS18B20温度传感器模块:DS18B20为温度传感器,主要作用是温度采集。 键盘模块:键盘模块共包含三个按键:K_LEFT、K_UP和K_DOWN,其中,K_LEFT主要是实现Flag标志的更新,实现程序中不同模块的转换,详见下面的程序流图,K_UP和K_DOWN两按键主要是实现最低温度
11、和最高温度的设置。 LCD显示模块:实现温度的显示。 温度控制模块:实现恒温控制,允许温度在设定的一定范围内变化,温度过低时加热片启动升温,温度过高时小风扇启动降温。 警报模块:警报模块主要是在温度超出正常范围时发出警报信息,实现声光报警,主要为LED和数码管闪烁和蜂鸣器发声。2.3温度传感器DS18B20 DS18B20是常用的温度传感器,具有体积小,硬件开销低,抗干扰能力强,精度高的特点。工作原理: DS18B20的读写时序和测温原理与DS1820相同,只是得到的温度值的位数因分辨率不同而不同,且温度转换时的延时时间由2s减为750ms。 DS18B20测温原理如图2-2所示。 图中低温度
12、系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被预置在-55所对应的一个基数值。计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。DS18B20的主要特性:(1)适应电压
13、范围更宽,电压范围:3.05.5V,在寄生电源方式下可由数 据线供电(2)独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯(3) DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温(4)DS18B20在使用中不需要任何外围元件,全部 传感元件及转换电路集成在形如一只三极管的集成电路内(5)温范围55+125,在-10+85时精度为0.5(6)可编程的分辨率为912位,对应的可分辨温度分别为0.5、0.25、0.125和0.0625,可实现高精度测温(7)在9位分辨率时最多在 93.75ms内把温
14、度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快(8)测量结果直接输出数字温度信号,以一 线总线串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力(9)负压特性:电源极性接反时,芯片不会因发热而烧毁, 但不能正常工作。接线方法:面对着扁平的那一面,左负右正,一旦接反就会立刻发热,有可能烧毁!同时,接反也是导致该传感器总是显示85的原因。实际操作中将正负反接,传感器立即发热,液晶屏不能显示读数,正负接好后显示85。特点 独特的一线接口,只需要一条口线通信 多点能力,简化了分布式温度传感应用 无需外部元件 可用数据总线供电,电压范围为3.0 V至5.5 V
15、 无需备用电源 测量温度范围为-55至+125。华氏相当于是-67华氏度到257华氏度 -10至+85范围内精度为0.5 温度传感器可编程的分辨率为912位,温度转换为12位数字格式最大值为750毫秒,用户可定义的非易失性温度报警设置,应用范围包括恒温控制、工业系统、消费电子产品温度计、或任何热敏感系统 描述该DS18B20的数字温度计提供9至12位(可编程设备温度读数)。由于DS18B20是一条口线通信,所以中央微处理器与DS18B20只有一个一条口线连接。为读写以及温度转换可以从数据线本身获得能量,不需要外接电源。 因为每一个DS18B20的包含一个独特的序号,多个ds18b20s可以同时存在于一条总线。这使得温度传感器放置在许多不同的地方。它的用途很多,包括空调环境控制,感测建筑物内温设备或机器,并进行过程监测和控制。 DS18B20采用一线通信接口。因为一线通信接口,必须在先完成ROM设定,否则记忆和控制功能将无法使用。主要首先提供以下功能命令之一: 1 )读ROM, 2 )ROM匹配, 3 )搜索ROM, 4 )跳过ROM, 5 )报警检查。这些指令操作作用在没有一个器件的64位光刻ROM序列号,可以在挂在一线上多个器件选定某一个器件,同
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1