基于AT89S52单片机的PID恒温控制系统

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1基于AT89S52单片机的PID恒温控制系统的开发和实验研究陈铁强,李克天,刘吉安,印波,蔡召虎(广东工业大学机电工程学院,广州510075)摘要:设计开发了基于AT89S52单片机的温度控制系统。采用新型数字器件MAX6675和K型热电偶构成温度采集电路;应用PID算法来调节温度,采用正交实验法对PID控制参数进行整定;并且开发了PC机监控软件,通过串口通信实时监控系统的状态。该系统经过实验验证,取得了较为满意的控制效果。关键词:单片机;温度控制系统;MAX6675;PID控制DevelopmentandExperimentalStudyofPIDTemperatureControlSystemBasedOnAT89S52CHENTieqiang,LIKetian,LIUJian,YINBo,CAIZhaohu(SchoolofMechanicalandelectricalEngineering,GuangdongUniversityofTechnology,Guangzhou510075,China)Abstract:BasedonAT89S52SingleChipMicrocomputer,atemperaturecontrolsystemwasdiscussed.ThetemperatureacquisitioncircuitwasmadeupofKtypethermocoupleandMAX6675whichisanewtypeintegrateddigitaldevice.ThePIDAlogorithmwasappliedinthesystemtoregulatetemperature.TheparametersofPIDcontrollerweretunedbyusingorthogonaltest.Accordingly,areal-timesupervisorycontrolsoftwarewasdevelopedonthecomputerinordertosupervisethetemperaturecontrolsystembyserialcommunication.Theexperimentresultshowsthatthissystemcouldachievequitegoodcontrolperformance.Keywords:SingleChipMicrocomputer;TemperatureControlSystem;MAX6675;PIDcontrol0引言温度是SMT生产过程中重要的工艺参数,温度控制的优劣直接影响PCB产品的质量和生产效率的提高。设计开发性能优良的温度控制系统,提高控温精度,便于人工操作是SMT温度控制领域的重要问题。本文针对SMT波峰焊锡炉部分的温度场(270℃左右)[1],设计了一种基于AT89S52单片机的温度控制系统,采用新型数字器件MAX6675和K型热电偶构成温度测量电路,用数字PID算法对实验锡炉温度进行控制,具有精度高、稳定性好的特点,并采用正交实验法对PID控制参数进行整定。本文还设计了单片机与上位机的通信软件,实现了远程温度控制。该系统可大大地提高工作效率和控制精度,具有良好的实用价值。本文研究内容和方法对其它温度控制精度要求较高的场合有参考价值。1工作原理当采样周期T到达时,由热电偶检测锡炉内实际温度,经数字转换器MAX6675将热电偶输出的mV信号直接转换成数字信号送给单片机AT89S52,单片机将采集到的温度信号与设定温度值进行比较,根据偏差信号进行PID控制运算,得出相应输出量,并控制加热器进行加热或停止加热,从而控制锡炉的温度,使锡炉的实际温度向着给定温度变化并最终达到给定温度。系统时刻检测炉内温度值,出现越限时启动蜂鸣器报警。2系统硬件设计本系统的硬件设计主要包括单片机的最小系统、温度采集电路、显示接口、温度控制电路、键盘接口、蜂鸣器报警电路、串口通信电路等。图1中AT89S52为主控制器件,它是ATMEL公司生产的低电压、高性能CMOS8位单片机,片内含有8K字节的Flash存储器和256字节的RAM。以下是各部分电路功能:2图1控制器系统硬件结构框图2.1单片机AT89S52是整个系统的CPU,首先采集得到当前温度值,用采集值与设定值相减计算出温度偏差,然后进行PID运算,控制加热器工作,从而实现温度控制。AT89S52还负责按键处理、LCD显示、报警处理以及串口通信等工作。2.2温度采集电路本系统采用K型热电偶作为高温测量传感器,热电偶测量电路选用MAX6675[2]。MAX6675是美国MAXIM公司生产的基于SPI总线的带有冷端温度补偿、线性校正、热电偶断线检测等功能的K型热电偶测量转换芯片,其输出为12位二进制数字量。测温范围0~1023.75℃,温度分辨率为0.25℃。冷端补偿范围为-20~+85℃,工作电压3.0~5.5V,可以满足大多数工业应用场合[3]。MAX6675与AT89S52单片机接口电路框图如图2所示。K型热电偶接在MAX6675的T+、T-端,热电偶的冷端接地。由于AT89S52不具备SPI总线接口,故采用模拟SPI总线的方法来实现其与MAX6675的接口。其中P1.0模拟SPI的数据输入端(SO),P1.1模拟SPI的串行时钟输出端SCK,P1.2模拟SPI的从机选择端CS。图2AT89S52单片机与MAX6675接口电路2.3温度控制电路本温度控制系统采用通断控制,通过改变给定控制周期内加热器的导通和关断时间,达到调节温度的目的。系统控制电路由双向可控硅输出型光电耦合器MOC3061和双向可控硅BTA12组成,如图3所示。当单片机的P1.7口输出低电平时,同向驱动器7407输出低电平,MOC3061的输入端有电流输入,输出端的双向可控硅导通,触发外部的双向可控硅BTA12导通,加热器通电;当P1.7端输出高电平时,MOC3061输出端的双向可控硅关断,外部的双向可控硅BTA12也关断,加热器断电。图3温度控制电路32.4按键处理、LCD显示显示电路采用1602LCD显示模块,P0口的8根线作为液晶显示器的数据线,用P2.0、P2.1和P2.2作为3根控制线。按键主要负责温度的设定和PID参数的输入。2.5蜂鸣器报警电路蜂鸣器报警电路由三极管和蜂鸣器组成。由单片机P1.6口输出高低电平信号控制三极管的导通或截止,三极管导通,则蜂鸣器报警。2.6串口通信电路本系统采用RS232标准总线接口实现单片机和PC机的通信。以实现PC机对单片机的实时监控[4]。AT89S52单片机与PC机的接口电路如图4所示。图4AT89S52与PC机的接口电路3系统软件设计本系统通过热电偶检测锡炉内实际温度,由MAX6675将热电偶输出的信号直接转换成数字信号,存入AT89S52的内部数据存储器,经处理送LCD显示,并将采集值与设定值进行比较,经过PID运算得到控制量并由单片机输出去控制加热器。进行温度控制程序的设计考虑如下问题:①按键处理和LCD显示;②温度采样和数字滤波;③PID控制;④越限报警和处理;⑤串口通讯。3.1系统控制算法本控制系统中,使用的是数字PID控制器。PID控制器是一种线性控制器,它将设定值与测量值之间偏差的比例(P)、积分(I)、微分(D)通过线性组合构成控制量,对被控对象进行控制。PID控制算法可分为位置式PID算法和增量式PID控制算法。由于位置式PID算法存在某些缺点,而增量式PID控制算法具有误动作时影响小的优点;手动/自动切换时冲击小,便于实现无扰动切换;算式中不需要累加,控制增量u(k)的确定仅与最近k次采样值有关,所以较容易通过加权处理而获得比较好的控制效果[5],因而本文选用增量式PID控制算法,经典的数字PID增量型算式为:)2()(2111nnnDnInnPnnneeeTTeTTeeKuuu图5主程序流程图4)2()(211nnnDnInnPeeeKeKeeK(1)其中PK为比例系数;IK为积分系数;DK为微分系数;IPITTKK;TTKKDPD。比例环节即时成比例的反映控制系统的偏差信号)(te,偏差一旦产生,控制器立即产生控制作用,以减少偏差。积分环节主要用于消除静差,提高系统的无差度。积分作用的强弱取决于积分时间常数TI,TI越大,积分作用弱,反之则越强。微分环节能反映偏差信号的变化趋势(变化速率),并能在偏差信号值变得太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减小调节时间。式(1)为PID控制软件的编制依据。3.2主程序主程序主要完成系统初始化、温度采样、数字滤波、按键处理、温度显示、PID计算等。主程序的流程图,如图5所示。3.3T0定时器中断服务程序T0定时器中断服务程序用于产生8S采样周期和可控硅的通断周期,是温度控制电路的主体程序。PID运算结束后,输出控制增量u(k),在利用u(k)进行控制输出前,对其进行限幅处理,限幅处理算式如式(2)所示,使其成为0-200之间的数。因此,某一周期可控硅的导通时间(加热时间)为u(k)*8/200,剩余的时间为可控硅的关断时间。T0中断服务程序的流程图如图6所示。控制增量u(k)的限幅处理算式:200)(,200200)(0),(0)(,0)(kukukukuku(2)3.4串口通讯程序在本温控系统中,以单片机AT89S52作为下位机,PC机作为上位机,下位机与上位机通过串口进行通信。通过运行上位机的监控软件,用户可方便的对温度设定值和PID参数值进行修改。下位机将实时温度信息传递给上位机,以实现上位机对下位机的状态进行远程监控。上位机软件上显示温度实际值及温度变化曲线,曲线随着焊锡炉实际温度值的变化而变化,用户可方便的观测系统对温度的控制状况。图7是温度设定值为270℃时的温度控制曲线。图6T0定时器中断服务程序流程图5图7温控系统的控制曲线图4温控系统的调试和PID参数的整定数字PID控制器参数的整定是一项十分复杂的工作,必须依靠经验和现场调试来确定控制器的参数KP、KI、KD。合理的选择采样周期T,是数字PID控制系统的关键问题之一,从理论上说,采样频率越高,失真越小,但是从控制器本身而言,是依靠偏差信号E进行调节计算的,当采样周期T过小,控制器将失去调节作用,采样周期T过长,又会引起误差。由于温度为响应慢、滞后较大的被控对象,采样周期T选得长些,取T为8S,双向可控硅控制周期与采样周期一样为8S。在PID参数整定过程中,首先按Ziegler-Nichols提出的参数整定法则选取一组初始PID参数值,,本文通过正交实验的方法来确定主要影响因素,然后在实际操作中对参数进行修订,直至最终满足要求为止。初始实验时各参数的取值为:PK={14.0,16.0,18.0};IK={0.5,1.0,1.5};DK={16.0,18.0,20.0};PID参数整定的目的是找到一组使温控系统的超调值小、响应快、稳态精度高的参数值,由于初始实验各组参数所产生的超调值相差不大,因此,将稳定在270±2℃的时间作为本次实验的实验指标。经实验和数据处理,可得初始实验的数据统计表,见表1。表1初始实验的数据统计表实验号ABCxi=yi-80012341234567891(14.0)1(14.0)1(14.0)2(16.0)2(16.0)2(16.0)3(18.0)3(18.0)3(18.0)1231231231(0.5)2(1.0)3(1.5)2(1.0)3(1.5)1(0.5)3(1.5)1(0.5)2(1.0)1(16.0)2(18.0)3(20.0)3(20.0)1(16.0)2(18.0)2(18.0)3(20.0)1(16.0)-34254500194500-36500-147986K1K2K3720658451660607562-2175461500564718547T=91iix=1829nTx=203

1 / 6
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功