江苏省联合职业技术学院常州旅游商贸分院专科毕业论文 基于51单片机及DS18B20温度传感器的数字温度计设计 姓 名:(××××××××3号黑体)学 号:(××××××××3号黑体)班 级:(联院班级号×××3号黑体)专 业:(××××××××3号黑体)指导教师:(××××××××3号黑体)系 部:创意信息系××××3号黑体)二〇二0年××月××日摘 要本设计采用的主控芯片是ATMEL公司的AT89S52单片机,数字温度传感器是DALLAS公司的DS18B20。本设计用数字传感器DS18B20测量温度,测量精度高,传感器体积小,使用方便。所以本次设计的数字温度计在工业、农业、日常生活中都有广泛的应用。单片机技术已经广泛应用社会生活的各个领域,已经成为一种非常实用的技术。51单片机是最常用的一种单片机,而且在高校中都以51单片机教材为蓝本,这使得51单片机成为初学单片机技术人员的首选。本次设计采用的AT89S52是一种flash型单片机,可以直接在线编程,向单片机中写程序变得更加容易。本次设计的数字温度计采用的是DS18B20数字温度传感器,DS18B20是一种可组网的高精度数字式温度传感器,由于其具有单总线的独特优点,可以使用户轻松地组建起传感器网络,并可使多点温度测量电路变得简单、可靠。本设计根据设计要求,首先设计了硬件电路,然后绘制软件流程图及编写程序。本设计属于一种多功能温度计,温度测量范围是-55℃到125℃。温度值的分辨率可以被用户设定为9-12位,可以设置上下限报警温度,当温度不在设定的范围内时,就会启动报警程序报警。本设计的显示模块是用四位一体的数码管动态扫描显示实现的。在显示实时测量温度的模式下还可以通过查询按键查看设定的上下限报警温度。 关键词:单片机、数字温度计、DS18B20、AT89S52目 录 1 引言 12 系统总体方案及硬件设计 系统总体方案 系统总体设计框图 各模块简介 系统硬件设计 单片机电路设计 DS18B20温度传感器电路设计 显示电路设计 按键电路设计 报警电路设计 83 软件设计 DS18B20程序设计 DS18B20传感器操作流程 DS18B20传感器的指令表 DS18B20传感器的初始化时序 DS18B20传感器的读写时序 DS18B20获取温度程序流程图 显示程序设计 按键程序设计 134实物制作及调试 145电子综合设计体会 15参考文献 161 引言本系统所设计的数字温度计采用的是DS18B20数字温度传感器测温,DS18B20直接输出的就是数字信号,与传统的温度计相比,具有读数方便,测温范围广,测温准确,上下限报警功能。其输出温度采用LED数码管显示,主要用于对测温比较准确的场所。该设计控制器使用的是51单片机AT89S52,AT89S52单片机在工控、测量、仪器仪表中应用还是比较广泛的。测温传感器使用的是DS18B20,DS18B20是一种可组网的高精度数字式温度传感器,由于其具有单总线的独特优点,可以使用户轻松地组建起传感器网络,并可使多点温度测量电路变得简单、可靠。显示是用4位共阴极LED数码管实现温度显示,LED数码管的优点是显示数字比较大,查看方便。蜂鸣器用来实现当测量温度超过设定的上下限时的报警功能。2 系统总体方案及硬件设计 系统总体方案系统总体设计框图由于DS18B20数字温度传感器具有单总线的独特优点,可以使用户轻松地组建起传感器网络,并可使多点温度测量电路变得简单、可靠,所以在该设计中采用DS18B20数字温度传感器测量温度。 温度计电路设计总体设计框图如图2-1所示,控制器采用单片机AT89S52,温度传感器采用DS18B20,显示采用4位LED数码管,报警采用蜂鸣器、LED灯实现,键盘用来设定报警上下限温度。 图2-1 温度计电路总体设计框图各模块简介1.控制模块AT89S52单片机是美国ATMEL公司生产的低功耗,高性能CMOS 8位单片机,片内含有8kb的可系统编程的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准8051指令系统及引脚。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程的Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89S52具有以下标准功能:8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。2.显示模块显示电路采用4位共阴LED数码管,从P0口输出段码,P2口的高四位为位选端。用动态扫描的方式进行显示,这样能有效节省I/O口。3.温度传感器模块DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。DS18B20的性能特点如下:独特的单线接口仅需要一个端口引脚进行通信;多个DS18B20可以并联在惟一的三线上,实现多点组网功能;无须外部器件;可通过数据线供电,电压范围为~;零待机功耗;温度以9或12位二进制数字表示;用户可定义报警设置;报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作;DS18B20采用3脚TO-92封装或8脚SO或µSOP封装,其其封装形式如图2-2所示。图2-2 DS18B20的封装形式DS18B20的64位ROM的结构开始8位是产品类型的编号,接着是每个器件的惟一的序号,共有48位,最后8位是前面56位的CRC检验码,这也是多个DS18B20可以采用一线进行通信的原因。温度报警触发器TH和TL,可通过软件写入户报警上下限。DS18B20温度传感器的内部存储器还包括一个高速暂存RAM和一个非易失性的可电擦除的EEPRAM。高速暂存RAM的结构为8字节的存储器,结构如图2-3所示。图2-3 DS18B20的高速暂存RAM的结构头2个字节包含测得的温度信息,第3和第4字节TH和TL的拷贝是易失的,每次上电复位时被刷新。第5个字节,为配置寄存器,它的内容用于确定温度值的数字转换分辨率,DS18B20工作时寄存器中的分辨率转换为相应精度的温度数值,该字节各位的定义如表2-1所示。表2-1:配置寄存器D7 D6 D5 D4 D3 D2 D1 D0TM R1 R0 1 1 1 1 1配置寄存器的低5位一直为1,TM是工作模式位,用于设置DS18B20在工作模式还是在测试模式,DS18B20出厂时该位被设置为0,用户要去改动,R1和R0决定温度转换的精度位数,来设置分辨率,“R1R0”为“00”是9位,“01”是10位,“10”是11位,“11”是12位。当DS18B20分辨率越高时,所需要的温度数据转换时间越长。因此,在实际应用中要将分辨率和转换时间权衡考虑。高速暂存RAM的第6、7、8字节保留未用,表现为全逻辑1。第9字节读出前面所有8字节的CRC码,可用来检验数据,从而保证通信数据的正确性。当DS18B20接收到温度转换命令后,开始启动转换。转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第1、2字节。单片机可以通过单线接口读出该数据,读数据时低位在先,高位在后,数据格式以℃/LSB形式表示。当符号位s=0时,表示测得的温度值为正值,可以直接将二进制位转换为十进制;当符号位s=1时,表示测得的温度值为负值,要先将补码变成原码,再计算十进制数值。输出的二进制数的高5位是符号位,最后4位是温度小数点位,中间7位是温度整数位。表2-2是一部分温度值对应的二进制温度数据。表2-2 DS18B20输出的温度值温度值 二进制输出 十六进制输出+125℃ 0000 07D0h+85℃ 0000 0550h+℃ 0001 0191h+℃ 0010 00A2h+℃ 1000 0008h0℃ 0000 ℃ 1000 ℃ 1110 ℃ 1111 FF6Fh-55℃ 0000 FC90hDS18B20完成温度转换后,就把测得的温度值与RAM中的TH、TL字节内容作比较。若T>TH或T<TL,则将该器件内的报警标志位置位,并对主机发出的报警搜索命令作出响应。因此,可用多只DS18B20同时测量温度并进行报警搜索。在64位ROM的最高有效字节中存储有循环冗余检验码(CRC)。主机ROM的前56位来计算CRC值,并和存入DS18B20的CRC值作比较,以判断主机收到的ROM数据是否正确。4.调节模块介绍调节模块是由四个按键接地后直接接单片机的I/O口完成的。当按键没有按下时单片机管脚相当于悬空,默认下为高电平,当按键按下时相当于把单片机的管脚直接接地,此时为低电平。程序设计为低电平触发。5.报警模块介绍报警模块是由一个PNP型的三极管9012驱动的5V蜂鸣器,和一个加一限流电阻的发光二极管组成的。报警时蜂鸣器间歇性报警,发光二极管闪烁。 系统硬件设计 单片机电路设计 图2-4 单片机最小系统原理图单片机最小系统是由晶振电路,上电复位、按键复位电路,ISP下载接口和电源指示灯组成。原理图如图2-4所示。 DS18B20温度传感器电路设计DS18B20温度传感器是单总线器件与单片机的接口电路采用电源供电方。电源供电方式如图2-7,此时DS18B20的1脚接地,2脚作为信号线,3脚接电源。 图2-7 DS18B20电源供电方式当DS18B20处于写存储器操作和温度A/D转换操作时,总线上必须有强的上拉,上拉开启时间最大为10us。采用寄生电源供电方式时VDD端接地。由于单线制只有一根线,因此发送接口必须是三态的。 显示电路设计显示电路是由四位一体的共阴数码管进行显示的,数码管由三极管9013驱动。四位一体的共阴数码管的管脚分布图如图2-5所示。 图2-5 四位一体的共阴数码管管脚分布图显示电路的总体设计如图2-6所示。 图2-6 显示电路 按键电路设计按键电路是用来实现调节设定报警温度的上下限和查看上下报警温度的功能。电路原理图如图2-10所示。 图2-10 按键电路原理图 报警电路设计报警电路是在测量温度大于上限或小于下限时提供报警功能的电路。该电路是由一个蜂鸣器和一个红色的发光二极管组成,具体的电路如图2-9所示。 图2-9 报警电路原理图3 软件设计 DS18B20程序设计 DS18B20传感器操作流程根据DS18B20的通讯协议,主机(单片机)控制DS18B20完成温度转换必须经过三个步骤:• 每一次读写之前都要对DS18B20进行复位操作• 复位成功后发送一条ROM指令• 最后发送RAM指令这样才能对DS18B20进行预定的操作。复位要求主CPU将数据线下拉500μs,然后释放,当DS18B20收到信号后等待16~60μs左右,后发出60~240μs的存在低脉冲,主CPU收到此信号表示复位成功。DS18B20的操作流程如图3-1所示。 如图3-1 DS18B20的操作流程 DS18B20传感器的指令表DS18B20传感器的操作指令如表3-1所示。传感器复位后向传感器写相应的命令才能实现相应的功能。表3-1 DS18B20的指令表指 令 指令代码 功 能读ROM 0x33 读DS1820温度传感器ROM中的编码(即64位地址)符合 ROM 0x55 发出此命令之后,接着发出 64 位 ROM 编码,访问单总线上与该编码相对应的 DS1820 使之作出响应,为下一步对该 DS1820 的读写作准备。搜索 ROM 0xF0 用于确定挂接在同一总线上 DS1820 的个数和识别 64 位 ROM 地址。为操作各器件作好准备。跳过 ROM 0xCC 忽略 64 位 ROM 地址,直接向 DS1820 发温度变换命令。适用于单片工作。告警搜索命令 0xEC 执行后只有温度超过设定值上限或下限的片子才做出响应。温度变换 0x44 启动DS1820进行温度转换,12位转换时最长为750ms(9位为)。结果存入内部9字节RAM中。读暂存器 0xBE 读内部RAM中9字节的内容写暂存器 0x4E 发出向内部RAM的3、4字节写上、下限温度数据命令,紧跟该命令之后,是传送两字节的数据。复制暂存器 0x48 将RAM中第3 、4字节的内容复制到EEPROM中。重调 EEPROM 0xB8 将EEPROM中内容恢复到RAM中的第3 、4字节。读供电方式 0xB4 读DS1820的供电模式。寄生供电时DS1820发送“ 0 ”,外接电源供电 DS1820发送“ 1 ”。 DS18B20传感器的初始化时序DS18B20传感器为单总线结构器件,在读写操作之前,传感器芯片应先进性复位操作也就是初始化操作。DS18B20的初始化时序如图3-2所示。首先控制器拉高数据总线,接着控制器给数据总线一低电平,延时480μs,控制器拉高数据总线,等待传感器给数据线一个60-240μs的低电平,接着上拉电阻将数据线拉高,这样才初始化完成。 图3-2 DS18B20初始化时序 DS18B20传感器的读写时序 1.写时序DS18B20传感器的读写操作是在传感器初始化后进行的。每次操作只能读写一位。当主机把数据线从高电平拉至低电平,产生写时序。有两种类型的写时序:写“0”时序,写“1”时序。所有的时序必须有最短60μs的持续期,在各个写周期之间必须有最短1μs的恢复期。在数据总线由高电平变为低电平之后,DS18B20在15μs至60μs的时间间隙对总线采样,如果为“1”则向DS18B20写“1”, 如果为“0”则向DS18B20写“0”。如图3-2的上半部分。对于主机产生写“1”时序时,数据线必须先被拉至低电平,然后被释放,使数据线在写时序开始之后15μs内拉至高电平。对于主机产生写“1”时序时,数据线必须先被拉至低电平,且至少保持低电平60μs。2.读时序在数据总线由高电平变为低电平之后,数据线至少应保持低电平1μs,来自DS18B20的输出的数据在下降沿15μs后有效,所以在数据线保持低电平1μs之后,主机将数据线拉高,等待来自DS18B20的数据变化,在下降沿15μs之后便可开始读取DS18B20的输出数据。整个读时序必须有最短60μs的持续期。如图3-2的下半部分。读时序结束后数据线由上拉电阻拉至高电平。 图3-3 DS18B20传感器的读写时序 DS18B20获取温度程序流程图DS18B20的读字节,写字节,获取温度的程序流程图如图3-3所示。图3-4 DS18B20程序流程图 显示程序设计显示电路是由四位一体的数码管来实现的。由于单片机的I/O口有限,所以数码管采用动态扫描的方式来进行显示。程序流程图如图3-4所示。图3-5 显示程序流程图 按键程序设计按键是用来设定上下限报警温度的。具体的程序流程图如图3-5所示。图3-6 按键程序流程图4实物制作及调试制作好的实物如图4-1所示。 图4-1 数字温度计实物正面图在做实物时出现了不少问题。比如本来是采用NPN型9013驱动蜂鸣器,但是在实际调试中蜂鸣器驱动不了,经多次试验,在三极管的基极电阻与单片机的接口处接一个1、2kΩ的上拉电阻就能驱动了。但考虑到单片机的I/O口默认状态时为高电平,这样一上电蜂鸣器就会响,所以将NPN型9013换成了PNP型的9012三极管,效果还不错。5电子综合设计体会经过将近一个月的设计、焊接、编程、调试,我们终于完成了数字温度计的设计,基本能够达到设计要求,而且还设计了一些其他功能,比可以开启或消除按键音功能,开机动画功能,查看报警上下限温度功能。此次的设计使我从中学到了一些很重要的东西,那就是如何从理论到实践的转化,怎样将我们所学到的知识运用到实践中去。在大学课堂的学习只是给我们灌输专业知识,而我们应把所学的知识应用到我们现实的生活中去。这次的设计不仅使我们将课堂上学到的理论知识与实际应用结合了起来,而且使我们对电子电路、电子元器件、印制电路板等方面的知识有了更进一步的认识,同时在软件编程、焊板调试、相关调试仪器的使用等方面得到较全面的锻炼和提高,为今后能够独立进行某些单片机应用系统的开发设计工作打下一定的基础。此次单片机设计也为我们以后进行更复杂的单片机系统设计提供了宝贵的经验。在本次设计的过程中,我们遇到不少的问题,刚开始焊好的板子下不进去程序,经过一再仔细的检查,才发现是在下载口处出了问题,由于焊盘口比较小,排针插不进去,最后使了很大力气才插进去,插进去后才发现坏了,结果在去排针的时候把焊盘给去下来了,最后只能在旁边将下载口引了出来。还有就是文章中提到的蜂鸣器驱动问题等等。经过此次的硬件制作与调试,锻炼了我们的动手实践能了。本次设计的另一个重点就是软件程序的设计,其中需要有很巧妙的程序算法,虽然以前写过几次程序,但我觉的写好一个程序并不是一件简单的事,有好多的东西,只有我们去试着做了,才能真正的掌握,只学习理论,有些东西是很难理解的,更谈不上掌握。通过此次的综合设计,我们初步掌握了单片机系统设计的基本原理。充分认识到理论学习与实践相结合的重要性,对于书本上的很多知识,不但要学会,更重要的是会运用到实践中去。在以后的学习中,我们会更加注重实践方面的锻炼,多提高自己的动手实践能力。参考文献[1] 谭浩强.C程序设计(第三版).北京:清华大学出版社, .[2] 余发山,王福忠.单片机原理与应用技术.徐州:中国矿业大学出版社, .[3] 求是科技.单片机典型模块设计实例导航.北京:人民邮电出版社, .[4] 求是科技.8051系列单片机C程序设计完全手册.北京:人民邮电出版社, .[5] 于永,戴佳,刘波.51单片机C语言常用模块与综合系统设计实例精讲(第2版).北京:电子工业出版社, .[6]刘腾远.基于单片机的温度控制系统设计[J].科技经济导刊,2018(01):77-78.[7]苏康友.基于51单片机的无线温度控制系统设计[J].电子技术与软件工程,2017(10):250-251.[8]刘丰年.基于AT89C51的简易智能化加湿器设计[J].三门峡职业技术学院学报,2016,15(04):139-142.[9]杨伟才.基于DS18B20的多点温度测量系统研究[J].山东工业技术,2016(24):266.[10]严敏.基于单片机的智能温控系统的设计与实现[J].无锡职业技术学院学报,2016,15(03):61-64.[11]吴嘉颖. 基于单片机的地铁低压设备触点温度监测系统的设计与实现[D].西南交通大学,2017.[12]孙晓倩.基于51单片机的温度监测报警系统设计研究[J].赤峰学院学报(自然科学版),2015,31(24):24-26.[13]仲霞.基于DS18B20的多点温度测量系统探讨[J].山东工业技术,2015(22):156.[14]吕晓磊.基于单片机智能控温的仿真与设计[J].安徽电子信息职业技术学院学报,2015,14(03):34-37.[15]贺争汉.基于51单片机的温度控制系统[J].黑龙江科技信息,2015(16):145.[16]谭虹.智能型滑雪保温鞋温控系统的设计与实现[J].体育世界(学术版),2014(11):19-20.[17]王云飞.DS18B20温度传感器的应用设计[J].电子世界,2014(12):355.[18]刘金魁.基于DS18B20的数字测温系统[J].焦作大学学报,2014,28(02):99-100.[19]杨丹丹,杨风,马慧卿.基于单片机的温度采集系统设计[J].山西电子技术,2014(03):19-21.[20]曹美霞.单片机与数字温度传感器DS18B20的接口设计[J].电子制作,2014(11):9-10.
#include <>#define uchar unsigned char#define uint unsigned intsbit DS=P2^2; //define interfaceuint temp; // variable of temperatureuchar flag1; // sign of the result positive or negativesbit dula=P2^6;sbit wela=P2^7;unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d, 0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};unsigned char code table1[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd, 0x87,0xff,0xef};void delay(uint count) //delay{ uint i; while(count) { i=200; while(i>0) i--; count--; }}void dsreset(void) //send reset and initialization command{ uint i; DS=0; i=103; while(i>0)i--; DS=1; i=4; while(i>0)i--;}bit tmpreadbit(void) //read a bit{ uint i; bit dat; DS=0;i++; //i++ for delay DS=1;i++;i++; dat=DS; i=8;while(i>0)i--; return (dat);}uchar tmpread(void) //read a byte date{ uchar i,j,dat; dat=0; for(i=1;i<=8;i++) { j=tmpreadbit(); dat=(j<<7)|(dat>>1); //读出的数据最低位在最前面,这样刚好一个字节在DAT里 } return(dat);}void tmpwritebyte(uchar dat) //write a byte to ds18b20{ uint i; uchar j; bit testb; for(j=1;j<=8;j++) { testb=dat&0x01; dat=dat>>1; if(testb) //write 1 { DS=0; i++;i++; DS=1; i=8;while(i>0)i--; } else { DS=0; //write 0 i=8;while(i>0)i--; DS=1; i++;i++; } }}void tmpchange(void) //DS18B20 begin change{ dsreset(); delay(1); tmpwritebyte(0xcc); // address all drivers on bus tmpwritebyte(0x44); // initiates a single temperature conversion}uint tmp() //get the temperature{ float tt; uchar a,b; dsreset(); delay(1); tmpwritebyte(0xcc); tmpwritebyte(0xbe); a=tmpread(); b=tmpread(); temp=b; temp<<=8; //two byte compose a int variable temp=temp|a; tt=temp*; temp=tt*10+; return temp;}void display(uint temp) //显示程序{ uchar A1,A2,A2t,A3; A1=temp/100; A2t=temp%100; A2=A2t/10; A3=A2t%10; dula=0; P0=table[A1]; //显示百位 dula=1; dula=0; wela=0; P0=0x7e; wela=1; wela=0; delay(1); dula=0; P0=table1[A2]; //显示十位 dula=1; dula=0; wela=0; P0=0x7d; wela=1; wela=0; delay(1); P0=table[A3]; //显示个位 dula=1; dula=0; P0=0x7b; wela=1; wela=0; delay(1);}void main(){ uchar a; do { tmpchange(); for(a=10;a>0;a--) { display(tmp()); } } while(1);}
基于MCS-51单片机温控系统设计的电阻炉论文字数:17255.页数:42 论文编号:JD471 摘 要近年来随着计算机在社会领域的渗透, 单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用。 单片机是随着超大规模集成电路技术的发展而诞生的。由于它具有体积小、功能强、性价比高等特点。把单片机应用于温度控制中,采用单片机做主控单元,无触点控制,可完成对温度的采集和控制的要求。所以广泛应用于电子仪表、家用电器、节能装置、机器人、工业控制等诸多领域,使产品小型化、智能化,既提高了产品的功能和质量,又降低了成本,简化了设计。周期作业式的电阻炉,可供实验室、工矿企业、科研单位作元素分析测定和一般小型钢件淬火、退火、回火等热处理时加热用。原电阻炉需与温度控制器配套使用,由检测端的热电偶信号输送给温度指示调节仪,继而控制接触器对电阻炉供电,实现电阻炉温的测量、指示及自动控制。电阻炉温波动较大,控制精度低。本文主要介绍单片机在电阻炉温控中的应用,对温度控制模块的组成及主要所选器件进行了详细的介绍。并根据具体的要求本文编写了适合本设计的软件程序。关键词:单片机;电阻炉;炉温;控制系统 目 录摘要………………………………………………………………………………… ⅠAbstract…………………………………………………………………………Ⅱ第1章 绪论………………………………………………………………………… 课题背景…………………………………………………………………… MCS-51系列单片机………………………………………………………2第2章 总体设计电路图及工作原理…………………………………………… 总体方案设计……………………………………………………………… 电阻炉的单片机温控原理…………………………………………………7第3章 系统硬件设计…………………………………………………………… 系统硬件电路设计……………………………………………………… 硬件设计电路原理图…………………………………………………… 各元件说明……………………………………………………………… 19第4章 系统软件设计…………………………………………………………… 编程思路………………………………………………………………… 编程流程图……………………………………………………………… 23第5章 MCS-51单片机温控电阻炉技术特性…………………………………… 25总结………………………………………………………………………………… 26致谢………………………………………………………………………………… 27参考文献…………………………………………………………………………… 28附录…………………………………………………………………………………29附录1 硬件设计的电路…………………………………………………… 29附录2 程序………………………………………………………………… 30附录3 外文翻译…………………………………………………………… 38以上回答来自:
基于PID的锅炉温度控制系统设计 摘要:利用BP神经网络PID控制具有逼近任意非线性函数的能力,将神经网络PID与LabVIEW友好地人 机交互结合,实现对锅炉温度的控制.仿真结果表明,该系统具有更小的超调量,并且更快地到达需要的控制温 度. 关键词:BP神经网络;PID控制;温度控制 温度是锅炉生产蒸汽质量的重要指标之一,也是保证锅炉设备安全的重要参数.同时,温度是影响锅 炉传热过程和设备效率的主要因素.例如,在利用烟化炉对锌、铝冶炼过程中,如果温度过低,则还原速度 和挥发速度都会降低;但温度也不宜过高,否则在温度超过1 250℃时,可能形成Zn-Fe合金,有害于烟 化炉的作业,因此温度的精确测量和控制是十分必要的.作为工业控制系统中的基本方式,PID控制对于 动态反应较缓慢的工业过程是非常好的控制规律[1].但是,当工业过程复杂,负荷变化很多,对象的纯滞 后又较大时常规PID控制达不到要求,为了解决上述问题系统采用PLC作为下位机,PC作为上位机,利 用labVIEW构造人机交互界面,应用神经网络PID对系统进行控制,设计锅炉温度的监制电路. 1 系统总体设计 系统通过热电偶传感器检测出锅炉的温度,采集的信号经过A/D电路转换后传给PLC控制器.PLC 根据数据做出判断,当锅炉处在升温阶段时对锅炉进行加热,当锅炉处于保温段时调用PID算法控制温 度满足输出要求.同时PLC把数据传给PC机,PC机做出显示和报警.具体电路如图1所示. 1·1 主控芯片 S7-300PLC是西门子生产的模块式中小型PLC,提供了大量可以选择的模块,包括:PS 电源模块、CPU模块、IM接口模块、SM信号模块、FM功能模块和CP通信模块.其中FM模块可实现高 速级数、定位控制、闭环控制功能;CP模块是组态网使用的接口模块常用的网络有PROFIBUS,工业以太 网及点对点连接网络.这些模块可以通过U形总线紧密地固定在轨道上,一条导轨共有11个槽号:1号槽 至3号槽分别放置电源、CPU、IM模块4号槽至11号槽 可以随意放置其他模块. 1·2 通信网络 一般的自动化系统都是以单元生产设备 为中心进行检测和控制,不同单元的生产设备间缺乏信息 交流,难以满足生产过程的统一管理.西门子全集成自动 化解决方案顺应了当今自动化的需求,TIA从统一的组态 和编程、统一的数据管理及统一的通信三方面集成在一 起,从现场级到管理级,可以使用如工业以太网、PROFIB- BUS,MPI,EIB等通信网络.根据设计的需要可以自由选择通信网络的配置[2]. 1·3 温度传感器 热电偶是将2种不同的导体焊接起来组成闭合回路,当两端节点有温度差时,两端点 之间产生电动势,回路中会产生电流,这种现象称为热电效应.热电偶温度传感器就是利用这一效应来工 作的.在工业生产过程中被测点与基准节点之间的距离常常过远,为了节省热电偶材料,降低成本,通常采 用补偿导线的方式进行补偿[3]. 1·4 显示界面 LabVIEW是美国NI公司推出的图形化工业控制测控开发平台,是目前应用最广、发展 最快、功能最强的图形软件集成开发环境.LabVIEW具有界面友好、开发周期短等优点,广泛应用于仪器 控制、数据采集、数据分析和数据显示等领域.所以,我们可以在计算机上采用它来实现对设备运行状态的 监控,同时也可以对各种数据进行采集显示.系统的温度显示界面如图2所示. 2 系统控制算法设计 PID控制是工业过程控制中最常用的一种控制方法, 但常规的PID控制在被控对象具有复杂的非线性时,如锅 炉的温度控制,不仅具有较大的纯延迟,而且模型也不确 定时,对于这种对象往往难以达到满意的控制效果.BP神 经网络PID控制具有逼近任意非线性函数的能力,通过神 经网络自身的学习,找到最佳组合的PID控制参数,以满 足控制系统的要求.具体的神经网络PID控制系统框图如 图3所示. 设PID神经元网络是一个3层BP网络,包括2个输入节点,3个隐含层节点,1个输出接点.输入节 点对应所选的系统运行状态量,如系统不同时刻的输入量和输出量等,必要时要进行归一化处理.输出节 点分别对应PID控制的3个可调参数KP,KI,KD.输入层的2个神经元在构成控制系统可分别输入系统 被调量的给定值和实际值.由文献[4]和[5]中的前向算法可得到输出层的权系数计算公式为: 3结论 PID控制算法是一种易于实现而且经济实用的方法,具有很强的灵活性,但在被控制对象具有复杂的 非线性时,难以满足控制要求,而神经网络PID控制具有逼近任意非线性函数的能力,神经网络PID与 LabVIEW结合实现对锅炉温度的数据采集、控制和显示,提高了锅炉监控系统的效率. 参考文献: [1] 邓洪伟.供暖锅炉温度和压力的PLC控制[J].动力与电力工程,2008(18):93-94. [2] 张运刚.西门子S7-300/400PLC技术与应用[M].北京:人民邮电出版社,2007. [3] 何希才.传感器及其应用实例[M].北京:机械工业出版社,2004. [4] 何离庆.过程控制系统与装置[M].北京:重庆大学出版社,2003. [5] 舒怀林.PID神经元网络及其控制系统[M].北京:国防工业出版社,2006.
246 浏览 2 回答
183 浏览 4 回答
135 浏览 5 回答
256 浏览 4 回答
264 浏览 2 回答
88 浏览 6 回答
141 浏览 4 回答
339 浏览 2 回答
108 浏览 2 回答
239 浏览 3 回答
266 浏览 4 回答
353 浏览 5 回答
290 浏览 4 回答
116 浏览 5 回答
203 浏览 4 回答