版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
物理科学与工程技术学院毕业设计PAGE32基于单片机的炉温自动控制系统设计宜春学院物理科学与工程技术学院自动化专业肖杰鸣指导老师:(徐东辉)摘要:在工农业生产中,温度是工业生产对象中主要的被控参数之一。电阻炉是通过电流流过电阻体产生热量来加热或熔化物料的一种电炉。电阻炉广泛地应用在化工、冶金等行业。它对温度控制的要求较高,温度控制的好坏直接影响着产品质量及生产效率,因此电阻炉的温度控制在科学研究、工业生产中具有重要的意义。本设计采用单片机作为数据处理与控制单元,以电阻炉作为控制对象,用热电偶作为测量元件,用晶闸管作为输出控制元件来实现对电阻炉温度自动控制。该系统利用K型热电偶温度传感器,把检测到的电阻炉温度的信号送入MAX6675芯片,经过信号放大等一系列转换后,再将信号送到单片机STC89C52内进行PID运算,同时可以通过键盘调节PID参数。经PID运算后,比例调节输出量改变晶闸管控制量,变晶闸管的导通角,从而控制电阻炉的加热强度。从而控制电阻炉的炉温。关键词:电阻炉;MAX6675;单片机STC89C52;PID控制Abstract:SummaryIntheindustrialandagriculturalproduction,thetemperatureisaccusedofoneofthemainobjectsofindustrialproductionparameters.Furnacecurrentflowingthroughtheresistorgeneratesheattoafurnaceforheatingormeltingthematerial.Resistancefurnaceiswidelyusedinchemical,metallurgicalandotherindustries.Itrequiresahighertemperaturecontrol,temperaturecontrolhasadirectimpactonproductqualityandproductionefficiency,andthereforeresistancefurnacetemperaturecontrolisofgreatsignificanceinscientificresearch,industrialproduction.
Thedesignusesasinglechipfordataprocessingandcontrolunittoresistancefurnaceasacontrolobject,asthemeasuringelementwiththermocouplewiththyristorasacontrolelementtoachievetheoutputresistancefurnacetemperaturecontrol.ThesystemusesK-typethermocoupletemperaturesensor,todetectresistancefurnacetemperaturesignalintotheMAX6675chip,afteraseriesofconvertedsignalisamplifiedandthensignaltothemicrocontrollerSTC89C52PIDoperation,andcanadjustthekeyboardPIDparameters.AfterthePIDoperation,adjusttheoutputvolumeratiooftheamountofchangeinthyristorcontrolled,variablethyristorconductionangle,soastocontroltheintensityoftheresistanceheatingfurnace.Tocontrolthefurnacetemperatureresistancefurnace.
Keywords:Theresistancefurnace;MAX6675;SCMSTC89C52;PIDcontro目录第1章绪论 31.1课题研究的背景及意义 3第2章系统总体设计方案 42.1设计总体思路 42.2系统技术指标 42.3系统总体设计方案 4第3章系统硬件设计 63.1温度检测部分 63.1.1K型热电偶 63.1.2温度信号处理芯片MAX6675 63.3时钟电路 93.4复位电路 93.5串口通信电路 93.6报警电路 103.7显示电路 103.8按键电路 123.9D/A转换电路 13第4章软件设计 154.1软件设计思路 154.2主程序流程图 154.2.1温度检测与处理子程序 164.2.2报警子程序 174.2.3PID子程序 184.2.4显示流程图 194.2.5键盘扫描流程图 204.2.6键盘处理流程图 214.2.7D/A转换子程序流程图 225.结束语 236.致谢词 24参考文献 25附录A:硬件原理图 26附录B:程序 27第1章绪论1.1课题研究的背景及意义20世纪20年代以来,电阻炉就在工业生产中得到了广泛地应用。随着社会的发展,科学技术的进步,电阻炉被大量的应用在电力、冶金、机械、石油化工等工业生产中。在这些工业生产中,温度的测量及控制影响着生产安全、产品质量、生产效率等重要的技术经济指标,电阻炉温度控制的稳定性、精度、可靠性等要求也逐步提高。而在各个领域测温仪器的实际应用表明,智能化仪器已经是现代电阻炉温度控制系统发展的主要方向[1]。基于此,设计一种智能化的电阻炉温度控制系统有广泛的应用前景及实际意义。电阻炉是利用电流流过电阻体,使其产生热量来加热或熔化物料的一类电炉。它的特点是:①电路简单;②对炉料种类的限制较少;(小型电阻炉可用来加热食品、干燥木材);③炉温控制精度高;④容易在真空中加热等特点。它主要作用于:①机械零件的淬火、退火、渗碳等热处理;②各种材料的干燥、加热、烧结、熔化等。电阻炉的参数有工作空间尺寸、额定温度、额定电压、额定功率。电阻炉按炉温不同可分为低温电阻炉(600~700℃以下)、中温电阻炉(700℃~1200℃)、高温电阻炉(1200℃以上)。电阻炉的温度控制主要有:1、传统PID控制;2、智能控制。PID控制温度系统的效果,主要取决于P、I、D三个参数。PID控制对于确定了的温度系统控制效果较好,但是对控制大惯性、大滞后、时变性温度系统则难以保证其控制品质。电阻炉大多是经电阻丝加热升温,自然冷却降温的,当电阻炉的温度超调时,无法靠控制手段降温,所以电阻炉温度的控制具有滞后性、非线性、惯性、不确定性等特点。目前国内较成熟的电阻炉温度控制系统中,以PID控制器为主。PID控制器对小型实验用的电阻炉控制效果良好,但对于大型工业用电阻炉,就难以保证电阻炉温度控制系统的稳定性及精度等问题。智能控制是一种不需要人操作就能驱动智能机械来实现其目标的自动控制。随着科学技术、控制理论的发展,国外的温度控制系统发展很迅速,基本实现对温度的智能控制。具有自适应、自协调、自学习等能力,使控制系统的控制精度、稳定性、抗干扰能力等性能得到保证。本文以电阻炉为控制对象,以单片机STC89C52为硬件核心元件,采用PID控制,该系统硬件电路设计简单、控制算法成熟稳定、系统性能优良。第2章系统总体设计方案2.1设计总体思路本设计的要求是是对工业电阻炉的温度进行实时监测与控制,温度控制系统能实现对的温度控制和调节功能:当电阻炉炉内温度低于所需要的温度值时,系统产生相对应的加热信号,然后对电阻炉发加热,使其温度上升达到要求值;当电阻炉炉内温度超过了需要温度时,系统产生相应的信号,然后系统将停止加热电阻炉,使炉内温度下降。从而实现温度的控制。通过PID调节不断重复该过程,使温度值始终保持在给定温度值,并在符合要求的精度之内,并且使LED显示器显示电阻炉的温度。2.2系统技术指标本系统的技术指标要求如下:1.测量温度和控制温度均可以数字显示;2.被测温度范围为0~1000℃,精度为±0.5℃;3.控制温度可连续可调,精度为±1℃;4.温度超过限时,产生声音报警信号。2.3系统总体设计方案本系统由单片机、D/A转换器、MAX6675、电阻炉、热电偶传感器等主要器件组成。电路部分有时钟电路、报警电路,复位电路、显示电路、按键电路等。该系统首先用测温元件K型热电偶,炉中温度物理量值转换成电压信号输出,送入MAX6675再经过处理后,变成数字信号。炉温给定值转换成电压信号后和所检测到的炉温数字信号送入单片机内进行比较,得到实际炉温与给定炉温的差值。然后单片机系统对偏差进行PID调节,并且在LED显示器上显示该温度值,D/A转换器将运算结果转换为模拟电压,功率放大器把电压信号放大,送到晶闸管,使晶闸管的导通角的大小发生改变,从而电阻炉的加热电压也发生改变,起到控制温度的作用。其方案图如图2.1所示:图2.1系统总体设计方案图单片机:主要功能是读取温度数据在对其进行数据处理,对各单元进行控制,执行各种指令。单片机是整个系统的数据处理核心及控制核心。温度信号采集与处理:这个部分的主要是用热电偶传感器检测温度,温度传感器随外界的温度变化会产生不同电压,再由MAX6675将模拟电压信号转换成数字电压信号放大后送入单片机中,再单片机中进行数据处理。人机交互及串口通信:人机交互主要是为了提高系统的友好性和实用性。主要包括输出显示、按键输入。输出显示进行数据的显示输出,通过按键输入实现了系统参数设置,而串口通信的主要作用是完成单片机与上位机的通信。温度的采集控制被广泛应用于工业生产和农业生产当中,以及科研和人民生活的方方面面。在工业生产过程中,使用自动温度控制系统,温度进行严格的监控,减轻工人的劳动强度,充分保证产品的质量,还能节省能源的消耗。可以对生产环境的温度,实现自动控制,提高生产的效率和生产的质量、产品的数量并能让生产变得更加安全可靠。第3章系统硬件设计3.1温度检测部分3.1.1K型热电偶热电偶传感器是一种将温度变化转化成电势变化的传感器。在工业生产中,运用最广泛的测温元件之一其优点有测温范围广,精度高,稳定性好,结构简单动态性能好。热电偶将不同两种的金属A和B构成一个回路,当两个接触端温度不同时,回路中产生热电势。K型热电偶输出信号,由芯片MAX6675处理,该芯片可实现A/D转换、放大电路等功能,且可以和单片机直接通讯,节约了硬件部分,降低了成本。 3.1.2温度信号处理芯片MAX6675该器件采用8位引脚的SO封装,引脚图如图3.2所示。图3.2MAX6675引脚图MAX6675引脚功能表:1、GND:接地2、T-:接热电偶负极3、T+:接热电偶正极4、VCC:正电源端5、SCK:串行时钟输6、CS:片选信号端7、SO:串行数据输出8、NC:悬空不用图3.3为本系统中温度检测电路,当STC89C52的P3.3为低电平且P3.1口产生时钟脉冲时,MAX6675的SO脚输出转换数据。在每一个脉冲信号的下降沿SO输出一个数据,16个脉冲信号完成一串完整的数据输出,先输出高电位D15,最后输出的是低电位D0,D14-D3为相应的温度转换数据,共12位,其最小值为0,对应的温度值为0℃;最大值为4095,对应的温度值为1023.75℃,分辨率为0.25℃。由于MAX6675内部经过了激光修正,因此,其转换结果与对应温度值具有较好的线性关系。温度值与数字量的对应关系为:温度值=1023.75×转换后的数字量/4095。当P3.3为高电平时,MAX6675开始进行新的温度转换。图3.3温度检测电路3.2单片机STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。有以下功能:8k字节Flash,512字节RAM,32位I/O口线,看门狗定时器,内置4KBEEPROM,MAX810复位电路,3个16位定时器/计数器,4个外部中断,一个7向量4级中断结构,兼容传统51的5向量2级中断结构,全双工串行口。本部分主要介绍单片机最小系统的设计。单片机系统的扩展,一般是以基本最小系统为基础的。所谓最小系统,是指一个真正可用的单片机最小配置系统,对于片内带有程序存储器的单片机,只要在芯片外接时钟电路和复位电路就是一个小系统了。小系统是嵌入式系统开发的基石。本电路的小系统主要由三部分组成,一块STC89C52芯片、复位电路及时钟电路。STC89C52单片机的引脚说明:VCC:供电电压;GND:接地。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。ALE/PROG(Pin30):地址锁存允许信号PSEN(Pin29):外部存储器读选通信号EA/VPP(Pin31):程序存储器的内外部选通,接低电平从外部程序存储器读指令,如果接高电平则从内部程序存储器读指令。可编程输入/输出引脚(32根).STC89C52单片机有4组8位的可编程I/O口,分别位P0、P1、P2、P3口,每个口有8位(8根引脚),共32根。PO口(Pin39~Pin32):8位双向I/O口线,名称为P0.0~P0.7P1口(Pin1~Pin8):8位准双向I/O口线,名称为P1.0~P1.7P2口(Pin21~Pin28):8位准双向I/O口线,名称为P2.0~P2.7P3口(Pin10~Pin17):8位准双向I/O口线,名称为P3.0~P3.7STC89C52的P3口的特殊功能介绍如下所示:P3.0/RXD串行数据接收;P3.1/TXD串行数据发送;P3.2/INT0外部中断0申请;P3.3/INT1外部中断1申请;P3.4T0定时计数器0输入;P3.5T1定时计数器1输入;P3.6/WR外部RAM写选通;P3.7/RD外部RAM读选通;本设计STC89C52单片机的P1.0口和P1.1口接LED显示,X1和X2接的是晶振电路,RESET接复位电路。3.3时钟电路时钟电路提供单片机的时钟控制信号,单片机时钟产生方式有内部时钟方式和外部时钟方式。最常用的是内部时钟方式,是采用外接晶振和电容组成的。时钟振荡电路如图3.5所示:图3.5时钟振荡电路系统的时钟电路设计是采用的内部方式,单片机内部有一个用于构成振荡器的高增益反向放大器,引脚XTAL1和引脚XTAL2分别是放大器的输入端和输出端,由这个放大器与作为反馈元件的片外晶体或陶瓷谐振器一起构成一个自己振荡器,这种方式形成的时钟信号称为内部时钟方式,即利用芯片内部的振荡电路内部振荡器就产生自激振荡。定时元件通常采用石英晶体和电容组成的并联谐振回路。晶体振荡频率可以在1.2~12MHz之间选择,电容值在5~30pF之间选择,电容值的大小可对频率起微调的作用。电容取30PF左右。XTAL1是片内振荡器的反相放大器输入端,XTAL2则是输出端,。3.4复位电路整个复位电路包括芯片内、外两部分。外部电路产生的复位信号(RST)送至施密特触发器,再由片内复位电路在每个机器周期的S5P2时刻对施密特触发器的输出进行采样,然后才得到内部复位操作所需要的信号。按键手动复位有电平方式和脉冲方式两种。本系统采用按键电平复位方式。按键电平复位是通过使复位端经电阻与Vcc电源接通而实现的。其电路图如图所示图3.6复位电路图3.5串口通信电路串口通信的主要功能是完成单片机与上位机的通信,便于进行温度数据统计,为将来系统功能的扩展做好基础工作。串行通信的主要功能是实现单片机与PC机的数据交换,当需要进行数据记录、数据统计、数据分析的时候,可以把数据发送给上位机,使用上位机进行数据处理,并且将数据处理的结果又发送给单片机。这样可以大大提高系统数据处理速度,还可以方便的对单片机进行控制。计算机与外界的数据传送大部分都是串行的,其传送距离可以从几米到几千米。串行口通信原理图如图3.7所示:图3.7串行口通信电路图3.6报警电路报警电路的功能是当炉温值超过系统设定的最大值或者低于系统设定的最小值时,都会驱动单片机的I/O接口,报警电路发出声光警报。由于单片机I/O口输出的电流太小难以驱动蜂鸣报警器器,所以设计了蜂鸣器驱动电路,具体电路连接如图3.8所示:图3.8报警电路图3.7显示电路数码管是把多个LED晶体管显示段集合在一起的一个具有显示功能的设备。他一共有两种类型,一种类型是共阳型的,还一种类型是共阴型的。阳极作为二极管的正极端,还叫做正极,阴极就是二极管的负极端,也称作负极。一般的数码管分为8段,也就是有8段LED显示,这种是为了工程上的应用设计的,分别叫A、B、C、D、E、F、G、DP,DP是小数点段位。然而多位数码管,除了有一位的公共端是连接在一起的,其他的不同位的数码管相同端会连接在一起。数码管的动态显示原理为:每个数码管的相同端连接在一起,他们一起占用了8位管线;每个数码管的阳极连接在一起。他是利用了人的眼睛的视觉暂留特点,按次序通给每个数码管公共端加上有效的信号,这个时候给该数码管加有用的数据信号,等到全段扫描的速度大于视觉暂留速度时,它就会显示出来。设计中采用4位共阴极LED静态显示方式,选用7段显示数码管。显示内容有温度值的千位、百位、十位、个位。由于单片机不能直接驱动数码管显示,所以必须在单片机与LED164之间加上74LS164,它的管脚图如图3.9所示。图3.974LS164管脚图A和B为74LS64的串行输入端;QA-QH为74LS64的并行输出端;CLK是串行时钟输入端;CLR是串行输出清零端;VCC:+5V;GND:接地端。一英寸以下的的LED数码管内,每一笔段含有一只LED发光二极管,导通在串联方式中,确定电源电压VCC时,每只LED工作电压通常以2.0V计算,4英寸7段LED数码显示器LC4141的每一笔段由四只LED发光二极管按串联方式连接而成,因此导通电压应在7-8V之间,电源电压VCC必须取9V以上。图3.10LED数码管显示器数码管结构有共阴极和共阳极之分。本设计采用的是共阴极数码管。共阴极公共端接地,高电平有效(灯亮),共阴极数码管内部发光二极管的阴极(负极)都联在一起,此数码管阴极(负极)在外部只有一个引脚。LED显示电路如下图3.11所示。图中的P11和P10分别连接到单片机的P1.1和P1.0引脚,作为时钟输入端和数据端口。图3.11LED显示电路3.8按键电路键盘是单片机不可缺少的人机交互设备,键盘上的键犹如一个个机械开关,手按下闭合,手放开键释放,在单片机系统中通常使用的是价格便宜的矩阵键盘。矩阵式键盘适用于按键数量多的场合,按键位于行线和列线的交叉点上。键盘上每个键都担负着一项处理功能,所以键盘接口对应的软件。键盘扫描通常行扫描法和线反转扫描发,一般是由软件来实现的,通过程序不停地查找闭合键。在本设计中采用的是4*4的非编码键盘,其电路图如图3.12所示,列线由P2.4-P2.7口控制,行线由P2.0-P2.3口控制。电路中共16个按键,其中0到9为数字键,A(设置键)、3个温度参数和时间设置键、E(增加键)、F(减小键)。系统在程序初始化时控制键盘行线的P2.0-P2.3口输出高电位,控制键盘列线的P2.4-P2.7口输出低电位,在判断电路是否有按键按下时,读P2.0-P2.7端口值,若端口值不是11110000,则说明电路中有按键按下。然后根据程序进行去抖动处理和计算键值。图3.12矩阵式键盘电路图3.9D/A转换电路DAC0832的基本原理是把数字量的每一位按照权重转换成相应的模拟分量,然后根据叠加定理将每一位对应的模拟分量相加,输出相应的电流或电压。DAC0832是一个8位D/A转换器。单电源供电,从+5V~+15V均可正常工作。基准电压的范围为±10V;电流建立时间为1μS;CMOS工艺,低功耗20mW。DAC0832转换器芯片为20引脚,双列直插式封装,其引脚排列如图3.13所示。MACROBUTTONMTEditEquationSection2图3.13DAC0832引脚图对各引脚信号说明如下:(1)DI7~DI0:转换数据输入(2)CS:输入片选信号,当低电平时有效(3)ILE:输入数据锁存允许信号,当高电平时有效(4)WR1:输入写信号1,当低电平时有效上述两个信号控制输入寄存器是数据直通方式还是数据锁存方式;当ILE=1和WR1=0时,为输入寄存器直通方式;当ILE=1和WR1=1时,为输入寄存器锁存方式。(5)WR2:输入写信号2,当低电平时有效(6)XFER:输入数据传送控制信号,低电平有效(7)Iout1:电流输出1。当数据为全1时,输出电流最大,当为全0时,输出电流最小。(8)Iout2:电流输出2DAC转换器的特性之一是:Iout1+Iout2=常数。(9)Rfb—反馈电阻端就是运算放大器的反馈电阻端,(10)Vref:基准电压。(11)DGND:数字地(12)AGND:模拟地
DAC0832与单片机的接法如图3.14所示。图3.14D/A转换电路图因为多片DA转换器同步输出DAC0832采用双缓冲方式工作方式,内部两个寄存器均受控制,转换分两步:(1)CPU分时控制输入寄存器,输入数据。(2)CPU同时控制各路的DAC寄存器,使得输入寄存器中的数据进入DAC寄存器,实现同步转换输出。第4章软件设计4.1软件设计思路本部分详细介绍了基于STC89C52单片机的电阻炉温度控制系统的软件设计。根据系统功能,可以将系统设计分为若干个子程序进行设计,如温度采集子程序、PID控制子程序、报警子程序、显示子程序、键盘扫描子程序、键盘处理子程序、D/A转换子程序等。采用KeiluVision3集成编译环境和C语言来进行系统软件的设计。本章从设计思路、软件系统框图出发,先介绍整体的思路,再逐一分析各模块程序算法的实现,最终编写出满足任务需求的程序。本系统要完成温度信号的采集与控制,需要实现温度信号的采集与A/D转换、数据处理、数据显示、数据传输等基本功能。从功能上可将其分为温度信号采集及数据处理、人机交互、执行三大部分进行设计。4.2主程序流程图在系统软件中,主程序依次完成系统初始化、炉温检测与处理、PID控制算法、温度显示、键盘输入等,这些都由子程序来完成。流程图如图4.1所示。图4.1主程序流程图4.2.1温度检测与处理子程序温度信号采集与处理子程序,主要完成温度信号采集与A/D功能、数据处理的功能,由芯片MAX6675来完成。温度信号采集子程序主要包括传感器初始化、单片机给传感器写命令、单片机给传感器写数据、单片机从传感器读数据等部分,数据处理部分对该数据进行处理,主要是把采集到的二进制的温度数据转换成十进制温度数据。流程图如图4.2所示。图4.2温度检测与处理子程序4.2.2报警子程序如果温度超过了系统限定值,报警子程序响应,实现声光报警功能,并切断电源。具体流程图如下图4.3。图4.3报警子程序流程图4.2.3PID子程序根据炉温对给定温度的偏差,连续改变电压的大小,使炉温控制在稳定温度范围内,以满足电阻炉温度的需要。电阻炉的炉温控制是一个反馈调节过程,比较实际炉温和需要炉温得到偏差,通过对偏差的处理获得控制信号,调节电阻炉的热功率,从而实现对电阻炉温度的控制。按照偏差的比例、积分和微分产生控制作用(PID控制),是过程控制中应用最广泛的一种控制形式。电阻炉温度控制通常采用偏差控制法。偏差控制的原理是先求出实测炉温对所需温度的偏差值,处理偏差值之后,通过调节控制信号使电阻炉的加温功率也发生相应的变化,从而实现了炉温的自动控制。比例积分微分控制的理想微分方程为:式(4.1)式中e(t)=r(t)-y(t)称为偏差值,可作为温度调节器的输入信号,其中r(t)为给定值,y(t)为被测变量值;微分时间常数是Td;积分时间常数是Ti;比例系数是kp;u(t)为调节的输出控制电压信号。但计算机只能处理数字信号,因此上述数学方程必须加以变换。若设温度的采样周期为T,第n次采样得到的输入偏差为en调节器输出为un则有(微分用差分代替)式(4.2)(积分用求和代替)式(4.3)这样,式(4-1)便可以改为式(4.4)经递推公式改写成式(4.5)PID控制流程图如图4.4所示:图4.4PID控制流程4.2.4显示流程图显示模块需要用高电平导通点亮,因此驱动功率要求较大。程序流程图如图4.5所示。图4.5显示子程序流程图4.2.5键盘扫描流程图矩阵键盘工作原理:行线通过上拉电阻接到+5V上。无按键,行线处于高电平状态,有键按下,行线电平状态将由与此行线相连的列线电平决定。列线电平为低,则行线电平为低;列线电平为高,则行线电平为高。在键盘扫描过程中,还有去抖动的问题。键闭合和断开都会出现电压抖动的情况。我们一般采用软件去抖动的方法,具体是采用时间延迟以躲过抖动(延时时间为10~20ms即可),待稳定之后,再进行列线状态的输入与判定。图4.6键盘扫描子程序流程图4.2.6键盘处理流程图键盘扫描子程序在调用的过程中,程序的结果是:有闭合键,如果有,则再检测增加键是否有按下,如果有,键值加1,否则再检测减少键是否有按下,如果有,键值减1。其他键处的理方式和上述相同,流程图如下图。图4.7键盘处理子程序流程图4.2.7D/A转换子程序流程图D/A转换流程图如图4.8所示。图4.8DA转换子程序流程图5.结束语本设计主要从硬件和软件两个方面具体阐述了基于STC89C52单片机的电阻炉温度控制系统设计。该系统充分发挥了89C52单片机对模拟量的采集处理和增量式数字PID控制算法的功能,通过改变晶闸管导通角控制加热的强度。该系统基本满足了温度控制的要求,具有超调量小,振荡幅度小,设定值可以随时用按键人为设定等优点,同时该系统还避免了控制过程中的不确定性及噪声,提高了系统的工作效率。实验证明,该系统具有精度高、可靠性高、性价比高及控制简单方便等优点。6.致谢词本次毕业设计,是在徐东辉老师的指导下进行的毕业设计,在此特表示感谢。在设计的初期,郝师就对我的设计思想进行了深刻的指导,让我在设计的开始就明确了设计方向,树立正确的设计观念。尤其在参考资料查阅方面给予我提供了很多的参考资料和帮助,使我能够很快的了解和掌握设计内容,而不至于在没有必要的方面浪费时间和精力,而是全力投入到毕业设计中来,在毕业设计的中期,徐老师常常指导我做实验,使我很快解决了设计过程中碰上的许多困难。当我在设计过程中存在疑问时,老师总是在百忙之中抽出时间及时的给予我指导,在老师的教导下,我的毕业设计能够顺利、及时地完成。同时在设计的过程中还得到了学校领导和系领导的关怀,为我们的设计提供了开放式的教室和设备等诸多便利条件。在毕业设计结束之际致以我诚挚的感谢!参考文献[1]刘敏.基于AT89S53单片机的电阻炉温度控制系统设计[J],宁夏:宁夏机械,2008年,(04)[2]吕小红,周凤星,马亮.基于单片机的电阻炉温度控制系统设计[C].武汉:武汉科技大学,2008[3]吕小红.电阻炉智能温度控制系统的设计和应用[C].武汉:武汉科技大学,2008[4]何力民.MCS-51系列单片机应用系统设计系统配置与接口技术[M].北京:北京航空[5]张开生,郭国法.MCS-51单片机温度控制系统的设计[J].微计算机信息,2005(7)[6]马云峰,郭文川.微机原理与接口技术[M].北京:高等教育出版社,2001[7]肖恩忠.基于AT89C52的电阻炉智能温度控制系统[J].农机化研究,2005[8]刘靖.单片机的控制技术[M].北京:北京理工大学出版社,2008[9]胡寿松.自动控制原理(第五版)[M].北京:北京科学出版社,2007[10]余永权.单片机原理及应用[M].北京:电子工业出版社,1997[11]何宏,田志宏.单片机原理与接口技术[M].北京:国防工业出版社,2006[12]马忠梅,籍顺心.单片机的C语言应用程序设计第3版[M].北京:航空航天大学出版社,2003[13]尹瑞竹.电阻电热炉的温度控制系统设计[J].胜利学刊,1998[14]王瑞兰.基于单片机控制的电锅炉温度控制系统的设计[J].潍坊学院学报,2008[15]杜静,王振民.电阻炉的温度控制系统[J].机械管理开发,2005附录A:硬件原理图附录B:程序#include<reg51.H>#include<intrins.h>#include<stdio.h>#include<math.h>#defineuintunsignedint#defineucharunsignedchar#defineKEY4_4P2//MAX6675的引脚sbitSO=P3^0;sbitCS=P3^2;sbitSCK=P3^1;sbitDAT=P1^0;sbitCLK=P1^1;sbitP1_7=P1^7;floatgd=200;//设定值ucharflag=0;ucharflag1=0;ucharflags=0;ucharflagk=0;bitflag2;voidkey1(void);voidkey2(void);voidkey3(void);voidkey4(void);voidkey5(void);voidkey6(void);floatek=0; //偏差floatek_1=0;floatek_2=0;floatph=0;floatpk=0;floatpk_1=0;floatD_1=0;floatkp=5;//比例系数floatki=1;//积分系数floatkd=3;//微分系数/*=====0-9=====A-G=====*/uchara[16]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0x86,0x8e,0x82};codeunsignedcharkey_tab[17]={0x00,0xe7,0xd7,0xb7,0x77, 0xeb,0xdb,0xbb,0x7b, 0xed,0xdd,0xbd,0x7d, 0xee,0xde,0xbe,0x7e}; // 1 2 3 4 // 5 6 7 8 // 9 10 11 12 // 13 14 15 16unsignedcharl_key=0x0; //定义变量,存放键值 unsignedcharl_keyold=0xFF; //做为按键松开否的凭证ucharqian,bai,shi,ge;voiddelay(uinti);voidReadKey(void);voidled(uchart);voiddelay_50ms(unsignedintt);uintt;uintzlPID();uinttemperature;//**功能:50MS延时程序//**************************************************************/voiddelay_50ms(unsignedintt){unsignedintj;for(;t>0;t--)for(j=50;j>0;j--){;}}//voiddelay(uinti){for(;i>0;t--){;}}//*************显示程序*******************//voidfbyte(ucharbyte){ucharnum,c;num=a[byte];for(c=0;c<8;c++){CLK=0;DAT=num&0x01;//保留最低一位,并发送CLK=1;num>>=1;//将八位数据在每个上升沿后,自动右移一位,目的是将八位数据按位发送}}voidled(uchart){staticucharj,b[4];b[1]=t/100;b[2]=t/10%10;b[3]=t%10;b[0]=0;for(j=0;j<4;j++) {fbyte(b[j]);//分别发送四位LED数码管的显示数据}delay_50ms(1000);}/************MAX6675函数************///采集并返回uintread(void){unsignedchari;unsignedintdat_temp,dat_6675;dat_temp=0;dat_6675=0;CS=1;delay(100);SCK=1;CS=0;delay(100);SCK=0;for(i=0;i<16;i++){ SCK=1; dat_temp=dat_temp<<1; if(SO==1) dat_temp=dat_temp|0x01; SCK=0;} CS=1; dat_temp&=0x04; dat_temp=dat_temp<<1; dat_temp=dat_temp>>4; dat_temp=dat_temp/4; dat_6675=dat_temp; returndat_6675;}//==================PID子程序====================//uintzlPID(uintsk){floatK,I,D; //比例增量,积分增量,微分增量ek=gd-sk;//偏差计算if(ek==0||ek<2){pk=0;}else{K=kp/20*(ek-ek_1); //计算比例计算增量D=kd/20*(ek-2*ek_1+ek_2)+0.5*D_1; //计算微分计算增量if((ek>100)||(ek<-100))I=0; //积分分离elseI=ki/20*ek;ph=K+I+D; //PID增量pk=pk_1+ph; }return((uint)pk);}//====================键盘扫描子程序====================////扫描键盘获取键值voidReadKey(void) //分三个部份来理解,{ unsignedchari,j,key; //**************第一部份,扫描读取键值******************************/ key=0xff; //设定初值 KEY4_4=0xfe; //第一行扫描 if(KEY4_4!=0xfe) key=KEY4_4; KEY4_4=0xfd; //第二行 if(KEY4_4!=0xfd) key=KEY4_4; KEY4_4=0xfb; //第三行 if(KEY4_4!=0xfb) key=KEY4_4; KEY4_4=0xf7; //第四行 if(KEY4_4!=0xf7) key=KEY4_4; KEY4_4=0XFF; //复位接口 /****************第二部份,检测是否干扰或无按
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年专业模具供应销售协议范本一
- 2024年代收付款业务合作合同版B版
- 2024年产品市场推广及销售代理合同
- 江南大学《电力变换技术》2021-2022学年第一学期期末试卷
- 佳木斯大学《药物分析专业创新创业拓展》2021-2022学年第一学期期末试卷
- 2024供水设施建设项目井施工合同版
- 2024基础型货物承运协议模板版B版
- 佳木斯大学《离散数学》2023-2024学年第一学期期末试卷
- 暨南大学《英语听说I》2021-2022学年第一学期期末试卷
- 2024合伙人股份转让协议模板范例
- 冬日暖阳健康守护
- 高考倒计时 二百天大有可为-高三冲刺班会
- 低空经济发展研究报告(2024年)-和君咨询
- 常见职业病危害和预防基础知识
- 2025年九省联考新高考 物理试卷(含答案解析)
- 全国职业院校技能大赛高职组(商务数据分析赛项)备赛试题库(含答案)
- 2024年(学习强国)思想政治理论知识考试题库与答案
- 大学体育与体质健康(山东联盟)智慧树知到期末考试答案章节答案2024年中国石油大学(华东)
- 中班语言《雪人不见了》课件
- 2024移动终端适老化技术要求
- 神经内科脑梗死一病一品优质护理汇报
评论
0/150
提交评论