PID算法在炉温控制中的Proteus仿真.docx

上传人:b****1 文档编号:13414393 上传时间:2023-06-14 格式:DOCX 页数:63 大小:1.04MB
下载 相关 举报
PID算法在炉温控制中的Proteus仿真.docx_第1页
第1页 / 共63页
PID算法在炉温控制中的Proteus仿真.docx_第2页
第2页 / 共63页
PID算法在炉温控制中的Proteus仿真.docx_第3页
第3页 / 共63页
PID算法在炉温控制中的Proteus仿真.docx_第4页
第4页 / 共63页
PID算法在炉温控制中的Proteus仿真.docx_第5页
第5页 / 共63页
PID算法在炉温控制中的Proteus仿真.docx_第6页
第6页 / 共63页
PID算法在炉温控制中的Proteus仿真.docx_第7页
第7页 / 共63页
PID算法在炉温控制中的Proteus仿真.docx_第8页
第8页 / 共63页
PID算法在炉温控制中的Proteus仿真.docx_第9页
第9页 / 共63页
PID算法在炉温控制中的Proteus仿真.docx_第10页
第10页 / 共63页
PID算法在炉温控制中的Proteus仿真.docx_第11页
第11页 / 共63页
PID算法在炉温控制中的Proteus仿真.docx_第12页
第12页 / 共63页
PID算法在炉温控制中的Proteus仿真.docx_第13页
第13页 / 共63页
PID算法在炉温控制中的Proteus仿真.docx_第14页
第14页 / 共63页
PID算法在炉温控制中的Proteus仿真.docx_第15页
第15页 / 共63页
PID算法在炉温控制中的Proteus仿真.docx_第16页
第16页 / 共63页
PID算法在炉温控制中的Proteus仿真.docx_第17页
第17页 / 共63页
PID算法在炉温控制中的Proteus仿真.docx_第18页
第18页 / 共63页
PID算法在炉温控制中的Proteus仿真.docx_第19页
第19页 / 共63页
PID算法在炉温控制中的Proteus仿真.docx_第20页
第20页 / 共63页
亲,该文档总共63页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

PID算法在炉温控制中的Proteus仿真.docx

《PID算法在炉温控制中的Proteus仿真.docx》由会员分享,可在线阅读,更多相关《PID算法在炉温控制中的Proteus仿真.docx(63页珍藏版)》请在冰点文库上搜索。

PID算法在炉温控制中的Proteus仿真.docx

PID算法在炉温控制中的Proteus仿真

本科毕业设计论文

 

题目PID算法在温度控制中的proteus仿真

系别电气与信息工程系

专业电子信息工程

班级电信902学号09010049

学生姓名王晓振

指导老师金印斌

2013年6月

 

摘要

近年来随着计算机在社会领域的渗透,单片机的应用正在不断深入,同时带动传统控制检测日新月益更新。

在实时检测和自动控制的单片机应用系统时,经常作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及具体应用对象特点的软件结合,以作完善。

本文从硬件和软件两方面来讲述水温的自动控制过程,在控制过程中主要应用AT89C51、DS18B20、MAX232等,而主要是通过DS18B20数字温度传感器采集环境温度,以单片机为核心控制部件。

软件方面采用汇编语言来进行程序设计,这样可以使指令的执行速度快,节省存储空间。

为了便于扩展和更改,软件设计采用模块化结构,使程序设计的逻辑关系更加的简洁明了,使硬件在软件的控制下协调运作。

而系统的过程则是:

首先,设定恒温运行时的温度值。

然后,在运行过程中将采样的温度数字量送入单片机,最后用单片机来控制加热器,进行加热或停止加热,直到能在规定的温度下恒温加热。

关键词:

单片机系统传感器数据采集模数转换器温度

 

Abstract

Inrecentyears,withthecomputerpenetrationinthesocialfield,theapplicationofSCMistokeepatthesametime,traditionalcontroltestingupdateonCrescentbenefits.Inreal-timedetectionandautomaticcontrolsystemofsingle-chipapplications,oftenasasingle-chipcorecomponenttouseonlysingle-chipisnotenoughknowledge,butalsothespecifichardwarestructureandthespecificfeaturesofapplicationsoftwareobjectscombinetomakeperfect.

Inthispaper,bothhardwareandsoftwareforautomaticcontrolofwatertemperatureontheprocess,inthecontrolofthemainapplicationoftheprocessofAT89C51,DS18B20,MAX232andsoon,butmainlythroughthedigitaltemperaturesensorDS18B20collectingambienttemperaturetosingle-chipmicrocomputerasthecorecontrolcomponents.Softwareusingassemblylanguageforprogramming,sothattheimplementationofDirectivespeedtosavestoragespace.Tofacilitatetheexpansionandchange,softwaredesignusingmodularstructure,maketheprogramdesignlogicalrelationshipmoresuccinctly,makethehardwareinthesoftwareunderthecontrolofthecoordinationofoperations.

Andsystematicprocessis:

Firstofall,setthethermostattemperatureatthetimeofoperation.Then,intherunningtemperatureoftheprocessofsamplingdigitalintothesingle-chipmicrocomputer,thelastsingle-chipmicrocomputertocontroltheheaterusedforheatingorstopheatinguntilthetemperatureintheprovisionsundertheconstanttemperatureheating.

KEYWORDS:

Single-chipmicrocomputersystem;Sensor;DataAcquisition;ADC;Temperature

 

目录

摘要I

AbstractIII

目录V

1绪论1

1.1文献综述1

1.1.1课题的背景及其意义1

1.1.2单片机温度控制系统的国内外现状2

1.2课题的主要内容2

1.3课题的研究方案3

2设计理论基础7

2.1单片机的发展概况7

2.2AT89C51系列单片机介绍8

2.2.1AT89C51系列基本组成及特性8

2.2.2AT89C51系列引脚功能9

2.2.3AT89C51系列单片机的功能单元11

2.3数字温度传感器DS18B2014

2.3.1DS18B20简介14

2.3.2DS18B20的引脚图及引脚说明16

2.3.3DS18B20的内部结构17

2.3.4DS18B20的工作原理17

2.4RS-232总线接口芯片MAX23218

2.4.1RS-232接口18

2.4.2MAX232简介20

2.4.3MAX232的管脚图及管教说明20

2.4.4MAX232的内部功能框图22

3硬件电路设计25

3.1硬件系统功能模块设计25

3.2硬件系统电路连接设计27

3.2.1温度检测电路27

3.2.2继电器控温电路28

3.2.3串口通信接口电路28

3.2.4外部电路29

4PID控制算法31

4.1PID控制的发展31

4.2PID控制理论31

4.3PID控制算法32

5软件设计37

5.1软件设计综述37

5.2软件流程图37

5.2.1主程序流程图37

5.2.2DS18B20实现温度转换和温度数值读取流程图38

5.2.3显示流程图39

结语42

参考文献44

致谢46

附录温度控制系统源程序及电路电路仿真图48

1绪论

1.1文献综述

温度是日常生活、工业、医学、环境保护、化工、石油等领域会经常遇到的一个物理量。

在工业生产过程中为了高效地进行生产,必须对生产工艺过程中的主要参数,如温度,压力,流量,速度等进行有效的控制。

其中温度控制在生产过程中占据了相当大的比例[1]。

采用单片机控制,这些控制技术会大大提高控制精度,不但可以使控制简捷,降低产品的成本,更提高了生产效率。

[2]

单片机是指芯片本身,而单片机系统则是为实现某一个控制应用需要由用户设计的,是一个围绕单片机芯片而组建的计算机应用系统。

单片机自问世以来,其性能就在不断提高和完善,其资源又能满足很多应用场合的需要,加之单片机具有集成度高、功能强、速度快、体积小、功耗低、使用方便、价格低廉等特点,因此,应用日益广泛,并且正在逐步取代现有的多片微机应用系统。

1.1.1课题的背景及其意义

二十一世纪是科学技术高速发展的信息时代,电子技术、微型单片机技术的应用更是空前广泛,伴随着科学技术和生产的不断发展,需要对各种参数进行温度测量。

温度一词在生产生活中所出现的频率日益增多,与之相对应的,温度控制和测量也成为了生活生产中频繁使用的词语,同时它们在各行各业中也发挥着重要的作用。

如在日趋发达的工业生产中,利用测量与控制温度来保证生产的正常运行;在农业中,用于保证蔬菜大棚的恒温保产等。

温度是表征物体冷热程度的物理量,温度测量则是工农业生产过程中一个十分重要且普遍的参数。

温度的测量及其控制对保证产品质量、提高生产效率、节约能源、生产安全、促进国民经济的发展起到非常重要的作用。

由于温度测量的普遍性,温度传感器的数量在各种传感器中占据了首位。

而且随着科学技术和生产的不断发展,温度传感器的种类还是在不断增加丰富来用于满足生产生活中的需要。

单片机温度测量系统中的关键是测量温度、控制温度和保持温度,温度测量是工业对象中主要的被控参数之一。

因此,单片机温度测量则是对温度进行有效的测量,并且能够在工业生产中可以得到广泛的应用,尤其在电力工程、化工生产、机械制造、冶金工业等重要工业领域中担负着重要的测量任务。

在日常生活中,也能广泛实用于地热、空调器、电加热器等各种家庭室温测量及工业设备温度测量场合。

但温度是一个模拟量,如果采用相适当的技术和元件,将模拟的温度量转化为数字量虽不困难,但却成本较高,电路复杂。

[3]

1.1.2单片机温度控制系统的国内外现状

(1)国外温度测控系统研究

国外对于温度控制技术研究较早,始于20世纪70年代。

先是采用模拟式的组合仪表,采集现场信息并进行指示、记录和控制。

80年代末出现了分布式控制系统。

目前正在开发和研制计算机数据采集控制系统的多因子综合控制系统。

现在世界各国的温度测控技术都发展很快,一些国家在实现自动化的基础上正向着完全自动化、无人化的方向发展。

[4]

(2)国内温度测控系统研究

我国对于温度测控技术的研究则较晚,始于20世纪80年代。

我国工程技术人员在吸收发达国家温度测控技术的基础上,才掌握了温度室内微机控制技术,该技术仅限于对温度的单项环境因子的控制。

我国的温度测控设施计算机应用,在总体上正从消化吸收、简单应用阶段向实用化、综合性应用阶段过渡和发展。

在技术上,以单片机控制的单参数单回路系统居多,尚无真正意义上的多参数综合控制系统,与发达国家相比,存在较大差距。

我国温度测量控制现状还远远没有达到工厂化的程度,生产实际中仍然有许多问题困扰着我们,存在着装备配套能力差,产业化程度低,环境控制水平落后,软硬件资源不能共享和可靠性差等缺点。

1.2课题的主要内容

本课题以水为测量对象,温度测量电路接收传感器的信号,并将模拟信号通过模/数转换器转换为数字信号,送入单片机系统,与预设的温度对比,通过一定的控制算法,控制继电器的通断,从而控制加热器的工作,使得水温维持在设定的温度。

温度控制算法精确控制温度加热,以温度最小为优化目标。

温度是工业控制对象的主要的被控参数之一,如冶金,机械,食品,化工各类工业中广泛使用的各种加热炉,热处理炉,反应炉等。

在过去多是采用常规的模拟调节器对温度进行控制,本课题采用了单片微型机对温度实现自动控制。

[6]

使用单片机对其进行温度自动控制,难度就在于测量温度和单片机输出的温度误差是不是太大,导致无法输出,利用ATMEL单片机核心程序对其进行编码,实现温度在一段范围内的变化,实验成功控制语言的代码,并进行烧片,烧片成功后,运行实验,若能看到实验的结果,则实验完成。

1.3课题的研究方案

温度控制系统是一种比较常见和典型的过程控制系统。

温度是工业生产过程中重要的被控参数之一,当今计算机控制技术在这方面的应用,已使温度控制系统达到自动化、智能化,比过去单纯采用电子线路进行PID调节的控制效果要好得多,可控性方面也有了很大的提高。

温度是一个非线性的对象,具有大惯性的特点,在低温段惯性较大,在高温段惯性较小。

对于这种温控对象,一般认为它具有以下的传递函数形式:

(1.1)

方案一(如图1-1):

此方案是传统的一位式模拟控制方案,选用模拟电路,用电位器设定值,反馈的温度值和设定值比较后,决定加热或不加热。

其特点是电路简单,易于实现,但是系统所得到的结果的精度不高并且调节动作频繁,系统静态差大、不稳定。

系统受环境影响较大,不能实现复杂的控制算法,不能用数码管显示,不能用键盘设定。

方案二(如图1-2):

此方案是传统的二位式模拟控制方案,其基本思想与方案一相同,但由于采用上下限比较电路,所以控制精度有所提高。

这种方法还是模拟控制方式,因此也不能实现复杂的控制算法使控制精度做得较高,而且不能用数码管显示,对键盘进行设定。

方案三(如图1-3):

此方案采用89C51单片机系统来实现。

单片机软件编程灵活、自由度大,可用软件编程来实现各种控制算法和逻辑控制。

单片机系统可以使用数码管来显示水温的实际值,能用键盘输入设定值。

本方案选用了AT89C51芯片,不需要外扩展存储器,可使系统整体结构更为简单。

前两种方案采用的是传统的模拟控制方式,而模拟控制系统难以实现复杂的控制规律,控制方案的修改也较为繁琐。

而方案三则是采用以单片机为控制核心的控制系统,尤其对温度控制,可达到模拟控制所达不到的效果,并且实现显示和键盘设定功能,大大提高了系统的智能化。

这也使得系统所测得结果的精度大大提高。

所以,经过对三种方案的对比,本次毕业设计采用了方案三。

 

2设计理论基础

2.1单片机的发展概况

1970年微型计算机研制成功之后,随之便出现了单片机(即单片微型计算机)—美国Intel公司1971年生产的4位单片机4004和1972年生产的雏形8位单片机8008,这也可以算是单片机的第一次公众亮相。

1976年Intel公司首先推出了可以称为单片机的MCS-48系列单片微型计算机。

它以体积小、功能全、价格低等特点,赢得了非常广泛的应用,同时一些与单片机有关的其他公司都争相推出各自的单片机。

1978年下半年Motorola公司推出M6800系列单片机,Zilog公司相继推出Z8单片机系列。

1980年Intel公司在MCS-48系列的基础之上又推出高性能的MCS-51系列单片机。

这类单片机均带有串行I/O口,定时器/计数器为16位,片内存储容量(RAM,ROM)都相应增大,并有优先级中断处理功能,单片机的功能、寻址范围都比早期的扩大了,它们是当时单片机应用的主流产品。

1982年Mostek公司和Intel公司又先后推出了更高性能的16位单片机MK68200和MCS-96系列,NS公司和NEC公司也分别在原有8位单片机的基础上推出了16位单片机HPC16040和μPD783××系列。

1987年Intel公司又宣布了比8096性能高两倍的CMOS型80C196单片机,1988年推出带EPROM的87C196单片机。

由于16位单片机推出的时间比较迟、价格昂贵、开发设备有限等多种原因,至今还不能得到广泛应用。

而8位单片机已经可以满足大部分应用的需要,因此,在推出16位单片机的同时,高性能的新型8位单片机也不断问世。

纵观这短短的20年,已经经历了4次更新换代,单片机正朝着集成化、多功能、多选择、高速度、低功耗、扩大存储容量和加强I/O功能及结构兼容的方向发展。

新一代的80C51系列单片机除了上述的结构特性外,其最主要的技特点是向外部接口电路扩展,以实现微控制器(microcontroller)完善的控制功能为己任。

这一系列单片机为外部提供了非常完善的总线结构,为系统的扩展和配置打下了良好的基础。

由于80C51系列单片机所具有的一系列优越的特点,获得广泛使用是指日可待的[7]。

下面我们就来重点介绍一下本毕业论文讨论的系统所用的AT89C51系列单片机。

2.2AT89C51系列单片机介绍

2.2.1AT89C51系列基本组成及特性

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

而在众多的51系列单片机中,要算ATMEL公司的AT89C51更实用,也是一种高效微控制器,因为它不但和8051指令、管脚完全兼容,而且其片内的4K程序存储器是FLASH工艺的,这种工艺的存储器,用户可以用电的方式达到瞬间擦除、改写。

而这种单片机对开发设备的要求非常低,开发时间也能大大缩短。

AT89C51基本功能描述如下:

AT89C51是一种低损耗、高性能、CMOS八位微处理器,而且在其片种还有4k字节的在线可重复编程快擦快写程序存储器,能重复写入/擦除1000次,数据保存时间为十年。

它与MCS-51系列单片机在指令系统和引脚上完全兼容,不仅可完全代替MCS-51系列单片机,而且能使系统具有许多MCS-51系列产品没有的功能。

AT89C51可以构成真正的单片机最小应用系统,缩小系统体积,增加系统的可靠性,降低了系统成本。

只要程序长度小于4k,四个I/O口就会全部提供给用户。

可采用5V的电压来编程,而且写入时间仅10毫秒,仅为8751/87C51的擦除时间的百分之一,与8751/87C51的12V电压擦写相比,不易损坏器件,没有两种电源的要求,改写时不拔下芯片,适合许多嵌入式控制领域。

AT89C51芯片有三级程序存储器锁定加密,提供了方便灵活而可靠的硬加密手段,能完全保证程序或系统不被仿制。

另外,AT89C51还同时具有MCS-51系列单片机的所有优点。

128×8位内部RAM,32位双向输入输出线,两个十六位定时器/计时器,5个中断源,两级中断优先级,一个全双工异步串行口及时钟发生器等。

AT89C51具有间歇、掉电两种工作模式。

间歇模式是由软件来设置的,当外围器件仍然处于工作状态时,CPU可根据工作情况适时地进入睡眠状态,内部RAM和所有特殊的寄存器值将保持不变。

这种状态会被任何一个中断所终止或通过硬件复位。

掉电模式是指VCC电压低于电源下限,当振荡器停止振动时,CPU停止执行指令。

该芯片内RAM和特殊功能寄存器值会保持不变,一直到掉电模式被终止。

只有在VCC电压恢复到正常工作范围内并且在振荡器稳定振荡后,通过硬件复位、掉电模式才可被终止。

2.2.2AT89C51系列引脚功能

AT89C51有40引脚双列直插(DIP)形式。

其结构与80C51引脚结构基本相同,其逻辑引脚图如图2-1。

图2-1AT89C51逻辑引脚图

各引脚功能叙述如下:

电源和晶振

 VCC——运行和程序校验时加+5V

 GND——接地

 XTAL1——输入到振荡器的反向放大器

 XTAL2——反向放大器的输出,输入到内部时钟发生器

 (当使用外部振荡器时,XTAL1接地,XTAL2接收振荡器信号)

1.RST:

复位输入。

当振荡器复位器件时,需要保持RST脚两个机器周期的高电平时间。

2.I/O(4个口,32根)

 P0口——8位、漏极开路的双向I/O口。

当使用片外存储器(ROM、RAM)时,作地址和数据分时复用。

在程序校验期间,输出指令字节(需加外部上拉电路)。

P0口(作为总线时)能驱动8个LSTTL负载。

 P1口——8位、准双向I/O口。

在编程/校验的时候,用于输入低位字节地址。

P1口可驱动4个LSTTL负载。

对于80C51,P1.0——T2,是定时器的计数端且位输入;P1.1——T2EX,是定时器的外部输入端。

这时候,读两个特殊输入引脚的输出锁存器应由程序置1。

P2口——8位、准双向I/O口。

当使用片外存储器(ROM及RAM)时,输出高8位地址。

在编程/校验的时候,接收高位字节地址。

P2口可以驱动4个LSTTL负载。

P3口——8位、准双向I/O口,具有内部上拉电路。

P3口可以提供各种替代功能。

在提供这些功能的时候,其输出锁存器应由程序置1。

P3口可以输入/输出4个LSTTL负载。

3.串行口

 P3.0——RXD(串行输入口),输入。

 P3.1——TXD(串行输出口),输出。

4.中断

 P3.2——INT0外部中断0,输入。

 P3.3——INT1外部中断1,输入。

5.定时器/计数器

 P3.4——T0定时器/计数器0的外部输入,输入。

 P3.5——T1定时器/计数器1的外部输入,输入。

6.数据存储器选通

 P3.6——WR低电平有效,输出,片外存储器写选通。

 P3.7——RD低电平有效,输出,片外存储器读选通。

7.控制线(共4根)

 输入:

 EA/VPP——片外程序存储器访问允许信号,低电平有效。

在编程时,其上需要施加21V的编程电压。

注意:

在加密方式为1时,EA将内部锁定为RESET;当EA端保持高电平时,此间内部程序存储器。

在FLASH编程期间,此引脚也可以用于施加12V编程电源(VPP)。

 输入、输出:

ALE/PROG——地址锁存允许信号,输出。

在ALE以1/6的振荡频率稳定速率输出时,可用作对外输出的时钟或用于定时。

在EPROM编程的时候,作输入,输入编程脉冲(PROG)。

ALE可以驱动8个LSTTL负载。

当访问外部存储器的时候,地址锁存所允许的输出电平用于锁存地址的低位字节。

在FLASH编程的时候,此引脚用于输入编程脉冲。

在平时的时候,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。

因此它可用作对外部输出的脉冲或用于定时目的。

注意:

每当用作外部数据存储器的时候,将跳过一个ALE脉冲。

如果想要禁止ALE的输出可在SFR8EH地址上置0。

此时,ALE只有在执行MOVX指令,而MOVC指令是ALE才起作用。

另外,该引脚会被略微的拉高。

如果微处理器处于外部执行状态ALE禁止,置位无效。

输出:

PSEN——片外程序存储器选通信号,低电平有效。

在从片外程序存储器取址的时候,在每个机器周期中,当PSEN有效的时候,程序存储器的内容被送上P0口(数据总线)。

PSEN可以驱动8个LSTTL负载。

2.2.3AT89C51系列单片机的功能单元

1.并行I/O接口:

单片机芯片内具有一项主要功能就是并行I/O口。

51单片机系列共有4个8位的并行I/O口,分别记作P0、P1、P2、P3每个口都包含一个锁存器,一个输出驱动器和输入缓冲器。

实际上,它们已经被归为专用寄存器之列,并且具有字节寻址和位寻址功能。

在访问片外扩展存储器的时候,低八位地址和数据由P0口分时传送,高八位地址由P2口传送。

2.定时器/计数器:

定时器/计数器(timer/counter)是单片机中的重要部件,其工作方式灵活、编程简单,使用它对减轻CPU的负担和简化外围电路都大有好处。

C51单片机系列包含有两个16位的可编程定时器/计数器分别称为定时器/计数器T0和定时器/计数器T1;在C51部分产品中,还包含有一个用做看门狗的8位定时器。

定时器/计数器的核心是一个加1计数引脚上施加器,其基本的功能是加1功能。

在单片机的定时器T0或T1中,有一个定时器在发生由0到1的跳变时,计数器增1,即为计数功能;在单片机内部对机器周期或其分频进行计数,从而得到定时,这就是定时功能。

在单片机中,定时功能和计数功能的设定和控制都是需要通过软件来进行的。

定时器/计数器的内部结构及其原理:

由定时器0、定时器1、定时器方式寄存器TMOD和定时器控制寄存器TCON组成。

当定时器/计数器设置为定时工作方式时,计数器会对内部机器周期计数,每过一个机器周

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

当前位置:首页 > 职业教育 > 职业技术培训

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2