已阅读5页,还剩24页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
沈阳理工大学课程设计目录1.设计目的12.设计要求和设计指标13. 总体方案设计14.硬件选择以及相关电路设计14.1温度传感器的选择14.2 模数转换器34.2.1ADC0809内部结构34.2.2信号引脚44.2.3工作时序与使用说明64.3控制器89C5174.4数码管显示电路84.4.1 LED数码管的组成84.4.2数码管显示方式95.PID控制算法106. 各子程序设计及流程图116.1 A/D转换程序流程图116.2 显示程序流程图126.3 PID控制器流程图136.4温度控制总程序流程图14总结15参考文献16附录1:温度控制系统总电路图17附录2:温度控制系统程序清单19摘要温度控制是工业生产过程中经常遇到的过程控制,有些工艺过程对其温度的控制效果直接影响着产品的质量,因而设计一种较为理想的温度控制系统是非常有价值的。本设计介绍了以AD590集成温度传感器为采集器、AT89C51为控制器、ADC0809为A/D转换器对温度进行智能控制的温度控制系统。其主要过程如下:利用传感器对将非电量信号转化成电信号,转换后的电信号再入A/D转换成数字量,传递给单片机进行数据处理,并向外围设备发出控制信号。随着工业技术的不断发展,传统的控制方式已经不能满足高精度、高速度的控制要求。如接触器温度控制仪表,其主要缺点是温度波动范围大,由于它主要通过控制接触器的通断时间比例来达到改变加热功率的目的,受仪表本身误差和交流接触器的寿命限制,通断频率很低。近几年来快速发展了多种先进的温度控制方式,如:直接数字控制(DDC),推断控制,预测控制,模糊控制(Fuzzy),专家控制(Expert Control),鲁棒控制(Robust Control),推理控制等,PID控制,神经网络及遗传算法控制等1。这些控制技术大大的提高了控制精度,不但使控制变得简便,而且使产品的质量更好,降低了产品的成本,提高了生产效率。论文首先介绍了单片机控制系统的整体方案设计及原理,然后具体介绍了控制系统的温度传感器部分、A/D转换部分、控制器89C51部分以及数码管显示和键盘控制部分,接着相信介绍了温度控制系统各个单元电路的设计,最后阐述了温度控制系统软件设计的主程序和各个子程序。关键字:单片机89C51 温度传感器 A/D转换器 温度控制1.设计目的设计制作和调试一个由工业控制机控制的温度测控系统。通过这个过程学习温度的采样方法,A/D变换方法以及数字滤波的方法。通过实践过程掌握温度的几种控制方法,了解利用计算机进行自动控制的系统结构。2.设计要求和设计指标1、每组7名同学,每个小组根据设计室提供的设备及设计要求,设计出实际电路组成一个完整的计算机温度测控系统。 2、根据设备情况以及被控对象,选择12种合适的控制算法, 框图和源程序,并进行实际操作和调试通过。编制程序温度指标:6080之间任选;偏差:1。3. 总体方案设计 本系统主要由数据采集、信号放大、模数转换等模块构成。设计思想是通过温度传感器将温度信号转变为电流(电压)信号,但我们要知道经温度变化引起电流(电压)信号的改变是非常小的,此时如果被模数转换器采集的话效果是非常不明显的,因此我们将其通过一个信号放大模块进行放大。再通过模数转换器后送入单片机AT89C51,而单片机通过PID算法控制烘箱的电炉加热,并且使数码管显示实时温度,从而实现温度的高精度控制。4.硬件选择以及相关电路设计 4.1温度传感器的选择 传感器的选取目前市场上温度传感器繁多就此我们提出了以下三种选取方案:方案一:选用铂电阻温度传感器,此类温度传感器在各方面特性都比较优秀,但其成本较高。方案二:采用热敏电阻,选用此类元器件有价格便宜的优点,但由于热敏电阻的非线性特性会影响系统的精度。方案三:选用美国Analog Devices 公司生产的二端集成电流传感器AD590,此器件具有体积小、质量轻、线形度好、性能稳定等优点。其测量范围在-50-+150,满刻度范围误差为0.3,当电源电压在510V之间,稳定度为1时,误差只有0.01,其各方面特性都满足此系统的设计要求。比较以上三种方案,方案三具有明显的优点,因此此次设计选用方案三。 图4-1 温度采集过程图 选用温度传感器AD590,AD590具有较高精度和重复性(重复性优于0.1,其良好的非线形可以保证优于0.1的测量精度,利用其重复性较好的特点,通过非线形补偿,可以达到0.1测量精度)。超低温漂移高精度运算放大器OP-07将“温度-电压”信号放大。便于A/D进行转换,以提高温度采集电路的可靠性。集成温度传感器的输出形式分为电压输出和电流输出两种。电压输出型的灵敏度一般为10mV/K,温度0时输出为0,温度25时输出为2.982V。电流输出型的灵敏度为1A/K。这样便于A/D转换器采集数据。4.2 模数转换器ADC0809是M美国国家半导体公司生产的CMOS工艺8通道,8位逐次逼近式A/D转换器。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换,其转换时间为100s左右。是目前国内应用最广泛的8位通用A/D芯片。 图4-2 ADC0809引脚图4.2.1ADC0809内部结构图中多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用一个A/D转换器进行转换,这是一种经济的多路数据采集方法。地址锁存与译码电路完成对A、B、C 3个地址位进行锁存和译码,其译码输出用于通道选择,其转换结果通过三态输出锁存器存放、输出,因此可以直接与系统数据总线相连,表4-1为通道选择表。 图4-3 ADC0809内部结构图表4-1通道选择表4.2.2信号引脚ADC0809的内部结构和外部引脚分别如图4-3和图4-2所示。内部各部分的作用和工作原理在内部结构图中已一目了然,在此就不再赘述,下面仅对各引脚定义分述如下: (1)IN0IN78路模拟输入,通过3根地址译码线ADDA、ADDB、ADDC来选通一路。(2)D7D0A/D转换后的数据输出端,为三态可控输出,故可直接和微处理器数据线连接。8位排列顺序是D7为最高位,D0为最低位。(3)ADDA、ADDB、ADDC模拟通道选择地址信号,ADDA为低位,ADDC为高位。地址信号与选中通道对应关系如表4-1所示。(4)VR(+)、VR(-)正、负参考电压输入端,用于提供片内DAC电阻网络的基准电压。在单极性输入时,VR(+)=5V,VR(-)=0V;双极性输入时,VR(+)、VR(-)分别接正、负极性的参考电压。(5)ALE地址锁存允许信号,高电平有效。当此信号有效时,A、B、C三位地址信号被锁存,译码选通对应模拟通道。在使用时,该信号常和START 信号连在一起,以便同时锁存通道地址和启动A/D转换。(6) STARTA/D转换启动信号,正脉冲有效。加于该端的脉冲的上升沿使逐次逼近寄存止,重新从头开始转换器清零,下降沿开始A/D转换。如正在进行转换时又接到新的启动脉冲,则原来的转换进程被中。 (7)EOC转换结束信号,高电平有效。该信号在A/D转换过程中为低电平,其余时间为高电平。该信号可作为被CPU查询的状态信号,也可作为对CPU的中断请求信号。在需要对某个模拟量不断采样、转换的情况下,EOC也可作为启动信号反馈接到START端,但在刚加电时需由外电路第一次启动。 (8)OE输出允许信号,高电平有效。当微处理器送出该信号时,ADC0808/0809的输出三态门被打开,使转换结果通过数据总线被读走。在中断工作方式下,该信号往往是CPU发出的中断请求响应信号。4.2.3工作时序与使用说明图4-4 ADC0809工作时序图 用单片机控制ADC时,多数采用查询和中断控制两种方式。查询法是在单片机把启动命令送到ADC之后,执行别的程序,同时对ADC的状态进行查询,以检查ADC变换是否已经完成,如查询到变换已结束,则读入转换完毕的数据。中断控制是在启动信号送到ADC之后,单片机执行别的程序。当ADC转换结束并向单片机发出中断请求信号时,单片机响应此中断请求,进入中断服务程序,读入转换数据,并进行必要的数据处理,然后返回到原程序。这种方法单片机无需进行转换时间管理,CPU效率高,所以特别适合于变换时间较长的ADC。本设计采用查询方式进行数据收集。由于ADC0809片内无时钟,故运用8051提供的地址锁存使能信号ALE经D触发器二分频后获得时钟。因为ALE信号的频率是单片机时钟频率的1/6,如果时钟频率为6MHz,则ALE信号的频率为1MHz,经二分频后为500kHz,与AD0809时钟频率的典型值吻合。由于AD0809具有三态输出锁存器,故其数据输出引角可直接与单片机的总线相连。地址码引脚ADDAC分别与地址总线的低3位A0、A1、A2相连,以选通IN0IN7中的一个通道。采用单片机的P2.7(地址总线最高位A15)作为A/D的片选信号。并将A/D的ALE和START脚连在一起,以实现在锁存通道地址的同时启动ADC0809转换。启动信号由单片机的写信号和P2.7经或非门而产生。在读取转换结果时,用单片机的读信号和P2.7经或非门加工得到的正脉冲作为OE信号去打开三态输出锁存器。编写的软件按下列顺序动作:令P2.7=A15=0,并用A0、A1、A2的组合指定模拟通道的地址;执行一条输出指令,启动A/D转换;然后根据所选用的是查询、中断、等待延时三种方式之一的条件去执行一条输入指令,读取A/D转换结果。ADC0809是一个8路8位逐次逼近的A/D转换器。AD0809的转换时间为100s。在CPU启动A/D命令后,便执行一个固定的延时程序,延时时间应略大于A/D的转换时间;延时程序一结束,便执行数据读入指令,读取转换结果。我们只用了其一路AD转换,参考电压2.56V,即一位数字量对应10mV即1。所以用起来很方便。ADC0809是带有8路模拟开关的8位A/D转换芯片,所以它可有8个模拟量的输入端,由芯片的A,B,C三个引脚来选择模拟通道中的一个。A,B,C三端分别与AT89C51的P0.0P0.2相接。地址锁存信号(ALE)和启动转换信号(START),由P2.6和/WR或非得到。输出允许,由P2.6和/RD或非得到。时钟信号,可有89C51的ALE输出得到,不过当采用12M晶振时,应该先进行二分频,以满足ADC0809的时钟信号必须小于640K的要求。4.3控制器89C51AT89C51是美国ATMEL公司生产的低电压 ,高性能CMOS 8位单片机,片内含4k bytes的可反复擦写的Flash只读程序存储器和128 bytes的随机存取数据存储器(RAM ),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大AT89C51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。AT89C51单片机的主要特性:(1)与MCS-51 兼容,4K字节可编程闪烁存储器;(2)灵活的在线系统编程,掉电标识和快速编程特性;(3)寿命为1000次写/擦周期,数据保留时间可10年以上;(4)全静态工作模式:0Hz-33Hz;(5)三级程序存储器锁定;(6)128*8位内部RAM,32可编程I/O线;(7)两个16位定时器/计数器,6个中断源;(8)全双工串行UART通道,低功耗的闲置和掉电模式; (9)片内振荡器和时钟电路;图4-5 AT89C51结构图4.4数码管显示电路4.4.1 LED数码管的组成 LED数码管显示器是由发光二极管显示字段的显示器件,也称为数码管。其结构如图4-6所示。它由8个发光二极管构成,通过不同的组合可用来显示0-9、A-F及小数点“.”等字符。数码管有共阴极和共阳极两种结构规格,电阻为外接。共阴极数码管的发光二极管阴极共地,当某发光二极管的阳极为高电平时,二极管点亮;共阳极数码管的发光二极管是阳极,并接高电平,对于需点亮的发光二极管将其阴极接低电平即可。图4-6 LED数码管显示图4.4.2数码管显示方式(1) 静态显示方式 直接利用并行口输出。LED显示工作于静态显示方式时,各位的共阴极连接在一起接地;每位的段选线分别于一个8位的锁存输出相连。一般称之为静态显示,是由于显示器中的各位相互独立。而且各位的显示字符一经确定,相应锁存器的输出将维持不变,直到显示另一个字符为止。本实验采用串入并出的静态显示方式。利用通信号串行输出。在实际应用中,多位LED显示时,为了简化电路,在系统不需要通信功能时,经常采用串行通信口工作方式0,外接移位寄存器74LS164来实现静态显示。(2) 动态显示方式对多位LED显示器的动态显示,通常都时采用动态扫描的方法进行显示,即逐个循环点亮各位显示器。这样虽然在任一时刻只有一位显示器被点亮,但是由于间隔时间较短,且人眼具有视觉残留效应,看起来与全部显示器持续点亮一样。为了实现LED显示器的动态扫描,除了要给显示器提供的输入之外,还要对显示器加位选择控制,这就是通常所说的段控和位控。因此多位LED显示器接口电路需要有两个输出口,其中一个用于输出8位控信号;另一个用于输出段控信号,其连接图如图4-7所示。 图4-7 数码管显示电路5.PID控制算法在工程实际中,应用最为广泛的调节器控制规律为比例、积分、微分控制,简称PID控制,又称PID调节。PID控制器问世至今已有近70年历史,它 以其结构简单、稳定性好、工作可靠、调整方便而成为工业控制的主要技术之一。当被控对象的结构和参数不能完全掌握,或得不到精确的数学模型时,控制理论的 其它技术难以采用时,系统控制器的结构和参数必须依靠经验和现场调试来确定,这时应用PID控制技术最为方便。即当我们不完全了解一个系统和被控对象,或 不能通过有效的测量手段来获得系统参数时,最适合用PID控制技术。PID控制,实际中也有PI和PD控制。PID控制器就是根据系统的误差,利用比例、 积分、微分计算出控制量进行控制的。 PID控制器广泛的应用于各种工业控制。 其主要的优点在于:原理简单,使用方便;适应性强;鲁棒性好;对模型依赖少。它是将给定值与实际输入值进行偏差计算得到e(t),然后进行比例、积分、微分计算,通过线性组合构成控制器,实现对被控对象的控制。对于增量型的PID控制规律为:Uk=kp*ek+ki*ek+kd*(ek-ek-1) Uk为PID控制的输出信号6. 各子程序设计及流程图6.1 A/D转换程序流程图开始选择通道,允许A/D转换读寄存器转换是否结束NY读取转换值数据处理 图6-1 A/D转换程序流程图6.2 显示程序流程图开始取出要显示的数求下一位选码送位段码到输出延时修改显示缓冲区4位数据显示完 返回 图6-2 显示程序流程图 6.3 PID控制器流程图 图6-3 PID控制器流程图6.4温度控制总程序流程图调降温处理子程序超过设定值低于设定值调用升温处理子程序测量值设定值相比较调用执行PID程序计算温度的偏差值读键盘处理子程序输入设定值A/D转换后显示当前温度读测量温度子程序系统各模块初始化开始NY 图6-4 温度控制总程序流程图 总结在工业生产和日常生活中,对温度控制系统的要求,主要是保证温度在一定温度范围内变化,稳定性好,不振荡,对系统的快速性要求不高。在论文中简单分析了单片机温度控制系统设计过程及实现方法。本系统的测温范围为-1040,温度检测系统根据用户设定的温度范围完成一定范围的温度控制。AT89C5包括14k字节Flash闪速存储器,128字节内部RAM,32个IO口线,两个16位定时计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路,都为我们实现电路功能提供了非常有利的条件。同时也因为开发环境友好,易用,方便,大大加快本系统设计开发。参考文献1. 于海生等编著微型计算机控制技术M北京:机械工业出版社,2007.2.邴志刚等编著.计算机控制:基础技术工具实例M.北京:清华大学出版社, 2005.3. 邹伯敏主编.自动控制原理(第二版) M. 北京:机械工业出版社,2002.4. 吕震中,刘吉臻,王志明编.计算机控制技术与系统(第二版)M,北京:中国电力出版社,2005.5.张宇河主编.计算机控制系统M.北京:北京理工大学出版社, 2002.6.冯勇编,现代计算机控制系统M.哈尔滨:哈尔滨工业大学出版社,2003 7.曹巧媛主编. 单片机原理及应用(第二版). 北京:电子工业出版社,20028.周润景,张丽娜基于PROTEUS 的电路及单片机系统设计与仿真M北京:航空航天大学出版社 ,2006.P321P3269.王忠飞,胥芳MCS-51 单片机原理及嵌入式系统应用M西安:西安电子科技大学出版社,2007P268-273 附录1:温度控制系统总电路图附录2:温度控制系统程序清单(1)主函数如下:#include #include #includeKEYSCAN.H#includePID.Hvoid PIDBEGIN(void); / PID参数初始化/ void main() unsigned char key1=0,i,k; unsigned int tmp; unsigned char shu3=13,13,0; unsigned char counter=0; PIDBEGIN(); while(1) if(counter- = 0)tmp = ReadTemperature(); counter = 20; view(tmp); /温度显示;compare_temper(); (2) PID算法温度控制程序#ifndef _PID_H_#define _PID_H_#include #include #include struct PID unsigned int SetPoint; / 设定目标 Desired Value unsigned int Proportion; / 比例常数 Proportional Const unsigned int Integral; / 积分常数 Integral Const unsigned int Derivative; / 微分常数 Derivative Const unsigned int LastError; / Error-1 unsigned int PrevError; / Error-2 unsigned int SumError; / Sums of Errors struct PID spid; / PID Control Structure unsigned int rout; / PID Response (Output) unsigned int rin; / PID Feedback (Input) sbit output=P34; unsigned char high_time,low_time,count=0;/占空比调节参数 unsigned char set_temper=33; void PIDInit (struct PID *pp) memset ( pp,0,sizeof(struct PID); unsigned int PIDCalc( struct PID *pp, unsigned int NextPoint ) unsigned int dError,Error; Error = pp-SetPoint - NextPoint; / 偏差 pp-SumError += Error; / 积分 dError = pp-LastError - pp-PrevError; / 当前微分 pp-PrevError = pp-LastError; pp-LastError = Error; return (pp-Proportion * Error/比例 + pp-Integral * pp-SumError /积分项 + pp-Derivative * dError); / 微分项 温度比较处理子程序 compare_temper() unsigned char i; /EA=0;if(set_tempertemper) if(set_temper-temper1) high_time=100; low_time=0; else for(i=0;i10;i+) get_temper(); rin = s; / Read Input rout = PIDCalc ( &spid,rin ); / Perform PID Interation if (high_time=100) high_time=(unsigned char)(rout/800); else high_time=100; low_time= (100-high_time); else if(set_temper0) high_time=0; low_time=100; else for(i=0;i10;i+) get_temper(); rin = s; / Read Input rout = PIDCalc ( &spid,rin ); / Perform PID Interation if (high_time100) high_time=(unsigned char)(rout/10000); else high_time=0; low_time= (100-high_time);/EA=1; / T0中断服务子程序,用于控制电平的翻转 ,40us*100=4ms周期 void serve_T0() interrupt 1 using 1 if(+count=(high_time) output=1; else if(count=100) output=0; else count=0; TH0=0x2f; TL0=0xe0; void PIDBEGIN() TMOD=0x01; TH0=0x2f; TL0=0x40; EA=1; ET0=1; TR0=1; high_time=50; low_time=50; PIDInit ( &spid ); / Initialize Structure spid.Proportion = 10; / Set PID Coefficients spid.Integral = 8; spid.Derivative =6; spid.SetPoint = 100; / Set PID Setpoint #endif(3)ADC0809转换子程序#define uchar unsigned char#define uint unsigned int#define IN0 XBYTE0x7ff8 /*设置ADC0809的通道0地址*/sbit ad_busy=P33; /*即EOC状态*/uint overflow_count = 0; /*T1中断次数初值*/ void ad0809(uchar xdata * x) /*采样函数,结果x放外部数据存储器*/ uchar i; uchar idata * ad_adr; ad_adr=&IN0; for(i=0;i8;i+) /*处理8通道*/ *ad_adr=0; /*启动转换*/ i=i; /*延时等待EOC变低*/ i=i; while(ad_busy=0); /*查询等待转换结束*/ xi=*ad_adr; /*存转换结果*/ *(*(p+j)+i)=xi; ad_adr+; /*
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 转让双针设备合同范本
- 软件咨询服务合同范本
- 返聘人员兼职合同范本
- 逛逛商品推广合同范本
- 郑州商品房认购协议书
- 酒吧股份委托合同范本
- 2025及以后5年中国砂轮机市场供需预测及战略咨询报告(定制版)
- 酒店管理聘请合同范本
- 酒店请阿姨的合同范本
- 酒店食宿协议合同模板
- 超全自考英语二词汇表-含音标4500-个单词
- 按部位根据症状分科室
- 中班《猴王吃西瓜》课件
- 工业自动化设备维护保养指南
- 课件:《中华民族共同体概论》第一讲 中华民族共同体基础理论
- 先进制造技术 课件 第一章 先进制造技术概论
- DL-T5001-2014火力发电厂工程测量技术规程
- 中华人民共和国:各省份对应的地级市与县级市一览表
- 堤顶道路施工方案设计
- 幼儿园社会教育专题-考核测试题四(第七、八章)-国开(ZJ)-参考资料
- 《立井井筒地面预注浆工程注浆孔施工技术规范》
评论
0/150
提交评论