自动化系自动化专业毕业论文基于STM32的智能水温控制系统的设计与研究 联系客服

发布时间 : 星期一 文章自动化系自动化专业毕业论文基于STM32的智能水温控制系统的设计与研究更新完毕开始阅读a7713c4e2e60ddccda38376baf1ffc4ffe47e2dc

毕业设计(论文)报告纸

3.1 STM32介绍

STM32单片机是整个水温控制系统的核心部分。因为对水温控制具有较高的要求,比如高控制精度,高灵敏度,高稳定性,高执行速度等,所以选择一个高性能且经济实惠的单片机就很有必要。本次设计选用STM32F103系类单片机作为控制电路的核心部件,该单片机属于ST意法半导体公司生产的32位高性能、低成本、低功耗的增强型系列单片机,其内核采用的是ARM公司最新研发的Cortex-M3架构,该内核是充分满足了用户对于高性能、低成本、低功耗经济实惠的要求。ARM Cortex-M3处理器的架构在系统结构上的增强,使得STM32增强型单片机无比强大,其采用的THUMB-2指令集使得其指令效率更高并且性能更强。 STM32F103VET6 单片机有 3 个不同的时钟源可供选择用以驱动系统时钟,分别为 HIS 振荡器时钟、HSE 振荡器时钟和 PLL 时钟。这些设备还具有 2 个二级时钟源,分别 是 40KHz 的低速内部 RC 和 32.768KHz 的低速外部时钟源,可以用来驱动看门狗时钟 和 RTC。任何一个时钟源在不被使用时,都可以被独立的关闭或者开启,以实现对系统 功耗的优化。 单片机由 AMS1117-3.3 芯片电路供电,输入+5V,提供 3.3V 的固定电压输出,为 了降低电磁干扰,需要经 C7-C10 滤波后再为 CPU 供电,R8 为 DGND 与 AGND 的连 接电阻,R9 和 D5 LED 和电源指示连接电阻,电源电路如图 4 所示。 3.2温度采集模块

本系统采用DALLAS公司生产的单总线芯片DS18B20采集环境温度,DS18B20的管脚说明如示三个管脚分别为地线、信号线和电源线。DS18B20继承了DS1820的全部优点,并做了如下改进1.供电范围扩大为3.0-5.0v。2.温度分辨力可编程。3.转换速率有很大提高。4.内部存储器映射关系发生变化。5.具有电源反接保护电路。6.体积减小一半。对我们使用来说最大的

- 6 -

电源模块 温度测量 模块 按键设置 模块 S T M 3 2 液晶显示 模块 报警电路 时钟复位 模块 继电器模块

毕业设计(论文)报告纸

不同就是DS18B20可以程序设定9-12位的分辨率数字值,而DS1820为固定的9位数字值,且温度转换时的延时时间由2s减为750ms。

图3.7 DS18B20管脚说明

DS18B20的内部结构:

DS18B20的内部存储资源分为8个字节的ROM,9个字节的RAM,3个字节的EEPROM如下表3-3:

表3-3 DS18B20的存储资源

ROM(8个字节) RAM(9个字节 EEPROM(3个字节)

A1 B1 C1 A2 B2 C2 A3 B3 C3 A4 B4 - A5 B5 - A6 B6 - A7 B7 - A8 B8 - B9 ROM

在DS18B20内部光刻了一个长度为64bit的ROM,这个编码是器件的身份识别标志,如下表3-4:

表3-4 DS18B20的内部ROM

64位激光ROM 8位CRC编号 注释:

MSB (最高有效位) LSB (最低有效位)

DS18B20的64位光刻ROM的排列是:开始(最低)8位是产品类型标号,对于DS18B20来

48位序列号 8位产品系列编码 MSB LSB MSB LSE MSB LSB

- 7 -

毕业设计(论文)报告纸

说就是(28H),接着的48位是该DS28B20自身的序列号,最后8位是前面56位的循环冗余校验码(CRC=X8+X5+X4+1)。光刻ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接.多个DS18B20的目的。

RAM

高速暂存存储器(RAM)由9个字节组成,包含了8个连续字节,前两个字节是测得的温度信息,第一个字节的内容是温度的低八位,第二个字节是温度的高八位。第三个和第四个字节是温度高限TH温度低限TL暂存区,第五个字节是配置寄存器暂存区,第6、7、8字节是系统保留用,就相当于DS18B20的运算内存,第九个字节是冗余检验字节。其分配如表3-5所示。

DS18B20暂存寄存器分布:

表3-5 DS18B20的内部RAM 寄存器内容 温度值低位 (LS Byte) 温度值高位 (MS Byte) 高温限值(TH) 低温限值 (TL) 配置寄存器 保留 保留 保留 CRC校验值

字节地址 0 1 2 3 4 5 6 7 8 ① 第0和第1字节:

当温度转换命令发布后,经转换所得的温度值以二字节补码形式存放在高速暂存存储器的第0和第1个字节口单片机可通过单线接口读到该数据,读取时低位在前,高位在后。对应的温度计算:当符号位S=0时,直接将二进制位转换为十进制;当S=1时,先将补码变为原码,再计算十进制值。如表3-6所示。

表3-6温度的存储形式

高8位 S 低8位 23

S 22 S 21 S 20 S 2-1 26 2-2 25 2-3 24 2-4

- 8 -

毕业设计(论文)报告纸

例如+125℃的数字输出为07D0H,+25.0625℃数字输出为0191H,-25.0625℃的数字输出为FF6FH,-55℃的数字输出为FC90H,如表3-7所示。(注:TEMPERATURE-温度,DIGITAL OUTPUT-数字输出)

表3-7 DS18B20温度数据表

TEMPERATURE DIGITAL OUTPUT +125℃ +85℃ +25.0625℃ +10.125℃ +0.5℃ 0℃ -0.5℃ -10.125℃ -25.0625℃ -55℃ ② 第2第3字节:

0000 0111 1101 0000 0000 0101 0101 0000 0000 0001 1001 0001 0000 0000 1010 0010 0000 0000 0000 1000 0000 0000 0000 0000 1111 1111 1111 1000 1111 1111 0101 1110 1111 1110 0110 1111 1111 1100 1001 0000 DIGITAL OUTPUT 07D0H 0550H 0191H 00A2H 0008H 0000H FFF8H FF5EH FF6FH FC90H RAM的第2、3、4字节一和EEPROM的三个字节是对应的,内容是相同的,只是RAM因为是暂存器,失电后数据就丢失了。而EEPROM是电擦除只读存储器,失电后数据.不会丢失。在工作时得到复位命令后就从EEPROM叫复制一份数据到RAM的第2、3、4字节内,作为我们进行报警搜索、改写报警值和改写器件设置用,我们从外部只能对RAM进行操作,EEPROM只能从R AM复制而得到要保存的数据。

第2字节为报警值上限,第3字节为报警值低限。DS18B20完成一次温度转换后,就拿温度值和存储在TH和T L中的值进行比较,因为这些寄存器是8位的,所以小数位被忽略不计。TH或TL的最高有效位直接对应1位温度寄存器的符号位。如果测得的温度高于TH或低于TL ,器件内部就会置位一个报警标识。每进行一次测温就对这个标识进行一次更新。当报警标识置位时,DS18B20会对报警搜索命令有反应。这样就允许许多DS18B20并联在一起同时测温,如果某个地方温度超过了限定值。报警的器件就会被立即识别出来并读取。而不用读未报警的器件。 ③ 第4字节 配置寄存器:

- 9 -