欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    加热炉温度监控系统的设计.docx

    • 资源ID:18378907       资源大小:295.42KB        全文页数:37页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    加热炉温度监控系统的设计.docx

    1、加热炉温度监控系统的设计摘 要在工业控制领域,温度控制的应用非常广泛,控制精度的高低直接影响到产品的质量及使用寿命,研究和设计高性能的温度控制系统具有非常重要的意义。随着计算机技术、控制理论和控制技术的发展,电加热炉的温度控制技术日趋成熟,已经成为工业生产中的一个重要部分。目前控制算法的多样化也为温度控制提供了便利条件,应用较为普遍的有比例积分微分(PID)控制、模糊控制等。本设计根据加热炉的的控制要求设计了一种以单片机为核心的监控系统。系统采用热电偶温度传感器测温,实现了温度的实时监测、超限报警、显示与控制等功能。系统分为温度测量、A/D转换、单片机系统、键盘操作系统、温度显示电路、报警电路

    2、等若干个功能模块。该系统具有硬件成本低,控温精度较高,可靠性好,抗干扰能力强等特点。关键词:电加热炉;单片机;温度控制;固态继电器目录1.绪论 11.1研究的背景和意义 11.2本课题的主要研究目标及内容 11.2.1设计目标 11.2.2设计内容 12. 方案设计与比较 12.1方案一 12.2方案二 22.3总体设计 23.系统的硬件设计 33.1主要硬件介绍 33.1.1单片机 33.1.2 Pt100型铂电阻温度传感器 43.1.3 放大器AD522 43.1.4模数转换器AD574 53.1.5 液晶显示屏 63.1.6开关器件 63.2 温度检测电路设计 63.3 A/D转换电路设

    3、计 73.4显示电路设计 83.5电气开关及工作电路 84系统软件设计 94.1程序设计 94.2主流程图 104.3主程序 10附录 25总原理图 25结 论 26参考文献 27加热炉温度监控系统的设计1.绪论1.1研究的背景和意义在现实生活当中,很多场合需要对温度进行智能控制,日常生活中最常见的要算空调和冰箱了,他们都能根据环境实时情况,结合人为的设定,对温度进行智能控制。工业生产中的电加热炉温度监控系统和培养基的温度监控系统都是计算机控制系统的典型应用。通过这次课程设计,我们将自己动手设计一个小型的由单片机控制的加热炉温度控制系统,目的在于将理论结合实践以加深我们对课本知识的理解。1.2

    4、本课题的主要研究目标及内容1.2.1设计目标实现加热炉的温度自动监测,并对其温度进行控制。1.2.2设计内容利用所学过的知识设计一个温度控制系统。功能要求如下:(1)能够利用温度传感器检测环境中的实时温度;(2)能对所要求的温度进行设定;(3)将传感器检测到得实时温度与设定值相比较,当环境中的温度高于或低于所设定的温度时,系统会自动做出相应的动作来改变这一状况,使系统温度始终保持在设定的温度值。2. 方案设计与比较2.1方案一要想达到技术要求的内容,少不了以下几种器件:单片机、温度传感器、LCD显示屏、直流电动机等。其中单片机用作主控制器,控制其他器件的工作和处理数据;温度传感器用来检测环境中

    5、的实时温度,并将检测值送到单片机中进行数值对比;LCD显示屏用来显示温度、时间的数字值;直流电动机用来表示电加热炉的工作情况,转动表示电加热炉通电加热,停止转动表示电加热炉断电停止加热。2.2方案二系统由8051单片机、温度检测电路、模数转换电路、温度控制电路、8279键盘显示器等组成。炉内温度由热电阻测温元件和电阻元件构成的桥式电路测量并转换成电压信号送给放大器的输入端,使信号变成0-5V电压信号,再经多路转换开关CD4051将信号送入A/D转换器,将此数字量经过数字滤波,标度转换后,一方面通过LED将炉温显示出来;另一方面,将该温度值与被测温度值比较,根据其偏差值的大小,采用比例微分控制(

    6、PID控制),通过固态继电器控温电路控制电炉丝的加热功率大小,从而控制电炉的温度,使其逐渐趋于给定值且达到平衡。2.3总体设计综合方案一与方案二,总的设计思想是通过温、湿度传感器将温度、湿度值转换为电量输出,由A/D转换器对模拟信号进行数字化,被数字化的信号经过单片机处理后,送显示器及执行机构,完成温、湿度声光报警的功能,总体设计框图如图1所示。图1整体思路是这样的:首先我们通过按键设定所需要的温度值,然后利用温度传感器检测电加热炉的实时加热温度,并送至单片机与设定值进行比较。若检测值小于设定值,则无任何动作,电加热炉继续导通加热;若检测值大于设定值,则单片机控制光电耦合器导通,继电器动作,电

    7、加热炉断电停止加热。一旦炉温低于设定值,单片机又控制光电耦合器断开,继电器开关分离,电加热炉开始导通加热。这个过程中所设定的温度值和传感器检测到得温度值都要在LCD显示屏上显示出来,以方便操作人员观察。另外,还可以加上时钟模块,以方便计时。这个设计思路相对比较简单,利用所学过的知识容易实现,加上光电耦合器用于隔离强电和弱电,比较安全。3.系统的硬件设计3.1主要硬件介绍3.1.1单片机8051有40条引脚。其中有2条主电源引脚,2条外接晶体引脚,4条控制或其它电源复用的引脚,32条I/O引脚。 MCS-51是标准的40引脚双列直插式集成电路芯片,引脚分布,请参照图2: P0.0P0.7 P0口

    8、8位双向口线(在引脚的3932号端子)P1.0P1.7 P1口8位双向口线(在引脚的18号端子)P2.0P2.7 P2口8位双向口线(在引脚的2128号端子)P3.0P3.7 P3口8位双向口线(在引脚的1017号端子)这4个I/O口 具有不完全相同的功能。图23.1.2 Pt100型铂电阻温度传感器图3 图4概述:热电阻是利用物质在温度变化时本身电阻也随着发生变化的特性来测量温度的.当被测介体中有温度剃度存在时,所测的温度是感温元件所在范围介质中的平均温度.尽管各种热电阻的外形差异很大,但是它们的基本结构却大致相似,一般有感温元件,绝缘套管,保护管,和接线盒等主要部。特点:1) 压簧式感温元

    9、件,抗振性能好;2) 测温精度高;3) 机械强度高,耐压性能好;4) 进口薄膜电阻元件,性能可靠稳定。工作原理:热电阻是利用物质在温度变化时,其电阻也随着发生变化的特征来测量温度的。当阻值变化时,工作仪表便显示出阻值所对应的温度值。3.1.3 放大器AD522AD522是AD公司推出的高精度数据采集放大器,利用它可在恶劣的环境下获得高精度的数据。它的线性好,具有较高的共模抑制比、低电压漂移和低噪声的优点。图5AD522采用14脚DIP封装,图1.2给出了AD522的引脚排列,表1给出了各引脚的功能说明。表1:AD522引脚说明引脚名称功能1+INPUT正输入端2R GAIN增益补偿端3-INP

    10、UT输入端4NULL空端5V-负电源端6NULL空端7OUTPUT输出端8V+正电源端9GND地参考端10NC不接11REF参考端12SENSE补偿端13DATA GUARD数据保护端14R GAIN增益补偿端3.1.4模数转换器AD574模拟量输入接口的功能是把工业生产控制现场送来的模拟信号转换成能接收的数字信号。本次设计选用的A/D转换器为AD574。AD574是AD公司生产的12位逐次逼近型A/D转换芯片,它将A/D转换电路、基准电压、时钟、比较器、逐次逼近寄存器以及输出缓冲存储器等集成在一块芯片上,并具有三态输出。在一般情况下,无需加任何外部电路,只要接上+5V及-15V电源,加上模拟

    11、输入,给出启动转换信号,即可实现12位A/D转换。图6AD574的主要特性指标如下:(1)分辨率 12位;(2)转换时间 25s;(3)转换精度 2LSB;(4)输入信号 单极性或双极性;(5)电源 +5V及-15V;AD574可由+5V及-15V供电,输入模拟电压可以是单极性0至+10V,或者是双极性+5V至-5V。输入电压极性可由BIP OFF引脚的连接方式而定。单极性输入时BIP OFF接地,双极性输入时应悬空或接+5V电源。3.1.5 液晶显示屏这里我选用LCDLM016L液晶显示屏作为系统的显示器件,如图所示,LCDLM016L采用标准的16脚接口,仿真时隐藏了背光正极和背光负极两个

    12、引脚。它通过D0-D78位数据端来与单片机进行数据和指令传输。3.1.6开关器件由于单片机与电动机之间需要用开关器件连接,并且前者用弱电控制,后者由强电控制,这就尤其需要注意安全问题。于是我想到了在课本中学过的高性能安全开关器件光电耦合器。光电耦合器是由一个发光器件和和一个光电转换器件组成,这里所用的光电耦合器OPTOCOUPLER-NPN是由一个发光二极管和一个光敏晶体管所组成。当发光二极管发光,就会使得光敏晶体管导通,继电器通电动作,将开关吸合,电动机回路断开。3.2 温度检测电路设计测量电路由测温元件和电阻元件构成的,如图1.3所示,此电路为典型的桥式测量电路,可在低电压、高阻抗、大噪声

    13、的环境中获得最佳性能。图7该桥式电路能够把温度变化所引起的热电阻阻值的变化转换成电压信号送给放大器的输入端,由于铂电阻安装在内,通过长导线接入控制台,为了减少引线电阻的影响采用三线制接法。AD522是高精度集成放大器,AD522的第1引脚和第3引脚为信号差动输入端;第2、14引脚外接电阻RG用于调整放大倍数;第4、6引脚为条零端;第13引脚为数据屏蔽端;第12脚为测量端;第11脚为参考端;这两端的电压差即为加到负载上的电压信号。使用时,测量端与OUT输出端(第7脚)在外部相连接,输出放大后的信号。将信号地与放大器的电源地(第9脚)相连接为放大器的偏置电流提供通路。3.3 A/D转换电路设计在A

    14、D574由微处理器控制的情况下,可在初始化程序中将BC端置为高电平,DR端的状态由芯片内部决定,其初始状态也是高电平,此时输出总线处于高阻状态。当B/C端输入低电平信号后,AD574便开始转换。此时,DR端及输出端状态不变,经25s后转换结束,DR端变低,延时500ns后,数据线上出现转换后的数据。当微处理器取完数据后转换命令可撤去,B/C置高电平。在B/C变化后的1.5s,DR线随之自动变高,同时数据线呈现高阻,一次转换即完成。注意上次B/C命令撤除与下一次给出新的转换命令之间的时间间隔不得小于2s,如果在转换进行期间B/C线变高,那么这次转换就停止,而且DR与数据线状态不变。A/D转换结束

    15、时,A/D转换芯片会输出转换结束信号,通过CPU读取转换数据。图83.4显示电路设计这里我既然用LCDLM016L液晶显示屏作为系统的显示器件,那么这里我们将它与单片机的P2.0-P2.7、P0.0-P0.3口连接。在显示屏上显示的内容包括单片机设定的温度值、传感器检测到的环境温度以及时钟,这个时钟是可以调整的,这样方便工作人员在对系统进行操作时有一个时间概念。图93.5电气开关及工作电路电器开关及工作电路如下图所示。图10如图所示,光电耦合器1脚接电源,2脚接单片机P3.2脚。工作过程用以下三个阶段来描述:1)单片机将温度传感器送入的值与设定值进行比较,若送入值小于设定值,则P3.2脚保持高

    16、电平,这样发光二极管不发光,光敏晶体管保持高阻态,继电器也不会工作,电动机和灯泡维持导通,相当于电炉继续加热,指示灯亮;2)一旦送入值比设定值大,单片机将会控制P3.2脚变为低电平,发光二极管导通发光,光敏晶体管受光照影响导通,继而继电器工作,电磁铁将单刀双掷开关吸向左端,使电动机和灯泡同时停止工作,这就相当于电炉断电,停止加热;3)电炉短路一段时间后,必然导致炉温降低,而温度传感器在不间断地检测炉温,当检测值低于设定值后,单片机又控制P3.2脚恢复高电平,光电耦合器恢复高阻态,继电器断电,单刀双掷开关被弹回右端,电动机和灯泡又开始工作,这相当于电炉从新开始加热。4系统软件设计4.1程序设计由

    17、于整个程序工程量比较大,我采用模块化设计方法来设计这个程序。首先定义在后面将会用到的变量,不可能一次定义准确,所以边定义边补充。然后编写子函数,包括LCM初始化子函数、显示指定坐标的一个字符子函数、AD574初始化函数、AD574延迟子函数、读取AD574当前温度子函数、液晶显示子函数、设定工作模式子函数、定时器t0中断子函数等子程序,最后是主函。设定加热炉温度初值函数、比较函数等等。4.2主流程图图114.3主程序 #include#include#include #define uchar unsigned char#define uint unsigned int#define BUSY

    18、 0x80 /lcd忙检测标志 #define DATAPORT P0 /定义P0口为LCD通讯端口 #define PLAYE_ADDR XBYTE0XBFFF /语音报警地址 sbit RED_ALARM=P10; /红色指示灯 sbit WRITE_ALARM=P11; /白色指示灯sbit GREEN_ALARM=P12; /绿色指示灯sbit BLUE_ALARM=P13;sbit P1_4=P14; /时钟调整sbit P1_5=P15; /时钟加sbit P1_6=P16; /时钟减sbit DQ = P17; /定义ds18b20通信端口 sbit LCM_RS=P20; /数

    19、据/命令端sbit LCM_RW=P21; /读/写选择端sbit LCM_EN=P22;sbit sda=P23; /IO口定义sbit scl=P24; /LCD使能信号sbit ad_busy=P32; /adc中断方式接口sbit RECLED_EOC=P35; /ISD1420放音结束查询标志sbit OUT=P37;uchar ad_data; /ad采样值存储 uchar seconde; /定义并初始化时钟变量uchar minite;uchar hour;uchar mstcnt=0;uchar temp1,temp2,temp; /温度显示变量uchar t,set;uch

    20、ar K;bit ON_OFF=0;bit outflag;bit write=0;uchar code str0=- : : - ;uchar code str1=SET: C SA: . C;void delay_LCM(uint); /LCD延时子程序void initLCM( void); /LCD初始化子程序void lcd_wait(void); /LCD检测忙子程序void WriteCommandLCM(uchar WCLCM,uchar BusyC); /写指令到ICM子函数void WriteDataLCM(uchar WDLCM); /写数据到LCM子函数void Dis

    21、playOneChar(uchar X,uchar Y,uchar DData) /显示指定坐标的一个字符子函数void DisplayListChar(uchar X,uchar Y,uchar code *DData);/显示指定坐标的一串字符子函数void init_timer0(void); /定时器初始化void displayfun1(void);void displayfun2(void);void displayfun3(void);void displayfun4(void);void keyscan(void ); /键盘扫描子程序void set_adj(void);vo

    22、id inc_key(void);void dec_key(void);void delay_18B20(unsigned int i);void Init_DS18B20(void) ;uchar ReadOneChar(void);void WriteOneChar(unsigned char dat);void ReadTemperature(void);void ad0809(void);void playalarm(void); /*延时K*1ms,12.000mhz*/void delay_LCM(uint k) uint i,j; for(i=0;ik;i+) for(j=0;j

    23、60;j+) ; /*写指令到LCM子函数*/void WriteCommandLCM(uchar WCLCM,uchar BusyC) if(BusyC)lcd_wait(); DATAPORT=WCLCM; LCM_RS=0; / 选中指令寄存器 LCM_RW=0; / 写模式 LCM_EN=1; _nop_(); _nop_(); _nop_(); LCM_EN=0; /*写数据到LCM子函数*/void WriteDataLCM(uchar WDLCM) lcd_wait( ); /检测忙信号 DATAPORT=WDLCM; LCM_RS=1; / 选中数据寄存器 LCM_RW=0;

    24、/ 写模式 LCM_EN=1; _nop_(); _nop_(); _nop_(); LCM_EN=0;/*lcm内部等待函数*/void lcd_wait(void) DATAPORT=0xff; LCM_EN=1; LCM_RS=0; LCM_RW=1; _nop_(); while(DATAPORT&BUSY) LCM_EN=0; _nop_(); _nop_(); LCM_EN=1; _nop_(); _nop_(); LCM_EN=0;/*LCM初始化子函数*/void initLCM( ) DATAPORT=0; delay_LCM(15); WriteCommandLCM(0x3

    25、8,0); /三次显示模式设置,不检测忙信号 delay_LCM(5); WriteCommandLCM(0x38,0); delay_LCM(5); WriteCommandLCM(0x38,0); delay_LCM(5); WriteCommandLCM(0x38,1);/8bit数据传送,2行显示,5*7字型,检测忙信号 WriteCommandLCM(0x08,1); /关闭显示,检测忙信号 WriteCommandLCM(0x01,1); /清屏,检测忙信号 WriteCommandLCM(0x06,1); /显示光标右移设置,检测忙信号 WriteCommandLCM(0x0c,

    26、1); /显示屏打开,光标不显示,不闪烁,检测忙信号/*显示指定坐标的一个字符子函数*/void DisplayOneChar(uchar X,uchar Y,uchar DData) Y&=1; X&=15; if(Y)X|=0x40; /若y为1(显示第二行),地址码+0X40 X|=0x80; /指令码为地址码+0X80 WriteCommandLCM(X,0); WriteDataLCM(DData);/*显示指定坐标的一串字符子函数*/void DisplayListChar(uchar X,uchar Y,uchar code *DData) uchar ListLength=0;

    27、 Y&=0x01; X&=0x0f; while(X0;i-) DQ = 0; / 给脉冲信号 dat=1; DQ = 1; / 给脉冲信号 if(DQ) dat|=0x80; delay_18B20(4); return(dat);/*ds18b20写一个字节*/ void WriteOneChar(uchar dat) unsigned char i=0; for (i=8; i0; i-) DQ = 0; DQ = dat&0x01; delay_18B20(5); DQ = 1; dat=1; /*读取ds18b20当前温度*/void ReadTemperature(void) unsigned char a=0; unsigned char b=0; unsigned char t=0; Init_DS18B20(); WriteOneChar(0xCC); /


    注意事项

    本文(加热炉温度监控系统的设计.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开