摘要
电阻炉作为工业炉窑中的一种常用的加热设备被广泛的应用于工业生产中。对电阻炉温度控制精确与否将直接影像到产品的质量和生产效率。电阻炉是一种具有纯滞后的大惯性系统,开关炉门,加热材料,环境温度以及电网电压等都影像控制过程,传统的电阻炉控制系统大多建立在一定的模型基础上,难以保证加热要求。本文将PID控制算法引入到传统的电阻炉控制系统中,借此提高其控制效果。设计一个控制精度高,运行稳定的电阻炉温度控制系统是很有必要的。
本设计是以电阻炉温度为被控对象,单片机为核心的一种控制系统。其中以K型热电偶作为温度传感器。AT89c51单片机为控制核心,PID运算规律作为控制算法。文化中详细介绍了该控制系统的硬件电路设计。软件电路设计及PID控制算法。
在对电阻炉温度控制系统的研究之后,本设计主要完成温度控制系统的总体方案设计,硬件原理图的绘制,信号调理电路的设计,固态继电器的应用及温度控制电路的设计同时也完成了系统程序设计,并通过软件完成了对温度的控制功能。
关键词:电阻炉温度控制PID算法单片机
. 可修编-
. -
The Design of Temperature Control System of Resistance Furnace Abstract
Resistance furnace was widely used in industrial production,the effect of the temperature control of Resistance furnace has a direct impact on product quality and productivity. Therefore, the design of high-precision control and stable operation of the resistance furnace temperature control system has a high application value.
In this design, the resistance furnace as a controlled object,singlechip as the design of a control unit. Which type of thermocouple temperature sensor as K,AT89c51 microcontroller as control core and PID control algorithm for operation rule, This paper introduces the control system of the hardware circuit, software design and the PID control algorithm.
On the resistance furnace temperature control system, the design of the main pleted the overall scheme of the temperature control system design, hardware circuit principle diagram, the signal of the temperature contral circuit design of the system ,meanwhile finish the program design, through the software control to plete the function of temperature control.
Key words:The resistance furnace Temperature control PID control Single-chip microp
. 可修编-
. -
目录
第一章绪论1
1.1课题研究的背景意义1 1.2课题国外研究现状及趋势2 1.3本文的主要容3 第二章总体设计及其方案论证4
2.1设计工艺流及其要求4 2.2 不同方案比较4 2.3 研究容5 2.3.1 设计原理5 2.3.2 方框图5 2.3.3 系统组成6 2.3.4 控制算法6
第三章硬件设计7
3.1 系统设计原理7 3.2 单片机的选择9
3.2.1 单片机AT89c51的介绍9
3.2.1.1 AT89C51单片机的功能特性10 3.2.1.2 AT89C51单片机的基本组成10 3.2.1.3 AT89C51单片机引脚及其功能11 3.2.1.4 单片机的复位电路13 3.2.1.5 单片机的时钟电路13
. 可修编-
. -
3.3 前向通道设计14 3.3.1 温度检测电路设计14 3.3.1.1 K型热电偶的介绍14 3.4 后向通道设计20
3.4.1 温度控制电路20
3.4.2 继电器的工作原理和特性21 3.4.3 继电器主要产品技术参数22 3.4.4 继电器测试22
3.4.5 继电器的电符号和触点形式23 3.4.6 继电器的选用23 3.5 外围接口电路设计24 3.5.1 显示电路设计24 3.5.2 键盘电路设计25 3.5.3 报警电路设计27 3.5.4 通信电路设计27 3.6 电源设计28 3.7 抗干扰设计29 3.7.1 抗干扰渠道29 3.7.2 抗干扰措施30
30
4.1设计思路30
. 可修编-
第四章系统软件设计 . -
4.2程序设计37 4.1.1 程序设计37 4.1.2 显示字程序设43 4.1.3 按键字程序47 4.1.4 PID算法子程序54
58 59 59 . 可修编-
总结致参考文献
. -
第一章 绪论
电阻炉是工农业生产中常用的电加热设备,广泛应用于冶金、化工、电力工程、造纸、机械制造、建材和食品加工等诸多生产过程中,而大功率的电阻炉则应用在各种工业生产过程中。在生产过程中要对各类加热炉、热处理、反应炉和锅炉的温度进行检测和控制,所以温度是工业控制的对象中比较重要的参数之一。电阻炉是工业炉的其中之一,是利用电流通过电热体元件将电能转化为热能来加温或熔化工件或者物料的加工设备。然而,大多数电阻炉存在着各种干扰因素,将会给工业生产带来极大的不便。因此,在电阻炉温度控制系统的设计中,应尽量考虑到如何有效地避免各种干扰因素而采用一个较好的控制方案,选择合适的芯片及控制算法是非常有必要的。随着单片机技术的飞速发展,通过单片机对被控对象进行控制日益成为今后自动控制领域的一个重要发展方向。本设计要求采用单片机设计一个电阻炉温度控制系统。
1.1课题研究的背景意义
近几年来,我国以信息化带动的工业化正在蓬勃发展,温度已成为工业对象控制中一种重要的参数,特别是在冶金,化工,机械等各类工业中,广泛使用各种加热炉,热处理炉,反应炉等。由于炉子的种类及原理不同,因所采用的加热方法及燃料也不同,如煤气,天然气,油电等。对于不同生产情况和工艺要求下的温度控制,所采用的加热方式,选用的燃料,控制方案也有所不同。例如冶金,机械,食品,化工等各类工业生产中广泛使用的各种加热炉,热处理炉,反应炉等;燃料有煤气,天然气,油,电等;控制方案有直接数字控制(DDC),推断控制,预测控制,模糊控制(Fuzzy),专家控制(Exper Control),鲁棒控制(Robust Control),推理控制等。
随着工业技术的不断发展,传统的控制方式已不能满足高精度,高速度的控制要求,如温度控制表温度接触器,其主要缺点是温度波动围大,由于他主要通过控制接触器的通断时间比例来达到改变加热功率的目的,受仪表本身的误差和交流接触器的寿命限制,通断频率很低。近几年来快速发展了多种先进的温度控制方式,如:PID控制,模糊控制,神经网络及遗传算法控制等。这些控制技术大大的提高了控制精度,不但使控制变得简单,而且使产品的质量更好,降低了产品的成本,提高了生产效率。
. 可修编-
. -
单片微型计算机的功能不断的增强,为先进的控制算法提供的载体,许多高性能的新型机种应运而生。单片机以其功能强,体积小,可靠性高,造价低和开发周期短等优点,成为自动化领域和其他测控领域中广泛应用的器件,在工业生产中成为必不可少的器件。在温度控制系统中,单片机更是起到了不可代替的核心作用。像用于热处理的加热炉,用于融化金属的坩埚电阻炉等类似工业用加热炉中都可以广泛应用,随着生产的发展,在工业中,一些设备对温度的控制要求越来越高,而本文则以单片机为核心,PID算法为控制方式而设计的电阻炉温度控制系统。
1.2课题国外研究现状及趋势
当前,随着电气信息技术在加热炉系统中的应用,发达国家如美国,德国,日本,澳大利亚等成功开发了一些列用途广泛,功能极强的温度控制器,随着电力资源的日趋紧及信息技术的发展,开发具有自主知识产权的炉温控制系统不仅具有广阔的市场前景,而且具有巨大的社会效益。国外在炉温自动控制技术和设备的研究上发展迅速,美国微型电子计算机的普及和单片机的应用使自动化系统发生了根本的变化,因而达到了较高的自动化程度。现在已有许多由单片机控制的仪器设备,使电阻丝加热和温度控制完全自动连续的进行。德国是世界上炉温控制技术最先进的国家之一,加热炉系统实现了高度的自动化,都由单片机或PLC控制。
在我国,节约电力资源的潜力非常大。据有关国际组织发表的资料显示:中国的单位国民经济总产值所消耗的电是美国的4倍左右。由于我国人口基数大,所以人均占有资源相对很少。在我国一方面电力供应紧,而另一方面,电的浪费十分严重。特别是用于传统工业电热炉加热方面对电力资源的利用极为不合理。在对目前几种传统电加热方式做比较后我们发现,它们各有优缺点:
1,电磁继电器控制,即操作人员用过电磁继电器来控制加热炉电源开关的闭合来控制加热炉的加热过程它要求操作人员对加热炉和工作状态实行实时检测。这种方式开关速度慢,温度变化惯性大,控制效果不理想。不仅效率低浪费大量的人力资源和电力资源,而且不能实现对温度的精确控制。这种方式的优点是系统可靠性高。
2,常规智能控制系统,目前应用比较广泛的是在以单片机或PLC为核心的控制系统中采用常规算法(如PID算法)来实现对炉温的智能控制。这种系统自动化程度较高。然而由于加热炉具有大惯性纯滞后等非线性以及时变的特点,炉门的开关及电网等都影响控制过程。而基于精确数学模型的常规控制难以满足加热工艺曲线的要求。
. 可修编-
. -
纵观国际和国炉温自动控制技术的发展状况,国外在炉温自动控制技术方面的研究比较深入,凭借雄厚的科技实力,先进的生产工艺,严格的质量控制和对产品质量的刻意追求和先进的技术,因地制宜的解决方案,丰富的工业知识,其产品遍布世界十多个国家和地区。国外一些温控系统设备结构复杂,控制的量比较多,成本较高,安装,维护过程都很复杂很不适合阿紫我国乡镇企业使用。而我国国制造的加热设备,成本相对低廉,所控制的量比较少,能实现基本量的控制,但是由于绝大多采用的是普通的继电器控制系统,调试,维护困难,灵敏度不够高,不能实现定时的精确控制,而且产品产品先天性不足,使用寿命短,其产品市场占有率很低。本文采用的基于单片机的自动化控制加热系统是将自动控制与电加热系统有机的结合起来,使加热系统在无人干预的情况下通过控制器按规定的程序或指令实现对电加热的自动控制。以单片机为核心的小型自控系统具有造价低廉,可靠性高适用于各种环境下运行等优点,并且在系统硬件组成不变的情况下通过更改软件设置来适应多种运行方式的需要,是传统继电器控制的理想替代品。尤其是在中小规模工业生产中实现无人值守或半无人值守具有广阔的应用前景和使用价值。
总的来说,在智能温度测量与控制电器中,单片机起了智能控制部件作用。它的存在,提高了电气的品质,增加了智能温度测量与控制电器的功能;并在智能温度测量与控制电器中执行模拟人类智能的进程。随着智能控制理论和人工智能研究的深入,各种更加逼真地模拟人类智能的智能温度测量与控制电器会更多的出现,而单片机和智能理论的结合,将来不但更多的改进现行智能温度测量与控制电器,而且将会产生全新的智能温度测量与控制电器。
1.3本文的主要容
本研究容以电阻炉为研究对象,针对电阻炉的温度控制系统进行设计。论文将阐述电阻炉温度控制的几种不同算法及区别,从而得出一种最优算法。
设计并开发以单片机为控制核心,外置数据采集电路、功率控制电路、键盘与显示电路和报警电路等电路的硬件设计。从而实现数据采集、处理、存储、显示,系统的故障自诊断,超限报警等功能。本设计完成后实现一种硬件电路简单、控制算法先进、系统优良的新型温度控制系统。使系统具有较高的控制精度以及较高的灵活性和可靠性。
①设计要求:
可根据独立键盘按键设定目标温度,实现温度的调试,能够通过LCD显示器显示控温时的实际炉温和恒温时间等信息。
②设计容:应用计算机的实时监控和温度测量技术,采用单片机、温度检测电路、温度控制电路等,实现电阻炉炉温的实时监控。采用单片机及相应的组成
. 可修编-
. -
部件完成电阻炉温度控制系统设计,本设计包括硬件电路设计和软件程序设计。硬件电路包括AT89C51单片机介绍,温度检测电路,LCD显示电路,键盘输入电路,时钟电路,辅助电路。软件设计包括键盘按键电路软件设计及LCD显示电路的软件设计。
第二章总体设计及其方案论证
2.1设计工艺流及其要求
本设计是单片机定时对电阻炉温度进行检测,经过放大和A/D转换得到相应的数字量,再送到单片机进行判断和运算,得到相应的控制量来控制执行部件,从而实现对温度的控制,同时又具有键盘输入和显示温度等功能。
主要技术指标:
(1) 电阻炉炉温控制围:400℃~1000℃ (2) 系统的控温精度为±2℃ (3) 越上下限报警处理
2.2不同方案比较
现有三种可行方案对电阻炉进行炉温控制: 方案一:
采用8031单片机,16K电擦写程序存储器、键盘及显示器接口电路以及并行I/O芯片8255等组成。系统把传感器送来的温度信号进行放大、比较、运算等后再输出控制信号,触发执行装置,实现温度的自动控制。同时还实现多种温度传感器的转换、调零、调幅的软调整等功能。8031部包括1个8位CPU、128B RAM,21个特殊功能寄存器(SFR)、4个8位I/O口、1个全双工串行口,2个16位定时器、计数器,但片无程序存储器,需外扩EPROM芯片。 方案二:
采用PLC作为控制电路的核心,其他部分采用和方案二同样的设计。这种方案不仅具有和方案二同样的控制精度,而且整个电路的稳定性比方案二更高,但是PLC的价格远远高于单片机,其不适合大批量的生产,所以考虑价格因素,此种方案不宜选择。 方案三:
. 可修编-
. -
采用AT89C51单片机,它是一个低功耗、高性能的含有4KB闪存储器的8位CMOS单片机,时钟频率高达20MHz,与MCS-51的指令系统和引脚完全兼容。系统是由AT89C51单片机,温度检测放大电路、A/D转换环节、键盘及显示电路、固态继电器控温电路等组成的控制器和被控对象——电阻炉构成的一个闭环控制系统。系统的工作过程:温度检测及变换电路把温度转换成电压信号,经 A/D转换器转换为数字信号送到单片机中,并与给定值(对应着所要控制的温度值)进行比较,其偏差被 PID程序计算出输出控制量,PWM调制出相应的波形从而改变电阻炉单位时间电压导通的百分比——即改变电阻炉的平均输入功率,以此来达到控温目的
综合以上分析,我采用方案三。系统控制核心采用单片机AT89c51、此外还包括温度检测电路、键盘、显示电路、温度控制电路等部分组成。
2.3 研究容
2.3.1设计原理
系统的控制核心由单片机AT89C51来实现;温度信号的采集采用K型热电偶传感器,数据转换部分采用MAX6675,MAX6675是K型热电偶串行模数转换器,它能独立完成信号放大、冷端补偿、线性化、A/D转换及SPI串行口数字化输出功能,大大简化了热电偶测量智能装置的软/硬件设计。转换后的数字量与炉温的给定值数字化后进行比较,即可得到实际炉温和给定炉温的偏差;炉温的设定值由键盘输入。由单片机构成的数字控制器按最小拍进行计算,计算出所需要的控制量。控制器的输出经标度变换后送给由P1.5通过T0送至固态继电器,从而改变电阻炉单位时间电压导通的百分比,从而控制电阻炉加热功率,起到调温的作用。此外,该智能控制器还包括与上位机的通讯接口,数据显示电路等。 2.3.2 方框图
系统整体结构框图如下:
. 可修编-
. -
图2.1 系统整体结构框图
2.3.3系统组成
系统由三部分构成,分别是前向通道,后向通道和外围接口电路。 前向通道就是我们所说的温度采集电路部分,温度采集电路部分由传感器,温度检测电路和A/D转换电路组成。
后向通道就是我们所说的温度控制电路,温度控制电路部分由控制信号,固态继电器和电阻丝组成。
外围接口电路部分由键盘,显示,声光报警和人机通讯组成。 2.3.4控制算法
根据炉温对给定温度的偏差,自动接通或断开供给炉子的热源能量,或连续改变热源能量的大小,使炉温稳定有给定温度围,以满足热处理工艺的需要。温度自动控制常用调节规律有二位式、三位式、比例、比例积分和比例积分微分等几种。电阻炉炉温控制是这样一个反馈调节过程,比较实际炉温和需要炉温得到偏差,通过对偏差的处理获得控制信号,去调节电阻炉的热功率,从而实现对炉温的控制。按照偏差的比例、积分和微分产生控制作用(PID控制),是过程控制中应用最广泛的一种控制形式。
系统控制程序采用两重中断嵌套方式设计。首先使T0计数器产生定时中断,作为本系统的采样周期。在中断服务程序中启动A/D,读入采样数据,进行数字滤波、上下限报警处理,PID计算,然后输出控制脉冲信号。脉冲宽度由T1计数器溢出中断决定。在等待T1中断时,将本次采样值转换成对应的温度值放入显示缓
. 可修编-
. -
冲区,然后调用显示子程序。从T1中断返回后,再从T0中断返回主程序并且、继续显示本次采样温度,等待下次T0中断。
二位式调节--它只有开、关两种状态,当炉温低于限给定值时执行器全开;当炉温高于给定值时执行器全闭。
三位式调节--它有上下限两个给定值,当炉温低于下限给定值时招待器全开;当炉温在上、下限给定值之间时执行器部分开启;当炉温超过上限给定值时执行器全闭。(如管状加热器为加热元件时,可采用三位式调节实现加热与保温功率的不同)
比例调节(P调节)--调节器的输出信号(M)和偏差输入(e)成比例。即:M=k式中:K-----比例系数
比例调节器的输入、输出量之间任何时刻都存在--对应的比例关系,因此炉温变化经比例调节达到平衡时,炉温不能加复到给定值时的偏差--称“静差”
比例积分(PI)调节--为了“静差”,在比例调节中添加积分(I)调节积分,调节是指调节器的输出信号与偏差存在随时间的增长而增强,直到偏差消除才无输出信号,故能消除“静差”比例调节和积分调节的组合称为比例积分调节.
比例积分微分(PID)调节--比例积分调节会使调节过程增长,温度的波动幅值增大,为此再引入微分(D)调节。微分调节是指调节器的输出与偏差对时间的微分成比例,微分调节器在温度有变化“苗头”时就有调节信号输出,变化速度越快、输出信号越强,故能加快调节速度,降低温度波动幅度,比例调节、积分调节和微分调节的组合称为比例积分微分调节。
第三章硬件设计
3.1系统设计原理
系统由AT89c51、温度检测电路、按键电路、液晶显示及报警电路、时钟电路、温度控制电路等部分组成。
键盘 显示 报警 单片机 AT89C51 温度检测电路 传感器 电 阻 炉 . 通讯 温度控制 可修编-
. -
图3.1 系统的整体框图
本设计主要是以硬件设计以及简单的编写系统的主程序,用单片机进行温度控制,同时采用一种高精度的集成芯片来完成A/D转换以及一些辅助电路的功能,使系统获得良好的性能指标,电路设计简单,精度高,控制效果好等优点,对提高生产效率刺激科技进步等方面具有重要意义。
温度传感器:能感受温度并能转换成可用输出信号的传感器。按测量方式可分为接触式和非接触式两大类,按照传感器材料及电子元件特性分为热电阻和热电偶两类,按照传感器材料及电子元件特性分为热电阻和热电偶两类。由于热电阻所感受的物体温度一般都是比较低的,而工业生产(如机械制造,冶金)中电阻炉加热的上限温度非常高,所以一般不用于工业生产中。所以传感器要选择热电偶来传达电阻炉的实时温度。
温度检测电路:温度检测系统在自动控制系统中的使用是相当广泛的,系统往往需要对控制部或者外部的温度进行检测,并根据条件的变化进行处理,如补偿某些参数,实现某种控制和处理。进行超高温警告等。因此对所监控的环境温度进行精确检测是非常必要的,尤其是一些对温度检测精度要求很高的控制系统更是如此。在工业上温度检测电路是非常重要的,它能及时的把温度反馈给单片机,在计算机的控制下把温度反馈给显示电路以便及时的显示当下的温度,在和设定的温度进行比较,如果温度超过上限温度,则会触发报警电路,便于值班人员进行检修,以保证正常的生产。
液晶显示:用于显示电阻炉的实时温度,便于人工和自动控制系统对温度的监控,当出现超出上限温度的时候及时反馈给系统或值班人员,也可显示设定时间,实际时间,使工作人员能更清楚和准确的了解电阻炉当前的运行情况。
键盘:是人工设定时间,温度等的输入通道,单片机I/O接口控制,通过键盘录入设定时间,设定温度,有的按键在不同的情况下可以实现不同的功能。
. 可修编-
. -
温度控制电路:在设定温度与反馈过来的电阻温度出现偏差,单片机触发温度控制电路,调节电阻炉的温度,直至达到生产要求的温度。
3.2 单片机的选择
3.2.1单片机AT89c51的介绍
单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广,发展很快。单片机体积小,重量轻,抗干扰能力强,环境要求不高,价格低廉,可靠性高,灵活性好。由于具有以上优点,单片机被广泛应用于诸多领域,如工业控制系统、智能化仪表、自动检测、数据采集系统等各个方面。
本设计采用MCS-51系列单片机AT89C51作为控制机构的核心。AT89C51是一种带4K字节FLASH存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,可以按照常规办法进行编程,也可以在线编程。外形及引脚排列如图3.2所示。
图3.2 单片机AT89C51的引脚图
. 可修编-
. -
3.2.1.1 AT89C51单片机的功能特性
·与MCS-51 兼容
·4K字节可编程FLASH存储器 ·寿命:1000写/擦循环 ·数据保留时间:10年 ·全静态工作:0Hz-24MHz ·三级程序存储器锁定 ·128×8位部RAM ·32可编程I/O线 ·两个16位定时器/计数器 ·5个中断源 ·可编程串行通道 ·低功耗的闲置和掉电模式 ·片振荡器和时钟电路 3.2.1.2 AT89C51单片机的基本组成
1.CPU:CPU是单片机的核心部分,CPU包括两个基本部分:运算器和控制器。
①运算器:运算器即算术逻辑运算单元ALU(Arithmetic Logic Unit)是进行算术或逻辑运算的部件。可实现算术运算和逻辑运算。操作的结果一般送回累加器 ACC(Accumulator),而其状态信息送至程序状态寄存器PSW(Program Status Word)。
②控制器:控制器是用来控制计算机工作的部件。控制器接收来自存储器的指令,使各部分协调工作,完成指令所规定的操作。
2.部数据存储器:AT89C51芯片共有256B(地址为:00H~FFH)的数据存储器,其中高128B(地址为:80H~FFH)被专用寄存器占用,能作为寄存器供用户使用的只是低128B(地址为:00H~7FH),用于存放可读写的数据,如程序执行过程中的变量。
3.部程序存储器:AT89C51共有4KB(地址为:0000H~0FFFH)的flash程序存储器,用于存放程序、原始数据或表格常数。
4.定时/计数器:定时计数器AT89C51共有两个16位的定时/计数器,每个定时/计数器都可以设置成计数方式,用于对外部事件进行计数;也可以设置成定时方式,并可以根据计数或定时的结果实现对单片机运行的控制。
. 可修编-
. -
5.并行I/O口:并行口共有4个8位的I/O口(P0、Pl、P2、P3)。每个8 位的口,既可用作输入口,也可用作输出口,每个口即可以8位同步读写,又可对每一位进行单独的操作,十分的方便。
6.串行口:AT89C51单片机有一个全双工的串行接口,以实现单片机和其他设备之间的串行数据传送。该串行口功能较强,既可作为全双工异步通信收发器使用,也可作为同步移位器使用。
7.中断控制系统:AT89C51单片机有较强的中断系统,可以满足控制应用的需要。AT89C51的中断系统有5个中断源,包括两个外中断、两个定时/计数中断和一个串行口中断。
8.时钟电路:AT89C51芯片的部有时钟电路,但石英晶体和微调电容需外接。时钟电路为单片机产生时钟脉冲序列。 3.2.1.3 AT89C51单片机引脚及其功能
(一)主电源引脚VCC和GND VCC:供电电压。 GND:接地。
(二)输入/输出(I/O)引脚P0、P1、P2和P3
P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P0口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:P1口是一个部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:P2口为一个部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:P3口管脚是8个带部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
. 可修编-
. -
P3口也可作为AT89C51的一些特殊功能口,如下表所示: 管脚(备选功能) P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断0) P3.3 /INT1(外部中断1) P3.4 T0(记时器0外部输入) P3.5 T1(记时器1外部输入) P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。 (三)控制信号引脚RST、ALE/PROG、/PSEN、/EA/VPP
RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H~FFFFH),不管是否有部程序存储器。注意加密方式1时,/EA将部锁定为RESET;当/EA端保持高电平时,此间部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
(四)时钟电路引脚XTAL1和XTAL2
XTAL1:反向振荡放大器的输入及部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 振荡器特性:
XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片振荡器。石晶振荡和瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应
. 可修编-
. -
不接。有余输入至部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。 3.2.1.4 单片机的复位电路
手动复位电路:为确保单片机系统中电路稳定可靠工作,复位电路是必不可少的一部分,复位电路的第一功能是上电复位。一般单片机电路正常工作需要供电电源为5V±5%,即4.75~5.25V。由于单片机电路是时序数字电路,它需要稳定的时钟信号,因此在电源上电时只有当4.75V 图3.3 手动复位电路 3.2.1.5 单片机的时钟电路 本系统使用AT89C51单片机片振荡和时钟产生电路外接微调电容和振荡晶体来产生时钟周期信号来完成对时间周期的准确计时,不但节省了开支,而且提高元件利用效率。AT89C51中有一个用于构成部振荡器的高增益反向放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体构成自激振荡器。外接石英晶体及电容接在放大器的反馈回路中并构成并联振荡电路。电容容量的大小会稍微影响振荡频率的高低,振荡器工作的稳定性用石英晶体电容使用30pf,后面的电容是负载电容,可以用来微 调晶体振荡频率,这个电容要根据所用晶体来选择。晶振电路如下图所示。 . 可修编- . - 图3.4 时钟电路 3.3 前向通道设计 温度采集电路部分包括:传感器,信号调理电路,A/D转换。 从资料中查到,目前在温度测量领域除了广泛使用热电偶外,电阻温度计也得到了广泛的应用,尤其工业生产中-120~+500℃围的温度测量常常使用电阻温度计。由于本系统要求的温度属于中高温围,所以本系统采用K型(镍镉-镍硅)热电偶,可测量1312℃,其线性度较好,而且价格便宜。K型热电偶的输出时毫伏级电压信号,最终要将其转换成数字信号与CPU通信。传统的温度检测电路采用“传感器-滤波器-放大器-冷端补偿-线性化处理-A/D转换”模式,转换环节多、电路复杂、精度低。在本系统中,采用的是高精度的集成芯片MAX6675来完成“热电偶电势-温度”的转换,不需要外围电路、I/O接线简单、精度高、成本低。 本次设计采用的MAX6676是MAXIM公司开发的K型热电偶转换器,集成了滤波器、放大器等,并带有热电偶断线检测电路,自带冷端补偿,能将K型热电偶输出的电势直接转换成12位数字量,分辨率0.25℃,工作电压3.0~5.5V。温度数据通过SPI端口输出给单片机,其冷端补偿的围是-20~80℃,测量围0~1024℃。 3.3.1温度检测电路设计 3.3.1.1 K型热电偶的介绍 K型热电偶作为一种温度传感器,K型热电偶通常和显示仪表,记录仪表和电子调节器配套使用。K型热电偶可以直接测量各种生产中从0℃到1300℃围的液体蒸汽和气体介质以及固体的表面温度。 图3.5 型热电偶图片 . 可修编- . - K型热电偶通常由感温元件、安装固定装置和接线盒等主要部件组成。 K型热电偶是目前用量最大的廉金属热电偶,其用量为其他热电偶的总和。K型热电偶丝直径一般为1.2~4.0mm。 正极(KP)的名义化学成分为:Ni:Cr=92:12,负极(KN)的名义化学成分为:Ni:Si=99:3,其使用温度为-200~1300℃。 K型热电偶具有线性度好,热电动势较大,灵敏度高,稳定性和均匀性较好,抗氧化性能强,价格便宜等优点,能用于氧化性惰性气氛中广泛为用户所采用。 K型热电偶不能直接在高温下用于硫,还原性或还原,氧化交替的气氛中和真空中,也不推荐用于弱氧化气氛. 3.3.1.2 K型热电偶的测温原理 热电偶测温必须由热电偶、连接导线及显示仪表三部分组成。下图3.6是最简单的热电偶测温示意图。 图3.6 热电偶温度计示意图 按右图组成的热电偶芯及测温电偶丝1 ,如果将热电偶的热端加热,使得冷、热两端的温度不同,则在该热电偶回路中就会产生热电势,这种物理现象就称为热电现象(即热电效应)。在热电偶回路中产生的电势由温差电势和相接触电势两部分组成接触电势:它是两种电子密度不同的导体相互接触时产生的一种热电势。当两种不同的导体A和B相接触时,假设导体A和B的电子密度分别为Na和Nb并且Na>Nb,则在两导体的接触面上,电子在两个方向的扩散率就不相同,由导体A扩散到导体B的电子数比从B扩散到A的电子数要多。导体A失去电子而显正电,导体B获很电子而显负电。因此,在A、B两导体的接触面上便形成一个由A到B的静电场,这个电场将阻碍扩散运动的继续进行,同时加速电子向相反方向运动,使从B到A的电子数增多,最后达到动态平衡状态。此时A、B之间也形成一电位差,这个电位差称为接触电势。此电势只与两种导体的性质相接触点的温度有关,当两种导体的材料一定,接触电势仅与其接点温度有关。温度越高,导体中的电子就越活跃,由A导体扩散到B导体的电子就越多,致使接触面处所产生的电场强度越高,因而接触电势也就越大。这样将1产生的温差热电势通过连接导线2在显示仪表3中显示出来。 . 可修编- . - 3.3.1.3 热电偶安装注意点 (1)热电偶应尽量垂直装在水平或垂直管道上,安装时应有保护套管,以方便检修和更换。 (2)热电偶的冷端应处在同一环境温度下,应使用同型号的补偿导线,且正负要接对。 (3)测量管道温度时,元件长度应在管道中心线上(即保护管插入深度应为管径的一半)。 (4)温度动圈表安装时,开孔尺寸要合适,安装要美观大方。 (5)高温区使用耐高温电缆或耐高温补偿线。 (6)要根据不同的温度选择不同的测量元件。一般测量温度大于100℃时,应选择热电偶,小于100℃时选择热电阻。 (7)接线要合理美观,表针指示要正确。 3.3.2 温度检测电路 3.3.2.1 MAX6675的介绍 在工业检测系统中,热电偶作为一种主要的测温元件,具有结构简单、制造容易、使用方便、测温围宽、测温精度高等特点,被广泛应用于工业温度控制过程中。但是热电偶输出电势及其微弱,而且存在冷端温度误差和输出电势与被测温度的分线性问题,易引起较大测量误差,尤其在以单片机为核心器件的智能装置中,需要进行复杂的信号放大、A/D转换、查表线性、温度补偿及数字化输出接口等软件硬件设计,硬件芯片使用过多,软件编写任务重,不能适应现阶段产品集成、模块化的需要。MAX6675是Maxim司新近推出的K型热电偶串行模数转换器,它能独立完成信号放大、冷端补偿、线性化、A/D转换及SPI串口数字化输出功能,大大简化了热电偶测量智能装置的软件硬件设计。 3.3.2.2 MAX6675的性能特点 ①简单的SPI串行口温度值输出; ② 0℃~+1024℃的测温围; ③ 12位0.25℃的分辨率; ④片冷端补偿; ⑤高阻抗差动输入; ⑥热电偶断线检测; ⑦单一+5V的电源电压; ⑧低功耗特性; ⑨工作温度围-20℃~+85℃; ⑩ 2000V的ESD保护。 . 可修编- . - 该器件采用8引脚SO贴片封装。引脚排列和引脚功能如下图所示: 图3.7 MAX6675引脚排列表3.1 MAX6675引脚功能 3.3.2.3 MAX6675的工作原理 MAX6675的部结构如图3.8所示。该器件是一个复杂的单片热电偶数字转换器,部具有信号调节放大器、12位的模拟/数字化热电偶转换器、冷端补偿传感和校正、数字控制器、1个SPI兼容接口和1个相关的逻辑控制。 MAX6675部具有将热电偶信号转换为与ADC输入通道兼容电压的信号调节放大器,T+和T-输入端连接到低噪声放大器A1,以保证检测输入的高精度,同时使热电偶连接导线与干扰源隔离。热电偶输出的热电势经低噪声放大器A1放大,再经过A2电压跟随器缓冲后,被送至ADC的输入端。在将温度电压值转换为等 图3.8 MAX6675部结构框图 价的温度值之前,它需要对热电偶的冷端温度进行补偿,冷端温度即是MAX6675周围温度与0℃实际参考值之间的差值。对于K型热电偶,电压变化率为41μV/℃,电压可由线性公式Vout=(41μV/℃)×(tR-tAMB)来近似热电偶的特性。上式中,Vout为热电偶输出电压(mV),tR是测量点温度;tAMB是周围温度。 热电偶的功能是检测热、冷两端温度的差值,热电偶热节点温度可在0℃~+1023.75℃围变化。冷端即安装MAX6675的电路板周围温度,此温度在 -20℃~+85℃围变化。当冷端温度波动时,MAX6675仍能精确检测热端的温度变化。 . 可修编- . - MAX6675是通过冷端补偿检测和校正周围温度变化的。该器件可将周围温度通过部的温度检测二极管转换为温度补偿电压,为了产生实际热电偶温度测量值,MAX6675从热电偶的输出和检测二极管的输出测量电压。该器件部电路将二极管电压和热电偶电压送到ADC中转换,以计算热电偶的热端温度。当热电偶的冷端与芯片温度相等时,MAX6675可获得最佳的测量精度。因此在实际测温应用时,应尽量避免在MA X6675附近放置发热器件或元件,因为这样会造成冷端误差。 在测温应用中,芯片自热将降低MAX6675温度测量精度,误差大小依赖于MAX6675封装的热传导性、安装技术和通风效果。为降低芯片自热引起的测量误差,可在布线时使用大面积接地技术提高MAX6675温度测量精度。 MAX6675的测量精度对电源耦合噪声较敏感。为降低电源噪声的影响,可在MAX6675的电源引脚附近接入1只0.1μF瓷旁路电容。 热电偶系统的测量精度可通过以下预防措施来提高:①尽量采用不能从测量区域散热的大截面导线;②如必须用小截面导线,则只能应用在测量区域,并且在无温度变化区域用扩展导线;③避免受到拉紧导线的机械挤压和振动;④当热电偶距离较远时,应采用双绞线作热电偶连线;⑤在温度额定值围使用热电偶导线;⑥避免急剧温度变化;⑦在恶劣环境中,使用合适的保护套以保护热电偶导线;⑧仅在低温和小变化率区域使用扩展导线;⑨保持热电偶电阻的事件记 录和连续记录。 MAX6675采用标准的SPI串行外设总线与MCU接口,且MAX6675只能作为从设备。 MAX6675SO端输出温度数据的格式如表3.2所示,MAX6675SPI接口时序如图3.9所示。MAX6675从SPI串行接口输出数据的过程如下:MCU使CS变低并提供时钟信号给SCK,由SO读取测量结果。CS变低将停止任何转换过程;CS变高将启动一个新的转换过程。一个完整串行接口读操作需16个时钟周期,在时钟的下降沿读取16个输出位,第1位和第15位是一伪标志位,并总为0;第14位到第3位为以MSB到LSB顺序排列的转换温度值;第2位平时为低,当热电偶输入开放时为高,开放热电偶检测电路完全由MAX6675实现,为开放热电偶检测器操作,T-必须接地,并使接地点尽可能接近GND脚;第1位为低以提供MAX6675器件身份码,第0位为三态。 表3.2 MAX6675 S0端输出数据的格式 . 可修编- . - 图3.9 MAX6675 SPI接口时序 在本次设计中当MAX6675的CS引脚从高电平变为低电平时,MAX6675将停止任何信号的转换并在时钟SCK的作用下向外输出已转化的数据。相反,当CS引脚从低电平变回高电平时,MAX6675将进行新的转换。在CS引脚从高电平变成低电平时,第一个字节D15将出现在引脚SO。一个完整的数据读过程需要16个时钟周期,数据的读取通常在SCK的下降沿进行。 MAX6675的输出数据为16位,其中D15始终无用,D14~D3对应于热电偶模拟输入电压的数字转换量,D2用于检测热电偶是否断线(D2为1表明热电偶断开),D1为MAX6675的标示符,D0为三态。需要指出的是:在以往的热电偶电路设计中,往往需要专门的断线检测电路,而MAX6675已将断线检测电路集成于片,从而简化了电路设计。D14~D3为12位数据,其最小值为0,对应的温度值为0℃;最大值为4095,对应的温度值为1023.75℃;由于MAX6675部经过了激光修正,因此,其转换结果与对应温度值具有较好的线性关系。温度值与数字量的对应关系为: 温度值=1023.75×转换后的数字量/4095 由于MAX6675 的数据输出为3 位串行接口, 因此只需占用微处理器的3个I/O口。使用时, 可用软件模拟同步串行读取过程。图中数据串行输出口由微处理器的P1.4 提供,片选信号由P1.5提供, 串行时钟输入端由P1.6 读取。热电偶的模拟信号由T+和T-端输入,其中T-需接地。MAX6675 的转换结果将在SCK的控制下连续输出,如下所示: . 可修编- . - 图3.10 温度检测电路图 MAX6675将热电偶测温应用时复杂的线性化、冷端补偿及数字化输出等问题集中在一个芯片上解决,简化了将热电偶测温方案应用于嵌入式系统领域时复杂的软硬件设计,因而该器件是将热电偶测温方案应用于嵌入式系统领域的理想选择。 3.4 后向通道设计 3.4.1温度控制电路 此部分用于闭环控制系统中对被控对象实施控制,被控对象是电阻炉,采用对加在电阻炉两端的电压进行通断的方法进行控制,以实现对电阻炉功率的调整,从而达到对电阻炉温度控制点目的。对电阻丝通断的控制采用SSR-40DA固态继电器。它的使用非常简单,只要在控制端TTL电平,即可实现对继电器的开关,使用时完全可以用PNP型三极管接成电压跟随器的形式驱动。当单片机的P1.7为高电平时,PNP型三极管驱动固态继电器工作接通加热器工作,当单片机的P.17为低电平时固态继电器关断,加热器不工作。控制电路如下图3.11所示: 图3.11 温度控制电路图 其中,固态继电器SSR-40DA是由固态元件组成的无触点开关,具有工作安全可靠、寿命长、无触点、无火花、无污染、高绝缘、高耐压(越过2.5KV)、低触发电流、开关速度快、可与数字电路匹配,以阻燃型环氧树脂为原料,采用灌封技术,使与外界隔离,具有良好的耐压、防潮、防腐、抗震动等性能。固态继电器部采用电压过零时开启,负载过零时关断的特性,在负载上可以得到一个完整的正弦波形。因此电路的射频干扰很小,可降低感性负载(如风扇、三相电动机等)的反电动势以及驱动阻性负载(如白炽灯、发热丝等)时可显著降低浪涌电流等优点,其部结构如下图3.12所示: . 可修编- . - 图3.12 SSR-40DA部结构图 3.4.2 继电器的工作原理和特性 当输入量(如电压、电流、温度等)达到规定值时,使被控制的输出电路导通或断开的电器。可分为电气量(如电流、电压、频率、功率等)继电器及非电气量(如温度、压力、速度等)继电器两大类。具有动作快、工作稳定、使用寿命长、体积小等优点。广泛应用于电力保护、自动化、运动、遥控、测量和通信等装置中。 1、电磁继电器的工作原理和特性 电磁式继电器一般由铁芯、线圈、衔铁、触点簧片等组成。只要在线圈两端加上一定的电压,线圈中就会流过一定的电流,从而产生电磁效应,衔铁就会在电磁力吸引的作用下克服返回弹簧的拉力吸向铁芯,从而带动衔铁的动触点与静触点(常开触点)吸合。当线圈断电后,电磁的吸力也随之消失,衔铁就会在弹簧的反作用返回原来的位置,使动触点的静触点(常闭触点)吸合。这样吸合、释放,从而达到了电路中的导通、切断的目的。对于继电器的“常开、常闭”触点,可以这样来区分:继电器线圈未通电时处于断开状态的静触点,称为“常开触点”;处于接触状态的静触点称为“常闭触点”。 2、热敏干簧继电器的工作原理和特性 热敏干簧继电器使一种利用热敏磁性材料检测和控制温度的新型热敏开关。它由感温磁环、干簧管、导热安装片、塑料衬底及其他一些附件组成。热敏干簧继电器不用线圈励磁,而由恒磁环产生的磁力驱动开关动作。恒磁环能否向干簧管提供磁力是由感温磁环的温度特性决定的。 3、固态继电器(SSR)的工作原理和特性 固态继电器是一种两个接线端为输入端,另两个接线端为输出端的四端器件,中间采用隔离器件实现输入输出的电隔离。 固态继电器按负载电源类型可分为交流型和直流型。按开关型式可分为常开型和常闭型。按隔离型可分为混合型、变压器隔离型和光电隔离型,以光电隔离型为最多,本系统则采用的光电隔离型。 . 可修编- . - 3.4.3继电器主要产品技术参数 1、额定工作电压 是指继电器正常工作时线圈所需要的电压。根据继电器的型号不同,可以是交流电压,也可以是直流电压。 2、直流电阻 是指继电器中线圈的直流电阻,可以通过万能表测量。 3、吸合电流 是指继电器能够产生吸合动作的最小电流。在正常使用时,给定的电流必须略大于吸合电流,这样继电器才能稳定地工作。而对于线圈所加的工作电压,一般不要超过稳定工作电压的1.5倍,否则会产生较大的电流而把线圈烧毁。 4、释放电流 是指继电器产生释放动作的最大电流。当继电器吸合状态的电流减小到一定程度时,继电器就会恢复到未通电的释放状态。这时的电流远远小于吸合电流。 5、触点切换电压和电流 是指继电器允许加载的电压和电流。它决定了继电器能控制电压和电流的大小,使用时不能超过此值,否则很容易损坏继电器的触点。 3.4.4继电器测试 1、测触点电阻 用万能表的电阻档,测量常闭触点与动点电阻,其阻值应为0,(用加确式可测得触点阻值在100毫欧以);而常开触点与动点的阻值就为无穷大。由此可以区别出那个是常闭触点,那个是常开触点。 2、测线圈电阻 可用万能表R×10Ω档测量继电器线圈的阻值,从而判断该线圈是否存在着开路现象。 3、测量吸合电压和吸合电流 找来可调稳压电源和电流表,给继电器输入一组电压,且在供电回路中串入电流表进行监测。慢慢调高电源电压,听到继电器吸合声时,记下该吸合电压和吸合电流。为求准确,可以试多几次而求平均值。 4、测量释放电压和释放电流 也是像上述那样连接测试,当继电器发生吸合后,再逐渐降低供电电压,当听到继电器再次发生释放声音时,记下此时的电压和电流,亦可尝试多几次而取得平均的释放电压和释放电流。一般情况下,继电器的释放电压约在吸合电压的10~50%,如果释放电压太小(小于1/10的吸合电压),则不能正常使用了,这样会对电路的稳定性造成威胁,工作不可靠。 . 可修编- . - 3.4.5继电器的电符号和触点形式 继电器线圈在电路中用一个长方框符号表示,如果继电器有两个线圈,画个并列的长方框。同时在长方框或长方框旁标上继电器的英文“J”. 继电器的触点有两种表示方法:一种是把它们直接画在长方框一侧,这种 表示法较为直观。另一种是按照电路连接的需要,把各个触点分别画到各自的控制电路中,通常在同一继电器的触点与线圈旁分别标注上相同的文字符号,并将触点组编上,以示区别。 继电器的触点有三种基本形式: 1.动合型(H型)线圈不通电时两触点是断开的,通电后,两个触点就闭 合。以合字的拼音字头“H”表示。 2.动断型(D型)线圈不通电时两触点是闭合的,通电后两个触点就断开。 用断字的拼音字头“D”表示。 3.转换型(Z型)这是触点组型。这种触点组共有三个触点,即中间是动 触点,上下各一个静触点。线圈不通电时,动触点和其中一个静触点断开和另一 个闭合,线圈通电后,动触点就移动,使原来断开的成闭合,原来闭合的成断开 状态,达到转换的目的。这样的触点组称为转换触点。用“转”字的拼音字头“Z” 表示。 3.4.6继电器的选用 1.先了解必要的条件 ①控制电路的电源电压,能提供的最大电流; ②被控制电路中的电压和电流; ③被控电路需要几组、什么形式的触点。选用继电器时,一般控制电路的电源电压可作为选用的依据。控制电路应能给继电器提供足够的工作电流,否则继电器吸合是不稳定的。 2.查阅有关资料确定使用条件后,可查找相关资料,找出需要的继电器的型号和规格号。若手头已有继电器,可依据资料核对是否可以利用。最后考虑尺寸是否合适。 3.注意器具的容积。若是用于一般用电器,除考虑机箱容积外,小型继电器主要考虑电路板安装布局。对于小型电器,如玩具、遥控装置则应选用超小型继电器产品。 . 可修编- . - 3.5外围接口电路设计 3.5.1 显示电路设计 为了将系统温度和时间实时显示出来,本系统没有采用常用的数码管作为显示方式,而是采用LCD1602液晶实时显示时间和温度,这样电路的设计就会相对简单一些,所用到的I/O 口也较少。 1602液晶也叫1602字符型液晶它是一种专门用来显示字母、数字、符号等的点阵型液晶模块它有若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符。LCD1602是指显示的容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。 LCD1602微功耗、体积小、显示容丰富、超薄轻巧,常用在袖珍式仪表和低功耗应用系统中,其引脚功能如表3.3所示。 表3.3 LCD1602引脚功能 引脚号 1 2 3 名称 GND VCC VL 功能 电源地 +5V电源 对比调整电压 寄存器选择,高电平时选择数据寄存器,低电平时选择 4 RS 指令寄存器 5 6 7~14 15 16 R/W EN DB0~DB7 A K 读写信号线,高电平时读操作,低电平时写操作 使能端 八位双向数据端 背光正极 背光负极 在本系统中LCD1602主要用于显示温度和时间等信息。图3.13即为液晶显示电路。 . 可修编- . - 图3-13 液晶显示电路 3.5.2 键盘电路设计 本系统是以单片机AT89C51为核心的一个键盘LED显示电路,显示电路采用智能仪表中普遍采用的串行口扩展并行口的静态显示电路,显示稳定,亮度高。软件设计是以单片机的基本语言汇编语言来进行的,指令的执行速度快,节省存储空间。为了便于扩展和更改,软件的设计采用模块化结构,使程序设计的逻辑关系更加简单明了,使硬件在软件的控制下协调运作。 键盘设计采用矩阵式键盘,其结构如图3.14所示,图中有2根行线和2根列线,经限流电阻接+5V电源上,按键跨接在行线和列线上,2*2行列结构可构成4个按键,组成一个键盘。4个按键编号为K0~K3。当某一个按键闭合时,与该键相连的行线与列线接通,识别闭合键的方法有逐行(列)扫描法及行翻转法。 键盘由一组常开的按键开关组成,每个按键都被赋予一个代码,称为键码。键盘系统的主要工作就是及时发现有键闭合并求闭合键的代码。键盘可以分为两种,即编码键盘和非编码键盘。编码键盘是通过一个编码电路来识别闭合键码,非编码键盘是通过软件来识别键码。因非键盘硬件电路简单,使用时可方便的增加或减少键的数量,因此本设计采用非编码键盘。 1、 逐行扫描法 1)、将行线接微机的输出口,列线接微机输入口(P0口高四位输出,低四位入)。 2)、通过输出口输出数据,逐一使一条行线为低电平(其他3条为高电平),然后通过输入口读4根列线的状态,若全为高电平,则此行无键按下,若不全为高电平,说明这一行有键按下,且按键位于此行与电压为低电平的列线交叉点。例如:P0口高四位输出0111B(第三行为低电平)时,若读得列线的数据位0111B, . 可修编- . - 说明按键K0被按下,若读得数据位1011B,则说明按键K1被按下;若P0口高四位输出1011B时,若读得数据为0111B,则说明按键K2被按下,若读得数据位是1011B,则说明按键K3被按下。当一行没有键按下时再用同样的方法接着扫描(检查)下一行。 3)、当某一行有键按下时,通过此时行线输出及列线输入组合成一个8为二进制数,这个数称为键值,由键值可以唯一地确定按键。 K0按下时,必在行线输出0111B,列线读得0111B时,其键值01110111B=77H。 K1按下时,必在行线输出0111B,列线读得1011B时,其键值01111011B=7BH。 K2按下时,必在行线输出1011B,列线读得0111B时,其键值10110111B=B7H。 K3按下时,必在行线输出1011B,列线读得1011B时,其键值10111011B=BBH。 此键盘查询设计时,将77H~BBH键码按照0~3连续排列。 (2)、行翻转法 1)、将与行线相连的断口设置为输入,与列线相连的断口设置为输出(P0口高四位输入,低四位输出)。向列线输出数据0000B时,使列线全部为低电平,然后读4根行线的状态。若全为高电平,则说明无键按下(返回1),若不全为高电平,则说明有键按下(进入2)。 2)、翻转:将与行线相连的断口设置为输出,与列线相连的端口设置为输入(P0口高4位输出,低四位输入),然后把1)中从行线得到的4位二进制数向列线输出。 3)、从列线输入数据,得到一个4位二进制数据,把1)中得到的4位二进制数据作为高4位,与这个4位二进制数据组合成的8位二进制数即为键值(与逐行扫描法相同),由键值可唯一地确定按键。 按键控制电路如图所示,分别接在单片机P0.0-P0.7口。它由4个按键构成,直接与单片机I/O口相连。当按键闭合时,单片机的P0.0-P0.3口的高电平转移到P04-P07口。 图3.14 按键电路设计图 . 可修编- . - 当用于温度调节时,开关分别用于调整温度的上下限值,以及控制温度的输出。另外,设定1键用于第一次按下时显示采集的温度,第二次按下则进行温度的上限调整,第三次按下进行温度的下限调整,第四次按下则进行采集温度的显示构成循环。选择2键进行位数调整,第一次显示个位,第二次显示十位,第三次显示百位,第四次按下是显示千位。3键用于增加一个数,按下一次在原基础上加1,这个值在0-9之间变化。4键用于减少一个数,按下一次在原基础之上减1,这个值在9-0之间变化。 当用于PID参数调节时,设定1键为确认键,按下第五次后,显示PID系数状态。选择2键进行移位调整,第一次显示Kp,第二次显示KI,第三次显示KD。选择3键为增加键,按下一次在原基础上增加1,这个值在0-9之间变化。4键用于减少一个数,按下一次在原基础上减1,这个值在0-9之间变化。 3.5.3报警电路设计 本设计中采用蜂鸣器报警和灯光报警。在图3.15中,P3.0接74LS04的输入端。当P3.0输出为低电平“0”时,经74LS04的反向输出高电平,蜂鸣器鸣叫并点亮发光二级管;当P3.0输出高电平“1”时,蜂鸣器停止发声,发光二级管熄灭。 图3.15 声光报警电路 本设计是为在键盘设定的温度低于当前的温度时报警,当温度低于设定温度时,P3.0口被置低,发出声光报警信号。 3.5.4 通信电路设计 图3.16为下位机通信接口电路图。本系统通过接口芯片MAX485来实现单片机AT89C51与上位机之间的串行通信。R0和DI端分别为接收器的输出和驱动器的输入端,分别与单片机的串行输入端RXD和数据输出端TXD相连;RE和DE端分别为接收和发送的使能端,与单片机的P1.3口相连。当RE为逻辑0时。器件处于接收状态:当DE为逻辑l时,器件处于发送状态。A端和B端分别为接收和发送差分信号端。当A引脚的电平高于B时,代表发送的数据为l;当A的电平低于B端时,代表发送的 . 可修编- . - 数据为0。在与单片机连接时,只需要一个信号控制MAX485的接收和发送即可。A、B接上位机的通信线。 图3-16 下位机通信接口电路图 3.6 电源设计 由于单片机的工作电源是5V,且底层电路功耗很小。所以在单片机电源设计中常使用输出电压固定的集成稳压器,作为稳压器件。这种集成稳压器只有输入、输出和公共引出端三个端口,故称为三端稳压器。采用三端稳压片7805即可制作稳定输出为+5V的电源,为单片机提供正常工作电源。 三端稳压器由启动电路、基准电压电路、取样比较放大电路、调整电路和保护电路等部分构成。本设计中所采用的直流稳压电路如图所示,首先将220V、50Hz的市电转换成相应较小的电压,后又经整流桥将交流电压转换成直流电压,此过程又将损耗一部分电压。图中极性电容C4、C6用于储备功率,当电源开关时也能起到缓冲作用。C5和C7用于滤波,在这个基础上,还可以增加二极管D5、D6,分别连接在7805的2、1端和2、3端,形成反馈,当电路中出现短路情况时,能对电路起到保护作用。另外,还可以接一个400欧姆的电阻和一个发光二极管,目的是为了检测电路是否通电。本设计出于简化电路的目的,所以省略了以上两步,电路系统原理图如图3.17所示: . 可修编- . - 图3.17电源电路的设计 3.7 抗干扰设计 3.7.1 抗干扰渠道 系统的抗干扰性能的好坏是影响系统可靠性的重要因素。影响单片机测控系统正常工作的信号称为噪声,又称干扰。影响指令的正常执行,造成控制事故或失灵,在测量通道中产生了干扰,就会使测量产生误差,电压的冲击有可能使系统遭到致命的破坏。告饶一般都是以脉冲的形式进入系统的,窜入单片机系统的渠道主要有三条: (1)空间干扰 周围的电器设备如发射机、中频炉、可控硅逆变电源等发出的电干扰和磁干扰;广播电台或通讯发射台发出的电磁波:空中雷电,甚至地磁场的变化也会引起干扰。会使点偏激系统不能整成工作。 (2)供电系统干扰 大功率设备,大点感性负载设备的起停会使得电网电压大幅度涨落(浪涌),电网电压的欠压或过压常常打到额定电压的15%以上。有时长达几分钟、几小时、甚至几天。由于大功率开关的通断,电机的起停,电焊等原因,电网上常出现几百伏,甚至几千伏的见脉冲干扰。 (3)过程通道干扰 开关量输入输出,模拟量输入输出必不可少。输入输出的信号线多至几千条,长度往往达几百或几千米,不可避免地将干扰引入单片机系统。当大的电气设备漏电,接地系统不完善,或者测量部件绝缘不好,会使通道中直接串入干扰近好;各通道的线路如果同出一根电缆中或绑扎在一起,各路间会通过电磁感应而产生瞬间的干扰,尤其是0-15V的信号与交流220V的电源线同套在一根长达几百米的管中其干扰更为严重。这种彼此感应产生的干扰其表现形式仍然是通道中形成干扰电压。这样,轻者会使测量的信号发生误差,种着会使有用的信号完全淹没。有时这种通过感应产生的干扰电压会达到几十付以上,使单片机系统无法工作。 . 可修编- . - 三种干扰以来自供电系统的干扰最甚,其次为来自过程通道的干扰。对于来自空间的辐射干扰,需加适当的屏蔽及接地来解决。 3.7.2 抗干扰措施 1、空间干扰主要指电磁场在线路、导线、壳体上的辐射、吸收和解调。由于中厚板长中有具有电场的设备,而且场强也非常大,所以对炉温的控制系统有比较大的电磁干扰,干扰来自应用系统的部和外部,解决空间干扰时,首先要正确判断是否是空间干扰,可在系统供电电源入口处接入干扰抑制器,观察干扰现象是否继续存在,系统的屏蔽与布局设计,正确合理地接地,使单片机应用系统抑制干扰的主要办法。 2、继电器的输入电压为交流电压,所以电压输入端有错在这非正弦波的干扰,对继电器交流进线端加交流滤波器,可滤掉高频干扰,安装滤波器时外壳要加屏蔽并良好接地,进出线要分开,防止感应和辐射耦合,低通滤波器仅允许50Hz交流电通过,对高频和中频干扰有良好的衰减作用。直流输出采用大容量电解电容进行平滑滤波。 3.Z型RSS固态继电器收到的主要干扰是在安装使用时应远离电磁干扰,射频干扰源,以防继电器误动失控。可使电磁干扰进行屏蔽。 4.SSR产品也是一种干扰源,导通时会通过负载产生辐射或电源线的射频干扰,干扰程度随负载大小而不同。白炽灯电阻类负载产生的干扰较小,零压型在交流电源的过零区(即零电压)附近导通,因此干扰也较小。 5.直流输出采用大容量电解电容进行平滑滤波。 6.对系统中采用交流电源的地方,交流电源线与其他线尽量分开,减少再度耦合干扰。 7.电源线与信号线一般都通过地板下面走线,而且不可把两线靠得太近或相互平行,以减少信号线的影响。 8.集成芯片去耦:每个集成芯片都应安置一个0.1微法的瓷电容器,安装每个芯片的去耦电容时,必须将去耦电容安装在本集成芯片的VCC和GND线之间,否则失去了抗干扰作用。 9.还有来自硬件系统的中断干扰,由于硬件中断不认属于外部中断,而外部中断可以屏蔽,所以中断干扰可以通过对硬件中断进行屏蔽来减少中断干扰。 第四章系统软件设计 4.1设计思路 . 可修编- . - 本部分详细介绍了基于AT89C51单片机的电阻炉温度控制系统的软件设计。 根据系统的功能,可以将系统设计分为若干个子程序进行设计,如温度采集子程序,数据处理子程序,显示子程序,PID控制子程序。本设计从设计思路,软件系统框图出发,先介绍整体的思路,在逐一分析各模块程序算法的实现,最终编写出满足任务需求的程序。 本系统要完成温度信号的采集与控制,需要实现温度信号的采集与A/D转换,数据处理,数据显示,数据传输等基本功能。从功能上可将其分为温度采集及A/D转换,数据处理,人机交互,执行四大部分进行设计。 温度信号采集子程序,主要完成温度信号采集与A/D功能。温度信号采集子程序主要包括传感器初始化,单片机给传感器写命令,单片机给传感器写数据,单片机从传感器读数据等部分。 数据处理子程序,当单片机收到温度传感器发送的温度数据后,数据处理子程序对该数据进行处理,主要是把采集的二进制的温度数据转换成十进制温度数据。 在系统软件中,主程序完成系统初始化和电阻丝的导通和关断;炉温测定,键盘输入,时间确定和显示,控制算法等都由子程序来完成;中断服务程序实现测温。流程图如4.1所示: Y 测量值超过设定值 . 报警子程序 可修编- 开始 系统各模块初始化 调测量温度子程序 显示当前温度 调键盘处理子程序 输入设定值 N N 测量值低于设定值 . - . 可修编- . - 图4.1 控制系统程序流程图 #include 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 data1=P1^0; sbit clk=P1^1; sbit plus=P2^0; . 可修编- . - sbit subs=P2^1; sbit stop=P2^2; sbit output=P3^4; sbit DQ=P3^3; unsigned char flag,flag_1=0; unsigned char high_time,low_time,count=0;//占空比调节参数 unsigned char set_temper=35; unsigned char temper; unsigned char i; unsigned char j=0; unsigned int s; main() { unsigned char z; unsigned char a,b,flag_2=1,count1=0; unsigned char phil[]={2,0xce,0x6e,0x60,0x1c,2};; TMOD=0x21; TH0=0x2f; TL0=0x40; SCON=0x50; PCON=0x00; TH1=0xfd; TL1=0xfd; PS=1; EA=1; EX1=0; ET0=1; ES=1; TR0=1; TR1=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 while(1) { if(plus==0) { EA=0; for(a=0;a<5;a++) for(b=0;b<102;b++){} if(plus==0) { set_temper++; flag=0; } } else if(subs==0) { for(a=0;a<5;a++) for(b=0;a<102;b++){} if(subs==0) { set_temper--; flag=0; } } else if(stop==0) { for(a=0;a<5;a++) for(b=0;b<102;b++){} if(stop==0) { flag=0; break; . 可修编- . - } EA=1; } get_temper(); b=temper; if(flag_2==1) a=b; if((abs(a-b))>5) temper=a; else temper=b; a=temper; flag_2=0; if(++count1>30) { display(); count1=0; } pare_temper(); } TR0=0; z=1; while(1) { EA=0; if(stop==0) { for(a=0;a<5;a++) for(b=0;b<102;b++){} if(stop==0) disp_1(phil); // break; } EA=1; . 可修编- . - } } 4.2程序设计 主程序流程图如3.2所示: 开始 图4.2 主程序流程图 请标志和暂存单元 清显示缓存区 T0初始化 键盘高优先级 开CPU中断 温度标度转换 温度显示 4.1.1 程序设计 系统控制程序采用两重中断嵌套方式设计。首先使T0计数器产生定时中断,作为本系统的采样周期。在中断服务程序中启动A/D,读入采样数据,进行上下限报警,PID计算,然后输出控制脉冲信号。脉冲宽度由T1计数器溢出中断决定。在等待T1中断时,将本次采样值转换成对应的温度值放入显示缓冲区,然后调用 . 可修编- . - 显示子程序。从T1中断返回后,在从T0中断返回主程序并且继续显示本次采样温度,等待下次T0中断。 开始 采样初始值送 R0 启动A/D 延时 A/D完成 N Y 所有采样结果 N Y 返回 . 可修编- . - 图4.3 主程序流程图 void delay(unsigned char time) { unsigned char m,n; for(n=0;n