课程设计:基于51单片机的多点温度控制系统设计说明书.doc_第1页
课程设计:基于51单片机的多点温度控制系统设计说明书.doc_第2页
课程设计:基于51单片机的多点温度控制系统设计说明书.doc_第3页
课程设计:基于51单片机的多点温度控制系统设计说明书.doc_第4页
课程设计:基于51单片机的多点温度控制系统设计说明书.doc_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

基于51单片机的多点温度控制系统设计摘 要:针对目前壁挂炉采暖中温度控制不准确的现状,以单片机为控制中心,采用dalias公司的“一线总线”数字化温度传感器dsl8820以及脉冲控制器件,设计一款多点测温及温度控制系统;系统能够同时测量多点温度,并根据温度设定实时控制各回路通断及壁挂炉的燃烧与停止,从而进一步提高居室的舒适性及采暖系统的经济性。随着生活水平的提高,人们对家居需求由面积需求变为舒适需求。地板采暖采用辐射方式供暖,符合人体生理需求曲线,如果控制系统选取得当,不仅可以提高房间舒适度,更可以使系统运行费用降低许多。如今一般是在典型位置安装一个温控装置,温控装置连接到壁挂炉,温控器根据室温和温度设定直接控制锅炉运行,各房间不同回路由工作人员凭经验手动调节分水器球阀,改变不同回路的流量,从而达到调节各房间的室温的效果。使用这种控制方法,即使是有经验的工作人员,也难以调节得十分准确,何况各家庭成员由于年龄不同,所需舒适温度不同,需要经常对室温进行调节。针对以上问题,利用sst89e564rc单片机及新型测温器件设计了多点温控采暖控制系统,根据室内各点温度设定实时控制采暖系统,从而提高居室的舒适性以及采暖的经济性。1 系统设计目标系统总体设计思想是以sst89e564rc单片机为控制核心,整个系统硬件部分包括温度检测部分、控制执行部分、显示及键盘系统及最小系统基本电路。系统利用单片机获得温度传感器数据并与系统设计值进行比较,根据比较结果分别控制执行系统。温度控制系统控制框图如图1所示。2 系统硬件设计根据系统所需完成的功能,设计系统硬件结构如图2所示。21 控制核心系统采用sst89e564rc单片机作为控制核心,进行温度采集、信息显示及执行机构的控制。sst89e564rc是美国sst公司推出的高可靠、小扇区结构的flash单片机,内部嵌入72 kb的super-flash,1 kb的ram,通过对其ram做进一步扩展,可满足嵌入系统操作系统的运行条件。22 温度传感器温度传感器采用dallas半导体公司的数字化温度传感器dsl8820。该传感器支持“一线总线”接口,可方便地进行多点温度测量,还可以程序设定912位的分辨率,最高精度为0062 5,分辨率设定及用户设定的报警温度存储在e2prom中,掉电后依然保存。该产品支持355 v的电压范围,因其体积小使系统设计更灵活、方便。dsl8820的管脚排列如图3所示,其中dq为数字信号输入输出端;gnd为电源地;vdd为外接供电电源输入端。dsl8820内部结构主要由4部分组成:64位光刻rom、温度传感器、非挥发的温度报警触发器th和tl、配置寄存器。光刻rom中的64位序列号是出厂前被光刻好的,它可以看作是该dsl8820的地址序列码。光刻rom的作用是使每一个dsl8820都各不相同,这样就可以实现1根总线上挂接多个dsl8820的目的。dsl8820温度传感器的内部存储器包括9 b高速暂存ram和1 b非易失性的可电擦除的e2prom,后者存放高温度和低温度触发器th,tl和结构寄存器,该字节第7位(tm)为0,低5位一直都是1,第6,5位(r1,r0)用来设置分辨率,如表1所示。根据dsl8820的通信协议,主机控制dsl8820完成温度转换必须经过3个步骤:每一次读写之前都要对其进行复位,复位成功后发送1条rom指令,最后发送ram指令,这样才能对dsl8820进行预定的操作。复位要求主cpu将数据线下拉500s,然后释放,dsl8820收到信号后等待1660s左右,后发出60240s的存在低脉冲,主cpu收到此信号表示复位成功。由于dsl8820采用的是单线进行控制与读取数据,因此对操作的时序要求非常严格,否则由于时序不匹配,将无法完成对器件的正确操作。23 控制执行那分(1)壁挂炉燃烧系统控制。控制电路采用了脉冲继电器器件作为整个系统的总控部分,当所有居室温度均达到设定值时,停止壁挂炉的工作。该继电器的特点是:当线圈收到一个脉冲信号后,线圈通电,电磁铁吸合,带动触头闭合接通需要控制的电路,当下一个信号到来后,电磁铁吸合,触头断开,切断被控制的电源,因此其具有自锁和信号遥控功能。由于磁铁的作用,控制脉冲消失后滑片位置不发生变化,保持稳定状态,所以该器件具有功耗小、具有记忆功能。(2)居室温度控制。各居室温度控制在燃烧控制系统工作前提下,根据各居室温度测量返回值,采用上海欧凯电磁阀制造有限公司生产的ok6515自保持脉冲电磁阀控制各回路的通断。脉冲电磁阀采用脉冲和永磁技术,只需通过控制器切换脉冲的电极触点来改变电磁阀的开关状态,当控制器发出电脉冲时,驱动阀芯克服永磁力产生上下移,使阀瓣到位后在永磁作用下处于自保持状态。24 图形液晶显示模块为了能够提供形象直观的用户显示界面,系统采用图形液晶显示模块lcdl2864,其具有8位标准数据总线、6条控制线及电源线,可与cpu直接接口,显示各种字符及图形。考虑到系统中汉字的使用量少,因此选用不带汉字库的lcd。对于使用的汉字分别提取其字模并以二进制形式保存于内部flashrom中。3 系统软件设计系统软件设计主要依据系统程序流程以及dsl8820的时序要求进行代码编写。为了降低开发难度,提高开发效率,系统开发中引入了cos一嵌入式操作系统并移植了lcd显示驱动。另一方面,为了确保对dsl8820操作时序的精确性,对dsl8820进行初始化和读写代码仍采用汇编语言。31 系统数据结构系统所需数据结构包括各测温元件的序列号表,汉字字模存储、系统运行时间表存储、各温控点的设定值及测量值、系统时间的存放及一些临时数据存储。为了区别多个温度传感器,在系统初始化时读入传感器中的64位序列号,并将其存入程序存储空间,以便程序运行期间进行比对,共需64 b。汉字字模采用1616字库进行提取,其中每个汉字需32 b,约15个字,为了方便程序功能的升级改进,在程序存储空间中按20个字进行空间分配,需要存储空间640 b。系统运行时间表的设计以小时为设置单位,需要保存24个值;为了减少时间比较过程中的数据计算量以及方便编程,对每个值采用一个字节存储,这里共需24 b存储空间,这里仍然使用程序存储空间进行存储,以便在系统掉电时设定值不会丢失。32 系统程序设计系统程序设计主要使用keilc5l进行编写,但由于对dsl8820器件的读写时序要求比较严格,故采用汇编代码,其中温度读取子程序主要代码如下:4 结 语微型计算机在智能化电器发展中起着至关重要的作用,而单片机经济实用、开发简便,因而在工业控制、家电智能化等领域占据了广泛的市场。这里针对目前温度控制器现状设计了一种新方案,利用单片机及新型测温器件设计了一种多点温控采暖控制系统,该系统能够同时测量多点温度,并根据温度设定实时控制各回路通断及壁挂炉的燃烧与停止,从而进一步提高居室的舒适性以及采暖系统的经济性。 第一章 绪论1.1 概述随着现代工业的逐步发展,在工业生产中,温度、压力、流量和液位是四种最常见的过程变量。其中,温度是一个非常重要的过程变量。例如:在冶金工业、化工工业、电力工业、机械加工和食品加工等许多领域,都需要对各种加热炉、热处理炉、反应炉和锅炉的温度进行控制。然而,用常规的控制方法,潜力是有限的,难以满足较高的性能要求。采用单片机来对它们进行控制不仅具有控制方便、简单和灵活性大的优点,而且可以大幅度提高被测温度的技术指标,从而能够大大提高产品的质量和数量。因此,单片机对温度的控制问题是一个工业生产中经常会遇到的控制问题。1.2 课题分析单片机温度控制系统,是利用单片机作为系统的主控制器,测量电路中的温度反馈信号经a/d变换后,送入单片机中进行处理,经过一定的算法后,单片机的输出用来控制可控硅的通断,控制加热炉的输出功率,从而实现对温度的控制。本单片机温度控制系统的具体指标要求是,对加热器加热温度调整范围为6001000,温度控制精度小于3,系统的超调量须小于15%。软件设计须能进行人机对话,考虑到本系统控制对象为电炉,是一个大延迟环节,且温度调节范围较宽,所以本系统对过渡过程时间不予要求。单片机是一种集cpu、ram、rom、i/o接口和中断系统于一体的器件,只需要外加电源和晶振就可以实现对数字信号的处理和控制。本设计运用mcs-51系列单片集中的8051单片机为主控制器,对加热炉的温度进行智能化控制,最终通过软件设计来实现人机对话功能,实现对加热炉的温度控制。本论文主要介绍单片机温度控制系统,内容主要包括:采样、滤波、键盘显示、加热控制系统,单片机mcs-51的开发及系统应用软件的开发等。全文共分五章。第一章绪论介绍课题背景、目的、意义及设计的总体思路。第二章介绍主控电路核心部分mcs-51单片机8051的基本结构和配置。第三章介绍a/d采样技术和数字滤波技术。第四章介绍以pid为主的温度控制算法及系统加热控制系统。第五章主要是系统软件编程。1.3 设计思路根据系统具体指标要求,可以对每一个具体部分进行分析设计。整个控制系统分为硬件电路设计和软件程序设计两部分。硬件电路见附录。分析硬件电路主要包括:加热及控制电路部分,数据采集和模/数(a/d)转换处理部分,键盘和显示器部分,单片机与各部分的接口处理部分。这些可用一个方框图来表示,如图1-1所示,显然,这是一个典型的单反馈控制系统。图 1-1 单片机温度控制系统框图从框图上我们可以看出,整个系统也可划分为控制电路部分、加热电路部分和测量电路三部分。控制电路是由单片机来处理给定信号和反馈信号,发出相应的指令来控制可控硅,是系统的核心。8051对温度的控制是通过可控硅调功能电路实现的。在给定的周期t内,8051只要改变可控硅管的接通时间便可改变加热丝的功率,从而达到调节温度的目的。而可控硅的接通时间可以通过可控硅极上触发脉冲控制。该触发脉冲由8051用软件在p1.3引脚上产生,受过零同步脉冲同步后经光耦合管和驱动管输出送到可控硅的控制极上。过零同步脉冲是一种50hz交流电压过零时刻的脉冲,可使可控硅在交流电压正弦波过零时触发导通。该脉冲一方面作为可控硅的触发同步脉冲加到控制电路中,另一方面还作为计数脉冲加到8051的t0和t1端。加热电路用来实现对系统的升温加热达到预定的温度。当温度没有达到要求,控制电路利用双向可控硅的通断特性来决定加热电路的通电与断电。测量电路功能为将测量到的信号经过处理变成数字信号送入单片机中进行处理。主要由温度检测和变送器组成。温度检测元件和变送器的类型选择和被控温度及精度等级有关。镍络/镍铝热电偶(2001000)适用于01000的温度测量范围,相应输出电压为0mv41.32mv。变送器由毫伏变送器和电流/电压变送器组成:毫伏变送器用于把热点偶输出的0mv41.32mv变换成0 ma10 ma范围内的电流;电流/电压变送器用于把毫伏变送器输出的0 ma10 ma电流变换成0 v5v范围内的电压。 为了提高测量精度,变送器可以进行零点漂移。本次设计的温度控制范围为6001000之间,温度误差要求在3左右,系统超调量不超过15%,采用8位转换器adc0809就可以使温度误差保持在2.34以内,满足设计要求。除上述电路,8051还要有81552732和adc0809等芯片接口电路。其中8155用于键盘/led显示器接口,2732可以作为8051的外部rom存储器,adc0809为温度测量电路的输入接口,用于把连续变化的信号进行离散化。最终再通过控制电路中的键盘显示器电路实现人机对话功能。软件设计主要由温度控制的算法和温度控制程序组成。软件设计主要为控制器部分,即温度控制系统,采用pid算法,其原理是先求出实测炉温对所需炉温的偏差值,而后对偏差值处理而获得控制信号去调节加热炉的加热功率,以实现对炉温的控制。pid基本可满足系统要求。程序设计是本次设计的核心部分。整个程序包括管理程序和控制程序两部分。管理程序是对显示led进行动态刷新,控制指示灯,处理键盘的扫描和响应,进行掉电保护,执行中断服务程序等。控制程序是用来对被控进行采样,数据处理,根据控制算法进行计算和输出等。、 传感器选择 常用的温度检测元件主要有热电偶、热电阻、热敏电阻等。热电偶主要是利用两种不同金属的热电效应,产生接触电势随温度变化而变化,从而达到测温的目的。测量准确,价格适中测温范围宽,线性度较好。但其输出电压受冷端温度影响,需要进行冷端温度补偿,使电路变得复杂,在本题中并非最佳方案。 热敏电阻由金属氧化物或半导体材料制成,灵敏度高、热惰性小、寿命长、价格便宜。但其测量的稳定性和复现性差,测量精度无法满足本题发挥部分0.2的要求。而且线性度差,需要进行查表线性拟合,大大浪费控制器的资源,因此不能选用。 热电阻是利用金属的电阻率随温度变化而变化的特性,将温度量转化成电阻量。其优点是准确度高,稳定性高,性能可靠,热惯性小、复现性好,价格适中。但电阻值与温度是非线性关系,pt100热电阻,当0t850时可用下式表示: 其中a=3.908310-3 /;b=-5.77510-7 /;由此可见,温度越高非线性误差越大,本题目要求温控范围是4090,温度较低。经计算当温度为90时,非线性误差为0.34%,运用最小二乘法适当的进行零点和增益的调整,还可使此误差降低一倍,而本题要求精度为,0.2/90=0.22%,因此在本题中可以选用pt100热电阻,并可近似将其电阻值与温度看作线性关系。 2、 放大电路 热电阻所测得的是电阻量,需要转化为电压量才能被控制器采集。最基本的电阻-电压转换电路是将其与另一固定电阻串联,但这种方法,当温度为量程下限时输出不为零,这样不利于小信号的放大和提高a/d转换的精度。因此,本作品采用桥路测量,电路如图2所示: 其中r1r2为10k固定电阻,rt为热电阻,rw2为调零电阻,由于 ,因此上下两支路电流相等,并保持恒定不变,输出电压 ,可调整rt0=rw2,使得 由于在桥路中r1很大,使得输出量uo变化很小,当rt从0到100变化时,输出仅有十几毫伏,因此还需要进行小信号放大。本作品所用低频增益可调放大电路如图3: 其中rw1为增益电阻,用于调整测量满量程,运放采用低噪声ne5532,令r1=r2,r3=r4,r5=r6,则该放大电路总增益为 ,当rw1从0到50k变化时,av的变化范围为150至+,满足所需增益要求。 3、 a/d转换 题目所要求测量度精度为0.2,测温的范围应该为室温到要求的最高温度,即2090,这就决定了a/d转换的最低分辨率不低于0.2/(90-20)=1/350,而普通八位a/d转换芯片只能达到1/256,不能满足要求。而如果选用更高位的芯片,将大大增加成本。温度是一种变化时间常数较大的物理量,对a/d转换速度要求不高,因此,在设计中选用了压控振荡器,先将电压信号转化为频率量,再通过控制器的计数功能转化为数字信号,这样可以大大提高精度,节约成本。 压控振荡器如图4所示: 电容器c1充电周期为 ,放电周期为 ,由于 所以 ,所以其振荡频率可近似看作与输入电压ui成正比。但当频率较高时,仍有较大(约为5%)非线性误差,不能满足题目要求。因此,在作品中利用fpga的优点,该测频率为测正脉冲宽度,再通过单片机求倒数,这样即可完全消除非线性误差。 4、 控制器 对水温的反馈偏差控制,就必然用到经典控制理论中的pid(proportional integral and derivative比例积分微分)控制,控制器可有多种选择,如模拟电路、单片机、逻辑器件等。 模拟电路控制可对偏差变化进行连续的控制,技术成熟,性能较稳定。但其缺点是不便于显示,调整pid参数需更换元器件,易受到外界干扰等,在现在这个数字化高度发展的时代已趋于淘汰。 单片机作为微型计算机的一个分支,已有二十多年的发展,在各控制领域都有广泛的应用。而近年以fpga(现场可编程门阵列)为代表的可编程逻辑器件异军突起,其优异的性能大大弥补了单片机响应速度慢、中断源少的缺点。但fpga的运算能力有限,因此,在我们的设计中采用fpga与单片机相结合的控制方式,二者优势互补,性能大大提高。 在本作品中,fpga主要负责接收压控振荡器的信号,通过测量其正脉宽而获得电压量;单片机接收fpga发送的数据,进行显示、pid运算,和输出。 5、 输出驱动电路 控制器将其pid运算的结果转化为不同占空比的脉冲信号输出,该信号作用于执行机构还需要经过驱动电路。 本作品中采用交流调功电路,即将负载与交流电源接通几个周波,再断开几个周波,通过改变开通与断开周波的比值来调节负载所消耗的平均功率。具体实现电路如图5。 将220v/50hz的市电,经电阻分压到5v以下,输入运放的同相输入端,运放作为过零比较器,当市电过零时,产生跳变,运放输出送到d触发器的时钟端,d触发器的输入接单片机输出的脉冲信号,输出接双向晶闸管的门极。这样,只有当交流电过零时,单片机的输出信号才对晶闸管产生作用,也就是说,只有当交流电过零时,晶闸管才能开通或关断。这样可以大大减小开通关断过程中对晶闸管的冲击,减少开通关断损耗。 二、 控制器软件设计 1、 fpga程序设计 在本作品中,fpga的主要功能是测量压控振荡器输出高脉宽的时间。由于压控振荡器的频率较低(0,则输出脉冲的占空比增加1%,反之减小1% 为了确定pid参数,根据容器加热、传热的公式,列出加热容器的微分方程,经拉氏变换后得到一个一阶滞后环节,其传递函数约为 ,对整个控制回路用matlab中的simulink工具箱进行方针,其框图如图8 图中step为输入阶跃给定信号,step1为干扰量,a中存储输出占空比,scope显示输出波形(图9a),scope1显示占空比值(图9b)。 图9a 图9b 当t=10时刻,给定值输入阶跃量,t=100时刻,输入干扰阶跃量。由此可见,本系统可以以较小的超调和较短的调节时间达到稳定状态,并对于干扰有较好的控制作用。摘 要:本文从硬件和软件两方面介绍了mcs-51单片机温度控制系统的设计思路,对硬件原理图和程序框图作了简捷的描述。关键词:mcs-51单片机;温度;软硬件;硬件原理图;程序框图;设计0引言 在现代化的工业生产中,电流、电压、温度、压力、流量、流速和开关量都是常用的主要被控参数。例如:在冶金工业、化工生产、电力工程、造纸行业、机械制造和食品加工等诸多领域中,人们都需要对各类加热炉、热处理炉、反应炉和锅炉中的温度进行检测和控制。采用mcs-51单片机来对温度进行控制,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大提高产品的质量和数量。因此,单片机对温度的控制问题是一个工业生产中经常会遇到的问题。本文以它为例进行介绍,希望能收到举一反三和触类旁通的效果。1硬件电路设计 以热电偶为检测元件的单片机温度控制系统电路原理图如图1所示。 1.1 温度检测和变送器 温度检测元件和变送器的类型选择与被控温度的范围和精度等级有关。镍铬/镍铝热电偶适用于0-1000的温度检测范围,相应输出电压为0mv-41.32mv。 变送器由毫伏变送器和电流/电压变送器组成:毫伏变送器用于把热电偶输出的0mv-41.32mv变换成4ma-20ma的电流;电流/电压变送器用于把毫伏变送器输出的4ma-20ma电流变换成0-5v的电压。 为了提高测量精度,变送器可以进行零点迁移。例如:若温度测量范围为500-1000,则热电偶输出为20.6mv-41.32mv,毫伏变送器零点迁移后输出4ma-20ma范围电流。这样,采用8位a/d转换器就可使量化温度达到1.96以内。 1.2接口电路 接口电路采用mcs-51系列单片机8031,外围扩展并行接口8155,程序存储器eprom2764,模数转换器adc0809等芯片。 由图1可见,在p2.0=0和p2.1=0时,8155选中它内部的ram工作;在p2.0=1和p2.1=0时,8155选中它内部的三个i/o端口工作。相应的地址分配为:0000h - 00ffh 8155内部ram0100h 命令/状态口0101h a 口0102h b 口0103h c 口0104h 定时器低8位口0105h 定时器高8位口 8155用作键盘/led显示器接口电路。图2中键盘有30个按键,分成六行(l0-l5)五列(r0-r4),只要某键被按下,相应的行线和列线才会接通。图中30个按键分三类:一是数字键0-9,共10个;二是功能键18个;三是剩余两个键,可定义或设置成复位键等。为了减少硬件开销,提高系统可靠性和降低成本,采用动态扫描显示。a口和所有led的八段引线相连,各led的控制端g和8155c口相连,故a口为字形口,c口为字位口,8031可以通过c口控制led是否点亮,通过a口显示字符。图1 单片机温度控制系统电路原理图图2 8155用作键盘/led显示器接口电路 2764是8k eprom型器件。8031的psen和2764的oe相连,p2.5和ce相连,所以2764的地址空间为:0000h-1fffh,adc0809的0通道(in0 其他输入端可作备用)和变送器的输出端相连,所以从通道0(in0)上输入的0v-+5v范围的模拟电压经a/d转换后可由8031通过程序从p0口输入到它的内部ram单元,在p2.2=0和wr=0时,8031可使ale和start变为高电平而启动adc0809工作;在p2.2=0和rd=0时,8031可以从adc0809接收a/d转换后的数字量。也就是说adc0809可以视为8031的一个外部ram单元,地址为03f8h(地址重复范围很大),因此,8031执行如下程序可以启动adc0809工作。mov dptr,#03f8hmovx dptr,a若8031执行下列程序:mov dptr,#03f8hmovx a,dptr则可以从adc0809输入a/d转换后的数字量。1.3温度控制电路 8031对温度的控制是通过双向可控硅实现的。如图一所示,双向可控硅管和加热丝串接在交流220v、50hz市电回路。在给定周期t内,8031只要改变可控硅管的接通时间即可改变加热丝的功率,以达到调节温度的目的。 可控硅接通时间可以通过可控硅控制极上触发脉冲控制。该触发脉冲由8031用软件在p1.3引脚上产生,在过零同步脉冲同步后经光电耦合管和驱动器输出送到可控硅的控制极上。3. 温度控制的算法和程序框图图3 主程序框图 3.1温度控制算法 通常,电阻炉炉温控制都采用偏差控制法。偏差控制的原理是先求出实测炉温对所需炉温的偏差值,然后对偏差值处理获得控制信号去调节电阻炉的加热功率,以实现对炉温的控制。在工业上,偏差控制又称pid控制,这是工业控制过程中应用最广泛的一种控制形式,一般都能收到令人满意的效果。 3.2温度控制程序框图 温度控制程序的设计应考虑如下:1)键盘扫描、键码识别和温度显示;

温馨提示

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

评论

0/150

提交评论