一种大流量消防炮控制系统的设计
2012-07-26邓成中
吴 昊 邓成中
(西华大学机械工程与自动化学院,四川 成都 610039)
0 引言
随着城市建筑规模的不断扩大,火灾事故变得越来越复杂,消防扑救工作难度增大,危险性越来越高。目前,当火灾发生时,往往通过消防部门出动消防车,由消防员手动操作车载消防炮进行喷水灭火。但是现有车载消防炮一方面由于流量小、射程有限,不能及时有效地扑灭火灾,减少人民生命财产损失;另一方面,由于需要消防员手动操作消防炮,在石油、化工等高度危险的火灾现场,不能保障消防救援人员的生命安全。因此,大流量、射程远的消防炮已成为一种扑救大型危险火灾的重要消防装备[1]。
消防炮的运动分为水平方向的回转运动和垂直方向的俯仰运动,由两个方向上的电机驱动实现。由于大流量消防炮的出水流量大,所需驱动力矩也较大,因此一般采用大功率直流电机作为执行元件。本系统采用集成功率驱动芯片,设计了大功率直流电机驱动电路,可以驱动流量高达150 L/s的消防炮,使消防炮最大射程达150 m;系统具有无线遥控功能,通信距离远,在有障碍物的情况下可达200 m。
1 系统总体设计
系统总体结构框图如图1所示。系统主要由主控制器与无线收发模块、消防炮水平回转和垂直俯仰控制模块、消防炮转动极限位置检测模块以及系统电源4个部分组成。
图1 系统总体结构框图Fig.1 Overall structure of the system
主控制器LPC1114通过无线收发模块nRF905接收遥控器(同样采用nRF905无线收发模块实现)发出的按键命令;通过采用BTN7975B构成的电机驱动电路,控制消防炮水平回转机构和垂直俯仰机构中的电机进行相应的转动,实现消防炮的转动控制。当消防炮炮口对准火源后,系统接收遥控命令,打开消防炮的喷水装置(消防水泵和电磁阀门)进行喷水灭火。系统采用霍尔开关检测消防炮水平回转和垂直俯仰是否到达极限位置。主控制器通过BTN7975B的电流检测功能实时检测消防炮在水平和垂直方向上的电机当前工作电流,判断电机是否发生过载。如发生过载,主控制器一方面对消防炮进行控制,另一方面通过无线收发模块nRF905在遥控器上进行指示。
2 系统硬件设计
2.1 主控制器与无线遥控
主控制器LPC1114是基于Cortex-M0内核的32位MCU,其内核运行频率高达50 MHz,指令执行速度快、实时性好;功耗极低、性价比高;片上资源丰富,包括32 kB片内Flash程序存储器、8 kB片内SRAM、2个SSP接口、8通道10位A/D转换器、1个看门狗定时器、4个通用定时器以及42个通用 I/O口等[2];尤其适用于外围模块多、程序代码量大、响应速度快、抗干扰能力强的系统。
无线收发模块nRF905的工作电压为1.9~3.6 V,工作于3个ISM(工业、科学和医学)频段:433/868/915 MHz[3]。nRF905 采用 CRC 校验(循环冗余码校验),片内自动完成曼彻斯特编解码和字头处理,通信可靠、抗干扰能力强;采用SPI接口(串行外设接口)与微控制器通信,使用非常方便[4]。
主控制器LPC1114与nRF905的连接图如图2所示。主控制器LPC1114通过nRF905的模式控制引脚(TRX_CE、PWR_UP、TX_EN)控制 nRF905 的工作模式;通过 nRF905的状态输出引脚(CD、AM、DR)监测nRF905的数据收发状态;通过nRF905的SPI接口引脚(MISO、MOSI、SCK、CSN)与 nRF905 进行数据传输,实现系统与遥控器的双向无线通信。遥控器可以通过发出按键命令来控制消防炮的转动和喷水灭火动作。
图2 LPC1114与nRF905连接图Fig.2 Connections between LPC1114 and nRF905
2.2 消防炮转动控制
主控制器通过由BTN7975B构成的电机驱动电路,控制消防炮水平回转和垂直俯仰机构中的大功率直流电机转动,从而实现消防炮的水平回转和垂直俯仰运动。
BTN7975B是由Infineon公司推出的大功率H半桥智能集成驱动芯片。它具有以下特点:①通态电阻典型值为16 mΩ,采用PWM方式时驱动电流最大可达60 A[5],驱动信号PWM频率最大为25 kHz;②内含电流检测电路、控制驱动电路,以及1个P沟道的高边MOSFET和1个N沟道的低边MOSFET;③可以灵活应用于两相或三相、直流有刷或无刷电机的控制驱动电路中,无需外加电机电流检测电路,无需驱动便可以直接和MCU接口,简化了硬件电路设计,使电机控制更加简单。在过压、欠压、超温、过流和短路的情况下,芯片自动关断输入;当电流超过标定的最大电流时,可以通过MCU端的I/O口控制该芯片的使能引脚关断该驱动芯片,具有良好的电机保护功能[6]。
采用2片BTN7975B组成消防炮水平回转电机的H全桥驱动电路如图3所示。消防炮垂直俯仰电机驱动电路与其完全一致。由于BTN7975B内部没有光电隔离,所以采用光电耦合器PC817与主控制器LPC1114相连实现光电隔离和电平转换,以防止驱动电路在发生击穿等故障时损坏与其相连的主控制器等器件[7]。
2片BTN7975B的OUT端分别接在直流电机的正、负两端,LPC1114的PCON端用于控制BTN7975B的工作模式。LPC1114上电复位后,其I/O口配置为输出状态时默认输出高电平,经反向器7404输出后变为低电平。PC817中的光敏三极管导通,BTN7975B的INH端变为低电平,芯片不工作,处于睡眠状态。同理,当LPC1114的PCON端输出低电平时,INH端变为高电平,芯片处于工作状态。当PWM1端输入非零占空比的PWM时,左半桥高边MOSFET导通,当PWM2端输入零占空比的PWM时,右半桥低边MOSFET导通,此时左、右半桥高、低边各有一个MOSFET导通组成一个回路,电机正转;当PWM1端输入零占空比的PWM、PWM2端输入非零占空比的PWM时,电机将反转。电机转速受PWM的控制,占空比是0~1之间的任意值[8]。
2片BTN7975B的ST端输出的电流通过线性光耦PC817转换为电压信号CUR,并送入LPC1114的第0通道10位A/D转换器中进行模数转换处理,从而可间接计算得到流过左或右半桥高边MOSFET的电流(即电机当前工作电流)。当电机工作电流发生变化时,BTN7975B的ST端输出的电流也会发生变化,从而改变了线性光耦PC817中发光二极管的光照强度,导致光敏三极管的导通能力改变,使得CUR端输出的电压随之变化,从而实时检测电机当前工作电流。BTN7975B的SR引脚通过下拉电阻接地,改变电阻的大小可以调节BTN7975B内部MOSFET的导通和关断时间,具有防电磁干扰的功能。
图3 消防炮水平回转电机驱动电路Fig.3 The motor driving circuit for horizontal slewing of the fire monitor
2.3 消防炮极限位置检测
消防炮的水平回转和垂直俯仰运动通常会有一个转动角度范围,即转动极限位置,当消防炮应用于不同场合时,其转动极限位置也会不同。消防炮水平回转和垂直俯仰运动极限位置的检测是通过采用型号为JK8002D的霍尔开关来实现的。消防炮水平回转极限位置检测电路如图4所示。
图4 消防炮水平回转极限位置检测电路Fig.4 Detecting circuit of the limit position of horizontal slewing of the fire monitor
消防炮垂直俯仰极限位置检测电路与其完全一致。当消防炮水平回转到极限位置时,霍尔开关中的OC门打开,OUT端输出的下降沿信号通过光耦PC817进行光电隔离和电平转换后,送入主控制器LPC1114的WCON端。此时不管遥控器是否继续发出该方向的转动控制命令,主控制器都会控制消防炮停止水平回转运动。其中,光耦PC817中的发光二极管两端并联的1 kΩ泄放电阻,用于抑制霍尔开关中的OC门关闭时还存在的微弱导通电流,以防止光耦导通引起误动作;并联的0.1 μF电容用于防止电源电压出现较大波动而损坏光耦。
2.4 系统电源电路
系统电源电路如图5所示,消防炮的输入电源为直流24 V。系统一方面通过开关稳压集成芯片LM2575,将24 V输入电源转换为非隔离的+5 V电源(VDD5),供给电机驱动电路。另一方面通过宽压输入隔离稳压单输出电源模块ZY2405WRBD-2W将24 V输入电源转换为隔离的+5 V电源,再通过线性稳压芯片AMS1117-3.3稳压得到+3.3 V电源,供给主控制器和无线收发模块,从而实现了主控制器与无线遥控电路和电机驱动电路电源和地的安全隔离。
图5 系统电源电路Fig.5 Circuit of power supply of the system
3 系统软件设计
3.1 电机启停与过载控制
由于消防炮在转动对准火源以及灭火的过程中会频繁地启动和停止电机,加上电机负载惯性大,所以必须对电机的启停进行特定的加减速控制,才能保证电机启停时不堵转[9]。主控制器LPC1114通过电机启动加速曲线来改变内部定时器的设置值;通过逐渐增大输入电机驱动电路的PWM的占空比,逐步增大加在直流电机两端的平均电压,从而实现电机的平稳启动。电机启动加速曲线如图6所示。
图6 电机启动加速曲线Fig.6 Startup accelerating curve of the motor
同理,当电机停转时,反序改变定时器的设置值,逐步减小输入电机驱动电路的PWM占空比,实现电机的平稳停转。系统采用PWM调速方式,一方面实现了电机的平稳启停,使电机启停时对系统无冲击;另一方面又降低了电机的启动电流,对电机起到了很好的保护作用[10]。
主控制器LPC1114通过BTN7975B的电流检测功能,实时检测消防炮在水平和垂直方向上电机的当前工作电流。当电机发生过载时,电流会急剧增大。在消防炮运动过程中,由于电源电压波动也会引起电机电流出现短时间较大的情况,因此主控制器在设定时间内将采集到的电机工作电流与内部程序设定值进行比较,以判断电机是否发生过载。如果在设定时间内电机电流恢复正常,则电机继续正常工作;否则,说明电机当前发生过载,主控制器将控制电机停止转动。
3.2 系统工作流程
系统工作流程如图7所示。
图7 系统工作流程Fig.7 Working process of the system
消防炮的所有动作都是通过无线遥控实现的,系统运行后处于等待接收命令状态,即等待接收遥控器发出的按键命令。当接收到消防炮转动方向命令后,主控制器控制消防炮执行相应方向的运动。
在消防炮转动对准火源的过程中,主控制器实时检测消防炮在水平和垂直方向上电机的当前工作电流以及消防炮的转动极限位置。当消防炮水平回转或垂直俯仰运动到极限位置时,主控制器控制消防炮停止该方向上的转动;当电机发生过载时,主控制器控制电机停止转动,并通过无线模块在遥控器上进行指示。当消防炮炮口对准火源后,消防炮停止转动,系统启动消防炮的喷水装置进行喷水灭火。灭火完毕后,系统关闭喷水装置停止喷水,重新回到等待接收遥控命令的状态。
4 结束语
系统采用智能集成功率驱动芯片BTN7975B设计消防炮在水平和垂直方向上大功率直流电机的驱动电路,从而无需额外设计电机电流检测电路,这不但简化了系统硬件电路的设计,而且使得电机控制更加简单。低功耗高性能微控制器LPC1114实时检测电机当前工作电流,判断电机是否发生过载,实现了对大流量消防炮在水平和垂直方向上电机的控制和保护。试验表明,大流量消防炮工作可靠、驱动力矩满足要求、遥控操作简单,可应用于大型建筑内的固定式消防系统和装备消防车辆,具有广阔的应用前景,在消防领域中将发挥越来越重要的作用。
[1]章勇高,李银玲,胡爱华,等.一种新型自摆消防炮控制系统的设计[J].工矿自动化,2010(4):32-35.
[2]王威,王少轩.基于Cortex-M0的半导体制冷温度控制系统设计[J].机电工程技术,2011,40(4):67 -68.
[3]荚庆,王代华,张志杰.基于nRF905的无线数据传输系统[J].国外电子元器件,2008(1):29-30.
[4]张晓健,李伟,张小雨.MSP430和nRF905的无线数传系统设计[J].单片机与嵌入式系统应用,2006(2):68-69.
[5]王名发,江智军,邹会权.智能车竞赛中直流电机调速系统的设计与比较[J].微型机与应用,2009,28(20):19 -21.
[6]刘贵如,王陆林.BTN7970在直流电机驱动系统中的应用[J].单片机与嵌入式系统应用,2010(8):44-46.
[7]胡发焕,杨杰,邱小童.大功率直流电机驱动电路的设计[J].机械与电子,2009(10):77-80.
[8]游志宇,杜杨,张洪,等.基于场效应管的直流电机驱动控制电路设计[J].国外电子元器件,2008(2):4 -6.
[9]喻兴隆,邓成中.自动消防炮驱动系统的设计[J].消防科学与技术,2010,29(6):510 -512.
[10]汪华章,宰文姣,马亚宁,等.较大功率直流电机驱动电路的设计与实现[J].西南民族大学学报:自然科学版,2010,36(4):649-654.