《武汉工程大学学报》  2012年1期 65-68   出版日期:2012-02-28   ISSN:1674-2869   CN:42-1779/TQ
舰艇舱室二氧化碳检测装置


0引言 舰艇舱室是人员休息和工作或在核化条件以及生化污染条件下用于集体防护的场所,环境相对封闭,人员高度集中,舱内排出的废气浓度高,尤其是晚间门窗紧闭,舱内空气质量差,其中二氧化碳的含量对舰员的生理影响表现为:当CO2浓度小于0.05%时,人员感觉舒适;当CO2浓度大于0.05%小于1.55%时,人员短期无明显影响,但长期会影响战斗力;当CO2浓度大于1.55%小于2.00%时,人员会出现轻微反应(疲劳、烦闷、头晕、气喘),使用武器装备困难;当CO2浓度大于3.00%时,人员会有剧烈反应(呼吸困难),不能使用武器装备甚至引起死亡[1].由此可见,二氧化碳的浓度测量是十分重要的.舰船舱室气体检测装置多采用质谱仪[2],虽具有检测范围广、运行稳定、分析速度快等优点,但其体积大、价格昂贵,因此不便携带和安装.本文采用低功耗器件并采用合适的软件方案设计了一种二氧化碳浓度和温湿度检测装置,采用电池供电,具有功耗低、体积小、便于携带和安装、接口灵活等特点,适合舰艇舱室环境应用.1硬件设计检测装置的电路原理图如图1所示.它主要由MCU(微控制器)控制单元、通信接口、温湿度传感器、二氧化碳传感器等构成.所有单元均采用低功耗器件,MCU采用TI的具有休眠功能的MSP430F449单片机,温度和湿度测量单元采用SENSIRON公司的具有休眠功能的SHT21温湿度传感器,CO2浓度测量采用GSS公司的功率仅为3.5 mW的COZIR传感器.所有器件均采用3.3 V供电,便于电池集中供电.图1检测装置的电路结构图Fig.1Structure diagram of the acquisition system1.1MCU单元MSP430F449是IT公司推出的一种超低功耗单片机,其主要特点有: a) 超低功耗:其供电电压为1.8~3.6 V,工作在LPM3(低功耗模式3)模式时电流为0.7~0.9 μA,工作在活动模式时电流为0.2~0.3 mA,I/O(数字输入/输出口)口的漏电流不超过50nA[3].它的矢量中断支持多个中断源,并可以任意嵌套.当MSP430F449工作在低功耗模式时,外部事件所引起的中断请求最短只需1 μs唤醒系统.b) 处理能力强大:MSP430(单片机)系列为16位单片机,使用精简指令集,它的机器周期为一个振荡周期.同时它还采用了16位多功能硬件乘法器等一系列先进的体系结构.c) 高性能模拟技术及丰富的片上外围模块:MSP430F449组合了许多功能模块,其中包括LCD(液晶显示器)驱动器,这大大节省了外围硬件的开销.d) 系统工作稳定可靠:上电复位后,先由其内置的DCO(数字控制振荡器)时钟启动CPU(中央处理器),在外接的晶振稳定后,通过软件编程来确定系统时钟频率.如果外接晶体振荡器在用作主时钟时发生故障,内置DCO会自动启动,以保证系统正常工作.在本应用中,MCU是检测装置的核心,在无事件发生的情况下工作于LPM3低功耗状态.此时,高速时钟和CPU停止,32768 Hz低速时钟处于活动状态,将UART0和TIMER0(定时器0)的时钟源设为ACLK(辅助系统时钟),当USART0有数据接收或TIMER0定时发生时,MCU可响应并退出LPM3状态进入活动工作状态.MSP430F449功能丰富,编程方式灵活,完全可满足检测装置的设计要求.1.2低功耗传感器单元温度和湿度测量单元采用SENSIRON公司的具有休眠功能的SHT21温湿度传感器,休眠时的电流仅为0.15 μA左右.SHT21配有一个全新设计的CMOSens(芯片的一种结构)芯片、一个经过改进的电容式湿度传感元件和一个标准的能隙温度传感元件,其性能已经大大提升甚至超出了前一代传感器(SHT1x和SHT7x型号)的可靠性水平.SHT21的测量分辨率高,可以达到14 bit(温度)、12 bit(湿度).量程范围广,温度为-40~120 ℃,湿度为:0~l00%RH[4].通信采用标准I2C接口,便于微控制器访问.在每次测量和通讯结束后,SHT21会自动转入休眠模式,大大降低了功耗.这里对SHT21采用3.3 V供电,SHT21的SCL脚接单片机的P2.0口,SDA脚接单片机的P2.1口,单片机模拟I2C(一种串行通信的标准)口.CO2浓度测量采用GSS公司的COZIR-A型传感器,其功耗仅3.5 mW,可温度补偿,湿度补偿,以及感知白天黑夜的环境状态[5].预热时间仅10 s,量程2 %.性能: 1)功耗3.5 mW;2)峰值电流33 mA;3)平均电流小于1.1 mA;4)电源3.3 V;5)响应时间30 s;6)标准型号温度范围0? ~ 50 ℃(可扩展-25 ℃~55 ℃);7) 湿度适用范围 0~95 % RH;8)存储温度-30 °C~+70 ℃;9)尺寸:传感器18 mm×20 mm.COZIR连接简单,除了3.3 V电源和地线外,还有RX(引脚名称)和TX(引脚名称)引脚可直接连接单片机的USART1(串口1)口.所有的通信均使用ASCII(编码名称)码,命令格式按照文献[6]的规定执行.传感器有三种工作模式:命令模式(Command Mode),流模式(Streaming Mode)和查询模式(Polling Mode).其中工作于查询模式时传感器并不产生数据,但是周期性的测量在后台继续,当传感器收到读取命令时,会将最近的测量值转换成数据送出.查询模式的功耗与查询频率有关,但是几乎接近3.5 mW.该设计将COZIR的通讯口接到单片机的USART1(串口1)口,COZIR工作在查询模式(Polling Mode).第1期郝毫毫:舰艇舱室二氧化碳检测装置
武汉工程大学学报第34卷
2软件设计软件的开发环境为IAR Embedded Workbench(一种软件开发环境),使用C430语言.检测装置作为从机其USART0口执行标准MODBUS协议,为点对多点的通信方式.MODBUS协议是免费的用于工业现场的总线协议.在我国,MODBUS已经成为国家标准GB/T19582-2008[7].可以支持多种电气接口,如RS-232、RS-485等[8].每一个检测装置都拥有一个唯一的MODBUS地址,工作方式为主站轮询,从站监听的方式.检测装置软件的主要流程如图2所示.2.1程序流程系统初始化时,MCU进入LPM3模式,Timer0(定时器0)选择32.768 kHz晶振作时钟源,定时1 min中断.有两个事件会将MCU唤醒:Timer0定时和USART0数据接收.在Timer0(定时器口)的中断服务子程序中做两件工作:1、软时钟计时.由于系统对实时性要求不高,时钟可以分钟为最低计时单位.并且上位机可定期通过写指令对时钟进行校准;2、采集数据.从温湿度传感器和二氧化碳浓度传感器读取数据并按规定格式存放在规定缓冲区,等待上位机读取,刷新LCD显示器.图2系统程序框图Fig.2Program flow chart2.2数据存储MSP430F449拥有较大的存储区,其FLASH区有60KB+256B.本系统地址分配如下:
USART0配置参数 0X1000~0X107F
MOBUS通信协议配置参数0X1080~0X10FF
用户参数(用户信息等)0X1100~0X1FFF
用户程序区0X2000~0X6FFF
升级程序区0XE000~0XFDFF实时数据区位于RAM(随机存取存储器)区,在MCU处于LPM3模式下能够得到保存.实时数据的存放格式如表1所示.每次读取的采样数据和时间存放在两个位置,一是地址0x7003~0x7008,二是沿地址0x7009~0x707A顺序循环存放.
2.3程序升级MSP430F系列单片机的FLASH(存储器的类型)存储器模块是可以通过程序擦写的.由于采用的是普林斯顿结构,所有存储器安排在同一个线性地址空间中,地址结构清晰,便于访问.FLASH部分被分为多个可单独擦除的段(512字节,信息段大小为128/64字节),因此特别适合在线程序升级(in-system program).
表1实时数据的存放格式Table 1Storage formats of real-time dataMODBUS地址变量类型数据注释0x7000BCD码6个字节(年月日时分)实时时钟0x7003BCD码(编码名称)6个字节(年月日时分)最新采样点测试时间0x7006uint16最新采样点温度值0x7007uint16(无符号整型数)最新采样点湿度值0x7008uint16最新采样点CO2浓度值0x7009BCD码6个字节(年月日时分)采样点1测试时间0x700Cuint16采样点1温度值0x700Duint16采样点1湿度值0x700Euint16采样点1CO2浓度值0x700FBCD码6个字节(年月日时分)采样点2测试时间0x7012uint16采样点2温度值0x7013uint16采样点2湿度值0x7014uint16采样点2CO2浓度值…………0x7075BCD码6个字节(年月日时分)采样点19测试时间0x7078uint16采样点19温度值0x7079uint16采样点19湿度值0x707Auint16采样点19CO2浓度值程序升级的原理是在单片机中放置2段地址不重叠的相互独立的程序代码:一段为升级程序,另一段为用户应用程序.同时为两者的特殊功能寄存器分配两个不同的区域用于保存寄存器内容,以便在程序跳转时使用.单片机复位后先进入引导程序,由它判断应用程序是否存在或错误.若有正确的应用程序则引导程序指针跳入应用程序,恢复特殊功能寄存器内容.否则进入升级程序,开放通信接口,等待升级.引导程序的C430语言描述如下Void main(){While(1){If(App_Valid()) // 判断应用程序是否存在,或存在错误Application();????? // 进入应用程序elseUpdata();????????? // 进入升级程序}}在编写应用程序时,要在链接文件(*.XCL)中指定应用程序的地址范围,编译完成后输出TXT(文本)文件.在应用程序和升级程序之间跳转时,可通过使用“asm(" mov &0xXXXX, PC;");”语句改变程序指针,同时注意保存必要的寄存器的值.3实验测试经测量,系统在绝大部分时间段工作电流为1.4 mA,采用ER18505H型(3 500 mAh)锂电池可连续工作3个月左右.采用MF-4B型标准气体稀释装置,用高纯氮作稀释气体对1%的标准CO2气体稀释得到6组不同浓度的CO2气体.分别用气相色谱仪和本装置对配置的6组气体进行测量比较,结果如表2所示.表2测量数据比较Table 2Comparison of measurement data 组别气相色谱仪法
C1本装置
C2相对差值
C2-C1C2×100 %10.0190.0190.00020.0410.040-2.43930.0600.059-1.66740.0800.0811.25050.1010.099-1.98060.1190.1211.6814结语上述所设计的舰艇舱室二氧化碳检测装置硬件结构简单,成本低,技术开发成熟,所采用的器件均为超低功耗器件,使得整个系统的功耗很低,可采用锂电池供电,因此安装方便,也便于携带.检测装置每分钟更换一次数据并在LCD上显示,预留的USART0口可以对外通信,服从MODBUS协议,用户可根据需要升级用户程序.由于体积小,安装屏蔽罩容易,安装屏蔽罩的检测装置在舰艇舱室复杂电磁环境下可正常工作.另外,依据MODBUS协议可通过USART0口对装置的采样时间等工作参数进行修改,以满足用户需求.同时由于检测装置具有升级功能,经过改动可适用于其它多种应用场合,如蔬菜大棚的空气质量监测等,具有较大的推广价值和广阔的市场前景.参考文献: