基于STM32F103的恒温系统的设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
.
中国矿业大学计算机学院2013 级本科生课程报告
报告时间2016.09.20
学生姓名张谊坤
学号08133367
专业电子信息科学与技术
任课教师王凯
任课教师评语
任课教师评语(①对课程基础理论的掌握;②对课程知识应用能力的评价;③对课程报告相关实验、作品、软件等成果的评价;④课程学习态度和上课纪律;⑤课程成果和报告工作量;⑥总体评价和成绩;⑦存在问题等):
成绩:任课教师签字:
年月日
摘要
针对目前温度控制在生产生活中被广泛应用,而传统的温度控制系统是由功能繁杂的大量分离器件构成,为了节约成本、提高系统的可靠性,本文设计了一种基于STM32F103T6的温度控制系统。本设计是基于DS18B20的温度控制系统,以STM32F103ZET6为控制系统核心,通过嵌入式系统设计实现对温度的显示和控制功能。在该系统中,为了减小干扰的影响,用均值滤波算法对采样数据进行处理之后再进行温度判定等一系列操作的依据。设计中,基本上实现了该系统的功能,通过DS18B20采集温度数据,使用LCD屏幕来显示相关的信息,能够通过加热和降温将温度控制在恒定的范围内,并可以手动设置恒温范围,温度超出限制后会有声光报警。
关键词:STM32F103,均值滤波,恒温控制,DS18B20
目录
1 绪论 (1)
1.1选题的背景及意义 (1)
1.2设计思想 (1)
1.3实现的功能 (2)
2 硬件设计 (2)
2.1硬件平台 (2)
2.2硬件设计模块图 (3)
2.3温度传感器DS18B20 (4)
2.4 LCD屏幕 (8)
2.5 DC 5V散热风扇 (10)
2.6加热片 (10)
3 软件设计 (11)
3.1软件平台 (11)
3.2软件设计模块图 (12)
3.3主程序流程图 (12)
3.4子程序流程图 (14)
3.4.1 恒温控制子程序流程图 (14)
3.4.2 flag标志设置子程序流程图 (15)
3.4.3温度设置子程序流程图 (16)
3.4.4温度读取函数流程图 (17)
3.4.5均值滤波程序流程图 (18)
3.4.6显示函数程序流程图 (19)
4 调试分析 (19)
4.1硬件调试 (20)
4.2软件测试 (20)
4.3功能实现分析 (21)
5 实验总结 (21)
参考文献 (23)
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 的实