资源描述
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液晶显示模块显示水温水位状态信息,这些都得使硬件电路变得简朴,性能得到提高。并且有蜂鸣器进行报警,使得本设计在应用上更加安全。
在本次设计中,我不但巩固了基本知识,并且锻炼了自己学习能力,通过查阅资料,理解了大量课堂上学不到东西,为后来工作和学习打下了夯实基本,但遗憾是本设计并未通过了实物模仿,在实际应用上必定存在着不少缺欠。但愿后来能做出实物,发现设计上缺欠,并加以改进,完善本系统设计。
展开阅读全文