基于双MCU通信的改进型燃烧控制器
【摘要】针对当前国内设计的燃烧器安全性不高的缺点,本文设计了一种基于双MCU通信的改进型强制通风燃气燃烧控制器,以优化燃烧器的电控系统,增强燃烧器安全性。本设计以两片PIC16F886单片机作为主控芯片,通过串行共享EEPROM进行双机通信以增强安全性,并采用了其他保障系统安全稳定运行的设计,其中使用电容降压电路为整个程控器供电,通过倍压整流电路控制继电器的工作电源,多级三极管驱动继电器来控制外部设备,实现了燃烧器的点火、燃烧、熄火保护、诊断和报警等功能。本设计经过实际测试、验证,实现预期功能。
【关键词】程控器;双机通信;电容降压;倍压整流
一、引言
燃烧器是一种非常重要的工业设备,其应用范围广,大到航天飞机,工业燃烧,中到建筑设施,工程搅拌,小到煤气灶,热水器;其服务行业广泛,有锅炉、熔炉、冶炼炉、筑路机械及热处理行业,凡跟热能有关的行业设备都会用到燃烧器。
目前,国内的燃烧器严重依赖进口,进口设备占中国市场80%以上的份额,国内燃烧器行业处于起步阶段,生产的燃烧器数量少,安全性不高,不具规模[1]。基于国内燃烧器的现状,本设计改进了燃烧器的程序控制器。程控器是确保和控制燃烧器正常工作,集点火、燃烧控制、熄火保护、诊断和报警功能为一体的装置。燃烧器对安全性、稳定性需求高,在提倡绿色环保的今天,提高燃气的利用率,减小排放也是非常重要的。
为提高燃烧器的安全、稳定性和燃气利用率,本设计采用双MCU控制,通过双机串行共享EEPROM通信后控制继电器,从而控制点火变压器、安全阀、风机等外部设备,实现集检测、点火、调节为一体的自动控制。为进一步提高产品的安全性,设计采用单片机输出PWM经倍压整流电路控制三极管的开关,从而控制继电器工作的电源,继电器采用级联的方式连接,只要其中任何一个继电器不正常工作都会导致程控器锁定。
二、硬件设计
程控器主要由电源、继电器、核心控制芯片、检测等模块组成,整体框图如图2-1所示。
1.电源模块
电源模块是整个电路的供电保障,其稳定性对整个电路稳定性起决定作用,本控制器的电源模块采用电容降压电路,其工作原理是利用电容在一定的交流信号频率下产生的容抗来限制最大工作电流。电容的容抗,其中f为信号的频率,c为电容的容量,流过电容的电流,U为电容两端的电压[2]。
本设计采用市电经电容降压方式给各模块提供电压。市电通过电容降压后进行全波整流,单片机IC16通过输出一定频率的PWM利用倍压整流得到一定的电压,从而控制三极管V91的导通与截止,当V91导通时,V61、V71导通,电流主要从两个三极管流入,V181阴极的电压为十几伏;当V91截止时,V61、V71截止,电流主要流过V81,V181阴极的电压为四十伏左右,用一个10V稳压管稳压提供VCC相对VSS为10V的电源,在VCC与VSS之间串接一个5.1V和一个5.6V的稳压管,将10V电压作为双电源,为单片机提供5.1V电源,为运放LM358提供10V电源。原理图如图2-2所示。
2.双MCU串行共享EEPROM
近年来,利用单片机开发的产品结构越来越复杂,用一个单片机虽然可实现系统功能,但由于外围电路的扩展,使得硬件设计复杂,软件编程困难。分布式多机系统思想在计算机领域得到了广泛应用,多个MCU协同工作,降低了电路设计的复杂性,且使软件设计变得相对清晰。采用双MCU的优点:①提高控制系统的安全性;②增加I/O接口的数量及片内ROM和RAM的存储空间;③简化硬件设计和软件设计;④便于多人开发,缩短产品设计调试周期;⑤便于产品更新升级;⑥便于产品检修维护。为此,本设计采用两块单片机来组成一个双MCU系统。
使用两片单片机需要实现双机通信,对信息进行传递和存储,通过传递不同的信息进行不同的控制。双机通信有并行通信或和串行通信,对于传输速度要求较高的通信系统可以采取并行通信,本系统要求响应状态异常的时间是1秒以内。为了将系统运行的状态保存起来,便于对故障进行检测,需存储信息,因此采用双机串行共享EEPROM进行通信的方案。同一时间只能有一个CPU访问EEPROM,不访问时需将总线设置为高电平,否则会出现竞争。由于本设计是双CPU,所以每个CPU各引出一个IO口相连,用来作为总线访问权限控制。当控制线处于高电平时,表示EEPROM处于空闲状态,当控制线处于低电平时,表示EEPROM处于繁忙状态。
初始化时,控制线两端的IO口都设置为输入,因上拉电阻作用,控制线为高电平。如果其中的任意一个单片机要访问EEPROM时,先检测控制线是否为高电平,如果是高电平,则将己端的IO引脚设置为输出,并输出低电平。当对EEPROM操作完时,将己端的IO引脚设置为输入,释放总线控制权。上述过程完成双单片机交换对EEPROM的控制权。
EEPROM用来存储掉电前的状态信息并让两块单片机进行信息交换。当用于存储断掉电前的状态时,上电时读取EEPROM内指定地址的信息,并做出最安全的操作;当作为信息交换时,两片单片机通过向指定的地址写事先定好的信息,用于控制单片机的状态。
3.火焰检测
如果燃烧器点火成功,出现火焰,会使离子探针离子化,产生电流,通过双运放将电流转换为电压。单片机可通过AD对信号进行采样,通过采样的数值可判定是否有火焰。由于PIC16F886自带有ADC,故直接将电压信号输入到单片机的AD输入端,进行AD转换。
4.交流电检测
由于市电、空气压力开关、伺服电机、风机等的检测信号都是有效值为220V的50Hz交流电,故单片机需要对220V的交流电进行检测,PIC单片机的IO引脚具有电压钳位功能,当输入或输出电流低于钳位二极管的最大正向电流时,钳位二极管导通把高于单片机电压钳位在VCC+0.7V左右;当输入电压低于单片机的地电压时,电压被钳位在GND-0.7V左右。输入单片机IO口的电流约为U/(R1+R2),交流电的峰值约为311V,取VCC为5V,则输入单片机IO口电流约0.33mA左右,当输入为电压峰值时,输入到IO口的电压经过二极管钳位到5.7V左右。
三、软件设计
软件主要实现燃气燃烧器点火、燃烧、熄火保护、诊断和报警的控制。由于燃气特性——易燃、易爆及毒性,所以安全控制为软件设计的首要考虑问题,其次是稳定性。
1.提高安全性方面
(1)采用双MCU方案进行双机通信,任何一片单片机出现故障,另一方都能够检测出,并使系统进入后锁定状态。
(2)在通信过程中添加通信超时判断,防止出现通信死循环状态。
(3)在通信数据中加入奇偶校验和错误校验,以确保数据传输的正确性。
(4)对有关安全方面信号的检测和控制,都需要两片单片机确认一致后才能通过。
2.提高稳定性方面
采集信号异常时,需要通过三次检测后才能确定,并且三次之间延时100ms,消除信号抖动。
3.保持良好的软件架构
(1)有限状态机机制:由于燃烧器运行过程会进入不同种的状态,并且每个状态都能跳进故障锁定状态或无启动信号等待状态,为了能实现这种功能,软件采用有限状态机的机制编写,将程序分为15个状态,根据情况进行切换。
(2)模块化编程:为了方便后续功能的扩展,软件设计时一直秉承模块化编程的思想,功能模块都能自由添加和删减,而不破坏软件的架构。
(3)双CPU交替循环检测:两片单片机都需要进行检测,所以要合理的安排检测和控制顺序。
4.软件设计简要说明
软件控制程控器按照点火正常时序完成正常工作过程:准备阶段、预吹扫阶段、点火阶段和正常燃烧阶段四个阶段。如果出现点火故障时,按照点火故障时序进入锁定状态。
系统启动时IC16和IC26开始初始化各自的IO端口方向、电平、相关寄存器、全局变量;初始化完成后开始握手,从而达到同步。同步后根据运行情况进入不同的状态。总共有15种不同状态:程序自检状态;启动回路;风机马达开始运行;伺服马达旋转到90度;伺服马达旋转到15度;安全阀VS和流量调节阀VR打开;点火变压器通电;点火变压器断电判断是否点火成功;一段火燃烧状态;二段火燃烧状态;诊断状态;出现异常需要进入10s缓冲的锁定状态;锁定状态;无启动信号等待状态。
两片单片机通信时要经过握手同步,一片单片机通过向EEPROM写入预定的握手信息,另一片单片机读取握手信息,并做出回复,当握手成功时,相应单片机获得控制权,否则循环握手过程,若握手超时,则两片单片机都可单方面进入锁定状态。
IC16先做检测,移交控制权给IC26,IC26读状态并且视情况而定检测状态,之后把控制权又还给IC16,换做IC16读状态;IC16和IC26在这种过程中,是交替并且是循环过程,在没有状态改变时,一直做这种循环。为了确保安全,整个过程都在检测相应信号是否正确,流程图如图3-1所示。
四、结论与展望
硬件与软件调试好后,便将作品投入到测试平台和实际运行环境进行测试和验证,经测试、验证,程控器能够实现智能点火、火焰检测、具有熄火保护、故障诊断显示、报警等功能。本设计目前没有加入燃烧过程中的烟气分析,为了使燃烧效果达到理想状态需要增加烟气分析功能,根据实际的运行效果进行调整。
参考文献
[1]百特公司.国产燃烧器成未来市场主导趋势[Z].
[2]沈阳单片机开发网.电容降压工作原理[OL].
[3]中国燃烧机网.燃气燃烧机、燃烧器的安全控制要求[OL].
[4]上海良臻公司.燃烧器燃烧机培训内容[Z].
[5]利雅路公司.RS70-100-130强制通风燃气燃烧器安装使用以及维护说明书[S].
[6]TSG特种设备安全技术规范[S].