自动化系自动化专业毕业论文基于STM32的智能水温控制系统的设计与研究Word文档下载推荐.docx

上传人:b****5 文档编号:18970925 上传时间:2023-01-02 格式:DOCX 页数:17 大小:285.64KB
下载 相关 举报
自动化系自动化专业毕业论文基于STM32的智能水温控制系统的设计与研究Word文档下载推荐.docx_第1页
第1页 / 共17页
自动化系自动化专业毕业论文基于STM32的智能水温控制系统的设计与研究Word文档下载推荐.docx_第2页
第2页 / 共17页
自动化系自动化专业毕业论文基于STM32的智能水温控制系统的设计与研究Word文档下载推荐.docx_第3页
第3页 / 共17页
自动化系自动化专业毕业论文基于STM32的智能水温控制系统的设计与研究Word文档下载推荐.docx_第4页
第4页 / 共17页
自动化系自动化专业毕业论文基于STM32的智能水温控制系统的设计与研究Word文档下载推荐.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

自动化系自动化专业毕业论文基于STM32的智能水温控制系统的设计与研究Word文档下载推荐.docx

《自动化系自动化专业毕业论文基于STM32的智能水温控制系统的设计与研究Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《自动化系自动化专业毕业论文基于STM32的智能水温控制系统的设计与研究Word文档下载推荐.docx(17页珍藏版)》请在冰豆网上搜索。

自动化系自动化专业毕业论文基于STM32的智能水温控制系统的设计与研究Word文档下载推荐.docx

本设计的主要任务是完成对水温检测,利用单片机实现一定范围内水温的智能监控。

关键字:

STM32,Ds18b20,温度检测,温度控制;

TheintelligenttemperaturecontrolsystembasedonSTM32

Abstract

Withtherapiddevelopmentofelectronictechnology,especiallythedevelopmentofembeddedtechnology,hasbroughtfundamentalchangestopeople'

slife.Inthemodernindustrialdesign,engineeringconstructionanddailylifeeverywherecanseetheshadowofwatertemperaturecontrol.Inmodernsociety,thewatertemperaturecontrolisnotonlyusedinthefactoryproduction,itseffectisalsoreflectedinallaspects,withtheimprovementofpeople'

slivingquality,hotelandfamilylifewillseetheshadowoftheintelligenttemperaturecontrol,intelligenttemperaturecontrolwillbebetterservicetothesociety.

ThisdesignistothroughtheSTM32microcontrollerasthecontrolcore,usingtemperaturesensorDs18b20temperaturereal-timeinformationcollection,andthroughthePIDalgorithmtorealizetheintelligentcontrolofthewatertemperature.Watertemperaturecanbesetwithinacertainrangebyartificial,oncethewatertemperatureexceedstherangeoftheset,machinerealizealarmautomaticcontrolatthesametime,tomaintainitsandsetbasicconstantwatertemperature.Thisdesignisthemaintaskofthecompletionofthewatertemperaturedetection,usingsinglechipmicrocomputerintelligentmonitoringoftemperaturewithinacertainrange.

KeyWords:

STM32,Ds18b20,Temperaturedetection,temperaturecontrol;

第一章绪论

1.1目的和意义

自70年代以来,由于工业过程控制的需要,特别是在电子技术的迅猛发展,以及自动控制理论和设计方法发展的推动下,国外温度控制系统发展迅速,并在智能化自适应参数自整定等方面取得成果。

在这方面以日本、美国、德国、瑞典等国技术领先,并且都生产出了一批商品化的性能优异的温度控制器及仪器仪表,在各行业广泛应用。

目前,国外温度控制系统及仪表正朝着高精度智能化、小型化等方面快速发展。

温度控制系统在国内各行各业的应用虽然已经十分广泛,但从国内生产的温度控制器来讲,总体发展水平仍然不高,同国外的日本、美国、德国等先进国家相比,仍然有着较大的差距。

目前,我国在这方面总体技术水平处于20世纪80年代中后期水平。

成熟产品主要以“点位”控制及常规的PID控制器为主,它只能适应一般温度系统控制,难于控制滞后复杂时变温度系统控制,而且适应于较高控制场合的智能化、自适应控制仪表国内技术还不十分成熟,形成商品化并广泛应用的控制仪表较少。

现在,我国在温度等控制仪表业与国外还有着一定的差距。

随着嵌入式系统开发技术的快速发展及其在各个领域的广泛应用,人们对电子产品的小型化和智能化要求越来越高,作为高新技术之一的单片机以其体积小、价格低、可靠性高、适用范围大以及本身的指令系统等诸多优势,在各个领域、各个行业都得到了广泛应用。

本文主要介绍单片机温度控制系统的设计过程,其中涉及系统结构设计、元器件的选取、程序的调试和系统参数的整定。

在系统构建时选取了STM32芯片作为该控制系统的核心,温度信号由新型的可编程温度传感器(DS18B20)提供。

通过软件实现对水温的控制,使用继电器作执行部件。

水温可以在一定范围内由人工设定,并能在环境温度降低时实现自动控制,以保持设定的温度基本不变,具有较好的快速性与较小的超调。

该系统为一实验系统,要求系统有控制能力,实现对主要可变参数的实时监控。

使用软件编程既减少了系统设计的工作量,又提高了系统开发的速度,使用软件还可以提高所设计系统的稳定性,避免了因个人设计经验不足而产生过多的系统缺陷。

1.2毕业设计研究内容概述

本设计主要使用STM32单片机作为主控芯片,采用数字温度传感器Ds18b20测量所需的温度,温度精度可达0.1℃。

显示部分采用LCD1602液晶显示。

该系统实际的工作过程为:

实际测得温度与设定的温度范围进行比较,如果温度不在设定的范围内,蜂咛器自动报警,继电器动作(加热或降温)从而达到水温进行智能控制。

第2章系统的总体设计

2.1系统的总体设计要求

本次设计的要求是系统能够检测并显示温度(温度的检测范围为-35℃~+95℃)。

当检测到的温度超出设定的温度范围时实现报警,温度范围可由按键实现。

2.2系统主要元器件的选型

2.2.1单片机的选择

方案1:

采用AT89C51芯片作为硬件核心。

此芯片是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM一FalshProgrammableandErasableReadonlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。

AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的单片机。

单片机的可擦除只读存储器可以反复擦除100次。

该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。

但是运用于电路设计中时,由于不具备ISP在线编程技术,导致当在对电路进行调试过程中,由于程序的错误修改或对程序功能进行增加需要烧入程序时,需要将芯片多次拔插,这样做很容易对芯片产生损坏。

方案2:

采用STM32F103xx增强型系列作为硬件核心。

TM32F103xx增强型系列使用高性能的ARMCortex-M332位的RISC内核,工作频率为72MHz,内置高速存储器,丰富的增强I/O端口和联接到两条APB总线的外设。

所有型号的器件都包含2个12位的ADC、3个通用16位定时器和一个PWM定时器,还包含标准和先进的通信接口:

多达2个I2C和SPI、3个USART、一个USB和一个CAN。

STM32F103xx增强型系列工作于-40°

C至+105°

C的温度范围,供电电压2.0V至3.6V,一系列的省电模式保证低功耗应用的要求。

总结:

方案二相比方案一拥有更好的性能,并且更加符合水温控制在实际环境下的应用,故采用方案二中的STM32F103xx增强型系列作为本次设计的主控芯片。

2.2.2温度传感器的选择

采用热敏电阻,热敏电阻具有灵敏度高,体积小使用方便的特点。

可满足35℃~95℃的测量范围,但是热敏电阻精度与温度性都比较差,当检测小于1℃的温度信号时就显得不合适了。

采用DS18B20温度传感器,DS18B20温度传感器采用先进的单总线数据通信。

检测温度范围为﹣55℃~+125℃。

最高12位分辨率,精度可达±

0.5℃。

12位分辨率时最多在750ms内把温度值转换为数字,其测量结果可以直接输出数字温度信号,以"

一线总线"

串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力。

综合比较方案一与方案二,由于连个原价的成本相差无几,且方案二在抗干扰能力和精度等特点上优于前者。

故采用方案二中的DS18B20作为本设计的温度传感器

2.2.3输出显示设备的选择

:

使用液晶显示屏LCD1602显示水温。

液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就有显示,这样即可以显示出图形。

液晶显示器具有厚度薄、适用于大规模集成电路直接驱动、易于实现全彩色显示的特点,目前已经被广泛应用在便携式电脑、数字摄像机、PDA移动通信工具等众多领域。

液晶显示屏具有轻薄短小,低耗电量,无辐射危险,平面直角显示以及影像稳定不闪烁等优势,可视面积大,画面效果好,分辨率高,抗干扰能力强等特点。

使用传统数码管作为显示设备。

数码管分为共阴极数码管和共阳极数码管两种。

每种数码管由7个发光二极管按一定顺序连接起来。

使用时按规定使某些笔段上的发光二极管发光,即可组成0~9的一系列数字。

通过多段数码管即可组成段数字。

数码管具有体积小,重量轻,抗冲击能力好;

能在低电压,小电流条件下驱动发光,能与CMOS,TTL电路兼容;

发光响应时间短,高频特性好,亮度高,寿命长等特点。

总结;

本设计所要显示的数字比较多,采用数码管显示的话显得不够直观。

采用LCD1602能很直观的看出温度范围与测得的温度。

故使用液晶显示屏LCD1604作为本设计的显示设备。

第三章系统硬件设计

温本设计采用STM32作为主控芯片,利用温度传感器DS18B20对温度信号进行采集,并在LCD1602上进行显示,并进行信息处理的智能水温控制系统。

本系统由单片机系统模块,通信接口模块,温度系统模块,液晶显示LCD模块,电源模块,报警电路,继电器模块等组成。

本设计总体框图如图3.1所示。

3.1STM32介绍

STM32单片机是整个水温控制系统的核心部分。

因为对水温控制具有较高的要求,比如高控制精度,高灵敏度,高稳定性,高执行速度等,所以选择一个高性能且经济实惠的单片机就很有必要。

本次设计选用STM32F103系类单片机作为控制电路的核心部件,该单片机属于ST意法半导体公司生产的32位高性能、低成本、低功耗的增强型系列单片机,其内核采用的是ARM公司最新研发的Cortex-M3架构,该内核是充分满足了用户对于高性能、低成本、低功耗经济实惠的要求。

ARMCortex-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和D5LED和电源指示连接电阻,电源电路如图4所示。

3.2温度采集模块

本系统采用DALLAS公司生产的单总线芯片DS18B20采集环境温度,DS18B20的管脚说明如示三个管脚分别为地线、信号线和电源线。

DS18B20继承了DS1820的全部优点,并做了如下改进1.供电范围扩大为3.0-5.0v。

2.温度分辨力可编程。

3.转换速率有很大提高。

4.内部存储器映射关系发生变化。

5.具有电源反接保护电路。

6.体积减小一半。

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

图3.7DS18B20管脚说明

DS18B20的内部结构:

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

表3-3DS18B20的存储资源

ROM(8个字节)

A1

A2

A3

A4

A5

A6

A7

A8

RAM(9个字节

B1

B2

B3

B4

B5

B6

B7

B8

B9

EEPROM(3个字节)

C1

C2

C3

-

-

ROM

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

表3-4DS18B20的内部ROM

64位激光ROM

8位CRC编号

48位序列号

8位产品系列编码

MSBLSBMSBLSEMSBLSB

注释:

MSB(最高有效位)

LSB(最低有效位)

DS18B20的64位光刻ROM的排列是:

开始(最低)8位是产品类型标号,对于DS18B20来说就是(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-5DS18B20的内部RAM

寄存器内容

字节地址

温度值低位(LSByte)

0

温度值高位(MSByte)

1

高温限值(TH)

2

低温限值(TL)

3

配置寄存器

4

保留

5

6

7

CRC校验值

8

1第0和第1字节:

当温度转换命令发布后,经转换所得的温度值以二字节补码形式存放在高速暂存存储器的第0和第1个字节口单片机可通过单线接口读到该数据,读取时低位在前,高位在后。

对应的温度计算:

当符号位S=0时,直接将二进制位转换为十进制;

当S=1时,先将补码变为原码,再计算十进制值。

如表3-6所示。

表3-6温度的存储形式

高8位

S

26

25

24

低8位

23

22

21

20

2-1

2-2

2-3

2-4

例如+125℃的数字输出为07D0H,+25.0625℃数字输出为0191H,-25.0625℃的数字输出为FF6FH,-55℃的数字输出为FC90H,如表3-7所示。

(注:

TEMPERATURE-温度,DIGITALOUTPUT-数字输出)

表3-7DS18B20温度数据表

TEMPERATURE

DIGITALOUTPUT

+125℃

0000011111010000

07D0H

+85℃

0000010101010000

0550H

+25.0625℃

0000000110010001

0191H

+10.125℃

0000000010100010

00A2H

+0.5℃

0000000000001000

0008H

0℃

0000000000000000

0000H

-0.5℃

1111111111111000

FFF8H

-10.125℃

1111111101011110

FF5EH

-25.0625℃

1111111001101111

FF6FH

-55℃

1111110010010000

FC90H

2第2第3字节:

RAM的第2、3、4字节一和EEPROM的三个字节是对应的,内容是相同的,只是RAM因为是暂存器,失电后数据就丢失了。

而EEPROM是电擦除只读存储器,失电后数据.不会丢失。

在工作时得到复位命令后就从EEPROM叫复制一份数据到RAM的第2、3、4字节内,作为我们进行报警搜索、改写报警值和改写器件设置用,我们从外部只能对RAM进行操作,EEPROM只能从RAM复制而得到要保存的数据。

第2字节为报警值上限,第3字节为报警值低限。

DS18B20完成一次温度转换后,就拿温度值和存储在TH和TL中的值进行比较,因为这些寄存器是8位的,所以小数位被忽略不计。

TH或TL的最高有效位直接对应1位温度寄存器的符号位。

如果测得的温度高于TH或低于TL,器件内部就会置位一个报警标识。

每进行一次测温就对这个标识进行一次更新。

当报警标识置位时,DS18B20会对报警搜索命令有反应。

这样就允许许多DS18B20并联在一起同时测温,如果某个地方温度超过了限定值。

报警的器件就会被立即识别出来并读取。

而不用读未报警的器件。

3第4字节配置寄存器:

第4字节的配置寄存器是用来设置DS18B20的工作模式和测量精度的,其内容如表3-8:

表3-8DS18B20的配置寄存器结构

配置寄存器结构

TM

R1

R0

1

配置寄存器的低五位一直都是“1”,TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式。

在DS18B20出厂时该位被设置为0,用户不要去改动。

R1和R0用来设置分辨率,表3-9为温度分辨率设置表所示(DS18B20)出厂时被设置为12位)。

我们使用时可以跟据实际需要通过修改RAM第4字节的RO和R1的值.来DS18B20的温度测量精度。

需要保存这种设置时,还要用一条复制命令将RAM内的数据复制到EEPROM内。

温度分辨率设置表

表3-9DS18B20的温度分辨率设置表

R1

分辨率

温度最大转换时间

9位

93.75ms

10位

187.5ms

11位

375ms

12位

750ms

4第5、6、7、8字节:

前面我们已经说过,RAM的5、6、7字节是器件的保留字节,就相当于器件内部转换运算时所用的内存。

第8字节是循环冗余校验字节。

它是前面8个字节的CRC值。

起着对前面字节的校验作用。

EEPROM:

EEPROM只有三个字节,和RAM的第2、3、4字节的内容相对应,它的作用就是存储RAM第2、3、4字节的内容,以使这些数据在掉电后不丢失。

可能通过几条命令将RAM的该3个字节内容复制到EEPROM或从EEPROM将该3个字节内容复制到RAM的第2、3、4字节去。

因为我们从外部想改写报警值和器件的设置都是只对RAM进行操作的。

要保存这些设置后的数据就还要用相应的命令将RAM的数据复制到EEPROM去。

操作指令:

对DS18B20的操作分为对ROM的操作和对RAM的操作。

列表详见表3-10

指令实际操作的具体实现:

DS18B20是单总线器件,通讯协议包括几种单线信号类型:

复位脉冲、存在脉冲、写0、写1、读0、读1。

所有这些信号,除存在脉冲外,其余都是由总线控制器(单片机)发出的。

根据DS18B20的通讯协议,主机(单片机)控制DS18B20完成一次操作经过三个步骤:

①要对DS18B20进行复位操作,②复位成功后发送一条ROM指令,③最后发送RAM指令,这样才能对DS18B20进行预定的操作。

表3-10ROM指令表

指令

约定代码

功能

读ROM

33H

读DS18B20温度传感器ROM中的编码(即64位地址)

符合ROM

55H

发出命令之后,接着发出64位ROM编码,访问单总线上与该编码相应的DS18B20使之做出响应,为下一步对该DS18B20的读写做准备。

搜索ROM

0F0H

用于确定挂接在同一总线上DS18B20的个数和识别64位ROM地址。

为操作各器件做准备。

跳过ROM

0CCH

忽略64位ROM地址,直接向DS18B20发温度变换命令,适用于单片工作。

告警搜索命令

0ECH

执行后只有温度超过设定值上限或下限的片子才能做出响应

表3-11DS18B20的对RAM和ROM操作的指令表

指令

预定代码

温度变换

44H

启动DS18B20进行温度转换,12位转换时最长为750ms(9位为93.75ns)。

结果存入内部9字节中的第0,1,字节RAM中。

读暂存器

0BEH

读内部RAM中9个字节的内容

写暂存器

4EH

发出向内部RAM的3(TH)、4(TH)字节写上、下限温度数据命令,紧跟该命令之后,是传送两字节的数据。

复制暂存器

48H

将RAM中第3、4字节的内容复制到EEPROM中。

重调EEPRO

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 职业规划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1