




已阅读5页,还剩57页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
哈尔滨工业大学华德应用技术学院毕业设计(论文) 摘 要本文主要从硬件和软件两方面介绍了mcs-51单片机温度控制系统的设计思路,简单说明如何实现对温度的控制,并对硬件原理图和程序框图作了简洁的描述。还介绍了在单片机温度控制系统的软硬件设计中的一些主要技术关键环节,该系统主要以51系列单片机为核心,由温度检测电路,模/数转换电路, 电桥转换电路, 报警与指示电路, 功率放大电路等构成。但用51系列单片机设计的温度检测电路是本次设计的主要内容,是整个单片机温度控制系统设计中不可缺少的一部分,该系统对温度进行了实时采集与检测。本设计介绍的单片机温度自动控制系统的主要内容包括:系统方案、元器件选择、系统理论分析、硬件设计、软件设计、系统调试及主要技术性能参数。关键词:单片机;温度传感器;温度检测;温度控制;pid算法abstractthe design of single-chips temperature control system is introduced from hardware and software, and simply explains how to actualize the temperature control. the hardware principle and software case fig are described. some important techniques in a design scheme of the hardware and the software of the temperature control by single-chip microcomputer are introduced. the system mostly takes 8031 single-chip microcomputer as core, it is structured by temperature testing circuit, a/d switch circuit, zero passage testing circuit, warning and indication circuit, optical-electrical isolation and power amplifier circuit and so on.the main content of this design is temperature testing circuit that uses at89c51 single-chip microcomputer .it is a part of the whole design that cannot be lacked. the system is used to collect and control temperature in real time. the temperature automatic control system based on single-chip microcomputer is described in the article including system scheme,parts of an apparatus choice, theoretical analysis,the design of hardware and software, system testing,and the main technical performance parameters key words:singlechip microcomputer;temperature sensor;temperature collecting;temperature controlling;pid algorithm.目 录摘 要iabstractii第1章 绪论111 课题的背景与意义113 课题举例简介2第2章 总体方案321 系统结构322 具体设计考虑3本章小结4第3章 元器件简介531 at89c51单片机5311 概述5312 主要特性5313 引脚功能532 pt100温度传感器7321 概述7322 主要特性7323 pt100工作原理933 adc0804模数转换器10331 主要特性10332 adc0804工作原理10本章小结12第4章 硬件设计1241 外围电路设计1242 电机驱动电路设计1243 按键电路设计1244 电桥电路设计13441 桥路形式13442 工作方式13443 根据pt100的经典电路1445 lcd显示电路设计14451 引脚功能1546 设计目标15461 设计的出发点16462 设计原理1647 a/d转换电路16本章小结16第5章 软件设计1751 pid控制算法18511 pid控制作用18512 pid算法的微机实现18513 pid算法的程序设计2052 lm016l显示程序设计2153 直流电机pwm控制程序2654 adc0804 a/d转换程序27本章小结28第6章 系统调试2961 硬件调试方法29611 常见的硬件故障29612 联机调试30613 脱机调试3162 软件调试方法3163 误差分析32本章小结32结论33参考文献34致谢36附录1 译文37附录2 英文参考资料46附录362iii第1章 绪论11 课题的背景与意义在近四十年的时间里,电子计算机的发展经历了从电子管、晶体管、中小规模集成电路到大规模集成电路这样四个阶段,尤其是随着半导体集成技术的飞跃发展,七十年代初诞生了一代新型的电子计算机微型计算机,使得计算机应用日益广泛;而单片微型计算机的问世,则更进一步推动了这一发展趋势,使计算机应用渗透到各行各业,达到了前所未有的普及程度。一个由微电子技术为先导,计算机技术为标志,包括新材料、宇航、生物工程、海洋工程等多种学科在内的新技术革命正在兴起。在国内,由于单片机具有功能强、体积小、可靠性好、和价格低廉等独特优点,因此,在智能仪器仪表、工业自动控制、计算机智能终端、家用电器、儿童玩具等许多方面,都已得到了很好的应用,因而受到人们高度重视,取得了一系列科研成果,成为传统工业技术改造和新产品更新换代的理想机种,具有广阔的发展前景。12 课题的应用与展望随着电子技术以及应用需求的发展,单片机技术得到了迅速的发展,在高集成度,高速度,低功耗以及高性能方面取得了很大的进展。伴随着科学技术的发展,电子技术有了更高的飞跃,我们现在完全可以运用单片机和电子温度传感器对某处进行温度检测,而且我们可以很容易地做到多点的温度检测,如果对此原理图稍加改进,我们还可以进行不同地点的实时温度检测和控制。温度是工业控制中主要的被控参数之一,特别是在冶金、化工、建材、食品、机械等工业中,具有举足重轻的作用,因此,温度控制系统是典型的控制系统。对于不同场所、不同工艺、所需温度高低 范围不同、精度不同,则采用的测温元件、测温方法以及对温度的控制方法也将不同;产品工艺不同、控制温度的精度不同、时效不同,则对数据采集的精度和采用的控制算法也不同,因而,对温度的测控方法多种多样。随着电子技术和微型计算机的迅速发展,微机测量和控制技术也得到了迅速的发展和广泛的应用。利用微机对温度进行测控的技术,也便随之而生,并得到日益发展和完善,越来越显示出其优越性。目前, 单片微机已普遍地作用于生产过程的自动控制领域中。单片机以其体积小、价格低廉、可用其构成计算机控制系统中的智能控制单元和可靠性高等特点, 受到广大工程技术人员的重视。温度是生产过程中最常见的物理量, 许多生产过程是以温度作为其被控参数的。因此,温度控制系统是典型的控制系统。13 课题举例简介在现代化的工业生产中,电流、电压、温度、压力、流量、流速和开关量都是常用的主要被控参数。例如:在冶金工业、化工生产、电力工程、造纸行业、机械制造和食品加工等诸多领域中,人们都需要对各类加热炉、热处理炉、反应炉和锅炉中的温度进行检测和控制。采用mcs-51单片机来对温度进行控制,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大提高产品的质量和数量。因此,单片机对温度的控制问题是一个工业生产中经常会遇到的问题。下面介绍一种功能简化后的温度控制系统的设计过程。假设某烘干道采用过热蒸汽为热源,蒸汽管道经热交换器加热空气并通过风机向烘箱送热风实现对胶布(带)的循环加热,烘箱的温度变化范围为0120。根据工艺要求,系统需实现如下功能和指标:温度给定值在85左右且现场可调;温度控制误差2;实时显示温度值,保留1位小数;温度超过给定值10时声光报警;控制参数可在线修改。第2章 总体方案根据功能和指标要求,本系统可以从元件级开始设计,选用mcs-51系列单片机为主控机。通过扩展必要的外围接口电路,实现对温度的测量和控制。21 系统结构该系统以89c51单片机为核心,由温度测量变换、测量放大、大功率运放、a/d转换器、驱动电路、键盘显示共同组成。在系统中,温度的设置、温度值显示、控制参数得设置、运行等功能由键盘及显示电路完成。图2-1 单片机温度控制系统方案原理示意图传感器把测量的温度信号转换成弱电压信号,经过信号放大电路,送入低通滤波电路,以消除噪音和干扰,滤波后的信号输入到a/d转换器(adc0804)转换成数字信号输入主机(单片机8059)。22 具体设计考虑1、由于温度测量范围为0200,控制精度也不高,可选用8路8位adc0804作a/d转换器,分辨率可达0.5;为了方便操作,系统可不扩展专用键盘,温度给定输入可用两个按键控制温度的加减;温度显示常用的lm016l;为了实现通过调节电机风速控制降温,用热源控制温度的上升,中间使用pid控制调节速度。2、温度测量可以选用铂热电阻pt100,它的阻值会随着温度的变化而改变。pt后的100即表示它在0时阻值为100欧姆,在100时它的阻值约为138.5欧姆。图2-2 pt100温度阻值曲线由图所示pt100温度阻值是呈线性的,故编程较为方便。3、可采用较为简单的p控制,由于实际和理论的差别在可采用带死区的比例积分(pi)控制算法实现对温度的控制。检测温度变化时pt100阻值产生变化,电桥电路中的平衡会被破坏产生偏差信号,通过放大器放大经过a/d转换送到单片机中,控制降温的电机。为了使控制参数现场可调,通过键盘控制实现对pi算法的3个参数(比例系数kp、积分系数ki、控制周期tc)在线整定。这种方法不仅可使参数调整方便,而且具有掉电保护功能。本章小结本章主要介绍了系统软件和硬件的设计思路,就大致设计思路上经行了选型和设计,选用了pt100温度传感器了解经典的转换电路和pid控制,简单的控制只需要p调节就可以满足需要。第3章 元器件简介31 at89c51单片机311 概述at89c51是一个低电压,高性能cmos 8位单片机,40个引脚,32个外部双向输入/输出(i/o)端口,同时内含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口。片内含4k bytes的可反复擦写的flash只读程序存储器和128 bytes的随机存取数据存储器(ram),可以按照常规方法进行编程,也可以在线编程。器件采用atmel公司的高密度、非易失性存储技术生产,兼容标准mcs-51指令系统,片内置通用8位中央处理器和flash存储单元,内置功能强大的微型计算机的at89c51提供了高性价比的解决方案。312 主要特性at89c51的主要特性如下: 寿命达1000写/擦循环数据保留时间:10年 全静态工作:0hz24mhz 三级程序存储器锁定1288位内部ram 32可编程i/o线 2个16位定时器/计数器6个中断源可编程串行通道低功耗闲置和掉电模式片内振荡器和时钟电路313 引脚功能at89c51引脚排列如图3-1所示,引脚功能如下: 图3-1 at89c51的引脚排列vcc(40):5vgnd(20):接地p0口(3932):p0口为8位漏极开路双向i/o口,每个引脚可吸收8个ttl门电流。 p1口(18):p1口是从内部提供上拉电阻器的8位双向i/o口,p1口缓冲器能接收和输出4个ttl门电流。 p2口(2128):p2口为内部上拉电阻器的8位双向i/o口,p2口缓冲器可接收和输出4个ttl门电流。 p3口(1017):p3口是8个带有内部上拉电阻器的双向i/o口,可接收和输出4个ttl门电流,p3口也可作为at89c51的特殊功能口。 rst(9):复位输入。当振荡器复位时,要保持rst引脚2个机器周期的高电平时间。 ale/prog(30):当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节,在flash编程期间,此引脚用于输入编程脉冲。在平时,ale端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6,它可用作对外部输出的脉冲或用于定时目的,要注意的是,每当访问外部数据存储器时,将跳过1个ale脉冲。 psen(29):外部程序存储器的选通信号。在由外部程序存储器取值期间,每个机器周期2次psen有效,但在访问外部数据存储器时,这2次有效的psen信号将不出现。 ea/vpp(31):当ea保持低电平时,外部程序存储器地址为(0000hffffh)不管是否有内部程序存储器。flash编程期间,此引脚也用于施加12v编程电源(vpp)。 xtal1(19):反向振荡器放大器的输入及内部时钟工作电路的输入。xtal2(18):来自反向振荡器的输出。 32 pt100温度传感器321 概述热电阻是中低温区最常用的一种温度检测器。它的主要特点是测量精度高,性能稳定。其中铂热是阻的测量精确度是最高的,它不仅广泛应用于工业测温,而且被制成标准的基准仪。与热电偶的测温原理不同的是,热电阻是基于电阻的热效应进行温度测量的,即电阻体的阻值随温度的变化而变化的特性。因此,只要测量出感温热电阻的阻值变化,就可以测量出温度。目前主要有金属热电阻和半导体热敏电阻两类。322 主要特性热电阻测温是基于金属导体的电阻值随温度的增加而增加这一特性来进行温度测量的。热电阻大都由纯金属材料制成,目前应用最多的是铂和铜,此外,现在已开始采用镍、锰和铑等材料制造热电阻。热电阻种类(1)精密型热电阻:工业常用热电阻感温元件(电阻体)的结构及特点。从热电阻的测温原理可知,被测温度的变化是直接通过热电阻阻值的变化来测量的,因此,热电阻体的引出线等各种导线电阻的变化会给温度测量带来影响。为消除引线电阻的影响同般采用三线制或四线制。(2)铠装热电阻:铠装热电阻是由感温元件(电阻体)、引线、绝缘材料、不锈钢套管组合而成的坚实体,它的外径一般为28mm,最小可达mm。与普通型热电阻相比,它有下列优点:体积小,内部无空气隙,热惯性上,测量滞后小;机械性能好、耐振,抗冲击;能弯曲,便于安装;使用寿命长。(3)端面热电阻:端面热电阻感温元件由特殊处理的电阻丝材绕制,紧贴在温度计端面。它与一般轴向热电阻相比,能更正确和快速地反映被测端面的实际温度,适用于测量轴瓦和其他机件的端面温度。(4)隔爆型热电阻:隔爆型热电阻通过特殊结构的接线盒,把其外壳内部爆炸性混合气体因受到火花或电弧等影响而发生的爆炸局限在接线盒内,生产现场不会引超爆炸。隔爆型热电阻可用于blab3c级区内具有爆炸危险场所的温度测量。工业上常用金属热电阻从电阻随温度的变化来看,大部分金属导体都有这个性质,但并不是都能用作测温热电阻,作为热电阻的金属材料一般要求:尽可能大而且稳定的温度系数、电阻率要大(在同样灵敏度下减小传感器的尺寸)、在使用的温度范围内具有稳定的化学物理性能、材料的复制性好、电阻值随温度变化要有间值函数关系(最好呈线性关系)。目前应用最广泛的热电阻材料是铂和铜:铂电阻精度高,适用于中性和氧化性介质,稳定性好,具有一定的非线性,温度越高电阻变化率越小;铜电阻在测温范围内电阻值和温度呈线性关系,温度线数大,适用于无腐蚀介质,超过150易被氧化。中国最常用的有r0=10、r0=100和r0=1000等几种,它们的分度号分别为pt10、pt100、pt1000;铜电阻有r0=50和r0=100两种,它们的分度号为cu50和cu100。其中pt100和cu50的应用最为广泛。323 pt100工作原理pt100是铂热电阻,它的阻值会随着温度的变化而改变。pt后的100即表示它在0时阻值为100欧姆,在100时它的阻值约为138.5欧姆。热电阻公式都是rt=ro(1+a*t+b*t*t);rt=ro1+a*t+b*t*t+c(t-100)*t*t*t 的形式,t表示摄氏温度,ro是零摄氏度时的电阻值,a、b、c都是规定的系数,对于pt100,ro就等于100,pt100温度传感器的主要技术参数如下:测量范围:-200+850;允许偏差值:a级(0.150.002t), b级(0.300.005t);热响应时间setpoint - nextpoint; / 偏差 pp-sumerror += error; / 积分 derror = pp-lasterror - pp-reverror; / 当前微分 pp-reverror = pp-lasterror; pp-lasterror = error; return (pp-roportion * error/比例+ pp-integral * pp-sumerror /积分项+ pp-derivative * derror); / 微分项 52 lm016l显示程序设计void lcd_write_count(uchar count) rs=0; rw=0; p0=count; dely_ms(1); e=1; dely_ms(1); e=0; void lcd_write_data(uchar dat) rs=1; rw=0; p0=dat; dely_ms(1); e=1; dely_ms(1); e=0; void lcd_init() e=0; lcd_write_count(0x38);/设置16*2显示,8位数据接口 lcd_write_count(0x0c);/显示及光标的设置 lcd_write_count(0x06); lcd_write_count(0x01);/清屏 void lcd_disp_init0() uchar i; lcd_write_count(0x80); for(i=0;i16;i+) lcd_write_data(table2i); lcd_write_count(0xc0); for(i=0;i16;i+) lcd_write_data(table3i); void lcd_disp_init1() uchar i; uchar a,b; uchar flag; char ppp; ppp=tem; if(ppp=0) flag=0;ppp=ppp; a=ppp/10; b=ppp%10; lcd_write_count(0x80); for(i=0;i9;i+) lcd_write_data(table0i); if(flag=1) lcd_write_count(0x89); lcd_write_data(-); if(flag=0) lcd_write_count(0x89); lcd_write_data( ); lcd_write_count(0x8a); lcd_write_data(shua); lcd_write_count(0x8b); lcd_write_data(shub); lcd_write_count(0x8c); lcd_write_data(table012); lcd_write_count(0x8d); lcd_write_data(table013); lcd_write_count(0x8e); lcd_write_data(str0); lcd_write_count(0x8f); lcd_write_data(str1); lcd_write_count(0xc0); for(i=0;i14;i+) lcd_write_data(table1i); lcd_write_count(0xce); lcd_write_data(str0); lcd_write_count(0xcf); lcd_write_data(str1); void lcd_disp_init2() uchar i; uchar bai1,shi1,ge1,bai2,shi2,ge2,bai3,shi3,ge3; bai1=pzhi/100; shi1=pzhi%100/10; ge1=pzhi%10; bai2=izhi/100; shi2=izhi%100/10; ge2=izhi%10; bai3=dzhi/100; shi3=dzhi%100/10; ge3=dzhi%10; lcd_write_count(0x80); for(i=0;i12;i+) lcd_write_data(table4i); lcd_write_count(0x8c); lcd_write_data(shubai1); lcd_write_count(0x8d); lcd_write_data(shushi1); lcd_write_count(0x8e); lcd_write_data(table414); lcd_write_count(0x8f); lcd_write_data(shuge1); lcd_write_count(0xc0); for(i=0;i3;i+) lcd_write_data(table5i); lcd_write_count(0xc3); lcd_write_data(shubai2); lcd_write_count(0xc4); lcd_write_data(table54); lcd_write_count(0xc5); lcd_write_data(shushi2); lcd_write_count(0xc6); lcd_write_data(shuge2); lcd_write_count(0xc7); for(i=7;i=0)&(num=aa)&(num=0)&(num=bb)&(num101) cold_moto=0; 54 adc0804 a/d转换程序通过使用protues对pt100热电阻和其经典电路的仿真,仿真范围是0200得到的是一条线性的函数:((ad_cai/255.0)*5-0.44)/0.0324)*10图5-3 ad转换流程图所以编的程序:void ad_start() cs_ad=0; wr_ad=1; _nop_(); _nop_(); wr_ad=0; _nop_(); _nop_(); wr_ad=1; while(intr); cs_ad=1;uchar ad_read() uint ad_data; cs_ad=0; rd_ad=0; _nop_(); _nop_(); ad_data=p1; rd_ad=1; cs_ad=1; return(ad_data);void ad_deal() ad_cai=ad_read(); tem_cai=(int)(ad_cai/255.0)*5-0.44)/0.0324)*10); tem_cai1=tem_cai/10;本章小结本章在分析了系统软件组成的基础之上,采用传统的前、后台方式编制系统软件,分别介绍了系统中的主程序模块、数据采集模块、数据处理模块。并在此基础上讨论了系统的软件抗干扰措施。第6章 系统调试系统调试通常包括实验室硬件联调、实验室软件联调、实验室系统仿真、仿真考机运行和现场安装调试等几个环节。在系统总装以后,首先要进行实验室条件下的系统硬件联调;联调成功以后,有了硬件操作保证,就很容易发现软件的错误,在软件调试过程中,有时也会发现硬件故障,软件故障完毕,硬件中的隐藏问题也能被发现和纠正;在进入现场以前,还必须在实验室条件下把存在的问题充分暴露,并加以解决,通常是用模型代替实际系统进行完全仿真调试,通过后进行连续不停机的48h考机运行,正确无误后再进入现场安装,运行成功并经过一定时间的使用,最终验收合格才算完成整个系统的设计工作。下面通过硬件和软件两方面介绍相应的调试方法。61 硬件调试方法611 常见的硬件故障1、逻辑错误 它是由设计错误或加工过程中的工艺性错误所造成的。这类错误包括错线、开路、短路、相位错等。2、元器件失效 有两方面的原因:一是器件本身已损坏或性能不符合要求;二是组装错误造成元件失效,如电解电容、二极管的极性错误、集成电路安装方向错误等。3、可靠性差 引起可靠性差的原因很多,如金属化孔、接插件接触不良会造成系统时好时坏,经不起振动;内部和外部干扰、电源纹波系数大、器件负荷过大等造成逻辑电平不稳定;走线和布局不合理也会引起系统可靠性差。4、电源故障 若样机有电源故障,则加电后很容易造成器件损坏。电源故障包括电压值不符合设计要求,电源引线和插座不对,功率不足,负载能力差等。612 联机调试 通过脱机调试可排除一些明显的硬件故障,但有些故障还必须通过联机调试才能发现和排除。联机前先断电,将单片机开发系统的仿真头插到样机的8031插件上,检查开发机和样机之间的电源、接地是否良好。一切正常后,即可打开电源。通电后执行开发机的读写指令,对样机的存储器、i/o端口进行读写操作、逻辑检查,若有故障,可用示波器观察有关波形(如选中的译码器输出波形、读写控制信号、地址数据波形以及有关的控制电平)。通过对波形的观察分析,寻找故障原因并进一步排除故障。可能的故障有:路线连接上有逻辑错误、有断路或短路现象、集成电路失效等。在样机主机部分调试好后,可以插上系统的其他外围部件,例如键盘、显示器、输出驱动板、a/d及d/a板等,再对这部分进行初步调试。在调试过程中若发现用户系统工作不稳定,可能有下列情况:电源系统供电不足,或联机时公共地线接触不良,或用户系统主板负载过大,或用户的各级电源滤波不完善等。对这些问题一定要查出原因并加以排除。(1)采集电路调试为使温度采集电路输出的电压与温度的关系符合理论设计数值,可用一点测试法。在室温27时,调节电位器rw1,使ad590对地电阻为1k,运放正端输入电压v+=300mv时,v0=2.7v即可。也可采用两点测试法,当温度在050之间变化时,运放正端输入电压v+约为273323mv,调试时用可调电压信号模拟温度信号输入到运放正端,调节电位器rw2使v+=273mv时,v0=0v。调节rt2使v+=323mv时,vo=
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 北汽知识培训集团课件
- 校园食堂食品安全知识培训课件
- 校园消防知识培训课件新闻稿
- 校园消防安全知识培训
- 物业人民调解员考试试题及答案
- 国画荷花面试题及答案
- 电气制图考试题及答案
- java算法排序面试题及答案
- 法院审判面试题及答案
- 石油普工考试试题及答案
- 膝关节炎的康复治疗讲课件
- 2025食品安全考试题库及答案
- 福建省厦门中烟益升华滤嘴棒有限责任公司招聘笔试题库2025
- 2025年小学体育教师资格考试题及答案
- 浙江隆宸现代农业科技有限公司年产4500吨双孢蘑菇技改项目环评报告
- 《城镇房屋租赁合同(示范文本)》(GF-2025-2614)
- 2025上半年广西现代物流集团社会招聘校园招聘149人笔试参考题库附带答案详解
- T-CEPPEA 5002-2019 电力建设项目工程总承包管理规范
- DB63T 1987-2021干拌水泥碎石桩施工技术规范
- 教师遴选笔试试题及答案
- GA 1812.2-2024银行系统反恐怖防范要求第2部分:数据中心
评论
0/150
提交评论