基于单片机的电阻炉温度控制系统设计毕业设计.docx
- 文档编号:11888358
- 上传时间:2023-04-08
- 格式:DOCX
- 页数:55
- 大小:659.82KB
基于单片机的电阻炉温度控制系统设计毕业设计.docx
《基于单片机的电阻炉温度控制系统设计毕业设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的电阻炉温度控制系统设计毕业设计.docx(55页珍藏版)》请在冰豆网上搜索。
基于单片机的电阻炉温度控制系统设计毕业设计
基于单片机的电阻炉温度控制系统设计
摘要
在工业生产过程中,往往需要对各类加热炉、热处理炉、反应炉的温度进行检测和调节,因此需要一种合适的系统对其温度进行精确控制。
由于单片机具有低功耗、高性能、可靠性好、易于产品化等特点,因此采用单片机对温度进行控制不仅节约成本,控制方法灵活多样,并且可以达到较高的控制精度,从而能够大大提高产品的质量,因此单片机被广泛应用在中小型控制系统中。
本论文以电阻炉为研究对象,开发了基于单片机的温度控制系统。
本温度控制系统按功能分主要包括温度传感器模块、数据处理模块、温度显示/设定模块和温度控制模块。
温度传感器采用了数字式温度传感器DS18B20,对温度进行实时采样并将模拟信号转换成数字信号返回给单片机。
系统可通过键盘对电阻炉水温进行预设,单片机根据当前炉内温度和预设温度进行运算,控制输出宽度可调的PWM方波,并由此控制双向可控硅的导通和关断来调节电热丝的加热功率,从而使水温迅速达到预设值并保持恒定不变。
设计过程中,首先进行软件设计和开发,使系统功能模块化并分别通过Proteus软件进行仿真,实现功能后对硬件进行了综合设计,并且反复论证、测试各器件参数以使其稳定运行,最终使得此系统实现了温度的恒温控制。
关键词:
单片机;温度传感器;可控硅;温度控制
DesignandImplementationofaTemperatureControlSystemBasedontheSingleChipMicrocontroller
Abstract
Varioustypesoffurnace,heattreatmentfurnace,reactortemperaturearedetectedandregulatedintheindustrialproductionprocesses,sotheyneedapropersystemofprecisecontrolfortheirtemperature.Thesinglechipmicrocontroller(SCM)havemanyadvantages,suchaslowpowerconsumption,highperformance,reliability,easy-to-marketcommodityandsoon.SothetemperaturecontrolledbySCMhaslowcost,flexibleanddiversecontrolmethodandhigherprecision,whichcangreatlyenhancethequalityoftheproduct.
A"TemperatureControlSystem"isdevelopedbasedonSCMforaresistancefurnacesystem.Thissystemincludesfourfunctionalmodulesthataretemperaturesensormodule,dataprocessingmodule,temperaturedisplay/settingmoduleandtemperature-controllingmodule.DigitaltemperaturesensorDS18B20isselectedtoreal-timesampleofthetemperatureandtoconvertanalogsignalsintodigitalsignalsthatarebacktotheSCMsystem.Thesettingvaluetemperatureofthissystemcanbepresetthroughthekeyboard.SCMisusedtocomputerPWMcontrollawsbasedonthecurrenttemperatureandthepresettemperatureofthefurnaceoperation.Thecontrollingoutputisusedtocontrolthesiliconcontrolinordertoregulatetheheatingpoweroftheheatingcord,sothewatertemperaturecanquicklyreachandmaintainsettingvalue.
Indesigningprocess,firstofall,thesoftwareisdesigned,developedandthensimulatebasedonProteussoftware,testthedeviceparameterstomakeitstableoperate.Atlast,thissystemhasbeenrealizedtheconstanttemperaturecontrolling.
Keywords:
SingleChipMicrocontroller;Temperaturesensor;Silicon-controlledrectifier;Temperaturecontrol
1绪论
1.1课题背景
及时准确地得到温度信息并对其进行适时的控制,在许多工业场合中都是重要的环节,水温的变化影响各种系统的自动运行,例如冶金、机械、食品、化工各类工业中,广泛使用的各种加热炉、热处理炉、反应炉等,对工件的水处理温度要求严格控制。
对于不同控制系统,其适宜的水质温度总是在一个范围。
超过这个范围,系统或许会停止运行或遭受破坏,所以我们必须能实时获取水温变化。
对于超过适宜范围的温度能够报警。
单片机对温度的控制是工业生产中经常使用的控制方法。
从1976年Intel公司推出第一批单片机以来,80年代单片机技术进入快速发展时期,近年来,随着大规模集成电路的发展,单片机继续朝快速、高性能方向发展。
单片机主要用于控制,它的应用领域遍及各行各业,大到航天飞机,小至日常生活中的冰箱、彩电,单片机都可以大显其能。
单片机将微处理器、存储器、定时/计数器、I/O接口电路等集成在一个芯片上的大规模集成电路,本身即是一个小型化的微机系统。
单片机技术与传感与测量技术、信号与系统分析技术、电路设计技术、可编程逻辑应用技术、微机接口技术、数据库技术以及数据结构、计算机操作系统、汇编语言程序设计、高级语言程序设计、软件工程、数据网络通信、数字信号处理、自动控制、误差分析、仪器仪表结构设计和制造工艺等的结合,使得单片机的应用非常广泛。
同时,单片机具有较强的管理功能。
采用单片机对整个测量电路进行管理和控制,使得整个系统智能化、功耗低、使用电子元件较少、内部配线少、成本低,制造、安装、调试及维修方便。
本毕业设计选择研究水温控制系统,采用单片机进行控制的水温自动控制电路,使系统能简单的实现温度的控制及显示,STC89C52单片机优秀的实时控制功能、灵活的编程能力有机的结合起来,并且通过软件编程能实现各种控制算法,使系统具有控制精度高的特点,对实现对水温的自动控制,具有重大的现实意义。
不但能用于学校的实验教学及其它一些研究课题的开发,同样能用于工厂多点温度的控制,提高工业企业自动化水平。
1.2课题研究的概述
本次的毕业设计是多种技术知识的结合,不仅涉及到软件的设计,而且还将应用电子技术与单片机的应用技术有机结合,使其具有精度高、测量误差小、稳定性好等特点。
1.2.1课题研究的内容
本文所要研究的课题是基于单片机控制的水温控制系统的设计,主要是介绍了对水箱温度的显示,实现了温度的实时显示及控制。
水箱水温控制部分,提出了用DS18B20、STC89C52单片机及LCD的硬件电路完成对水温的实时检测及显示,而炉内温度控制部分,由DS18B20检测炉内温度,用中值滤波的方法取一个值存入程序存取器内部一个单元作为最后检测信号,并在LCD中显示。
控制器是用STC89C52单片机,用设定的算法对检测信号和设定值的差值进行调节后输出PWM控制信号给执行机构,去调节电阻炉的加热功率,从而控制炉内温度。
它具有微型化、低功耗、高性能、抗干扰能力强、易配微处理器等优点,特别适合于构成多点的温度测控系统,可直接将温度转化成串行数字信号供微机处理,而且每片DS18B20都有唯一的产品号,可以一并存入其ROM中,以便在构成大型温度测控系统时在单线上挂接任意多个DS18S20芯片。
从DS18S20读出或写入DS18S20信息仅需要一根口线,其读写及其温度变换功率来源于数据总线,该总线本身也可以向所挂接的DS18B20供电,而且不需要额外电源。
同时DS18B20能提供九位温度读数,它无需任何外围硬件即可方便地构成温度检测系统。
而且利用本次的设计主要实现温度测试,温度显示,温度门限设定,超过设定的门限值时自动启动加热装置等功能。
而且还要以单片机为主机,使温度传感器通过一根口线与单片机相连接,再加上温度控制部分和人机对话部分来共同实现温度的监测与控制。
本文具体研究了如下几方面:
(1)水温控制系统硬件的设计
主要包括STC89C52单片机、温度传感器模块、温度控制模块、显示模块、按键模块的硬件选择及论证。
(2)水温控制系统软件的设计
借助KeilC51开发工具,以C语言为开发语言,开发了单片机系统的温度检测与控制程序模块、对温度传感器模块、显示模块、温度控制模块进行控制,键盘导入设定的温度,使其与实际温度进行运算并输出。
(3)水温控制系统的仿真
以Proteus为基础,画出电路图加载各模块,加载程序并模拟实际电路的运行状态并进行仿真。
1.2.2本系统实现的功能
本系统实现其具体控制功能如下:
(1)能够连续测量水的温度值,可用1602LCD液晶来显示水的实际温度。
(2)能够设定水的温度值,设定范围是30℃~90℃。
(3)用单片机STC89C52控制,通过按键来控制水温的设定值,并保持恒定不变。
(4)误差≤1℃。
2电阻炉温度控制系统工作原理
本温度控制系统按功能分主要包括四个模块:
温度传感器模块、数据处理模块、温度显示/按键模块和温度控制模块。
首先由温度传感器DS18B20,对炉内温度进行实时采样并将数字信号返回给单片机。
系统可通过键盘对电阻炉水温进行设置,单片机根据当前炉内温度和预设温度进行对比运算,根据控制算法,控制输出宽度可调的PWM方波,并由此控制双向可控硅的导通和关断来调节电热丝的加热功率,从而使水温迅速达到预设值并保持恒定不变。
本系统以STC89C52为核心,以KEIL为系统程序开发平台,以C语言进行程序设计,以PROTEUS作为仿真软件设计而成的。
系统原理图如图2.1所示,从图中可以直观地看出四个主要模块的工作过程,系统通过键盘将数据传送给单片机,并由LCD显示器显示当前水温和设定水温值,温度控制模块和温度采集模块共同形成闭环控制。
图2.1系统原理图
3电阻炉温度控制系统硬件设计
3.1系统硬件设计方案
系统硬件原理图如图3.1所示,系统集成了数据处理模块、温度显示/键盘模块、温度传感器模块、温度控制模块。
图3.1硬件原理图
3.2温度传感器模块
温度传感器模块采用DS18B20,主要功能是实时将水温温度数据返回单片机,将模拟信号转换为数字信号,便于数据处理与决策,由于此模块直接决定整个系统能否正常运行,所以是系统的核心模块。
3.2.1DS18B20基本知识
DS18B20数字温度计是DALLAS公司生产的1-Wire,即单总线器件,具有线路简单,体积小的特点。
因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便。
3.2.2DS18B20产品的特点
(1)只要求一个端口即可实现通信。
(2)在DS18B20中的每个器件上都有独一无二的序列号。
(3)实际应用中不需要外部任何元器件即可实现测温。
(4)测量温度范围在-55℃到+125℃之间。
(5)数字温度计的分辨率用户可以从9位到12位选择。
(6)内部有温度上、下限告警设置。
3.2.3DS18B20的引脚介绍
DS18B20的引脚排列见图3.2,其引脚功能描述见表3.1。
图3.1底视图
表3.2DS18B20详细引脚功能描述
序号
名称
引脚功能描述
1
GND
地信号
2
DQ
数据输入/输出引脚。
3
VDD
可选择的VDD引脚。
DS18B20的使用方法
由于DS18B20采用的是1-Wire总线协议方式,即在一根数据线实现数据的双向传输,而对STC89C52单片机来说,硬件上并不支持单总线协议,因此,我们必须采用软件的方法来模拟单总线的协议时序来完成对DS18B20芯片的访问。
由于DS18B20是在一根I/O线上读写数据,因此,对读写的数据位有着严格的时序要求。
DS18B20有严格的通信协议来保证各位数据传输的正确性和完整性。
该协议定义了几种信号的时序:
初始化时序、读时序、写时序。
所有时序都是将主机作为主设备,单总线器件作为从设备。
而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写命令后,主机需启动读时序完成数据接收。
数据和命令的传输都是低位在先。
DS18B20的复位时序如图3.3所示:
图3.1DS18B20的复位时序
DS18B20的读时序分为读0时序和读1时序两个过程,如图3.4所示。
对于DS18B20的读时序是从主机把单总线拉低之后,在15微秒之内就得释放单总线,以让DS18B20把数据传输到单总线上。
DS18B20在完成一个读时序过程,至少需要60us才能完成。
图3.2DS18B20的读时序
DS18B20的写时序分为写0时序和写1时序两个过程,如图3.5所示。
对于DS18B20写0时序和写1时序的要求不同,当要写0时序时,单总线要被拉低至少60us,保证DS18B20能够在15us到45us之间能够正确地采样I/O总线上的“0”电平,当要写1时序时,单总线被拉低之后,在15us之内就得释放单总线。
图3.3DS18B20的写时序
3.2.4DS18B20的4个主要部件
(1)光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。
64位光刻ROM的排列是:
开始8位(28H)是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码(CRC=X8+X5+X4+1)。
光刻ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。
(2)DS18B20中的温度传感器可完成对温度的测量,以12位转化为例:
用16位符号扩展的二进制补码读数形式提供,以0.0625℃/LSB形式表达,其中S为符号位,温度格式如图3.6所示:
图3.1DS18B20温度值格式
这是12位转化后得到的12位数据,存储在DS18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。
例如+125℃的数字输出为07D0H,+25.0625℃的数字输出为0191H,-25.0625℃的数字输出为FF6FH,-55℃的数字输出为FC90H。
DS18B20温度数据如表3.2所示:
表3.2DS18B20温度数据表
TEMPERATURE
DIGITALOUTPUT(B)
DIGITALOUTPUT(T)
+125℃
0000011111010000
07D0h
+85℃
0000010101010000
0550h
+25.0625℃
0000000110010001
0191h
+10.125℃
0000000010100010
00A2h
+0.5℃
0000000000001000
00008h
0℃
0000000000000000
00000h
-0.5℃
1111111111111000
FFF8h
-10.125℃
1111111101011110
FF5Eh
-25.0625℃
1111111001101111
FE6Eh
-55℃
1111110010010000
FC90h
(3)DS18B20温度传感器的存储器
DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的EEPRAM,后者存放高温度和低温度触发器TH、TL和结构寄存器。
(4)配置寄存器
该字节各位的意义如表3.3所示:
表3.3配置寄存器结构
低五位一直都是1,TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式。
在DS18B20出厂时该位被设置为0,用户不要去改动。
R1和R0用来设置分辨率,如表3.4所示:
表3.4温度值分辨率设置表
R1
R0
分辨率
温度最大转换时间
0
0
9位
93.75ms
0
1
10位
187.5ms
1
0
11位
375ms
1
1
12位
750ms
由表3.4可见,设定的分辨率越高,所需要的温度转换时间就越长。
因此,在实际应用中要将分辨率和转换时间权衡考虑,视设备的实际需要来选择分辨率。
3.2.5温度采集模块电路图
本设计采用数字传感器DS18B20,DS18B20是一种可组网的单线数字温度传感器,它采用单线总线结构,集温度测量和A/D转换于一体,直接输出数字量,用一根I/O线就可以传送数据与命令,其温度测量范围为-55℃~+125℃,精度为±0.5℃,使用中无需外部器件,可利用数据线或外部电源提供电能,供电电压范围为3.3~5.5V,通过编程实现9~12位分辨率读出温度数据。
使用时,将DS18B20的数据DQ与单片机的一位具有三态功能的双向口连接就可以实现数据传输,为保证在有效的时钟周期内提供足够电流,采用外部电源单独供电,在数据线上加一个6.8KΩ的上拉电阻。
具体接线如图3.7所示:
图3.1温度采集模块电路图
3.3数据处理模块
单片机是温度控制系统的核心部件,负责数据处理,分别控制显示模块、温度控制模块和温度采集模块,由于数据大于5K,所以选用内存量为8K的STC89C52单片机。
3.3.1STC89C52系列主要性能参数
STC89C52是一种低功耗,高性能CMOS微控制器,具有8K在系统可编程Flash存储器。
使用Armel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
STC89C52可提供以下标准功能:
8K字节闪存器,256字节内部RAM,32个I/O口线,看门狗定时器,2个数据指针,3个16位定时/计数器,一个6向量2级中断结构,全双工串行通信口,片内振荡器及时钟电路。
STC89C51可降至0HZ的静态逻辑操作,并支持两种软件可选的节电工作模式。
空闲方式停止CPU的工作,但允许RAM,定时/计数器,串性通信口及中断系统继续工作。
掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个中断或硬件复位为止。
STC89C52引脚图如图3.8所示:
图3.1STC89C52引脚图
图3.2
STC89C52内部结构图
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FLASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为一些特殊功能口,如表3.5所示:
表3.2P3口功能表
引脚
第2功能
P3.0
RXD(串行口输入端)
P3.1
TXD(串行口输出端)
P3.2
INT0(外部中断0请求输入端,低电平有效)
P3.3
INT1(外部中断1请求输入端,低电平有效)
P3.4
T0(定时器/记时器0计数脉冲输入端)
P3.5
T1(定时器/记时器1计数脉冲输入端)
P3.6
WR(外部数据存储器写选通信号输出端,低电平有效)
P3.7
RD(外部数据存储器读选通信号输出端,低电平有效)
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低8位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取值期间,每个机器周期两次PSEN有效。
但在访问外部数据存储器时,这两次PSEN信号将不出现。
/EA/VPP:
当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XT
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 电阻炉 温度 控制系统 设计 毕业设计