资源描述
1.1 课题背景及研究意义
锅炉是一个热能转换设备,由锅和路两大主体和确保其安全经济连续运行附件,仪表隶属设备,自控和保护系统组成,水在锅(锅筒)中不停被炉里燃料燃烧释放出来能量加热,温度升高并产生带压蒸汽,因为水沸点随压力升高而升高,锅是密封,水蒸气在里面膨胀受到限制而产生压力形成热动力(严格说锅炉水蒸气是水在锅筒中定压加热至饱和水再汽化形成)作为一个能源广泛使用。锅炉广泛用于生产和生活之中。中小型锅炉作为供暖设备用于提供热水,取暖方面得到了广泛应用。现在,取暖多采取集中供暖方法。集中供暖,通常全部是按一个采暖季每平方(建筑面积)来收费,对北方地域来说,天气比较冷,需要供暖时间长,应该集中供暖省钱。指集中集团式供暖一个形式。从能源利用方面讲,集中供暖一次性投资大,运行费用高,不管是否需要,暖气一直全天供热,因楼层不一样而造成温度不均,若碰到供暖偏热,居民只有开窗降温,使宝贵能源白白浪费。 这种供暖方法从原理上而言,效率较高。集中供暖锅炉大多数是燃媒锅炉,锅炉燃烧时污染大,已经带来了严重环境污染问题。因为这些用户采取集中取暖,给部分用户带来不便缺点。
基于这种情况,多年来采取以天然气,液化石油气为燃料中小型燃气锅炉含有高效、环境污染小,发烧量大甚至无污染等特点,受到普遍欢迎。尤其在国外,燃气锅炉现在已得到了普遍应用。家用燃气锅炉常见是套管式燃气锅炉、板换式燃气锅炉、冷凝式燃气锅炉。伴随科技发展和多种客观条件含有,生活采暖用燃气锅炉应用也必将得到深入发展和推广。伴随燃料不停补给,燃料充足,城市燃气管网逐步完善,燃气使用率逐步会提升。市场经济发展和开放,国有企业享受国家能源补助取消,住房逐步私有化,供热管网费、采暖费全部由个人支付。会有越来越多人放弃集中供热方法而采取分散采暖方法。而小型家用燃气锅炉使用作为集中供暖一个很好补充或替换它必将被越来越多人关注和选择成为趋势。
现在市场上家用燃气锅炉为进口,价格高,售后服务不够完善,不利于燃气锅炉推广使用,研制燃气锅炉企业亦相对较少。所以研制开发小型家用燃气锅炉就含有现实意义和客观市场价值。
本设计将结合小型家用燃气锅炉实际需要,利用MCS-51系列单片机为关键器件组成温度控制系统,采取温度采集技术,经过运行和分析研究,以期正确定识和全方面了解利用单片机实现温度采集技术在过程控制中应用。
1.2 系统总体设计思想
现在,世界计算机市场上出现了专门用于工业控制单片机系列产品,单片机以其体积小、重量轻、功耗低、价格廉价、功效强特点,在工业控制实践中得到越来越广泛应用单片机不仅能够实现多种常规控制,还能够依据被控对象特征,充足利用控制理论最新研究结果,采取更完善控制方法,以取得愈加好控制效果。现在,因为家用锅炉属于批量生产,而且每台锅炉需要一套完整控制系统,针对这些特点,尤其从产品成本角度出发,以MCS-51为关键器件组成控制系统是比较理想选择。另外,MCS-51系列单片机运算能力、完备控制功效、加上完善外部接口电路,对中小型锅炉控制系统完全能够胜任。在外围芯片选择时,尽可能选择经典、易于扩展和替换芯片和电路,并本着节省成本思想。选择基于单总线数字温度传感器DS18B20和LCD液晶显示器。DS18B20温度传感器采取美国DALLAS企业生产DS18B20可组网数字温度传感器芯片封装而成,含有耐磨耐碰,体积小,使用方便,封装形式多样,适适用于多种狭小空间设备数字测温和控制领域;LCD液晶显示器为平面超薄显示设备,它由一定数量彩色或黑白像素组成,放置于光源或反射面前方。液晶显示器功耗很低,所以倍受工程师青睐,适适用于使用电池电子设备。它关键原理是以电流刺激液晶分子产生点、线、面配合背部灯管组成画面。它们二者和单片机接口比较简单,而且编程强度不大,既确保了系统稳定性,又缩短了系统开发周期,节省了开发成本。
系统在软件上采取模块化程序结构。主程序作为控制程序,为整个系统软件一条根本,其它功效模块均采取子程序调用、查询等方法,为调试和扩充提供了方便。
本系统电源采取市场上常见W7800(7800)系列7805电源稳压芯片,模拟信号和数字信号分别用单独供电回路,以避免电源干扰。利用温度传感器DS18B20采集测量锅炉水温;使用LCD液晶显示器显示水位上下限值、预先设定温度报警值和目前采集温度值。利用继电器控制燃烧器和给水泵加热和给水。当锅炉内水实际水温超出报警温度值,系统会发出报警声音,这时接在单片机一端继电器动作,燃烧器断电。此时温度传感器实时对锅炉温度检测,当温度降到设定值下限时,继电器重新通电。燃烧器电源重新接通,锅炉继续加热。如此反复监控温度。这么对锅炉温度控制不仅能够节省能源,提升能源使用率。另外,为符合实际本系统对锅炉水位进行实时监控,预防锅炉干烧和锅炉水溢出,以免造成能源浪费和水溢出引发锅炉爆炸严重后果。
2硬件电路设计
2.1 主电路
1.温度控制电路
图2.1 温度控制电路
2.水位控制电路
图2.2 锅炉加水电路
图 2.3 水位检测电路
2.2 单片机最小系统
2.2.1时钟电路设计
AT89S51时钟可由内部产生也能够由外部产生。在这个设计中只是用了内部产生。利用芯片内部振荡电路,在XTAL1,XTAL2(18,19脚)引脚上外接定时元件,内部振荡器便能产生自激振荡,用示波器便可观察到XTAL2输出正弦波,定时元件能够采取石英晶体和电容组成并联谐振电路,它和单片机接法图3-5所表示。晶体能够在1.2MHz~12MHz之间所选,电容能够在20~60pF之间所选,通常选择30pF左右,电容C6,C7大小对振荡频率有微小影响,可起频率微调作用。在设计印制板时,晶体和电容应尽可能和单片机芯片靠近,以降低寄生电容,确保振荡器可靠工作,通常采取瓷片电容。
图2.5 时钟电路
2.2.2 复位电路
单片机上电后,在其9脚(RESET)出现24个振荡周期以上高电平后,单片机内部初始复位。为了确保单片机正常复位,必需使其第9脚上出现高电平保持2μs以上。复位电路图 3.6 所表示。
图2.6 复位电路
系统复位电路是由RC电路组成,外加一个手动复位按钮。刚上电时或触动按钮后C5两端电压为0,这时RST为高电平,而其高电平保持时间是由R和C时间常数决定,由公式(3-1)可知,C充电时间常数τ等于0.22ms,远远大于2μs,即使RST高电平时间保持2μs以上,确保了单片机正常复位。
2.3 温度控制电路设计
本系统采取继电器进行对燃烧器工作方法控制,从而锅炉控制温度。当P口输出高电平时,经反相驱动器7406变为低电平,使发光二极管发光,从而使光敏三极管导通,进而是Q3导通,所以继电器线圈通电,接通锅炉燃烧器。本部分电路和单片机接口图2.9所表示。
1.当P1.7输出高电平时,燃烧器通电,燃烧器对锅炉加热,进行加热处理。
2.当P1.7输出低电平时,燃烧器断电,燃烧器对锅炉加热,不进行加热处理。
图2.9 温度控制电路
2.4 水位控制电路
锅炉在正常加温工作情况下,同时对锅炉液位检测。当锅炉水位满足条件时开始工作。
本系统设计利用一般水导电性质采取不绣钢管作为测量液位器件,放于锅炉上下限金属棒是否正在导电情况判定锅炉水位是不是在上下限范围之间,单片机经过采集水位改变信号,发出对给水泵控制命令,控制锅炉内水位符合条件。
图2.10水位检测电路
图2.10水位检测电路所表示,金属棒1放于水位上限位置,金属棒2放于水位下限位置,金属棒3放于水位以下比较远点位置。其中金属棒1和金属棒2用限流电阻分别和单片机相连接,金属棒3接+5v电源。单片机不停检测单片机端口p1.2和p1.3电平情况。
(1)当P1.2=高电平和P1.3=高电平时,即实际水位在水位上限以上位置,这时系统发出报警命令,系统停止工作。
(2)当P1.2=高电平和P1.3=低电平时,即实际水位在水位上限和水位下限之间位置,单片机不进行处理,即保持给水泵状态不变。
(3)当P1.2=低电平和P1.3=低电平时,即实际水位在下限以下位置,这时系统控制给水泵工作,锅炉开始加水,并报警。
图2.11 水位控制电路
当锅炉水位处和水位下限值时,单片机P1.4口输出一个高电平,继电器接通,此时给水泵通电,给水泵开始工作给锅炉加水。
2.5报警电路设计
本系统采取蜂鸣器进行报警,并用两个LED指示灯表示工作状态,红灯亮绿灯灭表示报警;红灯灭绿灯亮表示正常工作。该部分电路和单片机接口图2.15所表示。
图2.15 报警电路
电路由限流电阻R1、三极管Q1、两个二极管和蜂鸣器组成。这个电路并不是通常放大电路,三极管不是工作在放大状态,而是工作在饱和状态和截止状态。当基极为低电平时,晶体管处于饱和状态,饱和电压为UCES=0. 3V,此时,蜂鸣器鸣叫。当基极为高电平时,晶体管截止,相当于开路,输出为高电平,蜂鸣器停止鸣叫。
2.6按键电路设计
本系统为符合实际要求,进入系统之前首先对温度报警值设置。本系统有三个按键分别为K1,K2,K3.图2.17所表示。
(1) K1设置锅炉温度报警值温度值增加按键。K1每按下一次,温度报警值显示加比上一次值增加一度。
(2) K2设置锅炉温度报警值温度值降低按键。K1每按下一次,温度报警值显示比上一次值降低一度。
(3) K3温度报警值确定值。
图2.17 按键电路设计
3 系统软件设计
本章讲述系统软件设计包含锅炉温度控制单片机程序设计和组成系统各部分子程序设计。
3.1主步骤图设计
锅炉温度控制系统单片机程序设计主步骤图图3.1所表示。
本系统进入实施时先对锅炉水位进行和设定水位上下限进行判定,然后按条件不一样处理结果。当锅炉水位满足条件时候再对锅炉水温采样监控,并进行对应处理。
图 3.1 软件主步骤
3.2中止程序程序
中止服务程序序
K1是否按下
加1并示
K2是否按下
减1并显示
K3是否按下
返回
是
是
是
否
否
否
图4.2 中止服务程序
4.3 DS18B20温度采集子程序设计
DS18B20有严格协议来确保其数据完整性。协议包含多个单线信号类型:复位脉冲,存在脉冲,写0、写1、读0、读1。全部这些信号类型除存在脉冲外,其它信号均由总线主机产生。开始和SD18B20进行任何通信。全部要对其进行初始化,在接收到复位脉冲后,再对SD18B20进行正确ROM命令和存贮器操作命令。在总线主机初始化过程,主机经过拉高单总线,以产生复位脉冲。接着,在主机释放总线,并进入接收模式。当总线被释放后,上拉电阻将总线拉高。在单总线器件检测到上升沿后,接着产生延时,接着经过拉低总线,以产生存在脉冲。DS18B20温度采集子程序步骤图图3.3所表示。
开始
检测DS18B02
是否存在
跳过EOM匹配
是
发出温度转换 命令
跳过ROM匹配
发出温度读取
命令
保留采集温度
结束
否
图3.3 DS18B20温度采集子程序步骤图
3.4 LCD液晶显示子程序设计
本系统采取是16*2LCD1602,单片机对其初始化,然后将需要显示字符在LCD存放地址和要求在LCD显示地址送出,再检测LCD是否处于忙碌不能接收命令或数据状态,检测到LCD空闲时就能够写数据显示了。LCD液晶显示子步骤图图3.4所表示,具体实现过程请查阅附录LCD液晶显示子程序。
开始
LCD液晶显示
模块初始化
将需要显示信息和LCD地址送出
检测LCD是否忙碌
写数据显示
结束
否
是
图3.4 LCD液晶显示子程序步骤图
MAIN:
CALL TEMP_SET ;显示设定温度报警值信息
MOV A,#0C9H ;设定温度摄示度标识显示位置
CALL TEMP_BJ ;显示温度摄示度标识
LCALL DIS_TEMP ;显示初始化报警温度
MAIN1: MOV 20H,#0
LCALL KEY ;调用按键扫描程序
JNB 20H.0,DEC_TEMP
ADD_TEMP: INC TEMP_AL ;报警温度值加1
LCALL DIS_TEMP ;显示改变后报警温度
AJMP MAIN1
DEC_TEMP: JNB 20H.1,CONFIRM
DEC TEMP_AL ;报警温度值减1
LCALL DIS_TEMP ;显示改变后报警温度
AJMP MAIN1
CONFIRM: JNB 20H.2,MAIN1 ;假如没按任何键就返回MAIN1继续扫描
;SETB SPK
; LCALL DIS_TEMP1
CALL MENU_OK1 ;LCD显示温度采集和水位控制信息
LCALL DIS_TEMP1 ;显示已设定温度报警值
MOV A,#0CEH ;目前温度摄示度标识显示位置
CALL TEMP_BJ ;显示目前温度摄示度标识
START: CALL RE_18B20_1 ;检测通道1DS18B20是否存在,并设置12位正确度
CALL RESET1 ;18B20复位子程序,检测18B20是否存在
JNB FLAG1,START11 ;假如DS1820不存在则跳START11
; CALL MENU_OK1 ;假如存在则显示OK
; MOV A,#0CEH
; CALL TEMP_BJ ;显示温度摄示度标识
JMP START21
START11: CALL MENU_ERROR1 ;假如不存在则显示ERROR
MOV A,#0CBH
CALL TEMP_BJ ;显示温度摄示度标识
JMP START
START21: ;检验到有温度传感器后处理
CALL RESET1 ;18B20复位子程序,再次检测18B20是否存在
JNB FLAG1,START11 ;DS1820不存在则转到START11报错
MOV A,#0CCH ; 跳过ROM匹配
CALL WRITE1
MOV A,#44H ; 发出温度转换命令
CALL WRITE1
CALL RESET1
MOV A,#0CCH ; 跳过ROM匹配
CALL WRITE1
MOV A,#0BEH ; 发出读温度命令
CALL WRITE1
CALL READ1 ;读出温度值到TEMPH、TEMPL
DISPLAY: CALL DELAY2
CALL CONV ;将采集到温度在LCD1602显示出来
;LCALL DIS_TEMP1 ;显示已设定温度报警值
ADD_WATER:INC WATER
LCALL DIS_WATER ;显示目前水位值
AJMP COMPARE1 ;目前水位和水位上限值80比较
CLR SPK ;假如水位大于80就报警
SETB WATER-SW-H ;关闭给水泵
CLR SPK ;假如水位小于20就报警
CLR WATER_SW_H ;假如目前水位低于下限值就打开给水泵开关
CLR BOILER_SW ;目前温度超出温度报警值关闭锅炉燃烧器开关,停止加热
CLR RED
SETB GREEN
LJMP START ;比较完成,重新采集温度和水位
START0:
JB flag,LOOP4 ;假如水位出现报警但温度没有出现报警时就继续采集温度和水位
SETB SPK ;假如水位和温度全部没有出现报警时就使绿灯亮,然后继续采集温度和水位
SETB RED
CLR GREEN
LP:
ORL P1,#03H;逻辑或,检测水位
MOV A,P1;读P1口
JNB ACC.3,LP1, P1.3=0跳转到LP1
JB ACC.4,LP2;当P1.4=0表示实际水位在下限,跳转
BK: MOV A #20
ACALL D2S;调延时2S子程序
AJMP LP
LP1:JNB ACC 4,L00P3;当P1.4=0则转
SETB SPK;报警
SETB P1. 2;使P1 2=1,停止电机工作
LP4:SJMP L00P4;出现故障后程序进入
等候状态
LP3: CLR P1.2;开启电机
AJMP BK
LP2: SETB P1 2;电动机停止工作
电机工作
AJMP BK
END
;==================================================
;LCD显示温度标识子程序
;==================================================
TEMP_BJ:
;MOV A,#0CAH
CALL WCOM ;调用LCD写命令子程序
MOV DPTR,#BJ1 ;指针指到显示消息
MOV R1,#0
MOV R0,#2
BBJJ1: MOV A,R1
MOVC A,@A+DPTR
CALL WDATA ;调用LCD写数据子程序
INC R1
DJNZ R0,BBJJ1
RET
BJ1:
DB 00H,"C" ;摄示度标识
;=================================================
TEMP_SET: ;设定温度报警值
MOV DPTR,#TEMP_SET1 ;指针指到显示消息
MOV A,#1 ;显示在第一行
CALL LCD_PRINT ;在LCD第一行或第二行显示字符
RET
TEMP_SET1:
DB " SET ALARM TEMP ",0
;=================================================
MENU_OK1: ;LCD显示温度采集和水位控制信息
MOV DPTR,#M_OK1 ;指针指到显示消息
MOV A,#1 ;显示在第一行
CALL LCD_PRINT ;在LCD第一行或第二行显示字符
MOV DPTR,#M_OK2 ;指针指到显示消息
MOV A,#2 ;显示在第二行
CALL LCD_PRINT ;在LCD第一行或第二行显示字符
RET
总 结
本设计经过单片机控制,实现了锅炉温度控制基础功效,利用继电器控制燃烧器工作,而且对锅炉水位进行控制,并经过显示器显示出水温水位状态信息,确保了能够在正常范围下工作。
系统中以AT89S51芯片作为控制芯片,采取一线总线温度传感器DS18B20,用LCD1602液晶显示模块显示水温水位状态信息,这些全部得使硬件电路变得简单,性能得到提升。而且有蜂鸣器进行报警,使得本设计在应用上愈加安全。
在此次设计中,我不仅巩固了基础知识,而且锻炼了自己学习能力,经过查阅资料,了解了大量课堂上学不到东西,为以后工作和学习打下了扎实基础,但遗憾是本设计并未经过了实物模拟,在实际应用上肯定存在着不少缺欠。期望以后能做出实物,发觉设计上缺欠,并加以改善,完善本系统设计。
展开阅读全文