1、本科毕业设计(20届)基于单片机的PID温度控制器研究所在学院专业班级电气工程及其自动化学生姓名学号指导教师职称完成日期年月II摘要【摘要】在现代工业生产的许多环节中,温度是非常重要的一个指标。随着控制理论和电子技术的发展,温度控制器的适应能力增强和高智能化正逐步成为现实。其中以单片机为核心的数字控制器以其体积小、成本低、功能强而得到广泛应用。本文主要研究在过程控制中得到广泛应用的PID控制在单片机温度控制系统中的作用。该温度控制系统是一个典型的闭环反馈调节系统,采用一种新型的数字温度传感器(DS18B20),不需复杂的信号处理电路和AD转换电路就能直接与单片机完成数据采集和处理,并将所得的温
2、度值与设定温度值相比较得到偏差。通过对偏差信号的处理获得控制信号,采用PWM调节加热器的通断,从而实现对电热壶水温度的显示和控制。【关键词】单片机;温度传感器;PID控制。IIIABSTRACT【ABSTRACT】INMANYLINKSOFMODERNINDUSTRIAL,TEMPERATUREISANIMPORTANTINDICATOR。WITHTHEIMPROVEMENTOFCONTROLTHEORYANDELECTRICTECHNOLOGY,THEINTELLIGENTCONTROLFORINDUSTRYHASBEENACCOMPLISHINGTHEDIGITALCONTROLLERBA
3、SEDONMICROCONTROLLERHASBEENAPPLIEDWIDELY,ASITSCABINETCUBAGE,LOWCOST,ABUNDANTFUNCTIONTHEPAPERMAINLYINTRODUCESTHEAPPLICATIONOFTHEDIGITALPIDCONTROLALGORITHM,WHICH,ATPRESENT,ISPOPULARLYUSEDINDIGITALCONTROLSYSTEM,INMICROCONTROLLERTEMPERATURECONTROLSYSTEMTHISTEMPERATURECONTROLSYSTEMISACLOSEDLOOPFEEDBACKCO
4、NTROLSYSTEM,WHICHUSEANEWPROGRAMMABLETEMPERATURESENSORDS18B20THISTEMPERATURESENSORCANDIRECTLYCOMPLETESDATAACQUISITIONANDPROCESSINGWITHOUTCOMPLEXSIGNALPROCESSINGCIRCUITANDA/DCIRCUIT,ANDGETTHEDEVIATIONBETWEENGETTINGTEMPERATUREANDSETTINGTEMPERATURETHROUGHPROCESSINGTHEDEVIATION,APWMWILLBEPRODUCED,WHICHAD
5、JUSTSTHEHEATERPOWER,THUSTHEWATERTEMPERATUREINELECTRICPOTCONTROLANDDISPLAYISREALIZED【KEYWORDS】MICROCONTROLLER;TEMPERATURESENSOR;PIDCONTROL。IV目录1绪论111选题的背景及意义112温度测控技术的发展现状1121定值开关温度控制法2122PID温度控制法213系统总体设计方案2131系统设计技术指标2132系统功能2133系统硬件方案分析3134系统软件方案分析314本文主要工作及章节安排3141本文主要工作3142本文章节安排42温度控制系统总体设计521系
6、统设计方案522控制系统工作原理53PID温度控制器系统硬件设计631单片机主控模块6311AT89C51简介6312AT89C51各管脚说明6313时钟电路设计7314复位电路设计832温度采集模块电路设计8321DS18B20的特点8322DS18B20内部结构9323DS18B20的内存结构9324温度传感器DS18B20的测温原理10325DS18B20与单片机的接口电路11V33键盘输入电路设计1134报警电路设计1135加热控制电路设计12351固态继电器工作原理12352固态继电器的特点12353加热控制电路1336LCD显示电路设计13361LCD1602各管脚说明13362L
7、CD1602与单片机的接口电路134系统软件设计1541程序模块15411主程序15412温度传感器子程序16413键盘输入子程序16414温度测控子程序17415LCD1602显示子程序18416报警子程序185PID温度控制算法1951温度控制系统数学模型1952PID控制器的发展1953PID控制器算法1954PID参数的算法206系统调试2261硬件调试2262软件调试22参考文献24致谢错误未定义书签。附录2511绪论11选题的背景及意义在现代工业生产中,电压、温度、压力、流量、流速和开关量都是常用的主要被控参数。温度作为一个基本物理量,与人们的生产生活密切相关。在工业生产过程中,温
8、度作为一种常用的被控参数,在许多生产过程中都需要我们对温度参数进行检测控制。例如在化工生产、电力工程、冶金工业、造纸行业、食品加工和机械制造等领域中,人们都需要对各类加热炉、反应炉、热处理炉和锅炉中的温度进行检测控制。通常的温度控制都采用偏差控制法。偏差控制的原理是求出实测值对所需值的偏差量,然后通过对偏差量处理获得控制信号去调节加热器的功率,以实现对温度的控制。通常,对偏差进行比例、积分和微分控制称为PID控制,是一种应用较为广泛的控制形式。本课题是结合生产实际的科研工作,以单片机为核心,运用PID算法对温度进行控制,以达到较好的控制效果。PID控制是具有算法简单、鲁棒性好、可靠性高等优点,
9、因此被广泛运用与工业控制中。采用单片机实现温度控制不仅具有控制方便、简单、灵活等优点,而且可以大幅度地提高被控温度的技术指标,从而大大提高控制精度。12温度测控技术的发展现状温度测控技术包括温度检测技术和温度控制技术两个方面。随着国内外科技水平的发展,温度检测技术也有了不断的进步。温度检测主要由两部分组成,一部分是传感器,它将温度信号转换为电信号。另一部分是电子装置,它主要完成对信号的接收、处理、温度显示等功能。目前传感器已经从模拟传感器向数字传感器方向发展,仪器本身也趋向小型化,多采用集成度较高的芯片或元件组成电路。对于具有报警、显示、巡测、控制等多功能测温装置,一般采用单片机电路。目前的温
10、度检测技术原理很多,大致包括以下几种1物体热胀冷缩原理2热电效应3热阻效应4利热辐射原理。传统的温度传感器如,热电偶、铂电阻等虽然各自不可替代的优点,但自身由于有自热效应影响测量精度,因而制约了其在微型高端电子产品中的应用。与之相比较,数字温度传感器具有灵敏度高、精度高、经济性好、抗干扰能力强等诸多优点,无论是电压、电流还是频率输出,在相当大的温度范围内55150都与温度成线性关系,适合在单片机系统外围电路中应用。温度控制技术按照控制目标的不同可以分为两类动态温度跟踪与恒值温度控制。动态温度跟踪需要实现的目标是使被控对象的温度值按预先设好的曲线进行动态变化。在工业生产中很多地方需要实现这样的目
11、标,如在冶金工厂中燃烧炉中的温度,化工生产中的化学反应温度控制等;恒值温度控制的目的是让被控对象温度能恒定在某一给定值上,且要求其稳态误差不能超过某允许值。2从工业控制器的发展过程来看,温度控制技术大致可分以下两种121定值开关温度控制法定值开关温度控制法就是通过模拟电路或软件程序判别当前温度值与设定目标温度值之间的偏差,进而对系统执行装置进行通断控制。这种方法实现比较简单,只需用简单的模拟电路即可。目前,采用这种控制方法的温度控制器只在一些老式工业电炉中仍有被使用。由于这种控制方式是模拟开关控制,无法克服温度变化过程的滞后性,因而导致被控对象温度波动较大,控制精度低,因此不适用于高精度的温度
12、控制。122PID温度控制法PID温度控制法基于经典控制理论中的PID控制原理,PID控制是较早发展起来的控制方法之一,由于其算法简单、鲁棒性好、可靠性高等优点被广泛应用工业控制中。由于PID调节器模型中考虑了系统的误差、误差变化及误差积累三个因素,因此,其控制性能得到大大地提升。其控制电路可以采用计算机软件或模拟电路方法来实现PID调节功能。前者称为数字PID控制器,后者称为模拟PID控制器。其中数字PID控制器的变量参数能实现在线整定,有较大的灵活性,因此能得到比较好的控制效果。采用这种方法的温度控制器,其控制效果好坏主要取决于三个PID参数,即比例值、积分值和微分值。只要PID三个参数选
13、取适当,对于一个确定的控制系统来说,其控制精度是比较令人满意的。13系统总体设计方案本论文所讨论的是基于单片机的PID温度控制器系统,其目的是对电热壶水温进行温度调节控制。壶内水温能够稳定在60,并且稳态误差符合要求。下面讨论该系统总体设计方案,包括系统设计技术指标,系统功能以及系统软、硬件方案分析。131系统设计技术指标设计一个温度闭环反馈控制系统,主要包括主电路和控制电路。控制电路又包括温度检测比较、PID调节、执行输出等多个环节。以下为该温控系统的技术指标(1)能在液晶屏上显示设定温度,并能显示采集的温度,显示精确到1。(2)能预置加热动态平衡时的温度,使其在误差范围内能实现恒温控制,温
14、度控制误差5。(3)当采集到的温度与预置温度不同时,PID控制加热。(4)加热超过预置温度的5时发出报警信号,且关闭电源。132系统功能1可以对温度进行自由设定,但必须在0100内,设定时可以显示出设定的温度值。2加热由电壶电阻丝来实现,通过PID计算控制PWM,进而电壶加热功率,起到调温的作用。3能够保持实时显示采集到的水温。34能实现报警功能。133系统硬件方案分析目前,温度控制器的硬件电路一般由模拟电路和单片机组成。模拟控制电路的各控制环节一般由放大器、比较器、三极管、电容、电阻等外围元器件组成。它的优点是系统响应速度快,实现对系统的实时控制。根据计算机控制理论可知,数字控制系统的采样速
15、率并非越快越好,它还取决于被控系统的响应特性。单片机是大规模集成电路技术发展的产物,其特点是运算速度快、功能强大、稳定可靠、应用广泛、价格便宜。由此可见,采用单片机设计控制系统,不仅可以降低成本,精简系统结构,而且控制算法由程序实现。这样可以提高系统的兼容性和可移植性。目前,市面上的单片机种类繁多,在性能方面也各有所长。AT89C51是美国ATMEL公司设计的一款低电压,高性能的8位单片机,其内部有4K单元的程序存储器和256字节的数据存储器。本系统是选择AT89C51为核心控制器,搭配一些外围电路组成的控制系统。134系统软件方案分析目前,单片机的开发语言主要有两种汇编语言和C语言。与汇编语
16、言相比,C语言具有以下的特点程序有规范的结构,可分为不同的函数,可使程序结构化;缩短编程及调试时间,提高效率;已编好的程序容易植入新程序,具有方便的模块化编程技术;程序本身不依赖机器硬件系统,有较好的可移值性。由于本系统软件比较复杂,为了便于编写、调试、修改和增删,系统程序的编制适合采用模块化的程序结构。系统软件主要由三大模块组成主程序模块、功能实现模块和运算控制模块。主程序模块用于实现各个子程序间的跳转。功能实现模块主要由温度采集子程序、键盘输入子程序、显示子程序、报警程序、固态继电器控制程序组成。温度控制算法方面,本温度控制器系统采用了经典的PID控制算法,这是由于PID控制相对来说算法简
17、单、鲁棒性好和可靠性高。此外,在设计PID控制器时,依靠经验和试验的方法在系统调试时确定PID控制器的参数KP、KI、KD,然后用程序实现了算法。14本文主要工作及章节安排141本文主要工作1在对温度控制器要求进行研究的基础上,选择了整个控制系统的设计方案;2完成系统的硬件设计,包括采样电路、控制电路、键盘输入电路、报警电路等的设计;3完成系统的软件设计,包括主程序模块、功能实现模块和运算控制模块;4在设计的温度控制器系统平台之上研究PID控制并改进PID参数,以达到较好的控制精度;45完成了系统的软、硬件调试工作。142本文章节安排第1章主要分析了温度控制系统意义,介绍了目前国内外温度测控技
18、术的发展与现状。提出系统设计任和需要实现的功能;第2章主要介绍系统总体设计方案及工作原理;第3章主要介绍系统硬件电路原理图及一些主要元件说明;第4章介绍了系统软件各主要功能模块的设计;第5章介绍PID控制算法;第6章系统的软硬件调试52温度控制系统总体设计21系统设计方案本系统采用单片机为控制核心,它可以方便的实现液晶屏显示、键盘设定及利用PID算法来控制PWM波形的产生,进而控制电壶电阻丝的加热功率来实现水温控制,其控制精度也大大的得到了提高。加上单片机的软件编程灵活、自由度大,可用软件编程实现各种控制算法和逻辑控制。它可以通过用数字温度传感器采集到的实际水温温度直接进行数码管显示,还能用键
19、盘输入设定值,并且内部含有4KB的EEPROM,不需要外扩展存储器,可使系统整体结构更为简单,其系统框图如图21所示。键盘输入AT89C51AT89C51LCD1602显示固态继电器控制电路电壶水温温度传感器DS18B20图21系统框图22控制系统工作原理根据控制系统的设计任务和要求,本设计采用闭环控制结构进行控制的,其具体控制图如图22所示。键盘输入AT89C51数字PIDLCD1602显示固态继电器控制电路电壶水温温度传感器DS18B20图22系统控制原理图本系统是采用闭环反馈的控制方式进行控制的,它通过数字温度传感器检测壶内水温温度,把采集到的数据直接送到单片机进行处理,数字式温度传感器
20、能在极短时间内把采集到的模拟量转换成数字量,并使之与设定值产生偏差信号以控制PWM波形的产生。进而去控制固态继电器控制电路的通断占空比,以采取不同功率进行加热升温。63PID温度控制器系统硬件设计本文所研究的温度控制器系统硬件部分大致可以分为以下几个部分单片机主控制电路、温度采集电路、键盘输入电路、报警电路、固态继电器控制电路及显示电路。31单片机主控模块本设计是基于单片机的PID温度控制器,外围电路比较简单,所需I/O不多,且程序也不复杂。故采用AT89C51作为主控制器。311AT89C51简介AT89C51是一种带4K字节闪存可编程可擦除只读存储器(FPEROMFALSHPROGRAMM
21、ABLEANDERASABLEREADONLYMEMORY)的低电压,高性能CMOS8位微处理器,俗称单片机。该单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS51指令集和输出管脚相兼容。由于将多功能8位CPU和闪速存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案6。312AT89C51各管脚说明如图31为AT89C51引脚图,下面概述部分引脚功能P101P112P123P134P145P156P167P178RST9P30/RXD10
22、P31/TXD11P32/INT012P33/INT113P34/T014P35/T115P36/WR16P37/RD17XTAL218XTAL119GND20VCC40P0039P0138P0237P0336P0435P0534P0633P0732EA/VPP31ALE/PROG30PSEN29P27/A1528P26/A1427P25/A1326P24/A1225P23/A1124P22/A1023P21/A922P20/A821UAT89C51图31AT89C51引脚图VCC电源GND地P0口P0口是一个8位漏极开路的双向I/O口。既可作地址/数据总线口用,也可作普通I/O口用。P1口P
23、1口是一个具有内部上拉电阻的8位双向I/O口,P1输出缓冲器能驱动4个TTL逻7辑电平。对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流。此外,P10和P12分别作定时器/计数器2的外部计数输入(P10/T2)和时器/计数器2的触发输入(P11/T2EX)。P2口P2口是带内部上拉的双向I/O口,向P2口写入1时,P2口被内部上拉为高电平,可用作输入口。当作为输入脚时,被外部拉低的P2口会因为内部上拉而输出电流。在访问外部程序存储器和外部数据时分别作为地址高位字节和16位地址MOVXDPTR,此时通过内部强上拉
24、传送1。当使用8位寻址方式MOVRI访问外部数据存储器时,P2口发送P2特殊功能寄存器的内容。P3口P3口是带内部上拉的双向I/O口,向P3口写入1时,P3口被内部上拉为高电平,可用作输入口。当作为输入脚时,被外部拉低的P3口会因为内部上拉而输出电流。此外,P3口还具有以下特殊功能,如表31所示。表31AT89C51引脚号第二功能P30RXD串行输入P31TXD(串行输出)P32INT0(外部中断0)P33INT1(外部中断1)P34T0(定时器0外部输出)P35T1(定时器1外部输出)P36WR(外部数据存储器写选通)P37RD(外部数据存储器读选通)RST复位信号输入端。当晶振在运行中只要
25、复位管脚出现2个机器周期高电平即可复位内部有扩散电阻连接到VSS仅需要外接一个电容到VCC即可实现上电复位。EA/VPP内部和外部程序存储器选择线。313时钟电路设计时钟电路是单片机的心脏,它控制着单片机的工作节奏。MCS51单片机允许的时钟频率是因型号而异的,其典型值为12MHZ。AT89C51内部有一个反相振荡放大器,XTAL1和XTAL2分别是该反向振荡放大器的输入端和输出端。该反向放大器可配置为片内振荡器,石晶振荡和陶瓷振荡均可采用。时钟可以有两种方式产生,即内部方式和外部方式。本设计采用的晶振频率为110592MHZ的内部时钟方式。其时钟电路如图32所示。812X1110592MHZ
26、GND20PFC320PFC2XTAL2XTAL1图32时钟电路314复位电路设计复位使单片机处于起始状态,并从该起始状态开始运行。RST引脚为复位信号输入端,复位信号高电平有效。其高电平有效的持续时间应为24个振荡周期。单片机的复位方式有上电自动复位和手工复位两种。为了便于运行调试,本设计的复位电路采用按键复位方式。按键复位电路如图33所示。22UFC1200R1S11KR2GNDVCCRST图33按键复位电路32温度采集模块电路设计在传统的模拟信号温度检测系统中,需要解决好引线误差补偿问题、多点测量切换误差问题和放大电路零点漂移误差问题等技术问题,才能达到较好的检测精度。但一般的检测环境都
27、比较差,干扰信号较强。这样采集的模拟信号会有较大误差,从而影响测量精度。美国DALLAS半导体公司的DS18B20温度传感器,具有有精度高、体积小、抗干扰能力强等优点,是解决检测误差的有效方案。而且其不需复杂的信号处理电路和AD转换电路就能直接与单片机完成温度数据采集和处理。因此,在本设计中的温度检测环节中,我选用该温度传感器作为温度检测电路的核心装置。321DS18B20的特点(1)采用单线接口,仅需一个端口引脚进行通讯;(2)可用数据线供电,电压范围3055V;9(3)测温范围55125。固有测温分辨率为05;(4)温度以9到12位数字量读出;(5)用户可自设定非易失性的报警上下限值;(6
28、)支持多点组网功能,多个DS18B20可以并联在惟一的三线上,实现多点测温;(7)温度数字量转换时间200MS(典型值)。322DS18B20内部结构DS1820采用3脚RP35封装或8脚SOIC封装。有三个主要数字部件64位光刻R0M、温度传感器、非易失性的温度报警触发器TH和TL。其内部结构框图如图34所示。存储器和控制器64位ROM和单线接口高速缓存存储器8位CRC生成器温度灵敏元件温度灵敏元件温度灵敏元件温度灵敏元件电源检测图34DS18B20内部结构框图323DS18B20的内存结构DSI8B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的EEPROM,后者
29、存放高温和低温触发器TH,TL和结构寄存器。高速暂存RAM包含了9个连续字节(08),前两个字节是测得的温度信息,字节0的内容是温度的低8位,字节1是温度的高8位,字节2是TH(温度上限报警),字节3是TL(温度下限报警),字节4是配置寄存器,用于确定输出分辨率9到12位。第5、6、7个字节是预留寄存器,用于内部计算。字节8是冗余检验字节,校验前面所有8个字节的CRC码,可用来保证通信正确。DS18B20中的温度传感器对温度的测量结果用16位符号扩展的二进制补码读数形式提供。DS18B20中的温度传感器可完成对温度的测量,以12位转化为例用16位符号扩展的二进制补码读数形式提供,以00625/
30、LSB形式表达,其中S为符号位(见图35)。图35DS18B2012位数据在RAM中的存储10温度采集转化后得到的12位数据,存储在DS18B20的两个8位的RAM中,二进制中的前面5位是符号位,如果测得的温度大于或等于0,这5位为0,将测到的数值乘于00625便可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于00625即可得到实际温度。温度转换计算方法举例例如当DS18B20采集到125的实际温度后,输出为07D0H,则实际温度07D0H00625200000625125C。例如当DS18B20采集到55的实际温度后,输出为FC90H,则应先将11位数据位取反加1得3
31、70H(符号位不变,也不作为计算),则实际温度370H006258800062555C。8324温度传感器DS18B20的测温原理图36所示,图中低温度系数振荡器的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器1;高温度系数振荡器的振荡频率受温度的影响很大,产生的信号作为减法计数器2的脉冲输入。预置低温度系数振荡器减法计数器斜率累加器计数比较器减到零高温度系数振荡器减法计数器2减到零预置温度寄存器图36内部测温电路框图图中还隐含着计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲后进行计数,完成温度测量。计数门的开启时间由高温度系数振荡器来决定,每次测
32、量前,首先将55所对应的基数分别置入减法计数器1和温度寄存器中,减法计数器1和温度寄存器被预置在55所对应的一个基数值。减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时温度寄存器的值将加1,减法计数器1的预置将重新被装入,并重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环,直到减法计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。图36中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正减法计数器的预置值,只要计数门仍未关闭就重复上述过程,直至温度寄存器值达到被测温度值8。11325DS18B20与单片机的接
33、口电路DS18B20的引脚图及与AT89C51的接口电路如图37所示,其中DS18B20工作在外部电源供电方式,AT89C51单片机采用P30和DS18B20通信。R47KGND1VCC3DQ2DS18B20P3010AT89C51GNDVCC图37DS18B20与AT89C51单片机的接口电路33键盘输入电路设计本次设计中采用独立式按键电路,独立式按键是指用一根I/O口线构成的单个按键电路。每个独立式按键占一个I/O,各按键工作状态互不影响。独立式按键接口电路具有配置灵活,软件结构简单等优点,但缺点是占用大量I/O口。本次在按键模块电路只有3个按键。S2是温度上调按钮,S3是温度下调按钮,S
34、4是输入数据确认按钮,当数据输入完毕后按该按钮进行确认。其硬件电路图如图38所示。S2上调按钮S3下调按钮S4设置按钮VCCGND10KR1110KR1210KR13P35P36P37图38按键输入电路34报警电路设计该电路主要由三极管和蜂鸣器组成。由单片机的P14口输出高低电平信号控制三极管的导通和截止以控制蜂鸣器的发声报警。其电路图如图39所示。12U3BUZZERR101KQ19012P14GNDVCC图39蜂鸣器报警电路35加热控制电路设计本温度控制系统加热控制电路采用通断控制,通过改变给定控制周期内加热器的导通和关断的时间,达到调节温度的目。在本次设计中,我采用固态继电器作为控制电路
35、主模块。351固态继电器工作原理固态继电器是一个双输入端和双输出端的四端器件。工作时只要在A、B上加上一定的控制信号,就可以控制C、D之间的“通”和“断”,实现“开关”的功能,内部有光电耦合器和可控硅。下图为一种典型的交流型固态继电器的电路原理图,其内部结构图如图310所示。D2BRIDGE1D1Q3SCRQ22N3904123D4C4U1OPTOISOLATOR1R6R5R8R7R9输入ABCDR4AC交流图310固态继电器内部结构图352固态继电器的特点(1)固态继电器成功实现了弱电信号对强电的控制。使控制信号所需的功率极低,而且弱电信号所需的工作电平一般电路都能提供。(2)固态继电器是由
36、全固态电子元件组成,无任何可动的机械部件,工作中也没有任何机械动作;固态继电器由电路的工作状态变换实现“通”和“断”的开关功能,没有电接触点,因此具有工作高可靠、长寿命无噪声,无火花,无电磁干扰,开关速度快,抗干扰能力强,且体积小,耐冲击,耐振荡,防爆、防潮、防腐蚀。(3)固态继电器能承受在数值上可达额定电流十倍左右的浪涌电流。13353加热控制电路下图是一个控制电阻丝加热的电路图,单片机通过P32口的输出高低电平控制继电器的开合,当继电器的开关闭合时,晶闸管的门极触发电路导通,即晶闸管导通,220V的交流电压接通,其电路图如图311所示。D2BRIDGE1D1Q3SCRQ22N3904123
37、D4C4U1OPTOISOLATOR147KR6150R51KR851KR71KR91KR4P32VCC电阻丝交流220V固态继电内部结构图311采用固态继电器的加热控制电路图36LCD显示电路设计液晶显示器以其体积小、微功耗、显示内容丰富等诸多优点,在袖珍式仪表和低功耗应用系统中得到广泛的应用。本次设计采用LCD1602液晶屏作为显示模块,LCD1602是一种用216点阵图形来显示字符的液晶屏,采用5V电源供电,外围电路配置简单,价格便宜,具有很高的性价比。361LCD1602各管脚说明LCD1602采用标准16脚接口,各引脚功能如表33所示。表33LCD1602各引脚功能编号符号引脚功能1
38、VSS电源地2VDD电源5V3VL对比度控制端4RS寄存器选择5R/W读写操作6E使能信号714DB0DB7数据总线15BLA背光5V16BLK背光地362LCD1602与单片机的接口电路LCD1602液晶显示模块可以与AT89C51单片机直接接口,其电路图如311所示。14P101P112P123P134P145P156P167P178RST9P30/RXD10P31/TXD11P32/INT012P33/INT113P34/T014P35/T115P36/WR16P37/RD17XTAL218XTAL119GND20VCC40P0039P0138P0237P0336P0435P0534P0
39、633P0732EA/VPP31ALE/PROG30PSEN29P27/A1528P26/A1427P25/A1326P24/A1225P23/A1124P22/A1023P21/A922P20/A821UAT89C51GND1VCC2VL3RS4R/W5E6DB07DB18DB29DB310DB411DB512DB613DB714BLA15BLK16LCD1602GNDVCC10KVCCGNDP10P11P12P00P01P02P03P04P05P06P07VCCGNDP10P11P12P00P01P02P03P04P05P06P07图311LCD1602与AT89C51单片机的接口电路15
40、4系统软件设计在单片机控制系统设计中,软件与硬件同样重要。当系统硬件电路设计好之后,系统的主要功能还是要靠软件来实现,而且软件的设计在很大程度上决定了系统的性能。为了满足系统的要求,编制程序时一般要符合以下基本要求1易理解性,2准确性准确性,3可靠性。41程序模块系统软件由主程序、键盘输入子程序、设定温度子程序、温度检测子程序、温度控制子程序、显示子程序和报警子程序组成。411主程序主程序模块的主要作用是上电后对系统初始化和构建系统整体软件框架,其中初始化包括对单片机的初始化、数字温度传感器初始化和LCD初始化。调用温度采集程序,调用键盘扫描程序,调用显示程序,调用控制程序等。若正常跑完子程序
41、,则返回初始化进入其他的状态,主程序的流程图如41所示。开始初始化开中断调用温度传感器数据采集子程序调用显示子程序调用键盘扫描处理子程序调用温度检测控制子程序调用报警子程序关中断图41主程序流程框图16412温度传感器子程序根据DS18B20工作过程一般遵循以下协议初始化ROM操作命令存储器操作命令处理数据。在读写之前,对DS18B20发送约500S的低电平进行复位;复位成功,发送ROM指令;DS18B20为单总线器件,有严格的时隙概念,因此读/写时序很重要。DS18B20驱动最终能否得以正常运行,获得实时温度值,关键在于能否正确地编写复位程序、位写程序和位读程序。本系统对DS18B20的操作
42、分为3个步骤初始化、ROM操作命令和DS18B20功能命令。单片机要与DS18B20通信,首先必须完成初始化单片机产生复位信号,DS18B20返回响应脉冲。ROM命令完成单片机与总线上的某一DS18B20建立联系,有搜寻ROM、读ROM、匹配ROM、忽略ROM、报警查找等命令。这里,单片机只连接1个DS18B20,因此只使用读ROM命令来读取DS18B20的48位ID号。DS18B20功能命令在该步骤中完成温度转换、写暂存寄存器、读暂存寄存器、拷贝暂存寄存器、装载暂存器寄存器、读供电模式命令。所以,本系统对DS18B20进行的操作主要包括两个子过程(1)读取DS18B20的序列号。主机首先发一
43、复位脉冲,等收到返回的存在脉冲后,发出搜索器件的序列号命令,读取DS18B20的序列号;(2)启动DS18B20作温度转换并读取温度值。主机在收到返回的存在脉冲后,发出跳过器件的序列号命令,跟着发出温度转换命令,再次复位并收到返回的存在脉冲后,发送DS18B20的序列号,读出数据8。其程序流程图如图42所示。开始初始化DS18B20跳过读取序列号启动温度转化延时初始化跳过读序列号读取温度值并显示图42温度检测程序框图413键盘输入子程序在改程序模块中,S4是设置确认按钮,S2是温度上调按钮,S3是温度下降按钮。首先是17对S4键进行扫描判断其是否按下,对S4设一个标志位,如果标志位为1,表示S
44、4被按下,标志位为0时表示没有按下。其程序流程图如43所示。开始K4数据输入键是否按下确认键标志位1是否是K4按下是否是K2按下是否是K3按下返回主程序K4键子程序上调子程序下调子程序NYYNNNYYY图43键盘输入程序框图414温度测控子程序通过DS18B20实时采集数据并与设定值进行比较,在加热过程中每2S没水温做一次检测,并把检测到的温度与设定温度比较,根据比较的结果进行不同方式的加热。其程序流程图如图44所示。控制器被控对象KRKEKUKC图44温度测控程序框图18415LCD1602显示子程序该程序模块实现显示设定温度和采集到实际的温度,分别存入相应的显示区,并送出显示。显示子程序的
45、流程如图45所示。控制器被控对象KRKEKUKC图45显示子程序的流程图416报警子程序该程序实现报警功能,当温度超过某一设定值时蜂鸣器报警。其程序流程图如图46所示。控制器被控对象KRKEKUKC图46报警子程序流程图195PID温度控制算法51温度控制系统数学模型控制算法即控制器的操作方式,是控制器对实测值与设定值之间的误差信号的响应。在许多温度控制器当中,PID温度控制器性能最为成熟,应用也最为广泛。理论证明,对于“一阶滞后纯滞后”与“二阶滞后纯滞后”的控制对象,PID控制器是种最优控制,其参数整定简单,结构改变灵活。控制框图如图51所示。控制器被控对象KRKEKUKC图51PID控制框
46、图52PID控制器的发展PID控制是较早发展起来的控制策略之一,现今使用的PID控制器产生并发展于19151940年期间。自1940年以来,许多先进的控制方法被提出,但由于PID控制方法具有结构简单、鲁棒性好、可靠性高、参数易于整定。因此,PID控制器在控制系统中仍然得到广泛应用。PID控制器的发展经历了气动式、液动式、电动式这几个阶段,目前已经由模拟控制器向数字化和智能化控制器发展。53PID控制器算法PID控制器是一种线性控制器,根据给定值RT与输出值CT形成的控制偏差ETTCTRTE51将偏差TE的比例、积分和微分值通过线性组合构成控制量,对系统进行控制,这种控制方法称为PID控制。PI
47、D控制原理如图52所示。图52PID控制系统原理框图20其控制规律为10DTTDETTETTEKTUDTIP(52)式中KP为比例系数,TI为积分系数,TD为微分系数。其各环节在实际控制中作用如下比例环节即时成比例地反应控制系统的偏差信号TE,偏差一旦产生,调节器立即产生控制作用以减小偏差。比例作用大,可以加快调节,减少误差,但过大比例会使系统稳定性下降。积分环节主要用于消除静差,提高系统的无差度。积分作用的强弱取决于积分时间常数TI。TI越大,积分作用越弱,反之则越强。微分环节能反应偏差信号的变化趋势变化速率,并能在偏差信号的值变得过大之前,在系统中引入一个有效的早期修正信号,从而加快系统的
48、动作速度,减小调节时间1。54PID参数的算法在计算机控制系统中,控制器是每隔一个周期T进行一次控制量的计算,并输出到执行机构。因此要实现式(52)的控制规律,需进行时间的离散化处理。设控制周期为T,在控制器的采样时刻KTT时,对积分和微分运算作如下近似KJKJTJETJTETDE000TKEKETTKEKTEDTTDE11(53)在上述近似中,控制周期T必须足够短,才能保证精度。KTE、1EKT分别为KTT和TKT1时偏差的离散量。将以上离散化结果代人(51),可得离散PID算法为10KEKETTJETTKEKKUDKJIP(54)或10KEKEKJEKKEKKUDKJIP(55)式中KU第
49、K次控制时刻的计算值,即第K个采样周期的控制量;KE第K次控制时刻的偏差值;1KE第(K1)次控制时刻的偏差值;IK积分系数,IPITTKK/;DK微分系数,TKKKDPD/。式55通常称为位置式PID数字调节器。上式中令1KK,则得21211110KEKEKJEKKEKKUDKJIP(56)式(55)减去式(56),得到增量式PID数字调节器2121KEKEKEKKEKKEKEKKUDIP(57)与位置式控制算法相比,增量式PID控制算法有如下优点位置式PID算法的输出与过去状态有关,需要用到过去偏差的累加值JE,这样容易产生较大的误差。而增量式PID算法中只须计算增量,其增量仅与最近几次偏差采样值有关,对控制量的影响比较小,且较容易通过加权处理获得比较好的控制效果。基于上述原因,本系统采用增量式PID控制算法,其程序流程图如图53所示输入并采样R(K)、CK计算偏差EKRKCK开始21210KEAKEAKEAKU输出UK返回图53增量式PID控制算法程序流程图226系统调试61硬件调试我对硬件的调试分为以下几步(1)在水壶中存放05L净水,放置