基于PID算法和51单片机的温度解读Word文档格式.docx
- 文档编号:20537253
- 上传时间:2023-01-23
- 格式:DOCX
- 页数:35
- 大小:886.45KB
基于PID算法和51单片机的温度解读Word文档格式.docx
《基于PID算法和51单片机的温度解读Word文档格式.docx》由会员分享,可在线阅读,更多相关《基于PID算法和51单片机的温度解读Word文档格式.docx(35页珍藏版)》请在冰豆网上搜索。
而系统的过程则是:
通过矩阵按键,设定恒温运行时的温度值,用LCD1602显示这个温度值.在运行过程中将DS18B20采样到的温度再将转换后的数字量用LCD1602进行显示,调用PID算法,确定PWM波的占空比,确定加热的功率,直到能在规定的温度下恒温加热。
关键词:
单片机系统;
传感器;
LCD1602;
光耦;
温度;
PID
Abstract
Inrecentyears,withthecomputerpenetrationinthesocialfield,theapplicationofSCMistokeepatthesametime,traditionalcontroltestingupdateonCrescentbenefits.Inreal-timedetectionandautomaticcontrolsystemofsingle-chipapplications.oftenasasingle-chipcorecomponenttouseonlysingle-chipisnotenoughknowledge,butalsothespecifichardwarestructureandthespecificfeaturesofapplicationsoftwareobjectscombinetomakeperfect.
Inthispaper,bothhardwareandsoftwareforautomaticcontrolofwatertemperatureontheprocess,inthecontrolofthemainapplicationoftheprocessofAT89C52,LCD1602,MOC3051,microcomputerasthecorecontrolcomponents,throughthedigitaltemperaturesensorDS18B20collectingambienttemperatureandthroughLiquidCrystalDisplay1602displayofadigitalthermometertemperature.SoftwareusingClanguageforprogramming,sothatmakingiteasierfortheprogramming,tosavestoragespace.Inordertofacilitatetheexpansionandchangestothedesignofmodularsoftwarestructure,sothatthelogicoftherelationshipbetweenprogramdesignmoreconcise,Hardwaresoftwareco-operationunderthecontrolofit.
Andsystematicprocessis:
Firstofall,bysettingthematrixkeyboard,setthethermostattemperatureatthetimeofDS18B20,anddigitaldisplayofthetemperature.Then,intherunningtemperatureoftheprocessofsamplinganalogintotheconverterinthesimulation-digitalconverter,AndthePIDalgorithmiscalled,todeterminetheheatingpower,todeterminethedutyratioofPWMwave,andthenconverteddigitalcontrolwithdigitaldisplay,thelastsingle-chipmicrocomputertocontroltheheaterusedforheatingorstopheatinguntilthetemperatureintheprovisionsundertheconstanttemperatureheating.
Keywords:
Single-chipmicrocomputersystem;
Sensor;
Opto-coupler;
Temperature;
第1章绪论
1.1概述
温度是生活及生产中最基本的物理量,它表征的是物体的冷热程度。
自然界中任何物理、化学过程都紧密的与温度相联系。
在很多生产过程中,温度的测量和控制都直接和安全生产、提高生产效率、保证产品质量、节约能源等重大技术指标相联系。
因此,温度的测量与控制在国民经济各个领域中均受到了相当程度的重视。
在实际的生产实验环境下,由于系统内部与外界的热交换是难以控制的,其他热源的干扰也是无法精确计算的,因此温度量的变化往往受到不可预测的外界环境扰动的影响。
为了使系统与外界的能量交换尽可能的符合人们的要求,就需要采取其他手段来达到这样一个绝热的目的,例如可以让目标系统外部环境的温度与其内部温度同步变化。
根据热力学第二定律,两个温度相同的系统之间是达到热平衡的,这样利用一个与目标系统温度同步的隔离层,就可以把目标系统与外界进行热隔离。
另外,在大部分实际的环境中,增温要比降温方便得多。
因此,对温度的控制精度要求比较高的情况下,是不允许出现过冲现象的,即不允许实际温度超过控制的目标温度。
特别是隔热效果很好的环境,温度一旦出现过冲,将难以很快把温度降下来。
这是因为很多应用中只有加热环节,而没有冷却的装置。
同样道理,对于只有冷却没有加热环节的应用中,实际温度低于控制的目标温度,对控制效果的影响也是很大的。
鉴于上述这些特点,高精度温度控制的难度比较大,而且不同的应用环境也需要不同的控制策略。
下面就简要的讨论一下温度测控技术的发展与现状。
1.2温度控制技术的发展与现状
近年来,温度的检测在理论上发展比较成熟,但在实际测量和控制中,如何保证快速实时地对温度进行采样,确保数据的正确传输,并能对所测温度场进行较精确的控制,仍然是目前需要解决的问题。
温度测控技术包括温度测量技术和温度控制技术两个方面。
在温度的测量技术中,接触式测温发展较早,这种测量方法的优点是简单、可靠、低廉、测量精度较高,一般能够测得真实温度但由于检测元件热惯性的影响,响应时间较长,对热容量小的物体难以实现精确的测量,并且该方法不适宜于对腐蚀性介质测温,不能用于超高温测量,难于测量运动物体的温度。
另外的非接触式测温方法是通过对辐射能量的检测来实现温度测量的方法,其优点是不破坏被测温场,可以测量热容量小的物体,适于测量运动物体的温度,还可以测量区域的温度分布,响应速度较快。
但也存在测量误差较大,仪表指示值一般仅代表物体表观温度,测温装置结构复杂,价格昂贵等缺点。
因此,在实际的温度测量中,要根据具体的测量对象选择合适的测量方法,在满足测量精度要求的前提下尽量减少投入。
温度控制技术按照控制目标的不同可分为两类动态温度跟踪与恒值温度控制。
动态温度跟踪实现的控制目标是使被控对象的温度值按预先设定好的曲线进行变化。
在工业生产中很多场合需要实现这一控制目标,如在发酵过程控制,化工生产中的化学反应温度控制,冶金工厂中燃烧炉中的温度控制等恒值温度控制的目的是使被控对象的温度恒定在某一给定数值上,且要求其波动幅度即稳态误差不能超过某允许值。
本文所讨论的基于单片机的温度控制系统就是要实现对温控箱的恒值温度控制要求,故以下仅对恒值温度控制进行讨论。
从工业控制器的发展过程来看,温度控制技术大致可分以下几种:
定值开关温控法、PID线性温控法、智能温控法。
其中PID这种控温方法是基于经典控制理论中的调节器控制原理,控制是最早发展起来的控制策略之一,由于其算法简单、鲁棒性好、可靠性高等优点被广泛应用工业过程控制中,尤其适用于可建立精确数学模型的确定性控制系统。
由于调节器模型中考虑了系统的误差、误差变化及误差积累三个因素,因此,其控制性能大大地优越于定值开关控温。
其具体控制电路可以采用模拟电路或计算机软件方法来实现调节功能。
前者称为模拟控制器,后者称为数字控制器。
其中数字控制器的参数可以在现场实现在线整定,因此具有较大的灵活性,可以得到较好的控制效果。
采用这种方法实现的温度控制器,其控制品质的好坏主要取决于三个参数比例值、积分值、微分值。
只要PID参数选取的正确,对于一个确定的受控系统来说,其控制精度是比较令人满意的。
但是,它的不足也恰恰在于此,当对象特性一旦发生改变,三个控制参数也必须相应地跟着改变,否则其控制品质就难以得到保证。
1.3课题研究的内容及要求
1.3.1课题的主要研究的内容
本文所要研究的课题是基于单片机控制的水温控制系统的设计,主要是介绍了对水箱温度的显示、控制及报警,实现了温度的实时显示及控制。
水箱水温控制部分,提出了用DS18B20、AT89C52单片机及LCD1602的硬件电路完成对水温的实时检测及显示,利用DS18B20与单片机连接由软件与硬件电路配合来实现对加热电阻丝的实时控制及超出设定的上下限温度的报警系统。
而水温度控制部分,采用一套PID闭环负反馈控制系统,由DS18B20检测水的温度,并在LCD1602中显示。
控制器是用89C52单片机,用PID算法对检测信号和设定值的差值进行调节后输出控制信号给执行机构,去调节PWM波的占空比从而控制热得快的加热功率,从而控制水的温度。
它具有微型化、低功耗、高性能、抗干扰能力强、易配微处理器等优点,特别适合于构成多点的温度测控系统,可直接将温度转化成串行数字信号供微机处理,而且每片DS18B20都有唯一的产品号,可以一并存入其ROM中,以便在构成大型温度测控系统时在单线上挂接任意多个DS18B20芯片。
从DS18B20读出或写入DS18B20信息仅需要一根口线,其读写及其温度变换功率来源于数据总线,该总线本身也可以向所挂接的DS18B20供电,而且不需要额外电源。
同时DS18B20能提供十二位温度读数,它无需任何外围硬件即可方便地构成温度检测系统。
而且利用本次的设计主要实现温度测试,温度显示,温度门限设定,超过设定的门限值时按PID算法得出的功率启动加热装置等功能。
而且还要以单片机为主机,使温度传感器通过一根口线与单片机相连接,再加上温度控制部分和人机对话部分来共同实现温度的监测与控制。
1.3.1用单片机实现其具体控制功能
(1)能够连续测量水的温度值,用LCD1602显示水的实际温度。
(2)能够设定水的温度值,设定范围是30℃~90℃。
(3)能够实现水温的自动控制,如果设定水温为85℃,则能使水温保持恒定在85℃的温度下运行。
(4)用DS18B20做温度传感器,用单片机AT89C52和PID算法控制电加热器,通过矩阵键盘的输入来控制水温的设定值,数值采用LCD1602显示。
1.4课题的研究方案
温度控制系统是比较常见和典型的过程控制系统。
温度是工业生产过程中重要的被控参数之一,当今计算机控制技术在这方面的应用,已使温度控制系统达到自动化、智能化,比过去单纯采用电子线路进行PID调节的控制效果要好得多,可控性方面也有了很大的提高。
1.方案一(见图1-1)
图1-1方案一的图
此方案是传统的一位式模拟控制方案,选用模拟电路,用电位器设定值,反馈的温度值和设定值比较后,决定加热或不加热。
其特点是电路简单,易于实现,但是系统所得结果的精度不高并且调节动作频繁,系统静态差大、不稳定。
系统受环境影响大,不能实现复杂的控制算法,不能用数码管显示,不能用键盘设定。
2.方案二(见图1-2)
图1-2方案二的图
此方案是传统的二位式模拟控制方案,其基本思想与方案一相同,但由于采用上下限比较电路,所以控制精度有所提高。
这种方法还是模拟控制方式,因此也不能实现复杂的控制算法使控制精度做得较高,而且不能用数码管显示,对键盘进行设定。
3.方案三(见图1-3)
图1-3方案三的图
此方案采用89C52单片机系统来实现。
单片机软件编程灵活、自由度大,可用软件编程实现各种控制算法和逻辑控制。
单片机系统可以用数码管来显示水温的实际值,能用键盘输入设定值。
本方案选用了AT89C52芯片,不需要外扩展存储器,可使系统整体结构更为简单。
结论:
前两种方案是传统的模拟控制方式,而模拟控制系统难以实现复杂的控制规律,控制方案的修改也较为繁琐。
而方案三是采用以单片机为控制核心的控制系统,尤其对温度控制,可达到模拟控制所达不到的效果,并且实现显示和键盘设定功能,大大提高了系统的智能化。
也使得系统所测得结果的精度大大提高。
所以,经过对三种方案的比较,本次毕业设计采用了方案三。
第2章设计理论基础
本设计系统的基本组成单元包括:
主机、温度采样单元、单片机控制单元、调节执行单元四部分,本章将逐一进行介绍。
2.1AT89C51系列单片机介绍
2.2.1AT89C51系列基本组成及特性
AT89C51是一种带4k字节闪烁可编程可擦除只读存储器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低电压,高性能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逻辑引脚图
各引脚功能叙述如下:
1.电源和晶振
VCC——运行和程序校验时加+5V
GND——接地
XTAL1——输入到振荡器的反向放大器
XTAL2——反向放大器的输出,输入到内部时钟发生器
(当使用外部振荡器时,XTAL1接地,XTAL2接收振荡器信号)
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
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根)
输入:
RST——复位输入。
EA/Vpp——片外程序存储器访问允许信号,低电平有效。
在编程时,其上施加21V的编程电压。
注意:
在加密方式1时,EA将内部锁定为RESET;
当EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
输入、输出:
ALE/PROG——地址锁存允许信号,输出。
ALE以1/6的振荡频率稳定速率输出,可用作对外输出的时钟或用于定时。
在EPROM编程期间,作输入,输入编程脉冲(PROG)。
ALE可以驱动8个LSTTL负载。
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。
如果微处理器在外部执行状态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组成。
当定时器/计数器设置为定时工作方式时,计数器对内部机器周期计数,每过一个机器周期,计数器加1,直至计满溢出。
定时器的定时时间与系统的振荡频率紧密相关,因为C51系列单片机的一个机器周期由12个振荡脉冲组成,所以,计数频率fc=fosc/12。
如果单片机系统采用12MHz晶振,这是最短的定时周期,适当选择定时器的初值可获取各种定时时间。
当定时器/计数器设置为计数工作方式时,计数器对来自输入引脚T0(P3.4)和T1(P3.5)的外部信号计数,外部脉冲的下降沿将触发计数。
在每个机器周期的S5P2期间采样引脚输入电平,若前一个机器周期采样值为1,后一个机器周期采样值为0,则计数器加1。
新的计数值是在检测到输入引脚电平发生1到0的负跳变后,于下一个机器周期的S3P1期间装入计数器中的,可见,检测一个由1到0的负跳变需要两个机器周期,所以最高检测频率为振荡频率的1/24。
计数器对外部输入信号的占空比没有特别的限制,但必须保证输入信号的高电平与低电平的持续时间在一个机器周期以上。
3.振荡器
XTAL1和XTAL2分别为反向放大器的输入和输出。
该反向放大器可以配置为片内振荡器。
石晶振荡和
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 PID 算法 51 单片机 温度 解读