毕业论文-基于AT89C51单片机的电热杯温控系统设计.doc_第1页
毕业论文-基于AT89C51单片机的电热杯温控系统设计.doc_第2页
毕业论文-基于AT89C51单片机的电热杯温控系统设计.doc_第3页
毕业论文-基于AT89C51单片机的电热杯温控系统设计.doc_第4页
毕业论文-基于AT89C51单片机的电热杯温控系统设计.doc_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

本科生毕业设计(论文)论文题目:基于 AT89C5单片机的电热杯温控系统设计姓名:学号:班级:年级:专业:自动化学院:机械与电子工程学院指导教师:完成时间:基于单片机的电热杯温控系统设计Electric cup design of temperature control system based on single chip computer东华理工大学(论文) 摘要摘 要本设计的温度量测及加热控制系统以AT89C51单片机为核心部件,外加温度温度采集电路、键盘及显示电路、加热控制电路和报警电路等。运用单总线型的数字式温度传感器DS18B20,以及用行列式键盘和LCD动态显示的方式,运用比较好控制的光耦合器来作为加热控制部分的开关器件。本设计不但可以对当前的温度进行实时地显示而且可以对温度进行调节控制,以满足我们设定的温度要求,并且具有保温功能。方便简洁的行列式键盘设计可以让我们在设定温度时更加简单快捷,我们的显示方式是采用两位整数再加一位小数的显示方式,使得显示精度更高、读数更加方便。温度控制是通过直流斩波的全控型器件IGBT来实现的。基于PID控制理论上的控制算法,能够让控制精度进一步的达到我们最初的设计要求。通过对硬件资源以及系统软件的合理设计和精确规划,既可以让单片机发挥其集成众多系统级功能单元的优点,又可以在满足功能要求的前提下一定程度上降低硬件成本,系统的操控也非常简单方便。关键词: 单片机 恒温控制 PID控制直流斩波东华理工大学(论文) AbstractABSTRACTThe design of the temperature measurement and heating control system to AT89C51 microcontroller as the core components, plus the temperature of the temperature acquisition circuit, keyboard and display circuit, heating control circuit and alarm circuit. The use of single-bus digital temperature sensor DS18B20, and use the keyboard and LCD dynamic display determinant way, the use of better control of heating control optocoupler as part of the switching devices. This design not only on the current temperature is displayed in real time and can adjust the temperature control to meet the temperature requirements set by us, and has insulation function. Simple and convenient determinant keyboard design allows us to be more simple and quick set temperature, our approach is to use two displays plus a decimal integer display, making the display more accurate reading easier. Temperature control is fully controlled by the DC chopper-type device IGBT to achieve. PID control theory based control algorithm, allowing further control accuracy achieved our initial design requirements. Through the hardware resources and system software design and precise rational planning, not only allows to play its integrated single-chip system-level functional units of many advantages, but also to meet the functional requirements of the premise to some extent, reduce hardware costs, system control is also very simple and convenient.Key words: SCM; temperature control; PID control; DC chopper。东华理工大学(论文) 目录目 录绪 论1第1章 方案设计与论证21.1 总体设计思路21.2 设计方案论证与比较31.2.1 温度检测模块设计31.2.2 温度控制模块设计51.2.3 显示模块的设计61.2.4 键盘扫描模块81.2.5 电源模块的设计9第二章 硬件设计102.1 系统控制框图102.2 被控对象-电热杯102.3 温度检测112.4 执行环节122.5 单片机模块142.6 键盘与显示152.7 电源设计18第3章 软件设计203.1 编写程序语言的选择203.2数字PID控制原理203.3 单片机的资源分配213.3.1 I/O口的分配213.3.2 定时计数器的分配213.3.3 外部中断的使用分配213.4 系统设计流程图22第4章 调试部分264.1 调试方案264.2 调试方法和软件26结论27致 谢28参考文献29附录30东华理工大学(论文) 绪论绪 论温度是工业生产和生活中非常重要的一项参数,形形色色的温度控制系统也普遍地应用在各种制造、化工、机械、食品加工等行业中。在各种工业生产过程中往往都需要进行温度控制,在某些工艺过程中如果温度控制做的不好,会对产品的质量造成不良影响,所以设计一种能够满足生产要求的高精度的温度控制系统是非常有必要的。在生活中我们常见的具有温度控制功能部件的物品有:空调、吹风机、电热水器、电热锅等等。本设计就是要设计一个具有温度控制功能的电热杯。除了要求本设计要有温度控制功能以外,此系统还要有温度显示、可以设置目标温度值以及保温等功能。本设计以AT89C51单片机为主要控制核心,采用合适的温度传感器进行实时温度采集;利用LCD显示屏接上单片机实现对水温的实时显示;通过光耦合器的接通与断开,来控制IGBT的打开与关断从而控制加热电路,达到加热功能。把这几个功能模块组合起来,再加上一个电源控制电路,就组成了一个完整的电热杯温度控制系统。 通过对本设计系统的研究,加深了我们对工业生产中对各种温度控制的理论原理的理解,也让我们对加热及温度控制系统各个功能模块有了一个全新的认识。更主要的是经过这次设计,我们对大学四年所学的知识又重新温习了一遍、加强了对本专业的认识,帮助我们明确了今后的发展方向。21东华理工大学(论文) 第1章方案设计与论证第1章 方案设计与论证1.1 总体设计思路本设计主要采用AT89C51单片机作为电热杯温控系统的主控芯片。采用直流脉冲宽度调制的方法对水温进行控制。首先数字式温度传感器把对象的温度量测出来,然后AT89C51单片机就能接受到有温度传感器传送过来的温度信息,通过单片机的处理,之后温度信息就可以在显示屏上显示出来。本设计所采用的显示屏为LCD12864,以点阵字符的形式来显示。它的温度量测范围为-55+125。单片机也接收来自温度传感器的超限信号,并自动处理,发送信号给加热控制电路,使加热电路按一定的规律工作,让温度逐渐靠近目标温度,并趋于稳定。加热电路工作还是停止,都要通过单片机来控制。单片机发送的信号为高低电平,三极管接受该电平后,就可以控制光耦合器的通断,这样就能够间接控制IGBT的导通时间,使得加热丝断续加热。此方法即为:利用单片机来接收温度传感器采集的数据,并根据采集的数据发出控制信号,控制光耦耦合器的通断,间接控制IGBT的导通占空比,加热丝加热使水温达到目标温度,并趋于稳定。此部分主要研究的内容是:温度传感器对温度的采集、PID算法、直流斩波原理。当电热杯加热时,温度传感器不停地对水温进行采集,同时LCD显示器对水温进行实时显示。此部分研究的内容为LCD显示屏对数据的显示。总体方案设计结构图如图1所示:图1 总体方案设计结构图1.2 设计方案论证与比较根据电热杯的设计要求,本系统主要由电源模块、显示模块、键盘模块、温度采集模块、温度控制模块、时钟与复位电路模块以及报警电路等几个模块组成。为了能够获得最好的设计方案,分别设计了几种方案进行论证。1.2.1 温度检测模块设计在日常生活以及工业生产控制领域中,比较常用的温度传感器有:半导体热敏电阻、热电偶传感器、红外传感器以及数字式温度传感器DS18B20等。这些传感器都有自己的测温原理、优点和缺点,它们适用的领域也不一样,因此,我们要选择一种适合本设计使用的温度传感器,用来完成温度采集这项工作。方案一:半导体热敏电阻利用导体或者半导体材料的电阻率随温度变化的特性制成的温度传感器,叫作热电阻式传感器。它主要用于对温度和与温度有关的参量进行检测。测温范围主要在中、低温区域(-200650)。半导体热敏电阻属于热电阻式传感器的一种。它是利用半导体的电阻值随温度显著变化的特性而制成的热敏元件。它是由某些金属氧化物和其他化合物按不同的配方比例烧结制成的,具有以下一些优点。(1) 热敏电阻的温度系数比金属大,半导体材料可以有正或负的温度系数,根据需要可以选择。(2) 电阻率达,因此可以制成极小的电阻元件,体积小,热惯性小,适合于测量点温、表面温度及快速变化的温度。(3) 结构简单、机械性能好。可根据不同要求,制成各种形状。 热敏电阻的最大缺点是线性度较差,只在某一较窄的温度范围内有较好的线性度,由于是半导体材料,其复现性和互换性较差。 方案二:热电偶传感器 热电偶传感器是一种将温度变化转化为电势变化的传感器。在工业生产中,热电偶是应用最广泛的测温元器件之一。它是由两种不同的金属A和 B构成一个闭合回路,当两个接触端温度不同,即TTo时,回路中产生热电势EAB(T,To),如图2所示。 图2 热电偶热电偶传感器的主要优点是测温范围广,可以在1K至2800的范围内使用,精度高,性能稳定,结构简单,动态性能好,把温度转换为电势信号便于处理和远距离传输。但其也有一些缺点:比如热电势会比较小、灵敏度也会偏低、而且在高温条件下它的机械强度会明显的下降、再者其对污染相当的敏感、某些金属材料也非常的昂贵,因此一次性的投资可能会比较大。方案三:红外传感器红外传感器是如今工业生产以及生活中,各种温度测量仪器当中最前沿、技术最先进的温度量测仪器。其原理是红外线通过对物体发射出的电磁辐射进行远距离的温度量测。其特点是:对非静止的物体即运动物体的温度的量测以及对温度比较会变化的物体的温度的量测会有比较可观的效果。它有一些缺点:如量测时反应不够灵敏,测量精度也不是很高。方案四:数字式温度传感器DS18B20新型的可编程数字式温度传感器DS18B20,它与通常的温度传感器相比,它可以把被测对象的温度直接读出来,在实际的应用中,他可以通过编程很容易的达到912位的读数。它还可以仅通过单线接口来完成对DS18B20内部温度信息的读取以及写入。它具有量测精度高,微型化、低功耗、高性能、抗干扰能力强、易配处理器这些优点,他可以直接把温度转化成串行的数字信号送给单片机处理。它的工作电源可以从远端引入,还能利用寄生电源方式产生。利用热电偶或热电阻作为温度传感器,这类传感器与仪表之间通常要有专用的温度补偿导线,而温度补偿导线的价格比较高,并且线路很长也容易影响到测量温度值的精确度,这是直接以模拟量形式进行采集的不可避免的问题。采用新型的可编程温度传感器DS18B20进行温度检测可以避免热电阻或热电偶作为温度传感器所带来的测量误差过大等问题,并且DS18B20只需要一个I/O口就可以进行通信,它可以以更低的成本和更高的精度实现温度的检测,所以我们选择了方案三。1.2.2 温度控制模块设计方案一:交流调功型控制法交流调功型电路和交流调压型电路形式完全相同,只是控制方式不同。此法不是在每个交流电源周期都对输出的电压波形进行控制,而是将负载与交流电源接通几个整周期再断开几个整周期,由控制器输出的控制量控制接通周波数和断开周波数的比值来调节负载所消耗的平均功率。这种方法可保证主回路在电源波形的过零瞬间导通或关断,负载电压电流都是正弦波,不对电网电压电流造成通常意义上的谐波。但这种方式负载较易收到冲击,控制精度相对较低。方案二:继电器通断控制法此方法的答题控制思路是:在我们的加热电路中加入继电器1与加热器连接,需要制冷时再加一个与制冷设备连接的继电器2。当采集到的温度超过设定温度的上限时,单片机输出控制信号启动继电器2,开启制冷设备制冷;当采集到的温度低于设定温度的下限时,单片机输出信号控制启动继电器1,开始加热。经过一段时间的反复调整后达到设定的温度。这种方法思路比较简单,控制上也比较容易,但是调节时间长,温度控制不稳定,存在波动,属于有差控制。多用在控制要求不高的场合。方案三:交流调压型控制法这种方法是基于可控硅电力控制器的,其思路是:在每个电源周期,温度传感器实时采样水温信号,返回给温度控制器,温度控制器将所测值与给定值比较后得到偏差,经运算后得到控制值输出给可控硅,以控制可控硅的导通角和控制角的比例来改变输出电压平均值,由此达到温控的效果。这种方法输出的连续性比较好,被控参数比较稳定,可以通过变压器、互感器来实现电量反馈来提高性能,所以应用场合很多。但是此法输出的波形为缺角正玄波,在导痛的瞬间可能会产生较大的自感电势。 方案四:直流脉冲宽度调制法这种方法的思路是:将220V交流电整流成直流后,通过斩波电路生成一系列脉冲波。只要改变斩波电路中IGBT(选用全控型)的导通时间和关断时间的比例(占空比)就可以改变加到负载上的平均电压。按不同的控制规律改变占空比就可达到温控的效果。结论:第一种方法实现起来最简单,但是其控制滞后于参数的改变,且有波动,温度不稳定;第二种方法输出波形连续性好,控制稳定,但是得在电源波的每个周期进行控制,且易产生谐波污染电源,成本也高;第三种方法比第二种要简单些,且是在电源波形的过零瞬间接通或关断,不会产生谐波,但是此法对负载有一定要求,而且需要过零检测,精度也相对低一些。第四种方法控制思路简单,控制稳定,所用的全控型器件通、断都易于控制。这种方法不用过零检测,也不会产生谐波。针对本次设计的实际情况与要求,故选择第四种方法。1.2.3 显示模块的设计本设计对显示模块的要求是:不仅要能够显示得两侧对象的实时温度,而且还要能够显示对象温度的实时变化曲线,两者必须可以相互切换。在我们日常生产生活中经常用到的在市场上比较常见的显示器有LED数码显示器、LCD12864液晶显示屏等。方案一:LED数码管LED数码管是各种显示电路中经常用到的显示器之一,它主要有以下一些特点。(1) 驱动电压和驱动电流非常小,与ITL电路、CMOS电路等等都是相互兼容的;(2)反应比较灵敏,能在极短的时间内响应,具有良好的高频时的特性,而且其单色性也不错,具有挺高的亮度;(2) 小巧玲珑的外形,使其具有良好的抵抗冲击的性能;(3) 其使用寿命非常长,可以达到10万小时之上,价格也比较低,在各种数字仪表,计算机等的显示方面使用广泛。 以上都是其优点,它也有一些缺点,如耗电多、但只能显示数字而不能显示文字或者图形。 方案二:LCD12864液晶显示屏LCD12864液晶显示屏是一款带有中文字库的并且含有4位或者8位的并行的、具有2线或者3线的串行的具有好几种接口方式的具有点阵图形液晶显示功能的模块;它具有12864的显示分辨率,内置的16*16点的汉字有8192个,并且16*8点的ASCII字符集也有128个。该种模块具有非常灵活的接口方式并且操作指令也相当的简捷方便,因此全中文的人与机交互的图形界面的构成成为可能。对84行1616点阵的汉字进行显示是其基本功能,显示图形是它的另一大特色功能。它的另一个显著的特点就是功耗比较低。由这个模块所构成的液晶显示方案与相同类型的图形点阵液晶显示的模块相互比较,不管是硬件电路的结构还是显示程序都要简单很多,而且这个模块的价格也要比相同点阵的图形液晶模块低一些。其基本特性有:(1)电源电压比较低,一般在35.5V(2)它的显示的分辨率为12864点 (3)内部具有汉字字库,1616的点阵汉字有8192个(4)内部具有 168点阵字符 128个(5)时钟频率 为2MHZ(6)显示方式有STN、半透和正显 (7)驱动方式:1/32DUTY,1/5BIAS (8)视角方向:6点(9)背光方式为侧部高亮的白色LED,功耗特别低 (10具有串行和并口可选 的通讯方式(11)内部有DC-DC的转换电路,不需要外加负压 (12)不需要片选信号,这样可以使软件设计得到简化(13)工作温度范围比较宽,一般为0 +55 ,存储温度一般为-20 +60由于本设计要求能够显示对象的温度值、温度实时变化曲线以及对汉字显示也做出了要求。 因此,经过综合比较,我们选择LCD12864液晶显示屏来显示温度数据以及温度变化曲线。1.2.4 键盘扫描模块键盘有编码式的键盘以及非编码式的键盘之分。二者在工作原理以及功能特点方面都有一定的区别。方案一:编码式键盘编码式键盘除了自身带有按键之外,它还附带有不可或缺的硬件电路,其按键的ASCII码可以由其自身直接提供,它还具有抖动去除以及具有能够识别多按键的硬件装置。由于它可以把按键的ASCII直接提供出来,因此其软件程序会比较简单,这样在工作时可以为CPU节省更多的时间,但它的硬件电路相对来说会非常的复杂,使用时的灵活性也非常不够。方案二:非编码式键盘对于非编码式键盘来说,能够根据用户的需要由若干个按行、列相互排列,从而构成矩阵开关。对于其来说,其按键之识别、按键之代码以及抖动的去除等都是通过软件编程来完成的。这种类型的键盘其成本会比较的低,并且因其键盘主要由软件来识别闭合键,具有结构简单、使用灵活等特点,因此被广泛使用于单片机系统。我们本着节约成本、要求软硬件电路都能比较容易实现,因此我们最终果断选择了第二种方案,即采用非编码式键盘。组成键盘的按键有触点式和非触点式两种。本系统采用的是由机械触点构成的键盘开关,机械键盘在接触过程中通常会产生抖动,一般可以通过软件设计来完成去抖。按照行列式键盘的结构,按键跨接在行、列线的交叉点上,均有上拉电阻。当无按键被按下时行线处于高电平状态;当有按键被按下时,行线电平发生了改变,即与该键跨接的行、列线瞬间接在一起,如果此时列线送出低电平0,则该行线的电平就变为低电平,通过判断行线电平的状态就可得知是否有键按下。由于行列式键盘中的行、列线多键共用,首先需要对键盘按规定进行编码,然后对行、列线逐次分析,准确识别按键的位置,最后与键盘编码进行比对,准确识别出按键。1.2.5 电源模块的设计在各种工业生产活动中,比较常见的稳压电源有:交流稳压电源、直流稳压电源、逆变式稳压电源以及开关稳压电源。由于本设计系统需要在5V的直流电源下工作,我们最选择直流稳压电源作为本系统的供电电源。 直流稳压电源也就是我们通常所说的直流之稳压器。为其提供电压的通常都是交流电,假如交流之供电电压发生变化,或者说输出之负载电阻发生变化的时候,稳压电源之直接的输出电压一般情况下都会保持在一个比较稳定的状态。直流稳压电源所需要用到的芯片为7805三端稳压IC。以7805的三端稳压IC所组成得稳压电源要用到比较少的外围元器件,其电路的内部往往有过流、过热和调整管等的起保护作用的电路,运用也非常简单方便,花费的成本也不高。由于类似这样的三端固定集成的稳压电路使用起来既简单又方便,电子制作中经常采用,本设计就是采用的7805芯片来实现稳压。东华理工大学(论文) 第2章 硬件设计第2章 硬件设计2.1 系统控制框图本系统的控制框图如图3所示,其中被控量为温度、给定量为我们设定的“目标温度”、单片机作为控制器、执行机构为IGBT、被控对象为电加热杯、DS18B20温度传感器作为测量变送装置。系统工作原理为:来自温度传感器所测得的水温的瞬时值与目标温度进行比较,经过单片机的分析与处理,按照PID算法进行控制,控制执行机构IGBT的导通与断开,从而控制电加热杯是否加热,最终达到温度控制的目的。图3 系统控制框图2.2 被控对象-电热杯温度控制系统的被控对象是一个容量为2L、额定电压为220V的电热杯,它的杯体是绝缘的,其加热丝能够与加热控制电路相连接。电热杯内加满水后,只要接上220V电压就能正常工作。当温度达到设定值时,要保持电热杯中的水温基本不变的条件是:输送给电热杯中水的热量和输出的热量相等。此时电热杯中水的温度保持不变。由于本电热杯的加热原理是:利用电阻元件通电发热的原理,然后通过热传递,热量由温度高的加热丝传递给电热杯中的水;不断地给加热丝加热并同时进行热传递,最终达到让水温升高的目的。本电热杯在安全性方面的设计也很有特点:杯体分为两层,杯体内部采用的是不锈钢材质,这样可以加快热量的传递,时水温升高的比较快,既省时又省电;外面一层采用的是耐高温的安全型塑料,一方面它可以起到绝缘的作用,另一方面还有绝热的作用,这让我们使用起来不仅方便、安全,而且保温效果也比较好。本电热杯还有一个设计特点,就是为DS18B20测温探头预留了孔位,方便测温。2.3 温度检测温度检测是本设计系统的一个重要环节,我们选用DS18B20温度传感器作为温度检测的元件。DS18B20温度传感器工作原理框图如图4所示: 图4 DS18B20温度传感器工作原理框图低温度系数晶振的振荡频率受温度影响很小,它用于产生固定频率的脉冲信号送给计数器1。高温度系数晶振随温度变化其振荡频率明显改变,所产生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被预置在-55所对应的一个基数值。计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。温度检测电路模块如图5所示。其中 DQ作为数字信号的输入/输出的端口;GND 为电源接地地;VCC 是外接电源的输入端。 图5温度检测电路数字信号输入输出端口接单片机P2.5,温度传感器检测到的温度就是通过该端口传送给单片机,然后由单片机分析处理。该电路还必须接一个4.7K的上拉电阻,以增强其驱动能力。DS18B20的上拉电阻的阻值是一个需要注意的参数,如果DS18B20放置的位置离电路板较远,需要用较长的电缆来连接时,上拉电阻要相应减小,以弥补线路损耗,而且连接电缆要选用优质的三芯带屏蔽层的电缆,否则不能正常读写数据。2.4 执行环节所谓的执行环节就是系统的加热控制部分,其主要的功能元件为IGBT。它是一种电压型控制器件,它所需要的驱动电流跟驱动功率都非常小,可直接与模拟或数字功能块相接而不须加任何附加接口电路。它和普通三极管一样,可工作在线性放大区、饱和区和截止区,它主要是作为开关器件来应用。其控制端口通过合适的驱动电路与单片机相连,这样就可以通过单片机来控制它的导通与断开,从而控制电加热杯是否加热。使IGBT开通的栅射极驱动电压一般取1520V,所以我们选用输出电压为15V的驱动电压来驱动IGBT,为了满足我们的设计要求我们采用M57962L型IGBT驱动器作为器驱动,其原理图如图6所示:图6 M57962L型IGBT驱动器原理图M57962L具有高速的输入输出隔离,输入电平与TTL电平兼容,适于单片机控制;内部有定时逻辑短路保护电路,同时具有延时保护特性;采用双电源供电方式,使IGBT更可靠地通断。其相应的电路图如图7所示:图7 IGBT驱动电路其工作过程为:电源接通后,首先检测IGBT是否有过载与短路现象,若有,则IGBT的C极电位升高,经外接二极管VD1流入检测电路的电流增加,栅极关断电路动作,切断IGBT的栅极驱动信号,同时在“8”脚输出高电平报警信号。IGBT正常时,输入信号经光电耦合,接口电路,再经驱动级功率放大后驱动IGBT。可是其工作过程需双电源供电,且通电后或保护复位后均须一定的自检时间(12s),在工作频率或控制精度较高的场合需引起注意。温度控制本次设计所采用的控制方式是直流脉冲宽度调制法,加热丝接在Uo两端;IGBT的信号控制管脚通过驱动电路接到单片机的P2.6,用于接收单片机的高低电平控制信号。此法就是通过控制全空型器件IGBT的导通和关断来控制接在加热丝两端的电压,从而达到温度调节的效果。其原理如图8所示: 图8降压斩波电路降压斩波原理图如图8,当VT1导通,电源向负载供电,则Uo= Ui,负载电流按指数曲线上升;当VT1关断,负载电流经二极管VD1续流,负载电压近似为0。负载电流按指数曲线下降。为了使负载电流连续且脉动小,通常串接L1值较大的电感。 2.5 单片机模块单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统。对51系列单片机来说,最小系统一般应该包括:单片机、晶振电路、复位电路。如图9所示为本设计系统的单片机的最小系统电路图。 图9 单片机最小系统复位电路:有电容串联电阻构成,由图并结合电容电压不能突变的性质,可以知道,当系统一上电,RST脚将出现高电平,并且这个高电平持续的时间由电路的RC值来确定。典型的51单片机当RST脚的高电平持续两个机器周期以上就将复位,所以适当组合RC的取值就可以保证可靠复位。复位电路的原理是单片机RST引脚接收到2s以上的电平信号,只要保证电容的充放电时间大于2s,即可实现复位,所以电路中的电容值是可以改变的。按键按下系统复位,是电容处于一个短路电路中,释放了所有的电能,电阻两端的电压增加所引起的。时钟电路:典型的晶振取11.0592MHz,用于有串口通迅的场合。单片机模块接线图如图10所示:图10 单片机接线图按照单片机I/O口的分配,将各个模块分别接在单片机相应的I/O口线上,单片机上电复位后,各模块就可以根据各子程序的执行而执行相应的动作。在单片机的精确控制下,各模块都按照一定的控制规律有序且稳定的工作,从而最终达到控制水温的目的。2.6 键盘与显示单片机所用的键盘有编码键盘和非编码键盘之两种。1. 编码键盘本身除了按键之外,还包括产生键码的硬件电路。只要按下编码键盘的某个键,他就能够产生该键的代码,并称为键码。与此同时还产生一个脉冲信号,以通知CPU接受键码,编码键盘的优点是使用比较方便,亦不需编写太复杂的程序。其缺点是使用的硬件电路较复杂。2. 非编码键盘的按键是排成行、列矩阵形式的。按键的作用仅仅是简单的实现节点的接通或断开,因此必须有一套相应的程序与支配合,才能产生相应的键码,非编码键盘几乎不需要附加什么硬件电路。因此为了简洁电路,我们使用非编码键盘。但使用非编码键盘还需要使用软件来解决按键的识别,防抖动以及如何产生键码的问题。用单片机的并行口P1接4*4矩阵键盘,以P1.0P1.3作输入线,以P1.4P1.7作输出线。每个按键有它的行值和列植,行值和列植的组合就是识别这个按键的编码,通过编码去做相应的处理。键盘电路如图11所示: 图11 键盘电路图中各个按键的功能定义如下。 复位键:按下复位键,对所有硬件进行复位操作;设定键:按下设定键,可以对目标温度、报警温度上下限进行设定;09键:当按下设定键后,可以利用数字键方便简捷地进行温度设定;取消键:如果不想对当前参数进行更改,则可以按下该键取消更改。确定键:当要更改参数时,按下“确定”键进行确认后才能产生效果,否则无效;其中设定键与单片机的INT0引脚相连接09、确定、取消等键采用四行四列的方式连接单片机P0口,复位键可以实现硬件复位的功能,与R、C 构成复位电路。由于按键是机械触点,当机械触点闭合和断开时,触点会存在抖动现象,为了准确的判断每次有效按键,对每次按键只做一次响应,就必须考虑消除抖动。在此我们选用双稳态去抖法使用两个与非门构成RS触发器电路实现按键去抖,其去抖电路如图12所示: 图12 去抖电路 本设计的显示部分要求能够对水温进行实时显示,因此显示元件的选择非常重要。若用数码管来显示时间温度的数据操作会比较方便,但是这种方式需要用到的数码管数量比较多,占用的I/O口也就自然而然的变多了,这样就会造成I/O口的利用率不高的现象;而如果用LCD来显示,虽然在编写程序是在一定程度上比数码管显示程序编写要稍微的复杂一些,但是它占用的I/O资源相对来说会比较的少,并且能显示出来的内容要比数码管显示的内容丰富很多,不仅能显示温度数值还能显示英文字符。LCD12864液晶显示器能够满足本设计要求,它不仅可以显示温度数值,而且还能够显示温度的实时变化曲线。它还能够显示1616的点阵汉字字形。其引脚DB0DB7分别接单片机的P0.0P0.7;使能信号引脚E接单片机P2.1接口;P2.2接显示屏的读写信号引脚;片选信号CS1、CS2分别接P2.5、P2.4接口,其与单片机的引脚连接如图13所示:图13显示屏与单片机引脚连接 2.7 电源设计由于本设计所用到的电压有+5V、+15V和-10V的,所以必须设计出既能输出+5V、+15V的又能输出-10V的电压。其电路图如图14所示:图14 电源电路本电源电路相当于一个直流稳压电源,需要用到7815稳压管、7805稳压管以及7912稳压管。直流稳压电源是一种将220v工频交流电转换成稳压输出直流电压的装置,它主要由电源变压器、整流电路、滤波电路、稳压电路这四部分电路组成,其原理图如图15所示图: 图15稳压电路原理 (1)电源变压器:是降压变压器,它将电网供给的交流电u1(220v、50Hz)降压后,得到符合电路需要的交流电压u2,并送给整流电路。 (2)整流电路:利用单向导电原件,把50Hz的正弦交流电u2变换成方向不变、大小随时间变化的脉动电压u3。 (3)滤波电路:可以将整流电路输出电压u3中的交流分量大部分滤除,从而可以得到比较平直的直流电压uI。 (4)稳压电路:但上述直流输出电压uI,还会随交流电网电压的波动或负载的变动而变化,在对直流供电要求较高的场合,还需要使用稳压电路,以保证输出电压更加稳定。稳压电路就能满足使输出的直流电压Uo更加稳定的要求。其中7815稳压电路和7912稳压电路所得到的输出电压主要用于IGBT的驱动电路。7912稳压电路得到的输出电压要经过分压,得到一个-10V电压用于IGBT驱动电路。7805稳压电源所得到的输出电压为+5V,主要给单片机以及各模块提供工作电压。东华理工大学(论文) 第3章 软件设计第3章 软件设计3.1 编写程序语言的选择汇编语言是一种面向机器的语言,它能够直接管理和控制硬件设备,占用的存储空间比较小,运行效率高,属于低级语言,脱离不开具体的的机器硬件,因此缺乏通用性,可移植性差。即使完成较简单的工作也需要大量汇编语言代码,易产生bug,难于调试,同时编程人员必需对对单片机的硬件和指令有深入的了解。C语言是一种计算机程序设计语言,同时具有高级语言和汇编语言的特点。C语言简洁紧凑、灵活方便、运算符和数据类型丰富、可移植性好、表达力强。由于C语言程序比用汇编程序更符合人们的思考习惯,且较易调试,故本系统采用C语言编写方法。3.2数字PID控制原理数字PID算法是用差分方程来近似实现的,用差分方程表示的PID控制规律的理想算式是: U(t)=Kpe(t)+1/Tie(t)dt+Tdde(t)/dt (1)单片机只能处理数字信号,上式可等价于: Un=Kpen+T/Ti+Td/T(e(n)-e(n-1) (2)写成递推公式: Un=Un-1+Kpen-e(n-1)+T/Tie(n)+Td/T(e(n)-2e(n-1)-e(n-2) (3) 其中,Un为第n次的采样值,Un-1为第n-1的采样值,en为第n次采样的偏差量;e(n-1)为第n-1次采样的偏差量;T为采样周期;Ti为积分时间;Td为微分时间;Kp为比例系数。3.3 单片机的资源分配3.3.1 I/O口的分配P0.0P0.7用于控制LCD12864对温度的显示,P1.0P1.3控制键盘的输入线,P1.4P1.7控制键盘的输出线,P2.0用于接收温度传感器DS18B20传来的温度信号以及控制传感器进行采样,P2.1使能端口,P2.2控制LCD12864进行读写操作,P2.3控制LCD显示数据或温度曲线,T0用于定时温度采集,T1用于控制IGBT,外部中断0用于键盘扫描。3.3.2 定时计数器的分配定时/计数器T0:工作方式为16为的定时器(定时器方式,方式1),用于温度采集模块,定时6S,每隔6S采集一次温度数据。定时/计数器T1:工作方式为16位的定时器(定时器方式,方式1),用于加热控制模块,控制IGBT的通断。3.3.3 外部中断的使用分配外部中断0():定义为电平触发方式,低电平有效,用于键盘扫描模块,当有按键按下时引脚上出现低电平,向CPU请求中断,通过键盘扫描程序进行按键识别。3.4 系统设计流程图本系统主要分为测温模块、显示模块、键盘扫描模块以及温度控制模块,各个模块的程序流程图如下所示:主程序流程图如图16所示: 图16 主程序流程图系统上电后,系统初始化,设定PID参数、定时器赋初值,12864LCD显示初始字幕,之后就开始判断是否有按键被按下,若无按键按下,则继续判断;若有按键按下,则判别按下的是什么键,然后进入相应的子程序,直到结束。43东华理工大学(论文) 第3章 软件设计键盘扫描模块程序流程图如图17所示: 图17 键盘扫描采用中断的方式进行键盘扫描。当扫描到有键被按下时,执行相应的去抖程序,进行去抖,在执行相应的子程序就能找到并识别按键。定时器T0主要用于定时温度检测,程序流程图如图18所示: 图18 定时温度采集流程图温度检测我们采用定时的方式,利用定时器T0,设定定时时间为6S,即每6S DS18B20进行一次温度检测,然后将检测得到的温度值送给单片机进行分析处理。定时器T1主要用于控制IGBT的导通时间,程序流程图如图19所示: 图19 IGBT控制流程图IGBT的导通时间就是电热杯的加热时间,定时器T1可以用于IGBT的导通定时,从而控制电热杯加热。DS18B20温度检测流程图,如图20所示: 图20 DS18B20温度采集流程图单片机上电后,DS18B20进行复位,然后开始测温,所测温度值可以直接读出,最后传给单片机进行分析处理。东华理工大学(论文) 第4章 调试部分 第4章 调试部分4.1 调试方案本设计的调试部分主要分为:各个子模块的调试和系统调试。其中子模块的调试主要是在该模块设计好之后,根据该子模块要达到的的要求以及功能进行单独的调试,只有当各个子模块的功能都达到要求后才会进行系统调试。所谓系统调试,就是将所有子模块按照单片机的资源分配组合在一起,看整个系统能否按照当初的设计要求正常工作。我们调试的原则是“先设计好一个模块,马上进行调试,有问题就马上修改,在调试”,反复的调试,直到达到设计要求为止。4.2 调试方法和软件调试所用到的仪器有:、温度计、数字万用表、手表、proteus等。 温度计是用来测量水温的,将其所测得的数值与DS18B20相比较,就可以初步得出本设计测温部分的测量精度;数字万用表则主要用于测试个部分电路中的电阻、压降、电流等与电相关的参数;手表用于测试从常温加热到目标温度所需的时间;proteus则用于软件仿真。东华理工大学(论文) 结论 结论我们设计的温度控制系统是基于AT89C51单片机来实现的,它不仅可以对当前水温进行实时的显示,而且还可以根据使用者的需求做出相对应的控制动作。本设计控制系统采用的是闭环的控制系统,工作时的稳定性比较高,控制的精度也相对来说比较的高,采用PID控制算法能够在很大程度上降低了系统的超调量。本设计的硬件以及软件部分都采用模块化的结构来设计,本设计的通用性也比较好。本设计的目的不仅仅是为了温度控制电路而设计的,我们还设计了几个单片机的外围模块电路,包括软件的、硬件的。本设计用到了我们大学期间学到的很多知识,如:主控制芯片的选用与设计用到了单片机原理与应用的相关知识,软件程序的设计用到了C程序设计的相关知识;在硬件设计方面主要用到了数字电子技术基础和模拟电子技术基础的相关知识。本设计存在的一些缺陷有:工作电压低,导致加热功率低,加热时间长;没有报警电路,通常情况下无法知道及时水温已超限等;加热控制电路中IGBT无保护电路,容易烧坏。对于我们学生来说,最重要的并不是要把实物给做出来,而是要掌握整个设计、系统的工作原理,要有自己的思想。通过本次设计,我们又对大学期间学过的许多知识进行了温习与回顾,再一次检测了我们对所学知识的理解与吸收情况,让我们对学会的知识有更深层次的理解与认识、以前没有搞懂的问题点也得到了解决。东华理工大学(论文) 致 谢致 谢在与我的搭档的共同努力下,还有多位同学的真诚帮助下,特别是在钱敏老师的大力支持以及巧妙点化下,经过两个多礼拜的日夜

温馨提示

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

评论

0/150

提交评论