家用保险舱温压监控系统的设计与实现
2013-12-23魏洪涛罗彩珠
魏洪涛,罗彩珠
(武汉理工大学 信息工程学院,湖北 武汉430070)
家用保险舱环境监测系统的功能是通过传感器采集舱内外环境信息,这些信息包括温度、气压、空气成分和图像等,再将信息传送给上位机,最终实现实时监控、分析决策以及控制驱动设备正常工作。在一个密闭高温家用保险舱控制系统中,环境温度、压强的监测和控制具有非常重要的地位。
笔者以S3C6410 高性能ARM11 处理器为上位机,以C8051 单片机构成的数据采样处理单元的硬件平台为下位机,采用RS232 串口通信完成采样单元与上位机的通信,以Qt Creator 集成开发环境(IDE)为上层应用开发平台,设计了一套温压监控系统软件。通过在开发板上实验验证,该套系统能实时监测温度和气压的变化情况,再经数据处理,从而可以自动控制设备正常工作,上位机人机交互界面友好美观[1]。这对于整个环境监控系统运行的稳定性和可靠性具有重要意义。
1 系统总体设计
温压监控系统应具备以下功能:①采集主舱和散热仓内的气压值;②采集舱内外的温度值;③将测得的气压和温度值显示到GUI;④通过算法分析处理自动控制排气和制冷系统的工作;⑤排气泵和制冷系统可以自动开关,也可以手动开关。
温压监控系统总体思路是分别由两个气压传感器测量主舱、排气舱内的气压及温度值。先由数据采集模块将数据采集进来,然后通过串口将采集的数据传到上位机主控制器,上位机将采集到的数据显示到GUI 界面上并与阈值比较,判断何时开启排气和制冷系统,从而调用电源管理控制排气和制冷系统的工作状态。同时上位机还设置了排气和制冷系统的手动开关按钮,手动开关按钮优先级高于自动开关,即只要点击了手动开关按钮,就立即开启或关闭排气和制冷系统。所设计的系统包含ARM 主控制器、数据采集单元、图形界面GUI、电源管理单元[2-4],具体结构框图如图1 所示。
图1 系统结构框图
2 硬件设计
为了节约用电量,需要让抽气泵的工作时间尽可能缩短,又综合考虑人在正常情况下所能承受的大气压情况,选用较大量程的传感器。这里采用BA80305 型号的数字气压传感器,其测量范围在300 ~3 300 HPa,精度为1 Mbar;可以测常温0 ~80℃,采用SPI/IIC 标准通信协议接口与微处理器通信,供电电压为1.8 ~3.6 V,参考电压为3 V[5]。
用C8051 单片机的通用I/O 口模拟IIC 总线通信,读取气压传感器各存储区地址的数据,通过串口将数据传到上位机,进行处理和应用。
气压数据采集模块采用C8051f340 的单片机,因为该款单片机有仿真器便于调试,选用IIC 模式通信协议,通过单片机的两组I/O 口模拟IIC 标准接口通信,读取两个气压传感器存储地址的数据,然后通过RS232 串口与上位机通信。在传输数据时,单片机时钟通过SCLK(串行时钟)和SDA(串行数据)与气压传感器模块通信。IIC 总线接口在同一个双向通信的SDA 管脚响应,因此这种接口只需要两条信号线,不需要片选信号。在IIC 模式下片选信号(CSB 脚)的增加提供了LSB 的IIC 地址,因此在同一个IIC 总线上可以携带多个传感器模块工作[6-8]。气压传感器采集电路如图2 所示。
图2 气压传感器采集电路图
由于传感器的工作电压和系统工作电压不同,模块采用了电压转换电路,采用系统常用的5 V电源供电,稳压到3.3 V,5 V电源给串口转换芯片供电,3.3 V 给单片机最小化系统和传感器电路供电[9]。
3 监控系统上位机控制
抽气泵和制冷的工作分为自动开关和手动开关,可以自动打开也可以手动打开,手动开启后可以自动关闭,手动开关优先级别高于自动开关。软件设计GUI 时设置了一个手动软件开关按钮。程序中分别设置了两个手动开关按钮状态变量:openFlag 和closeFlag,都初始化为false。
系统首先初始化,读取气压和温度值,然后判断手动开的状态标志量openFlag 是否为false,若为false,就将读取的气压P 和温度T 的值与初始阈值比较,若大于初始阈值就调用AutoOpen()函数,自动打开排气或制冷设备,不断读取P 和T的值与阈值X 比较,若小于X 值就自动关闭排气或制冷设备,最后返回到初始化状态继续监控。
若openFlag 为true,就直接调用ManOpen()函数,手动启动排气或制冷设备,然后判断手动关闭状态标识量closeFlag,若为false,则将读取的气压和温度值与最低阈值Y 比较,若小于Y,就自动关闭,若没有就返回不断监测气压和温度的值,继续与Y 值比较;若closeFlag 为true,则直接调用close()函数关闭排气或制冷设备。气压和温度初始阈值与X、Y 值分别对应的值如表1 所示。
表1 气压和温度初始阈值与X、Y 比对表
4 温压控制系统测试
首先在开发板上烧写用于Linux 系统的Images,利用BootLoader 的下载功能,使用超级终端的串口工具把系统的内核和文件系统移植到开发板上,然后配置内核的启动参数,将Qtopia4.4.3移植到开发板上。应用程序经过arm-linux-gcc-4.5.1 编译器编译后,生成可执行文件,用SD卡将可执行程序移植到所设计的ARM 上位机上,最后分模块进行联调测试[10]。
将温度、气压传感器的数据采集模块接入电路,重启开发板后,在状态栏中显示气压为1 014 kPa(一个标准大气压),温度为10 ℃,数据与实际值和PC 机上运行的差不多,说明数据采集正常。
关闭电源,再测试排气泵和制冷系统的自动控制功能。将排气泵和制冷片按指定电压值接入电路中,点击第一操作栏中的“温压调节”按钮,显示”温压控制”的二级操作界面如图3 所示。
图3 温压调控界面图
通过设置气压和温度的阈值,达到自动控制功能;通过点击开关按钮达到手动控制功能。
(1)阈值设置。用户可以根据自己的需求,设置气压和温度的阈值,如图4 所示,点击图4 中“+”、“-”按钮,进行阈值大小调节。
图4 阈值设置
(2)自动开关。当测量的气压和温度值高于阈值就自动开启排气和制冷系统;当工作一段时间后低于阈值就自动关闭系统。
(3)手动开关。GUI 上设置手动开关按钮控制,如图5 所示,点击按钮“开”,排气泵和制冷系统能正常工作;也可以点击开关按钮“关”,如图6所示,手动关闭排气和制冷系统。
图5 手动开
图6 手动关
在第二操作栏中通过调节阈值,分别对自动和手动进行测试。经测试,效果良好,能稳定工作。
5 结论
温压监控系统从下位机数据采集到上位机信息处理,形成了实时数据采集处理和自动控制的监控系统。该系统实现了一个高温密闭的家用保险舱的环境监控,具有较好的人机界面,平台移植便捷,对数据信息的显示直观,特别适用于一些大型特殊的环境监控系统中,不仅性能稳定、界面美观而且节能。
[1] 杨凡. 基于ARM 的数据监测与数据融合[D]. 北京:北京交通大学图书馆,2010.
[2] 石舒.基于ARM 平台嵌入式数据传输通信软件的设计[D].成都:电子科技大学图书馆,2010.
[3] LI D,LI T,ZHANG D C. A monolithic piezoresistive pressure-flow sensor with integrated signal-conditioning circuit[J]. Sensors Journal,IEEE,2011,11(9):2122-2128.
[4] PENG J P,THAYAMBALLI P,CHIA G.Pressure sensor implementation for head media spacing reduction[J].Magnetics IEEE Transactions,2010,46(3):778-781.
[5] 冷玉林,钟将.基于ARM 的嵌入式Linux 系统构建[J].计算机系统应用,2010,19(11):23-27.
[6] 刘智国,张海春.基于S3C2410 的嵌入式串口通信设计[J].微计算机信息,2009,25(4-2):12-14.
[7] HUANG W B,WANG G L,LU J L,et al.Research of wireless sensor networks for an intelligent measurement system based on ARM[C]//Mechatronics and Automation (ICMA),2011 International Conference.[S.l.]:[s.n.],2011:1074-1079.
[8] 王敏.基于C8051 的数据采集系统设计[J].科技广场,2008,24(9):19-21.
[9] 胡鸿志.基于新型温度传感器的数字温度设计[J].电子测量与仪器学报,2011,25(8):741-744.
[10]三恒星科技.ARM9 原理与应用设计[M].北京:电子工业出版社,2008:20-25.