温度PID控制系统设计.doc_第1页
温度PID控制系统设计.doc_第2页
温度PID控制系统设计.doc_第3页
温度PID控制系统设计.doc_第4页
温度PID控制系统设计.doc_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

华南师范大学增城学院课 程 论 文 题目:温度PID控制系统设计课 程 名 称 微型机控制技术 考 查 学 期 2013/2014 学年 第 2学期 考 查 方 式 课程论文 姓 名 学 号 专 业 应用电子 成 绩 指 导 教 师 摘要2一、设计内容:3二、硬件电路设计321 系统框图设计32.2 单片机最小系统42.3 键盘接口设计62.4 显示器设计72.5 温度传感器电路102.6 加热器电路设计112.7 散热器电路设计112.8 报警电路设计11三、软件程序设计113.1 主程序流程图113.2 键盘控制流程图113.3 显示流程图113.4 温度测量流程图113.5 温度报警程序113.6 控制算法流程图11四、调试结果114.1 硬件调试11五、心得体会11六、参考文献11七、附录11摘要我们常见的电阻炉是通过电流流过电阻体产生热量来加热或熔化物料的一种电炉。电阻炉广泛地应用在化学工业、工业冶金等行业。它对温度控制的要求非常高,温度控制的好坏直接影响了产品质量及生产效率,从而影响了产业的利益,因此电阻炉的温度控制在科学研究、工业生产中具有重要的意义。常规的温度控制方法以设定温度为临界点,超出设定允许范围即进行温度调控:低于设定值就加热,反之就停止或降温。这种方法实现简单、成本低,但控制效果不理想,控制温度精度不高、容易引起震荡,达到稳定点的时间也长,因此,只能用在精度要求不高的场合。而应用最为广泛的调节器控制规律为比例、积分、微分控制,简称PID控制,又称PID调节。PID控制器是工业控制的主要技术之一。当被控对象的结构和参数不能完全掌握,或得不到精确的数学模型,控制理论的其他技术也难以采用,系统控制器的结构和参数必须依靠经验和现场调试来确定时,应用PID控制技术最为方便。采用PID算法进行温度控制,它具有控制精度高,能够克服容量滞后的特点,特别适用于负荷变化大、容量滞后较大、控制品质要求又很高的控制系统。本文以电阻炉为控制对象,以单片机STC89C52为硬件核心元件,采用PID控制,该系统硬件电路设计简单、控制算法成熟稳定、系统性能优良。关键词:电阻炉;温度控制;单片机;PID控制一、设计内容:本设计是对工业电阻炉温度进行实时监测与控制,主要的温度控制系统能实现基本的温度控制功能:当电阻炉炉内温度低于设定的下限温度时,系统就会对电阻炉发出加热信号,使其温度上升;当电阻炉炉内温度高于设定的上限温度时,系统将停止加热电阻炉,使炉内温度下降。通过PID调节不断重复该过程,使温度值始终保持在上下限温度之间,并且使LED显示器即时显示温度。采用比较流行的STC89C52为电路的控制核心,STC89C52是一种低功耗、高性能CMOS8位单片机。数据的采集部分使用K型热电偶传感器,数据转换部分采用MAX6675,改变了传统温度测试方法,在现场采集温度数据,并直接将温度模拟量变换为数字信号,送到单片机进行数据处理,检测温度范围为- 270 + 1300。可应用于多种领域、各种环境的智能化测试和控制系统,精度高,使用方便灵活,优于大多传统的温度测控设备。二、硬件电路设计21 系统框图设计本系统由单片机、温度信号采集与转换、键盘输入、PID控制、温度显示等五部分组成。 其中,测温元件用K型热电偶,用来检测炉内温度,将炉中温度的物理量值转换成毫伏信号输出,经MAX6675进行处理后,炉温给定值的电压信号和所检测到的炉温电压信号都转换为数字量送入单片机内进行比较,得到实际炉温与给定炉温的差值。由单片机系统构成的数字控制器,对偏差按PID调节规律进行运算,并且在LED显示器上显示温度值,将运算结果送至D/A转换器转换为模拟电压,电压值经过功率放大器放大后,送到晶闸管调压器触发晶闸管,并且改变其导通角的大小,从而调节电阻炉的加温电压,起到控制炉温的作用。其方案图如图2.1所示:图2.1 温度控制系统总框图2.2 单片机最小系统在多数电子设计当中,基于性价比的考虑,8位单片机仍是首选。STC89C52是一种低功耗/低电压、高性能的8位单片机。片内带有一个8KB的Flash可编程、可擦除只读存储器(EPROM)。它采用了CMOS工艺和ATMEL公司的高密度非易失性存储器(NURAM)技术,而且其输出引脚和指令系统都与MCS-51兼容、片内的Flash存储器允许在系统内改编程序或用常规的非易失性存储器编程器来编程。因此,STC89C52是一种功能强、灵活性高,且价格合理的单片机,可方便地应用在各种控制领域。基于上述这些特点,这里选择STC89C52单片机作为控制核心。本部分主要介绍单片机最小系统的设计。单片机系统的扩展,一般是以基本最小系统为基础的。所谓最小系统,是指一个真正可用的单片机最小配置系统,对于片内带有程序存储器的单片机,只要在芯片外接时钟电路和复位电路就是一个小系统了。小系统是嵌入式系统开发的基石。本电路的小系统主要由三部分组成,一块STC89C52芯片、复位电路及时钟电路。单片机最小系统的如图2.2所示: 图2.2 单片机最小系统时钟电路提供单片机的时钟控制信号,单片机时钟产生方式有内部时钟方式和外部时钟方式。最常用的是内部时钟方式,是采用外接晶振和电容组成的。时钟振荡电路如图2.3所示:图2.3 时钟振荡电路 单片机内部有一个用于构成振荡器的高增益反向放大器,引脚XTAL1和引脚XTAL2分别是反相放大器的输入端和输出端,由这个放大器与作为反馈元件的片外晶体或陶瓷谐振器一起构成一个自己振荡器,这种方式形成的时钟信号称为内部时钟方式。系统的时钟电路设计是采用的内部方式,即利用芯片内部的振荡电路。内部方式时,时钟发生器对振荡脉冲二分频,如晶振为12MHz,时钟频率就为6MHz。晶振的频率可以在1MHz-24MHz内选择。电容取30PF左右。因此,此系统电路的晶体振荡器的值为12MHz,电容应尽可能的选择陶瓷电容,电容值为30F。在焊接刷电路板时,晶体振荡器和电容应尽可能安装得与单片机芯片靠近,以减少寄生电容,更好地保证震荡器稳定和可靠地工作。XTAL1是片内振荡器的反相放大器输入端,XTAL2则是输出端,使用外部振荡器时,外部振荡信号应直接加到XTAL1,而XTAL2悬空。2.3 键盘接口设计按键是现阶段电子设计中最常用、最实用的输入设备。按键能够成为最普遍的输入设备,主要是其具备了以下几个优点:工作原理、硬件电路连接简单、操作实用性强、价格便宜,程序编写简单。缺点:机械抖动比较严重、外型不够美观。按键部分实现的主要原理是单片机读取与按键相连接的I/O口状态,来判定按键是否按下,达到系统参数设置的目的。键盘在单片机应用系统中的作用是实现数据输入、命令输入,是人工干预的主要手段。独立式按键就是按键相互独立,每个按键单独占用一根I/O口线,每根I/O口线的按键的工作状态,不会影响其他I/O口线上的工作状态。各按键开关均需要采用了上拉电阻,是为了保证在按键断开时,各I/O有确定的高电平。当输入口线内部已有上拉电阻,外电路的上拉电阻可省去。因此,通过检测输入线的电平状态就可以很容易判断是哪个按键被按下了。优点:电路配置灵活,软件结构简单。缺点:每个按键需占用一根I/O口线,在按键数量较多时,I/O口浪费大,电路结构显得复杂。因此,此键盘适用于按键较少或操作速度较高的场合。矩阵式键盘适用于按键数量多的场合,它通常由行线和列线组成,按键位于行、列的交叉点上。单片机的键盘检测通常有三种方式:查询、中断、定时扫描。查询和中断方式同普通的 I/O 传送是一致的,定时扫描方式是利用单片机内部定时器产生定时中断,在中断服务程序中对键盘进行扫描获得键值。在本设计中采用的是 4 行*4 列键盘,其电路图如图3.12所示,列线由 P2.4-P2.7口控制,行线由 P2.0-P2.3口控制。电路中共 16个按键,包括设置键、3 个温度参数和时间设置键、1个增加键、1个减小键。系统在程序初始化时控制键盘行线的 P2.0-P2.3口输出高电位,控制键盘列线的P2.4-P2.7口输出低电位,在判断电路是否有按键按下时,读 P2.0-P2.7端口值,若端口值不是11110000,则说明电路中有按键按下。然后根据程序进行去抖动处理和计算键值。 图2.4 矩阵式键盘电路图2.4 显示器设计我们这课程设计中采用的输出显示设备是LCD。液晶显示屏具有体积小、功耗低、显示内容丰富等特点,用户可以根据自己的需求,显示自己所需要的、甚至是自己动手设计的图案。当需要显示的数据比较复杂的时候,它的优点就突现出来了,并且当硬件设计完成时,可以通过软件的修改来不断扩展系统显示能力。外围驱动电路设计比较简单,显示能力的扩展将不会涉及到硬件电路的修改,可扩展性很强。不足之处在于其价格比较昂贵,驱动程序编写比较复杂。由于本设计所需要显示的内容比较简单,只包括现场温度值、温度限定值以及PID系数的显示,所以本系统的数据显示设备采用LED数码管。设计中采用4位共阴极LED静态显示方式,选用7段显示数码管。显示内容有温度值的千位、百位、十位、个位。由于单片机不能直接驱动数码管显示,所以必须在单片机与LED164之间加上74LS164,它的管脚图如图2.5所示。图2.5 74LS164管脚图A和B为74LS64的串行输入端;QA-QH为74LS64的并行输出端;CLK是串行时钟输入端;CLR是串行输出清零端;VCC:+5V;GND:接地端。74LS164功能如表2.6所示。表2.6 74LS164功能表输 入输 出清除时钟ABQAQBQHLLLLHLQA0QB0QH0HHHHQAnQGnHLLQAnQGnHLLQAnQGnLED显示器的管脚如图2.7所示,其中a-g段用来显示数字或字符的笔画,dp显示小数点,9引脚作为公共地。一英寸以下的的LED数码管内,每一笔段含有一只LED发光二极管,导通压降为1.2-2.5V;一英寸及以上的LED数码管的每一笔段由多只LED发光二极管以串、并联方式连接而成,笔段导通电压与笔段内包含的LED发光二极管的数目、连接方式有关。在串联方式中,确定电源电压VCC时,每只LED工作电压通常以2.0V计算,例如4英寸7段LED数码显示器LC4141的每一笔段由四只LED发光二极管按串联方式连接而成,因此导通电压应在7-8V之间,电源电压VCC必须取9V以上。图2.7 LED数码管显示器数码管结构有共阴极和共阳极之分。本设计采用的是共阴极数码管。共阴极公共端接地,高电平有效(灯亮),共阴极数码管内部发光二极管的阴极(负极)都联在一起,此数码管阴极(负极)在外部只有一个引脚。LED显示电路如下图2.8所示。图中的P11和P10分别连接到单片机的P1.1和P1.0引脚,作为时钟输入端和数据端口。图2.8 LED显示电路2.5 温度传感器电路本部分主要介绍是温度传感器的选型。传感器的选择受到许多方面的影响,比如各种温度传感器本身有各自优缺点,适应于不同的场合;还有现场的环境因素各有不同,再有就是根据系统要求的不同,所需实现的精度也不同,所以在不同的场合当中,选择温度传感器的类型也将不同。设计要求要求我们使用DS18B20,但是结合本身的课程设计选择,使用DS18B20来作传感器是不合逻辑的,因为DS18B20是数字温度传感器,采用单总线技术,可以直接与单片机I/O口相连。使用DS18B20可以节约单片机I/O口,还能使系统成本降低。但它的测温范围仅限-55+125,而电阻炉的温度在一千度上下,所以结合精度要求、测温范围的大小以及价格等各方面因素考虑,选择K型热电偶传感器。K型(镍铬镍硅)热电偶能测量1300以内的温度,其线性度极好,且价格便宜。但测温部分用K型热电偶需经过A/D转换、放大电路等一系列措施,使得硬件电路部分显得冗余,本设计使用能处理K型热电偶输出信号的芯片MAX6675,该芯片可实现A/D转换、放大电路等功能,且可以和单片机直接通讯,节约了硬件部分,降低了成本。MAX6675采用8位引脚的SO封装,引脚图如图2.9所示。图2.9 MAX6675引脚图引脚功能如表2.10所示。表2.10 MAX6675引脚功能表引脚名称功能1GND接地端2T-K型热电偶负极3T+K型热电偶正极4VCC正电源端5SCK串行时钟输入6CS片选信号端7SO串行数据输出8NC悬空 不用MAX6675的内部由精密运算放大器A1、A2、基准电压源、冷端补偿二极管、模拟开关、数字控制器及ADC等组成,完成了热电偶微弱信号的放大、冷端补偿及模/数转换功能。将K型热电偶的热电势输出端与MAX6675的引脚T+、T-相连,热电偶输出的热电势经放大器A1、A2进行放大和滤波处理后送至ADC的输入端,在转换之前,先需要对热电偶的冷端温度进行补偿,MAX6675通过内置的冷端补偿的电路来实现冷端补偿。它将冷端温度通过冷端补偿二极管转换为相应的电压信号,MAX6675内部电路将二极管电压和放大后的热电偶电势同时送到ADC中进行转换,即能得到测量端的绝对温度值。MAX6675采用标准的SPI串行外设总线与单片机接口,其与单片机通信时工作过程如下:当单片机使MAX6675的CS 引脚从低电平变为高电平时,MAX6675将进行新的转换;当单片机使MAX6675的CS 引脚从高电平变为低电平并给SCK时钟信号时,MAX6675停止信号转换并从SO端输出串行转换数据。当从SO端输出串行转换数据时,一个完整的数据输出过程需要16个时钟周期,数据的输出通常在SCK的下降沿完成,其中D15位是伪标志位,始终为0;D14D3是由高位到低位顺序排列的温度转换值;D2用于检测热电偶是否断线,当D2为1时表明热电偶断开;D1为MAX6675的标识符,始终为0;D0位为三态。MAX6675的串行接口时序图如图2.11所示。图2.11 MAX6675的时序图图2.12为本系统中温度检测电路,当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开始进行新的温度转换。图2.12 温度检测电路2.6 加热器电路设计前文我们提及过电阻炉是通过电流流过电阻体产生热量来加热或熔化物料的一种电炉,广泛地应用在化学工业、工业冶金等行业。以电流通过导体所产生的焦耳热为热源的电炉。按电热产生方式,电阻炉分为直接加热和间接加热两种。在直接加热电阻炉中,电流直接通过物料,因电热功率集中在物料本身,所以物料加热很快,适用于要求快速加热的工艺,例如锻造坯料的加热。这种电阻炉可以把物料加热到很高的温度,例如碳素材料石墨化电炉,能把物料加热到超过2500。直接加热电阻炉可作成真空电阻加热炉或通保护气体电阻加热炉,在粉末冶金中,常用于烧结钨、钽、铌等制品热电偶将炉温变换为模拟电压信号,经低通滤波滤掉干扰信号后送放大器,信号放大为05V后送模数转换器转换成数字量送单片机。同时,热电偶的冷端温度也由IC温度传感器变换为电压信号,经放大后进行模数转换送单片机。标度变换程序根据炉温给定值T0与检测值T的偏差T,按积分分离的PID控制算法得到输出控制量Uct。数字触发器程序根据输出控制量Uct控制晶闸管导通时间,调节炉温使之与给定恒温值一致。过零检测电路中每当电源正跳变时输出一个正脉冲,作为数字触发器的同步信号。显示与恒温判断程序完成炉温T与恒温时间显示、恒温开始与恒温完成判别、恒温完成时给出声光指示信号。断偶判断程序根据温度检测值判断温度传感器是否开路,若开路,则给出断偶报警信号。恒温时间和恒温值在系统运行前由键盘直接送到指定单元。图2.13 电阻炉温度控制的工艺曲线2.7 散热器电路设计有关电阻炉的散热方式有很多种,对于中频感应电炉设备用水冷却。最好是蒸馏水,因为对中频电炉的水路安全是最好的保障。根据我所了解的很多大型的企业都是利用水冷却中频电炉设备的。可以是冷却塔也可以水池。另外一种散热方式是中频感应电炉设备用水冷却。最好是蒸馏水,当然这个个是最理想的。对中频电炉的水路安全是最好的保障。 根据我所了解的 /*神光电炉 ,以及其他中频电炉都是利用水冷却中频电炉设备的。 可以是冷却塔也可以水池。电路如图2.14所示:图2.14 散热电路设计2.8 报警电路设计报警电路实现的是当环境温度值超过系统设置的上限值或者小于系统设置的下限值时,都将通过I/O 口驱动蜂鸣器,进行蜂鸣器报警。而单片机I/O 口输出的电流无法直接驱动蜂鸣器,所以设计了蜂鸣器驱动电路,具体电路连接如图2.15所示: 图2.15 报警电路图三、软件程序设计3.1 主程序流程图本部分详细介绍了基于STC89C52单片机的电阻炉温度控制系统的软件设计。根据系统功能,可以将系统设计分为若干个子程序进行设计,如温度采集子程序、PID控制子程序、报警子程序、显示子程序、键盘扫描子程序、键盘处理子程序、D/A转换子程序等。采用Keil uVision3集成编译环境和C语言来进行系统软件的设计。本章从设计思路、软件系统框图出发,先介绍整体的思路,再逐一分析各模块程序算法的实现,最终编写出满足任务需求的程序。本系统要完成温度信号的采集与控制,需要实现温度信号的采集与A/D转换、数据处理、数据显示、数据传输等基本功能。从功能上可将其分为温度信号采集及数据处理、人机交互、执行三大部分进行设计。在系统软件中,主程序依次完成系统初始化、炉温检测与处理、PID控制算法、温度显示、键盘输入等,这些都由子程序来完成。流程图如图3.1所示。图3.1主程序流程图3.2 键盘控制流程图在本设计中,当按键被按下时,I/O口电平为低;松开时,I/O口电平为高。按键扫描程序通过读取I/O口的电平即可知道对应按键的状态。按键的抖动时间的长短由按键的机械特性决定,一般为510ms,这是一个很重要的参数。抖动过程引起电平信号的波动,有可能令CPU误解为多次按键操作,从而引起误处理。为了确保CPU对一次按键动作只确认一次按键,提高按键处理的可靠性,应在程序中做按键消抖处理。按键的消抖,通常有软件,硬件两种消除方法。硬件消抖主要是采用滤波电路消除干扰,需要消耗大量硬件,成本比较高,只适用于按键数目较少的情况。如果按键较多,硬件消抖无法达到预期效果。所以通常采用软件消抖。软件消抖的常用方法是软件延时。本系统采用软件消抖,当单片机第一次检测到有键按下时,即检测到与按键连接的I/O口为低电平是,等待10ms,再去确认该I/O口是否仍旧为低电平,如果还是低电平,就一般的机械按键而言,已经是出于稳定期了,按键的抖动被消除了。如果10ms 之后I/O口不为低电平,则说明是干扰信号,而不是按键被按下。在软件编写上,可采用查询方式,也可采用中断方式。本系统采用查询方式。使用按键输入流程图如图3.2所示:图3.2 键盘扫描子程序流程图3.3 显示流程图共阴极数码管是用高电平(“1”)点亮的,要求驱动功率较大。程序流程图如图3.4 所示。图 3.4 显示子程序流程图3.4 温度测量流程图温度信号采集与处理子程序,主要完成温度信号采集与A/D功能、数据处理的功能,由芯片MAX6675来完成。温度信号采集子程序主要包括传感器初始化、单片机给传感器写命令、单片机给传感器写数据、单片机从传感器读数据等部分,数据处理部分对该数据进行处理,主要是把采集到的二进制的温度数据转换成十进制温度数据。流程图如图3.5所示。图3.5 温度检测与处理子程序3.5 温度报警程序报警子程序主要实现在温度超限的情况下,进行声光报警,并切断电源。程序流程图如下图3.6。图3.6 报警子程序流程图3.6 控制算法流程图根据炉温对给定温度的偏差,自动接通或断开供给炉子的热源能量,或连续改变热源能量的大小,使炉温稳定在给定温度范围内,以满足热处理工艺的需要。温度自动控制常用调节规律有二位式、三位式、比例、比例积分和比例积分微分等几种。电阻炉炉温控制是这样一个反馈调节过程,比较实际炉温和需要炉温得到偏差,通过对偏差的处理获得控制信号,去调节电阻炉的热功率,从而实现对电阻炉温度的控制。按照偏差的比例、积分和微分产生控制作用(PID控制),是过程控制中应用最广泛的一种控制形式。二位式调节它只有开、关两种状态,当炉温低于限给定值时执行器全开;当炉温高于给定值时执行器全闭。三位式调节它有上下限两个给定值,当炉温低于下限给定值时招待器全开;当炉温在上、下限给定值之间时执行器部分开启;当炉温超过上限给定值时执行器全闭。如管状加热器为加热元件时,可采用三位式调节实现加热与保温功率的不同。比例调节(P调节)调节器的输出信号(M)和偏差输入(e)成比例。即:M=Ke;式中:K比例系数。比例调节器的输入、输出量之间任何时刻都存在一一对应的比例关系,因此炉温变化经比例调节达到平衡时,炉温不能复加到给定值时的偏差称“静差”。比例积分(PI)调节,为了“静差”,在比例调节中添加积分(I)调节积分,调节是指调节器的输出信号与偏差存在随时间的增长而增强,直到偏差消除才无输出信号,故能消除“静差”比例调节和积分调节的组合称为比例积分调节。比例积分微分(PID)调节比例积分调节会使调节过程增长,温度的波动幅值增大,为此再引入微分(D)调节。微分调节是指调节器的输出与偏差对时间的微分成比例,微分调节器在温度有变化“苗头”时就有调节信号输出,变化速度越快、输出信号越强,故能加快调节速度,降低温度波动幅度,比例调节、积分调节和微分调节的组合称为比例积分微分调节。根据生产现场的运行情况,这种控温方法,精度比较高,系统性能稳定,满足生产的实际需要。主要设备:热电偶或热电阻,智能PID温控仪,可控硅触发调功器等。PID控制是在连续的生产过程中,将偏差的比例(Proportional)、积分(Integral)、微分(Derivative)通过线性组合构成控制量,对控制对象进行控制。在常规PID的应用中,PID三个参数往往根据现场设备情况或调试经验人工设定的,通过调试实验改变参数以改变控制性能。电阻炉温度控制通常采用偏差控制法。偏差控制的原理是先求出实测炉温对所需炉温的偏差值,然后对偏差值处理而获得控制信号起调节电阻炉的加热功率,以实现对炉温的控制。PID控制的理想微分方程为: 式(4.1)式中e(t)=r(t)-y(t)称为偏差值,可作为温度调节器的输入信号,其中r(t)为给定值,y(t)为被测变量值;Kp为比例系数;Ti为积分时间常数;Td为微分时间常数;u(t)为调节的输出控制电压信号。但计算机只能处理数字信号,因此上述数学方程必须加以变换。若设温度的采样周期为T,第n次采样得到的输入偏差为en调节器输出为un则有(微分用差分代替) 式(4.2)(积分用求和代替) 式(4.3)这样,式(4-1)便可以改为 式(4.4)经递推公式改写成 式(4.5)PID控制流程图如图3.7所示: 图3.7 PID控制流程图四、调试结果4.1 硬件调试在单片机开发过程中,系统的调试占去了大部分的开发时间,可见调试的工作量比较大。单片机系统的硬件调试和软件调试是不能分开的,许多硬件错误是在软件调试中被发现和纠正的。但通常是先排除明显的硬件故障以后,再和软件结合起来调试以进一步排除故障。有的时候由于设计和加工制板过程中工艺性错误所造成错线、开路、短路。排除的方法是首先将加工的印制板认真对照原理图,看两者是否一致。应特别注意电源系统检查,以防止电源短路和极性错误,并重点检查系统总线(地址总线、数据总线和控制总线)是否存在相互之间短路或与其它信号线路短路。必要时利用数字万用表的短路测试功能,可以缩短排错时间。在通电前,一定要检查电源电压的幅值和极性,否则很容易造成集成块损坏。加电后检查各插件上引脚的电位,一般先检查VCC与GND之间电位,若在5V48V之间属正常。若有高压,联机仿真器调试时,将会损坏仿真器等,有时会使应用系统中的集成块发热损坏。软件调试可以直接应用Keil C51软件进行。该软件提供了一个集成开发环境u Vision。通过编译、运行,可以检查程序错误。在软件调试过程中要仔细耐心,即便是多写或少些一两个字符,都无法编译成功。五、心得体会这个主要从硬件和软件两个方面具体阐述了基于STC89C52单片机的电阻炉温度控制系统设计。该系统充分发挥了89C52单片机对模拟量的采集处理和增量式数字PID控制算法的功能,可以比较灵活的调节控制信号的导通时间来控制加热电路的工作。该系统基本满足了温度控制的要求,具有超调量小,振荡幅度小,设定值可以随时用按键人为设定等优点,同时该系统还避免了控制过程中的不确定性及噪声,提高了系统的工作效率。实验证明,该系统具有精度高、可靠性高、性价比高及控制简单方便等优点。通过本次温度PID控制系统的设计,我对温度测量控制有了进一步的熟悉和更深入的学习。在整个设计的过程中,本设计的重点和难点是:怎样将PT100热电阻的非电量信号转换为单片机单片机能识别的电量信号,其中的信号如何放大及放大倍数的确定等等。这次毕业设计历时两周,从一开始的课题确定,到后来的资料查找、理论学习,再有就是近来的调试和测试过程,这一切都使我的理论知识和动手能力进一步得到提升。在画原理图、电路仿真和调试过程中不可避免地遇到各种问题,这要求保持沉着冷静,联系书本理论知识积极地思考,实在解决不了时候可以请教同学或指导老师。虽然在制作过程中不可避免地遇到很多问题,但是最后还是在老师以及同学的帮助下圆满解决了这些问题,实现了整个系统设计与最后调试,相关指标达到预期的要求,很好地完成了本次设计任务。通过这次课程设计,我们对现代仪器的设计过程有了更为清晰的认识,尤其锻炼了我们的动手能力,解决实际困难的能力和团队合作能力。感谢给予我们宝贵意见的老师和同学,他们耐心的指导使得我们能够顺利完成本次课程设计。六、参考文献1 吕小红,周凤星,马亮.基于单片机的电阻炉温度控制系统设计C.武汉:武汉科技大学,20082 马云峰,郭文川.微机原理与接口技术M.北京:高等教育出版社,20013 张开生.MCS-51单片机温度控制系统的设计J.微计算机信息,20054 胡寿松.自动控制原理(第五版)M.北京:北京科学出版社,20075 张俊謨.单片机中级教程M。北京:北京航空航天大学出版社,2006;6 刘君华.智能传感器系统M。国防工业出版社,1998;7 侯国章.测试与传感技术M.哈尔滨:哈尔滨工业大学出版社,20008 夏大勇,周晓辉,赵增,陈博峰,虎恩典.MCS- 52单片机温度控制系统J. 北京航空航天大学出版社,2007七、附录/=主程序=/#include #include #include #include #define uint unsigned int#define uchar unsigned char#define KEY4_4 P2/MAX6675的引脚sbit SO=P30;sbit CS=P32;sbit SCK=P31;sbit DAT=P10;sbit CLK=P11;sbit P1_7=P17;float gd=200; /设定值uchar flag=0; uchar flag1=0; uchar flags=0; uchar flagk=0;void init(void) DIOInit(); Reset 7705(); /复位7705 Init7705(0); /7705通道1初始化 ConvAdr0=0x01; / IO口位地址定义 ConvAdr1=0x02; ConvAdr2=0x04: ConvAdr3=0x08; ConvAdr4=0x10;ConvAdr5=0x20;TMOD=0x01; /timer0,model(16bit timer ) ES=ET1=EX1=ET0=EX0=0; /Disable all interrupt sourceEA=l; /Enable CPU interrupt init_serialcomm(); /初始化串口.void DIOInit(void)DOmap=0xff;XBYTEDRIVER=DOmap; /控制前将所有的驱动输出口打开,这 样可控硅不会道通避免上电就直接加热.void Reset 7705(void) unsigned char i,j: AdClk=1;AdDin=0; for(i=0;i32;i+) /DIN与DOUT共用一根数据线, 需至少24个读操作 AdClk=0; for(j=0;jAD_CLK_WIDTH;j+) AdC1K=1; for(j=0;jAD_CLK_WIDTH;j+) AdDin =1; for(i=0;i40;i+) /多于连续32个DIN=1 是AD7705复位 AdC1K=0; for(j=0;jAD_CLK_WIDTH;j+) AdC1K=1; for(j=0;j0;t-) for(j=50;j0;j-) ;/void delay(uint i) for(;i0;t-) ; /=数字滤波子程序=/.unsigned char ad_filter(unsigned char channel) unsigned char ad_count; unsigned int ad_max,ad_min; unsigned int result_tmp=0: unsigned int adresult6; adresult0=GetData7705(channel); /连续采样6次 adresult1=GetData7705(channel); adresult2=GetData7705(channel); adresult3=GetData7705(channel); adresult4=GetData7705(channel); adresult5=GetData7705(channel); for(ad_count=0;ad_count=ad_max) ad_max=ad_resultad_count; if(ad_resultad_count=ad_min) ad_min=ad_resultad_count; Result_tmp=(adresult0+adresult1+adresult2+adresult3+adresult4+adresult5-ad_max-ad_min)/4; /求均值ad_count=result_tmp;return(ad_count);/=显示模块子程序=/unsigned char codedisp_code22=0xa0,0xf0,0x00,0x60,0x60,0xd0,0x40,0xf0,0xe0,0x60,0xe0,0xb0,0xe0,0xb0,0x00,0xe0,0xe0,0xf0,0xe0,0xf0,0x00,0x00;.vinit_ht1621(void) write_command_ht1621(0x52); write_command_ht1621(0x30); write_command_ht1621(0x0a); write_command_ht1621(0x08); write_command_ht1621(0x02);.void led_clr(void)unsigned char i; for (i=0;j6;i+) display_ht1621(0x00,0x00,2*i);write_command_ht1621(0x06); /led on.void display_ht1621(unsigned char disp_date1,unsigned char disp_date2,unsigned char disp_add_offset)HT1621_CS=0; /CS=0write_byte_ht1621(1,0x80);/10100,0000,WRITE,RAM=00Hwrite_byte_ht1621(8,0x40+disp_add_offset);write_byte_ht1621(4,disp_data1);HT1621_WR=1; /WR=1delay(0,50);HT1621_CS=1; /CS=1delay(0,50);HT1621_CS=0;write_byte_ht1621(1,0x80); /CS=0/10100,0000,WRITE,RAM=00Hwrite_byte_ht1621(8,0x40+disp_add_offset+1);write_byte_ht1621(4,disp_data2);HT1621_WR=1; /WR=1delay(0,50);HT1621_CS=1; /CS=1.voi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论