内容 | (中国电子科技集团公司第三十八研究所,安徽 合肥 230031)汪 玮

汪玮(1982-)男,汉族,安徽池州人,硕士,助理工程师,研究方向为嵌入式系统的开发,现就职于中国电子科技集团公司第三十八研究所。
摘要:本系统依据JJG667-1997液体容积式流量计检定规程,采用PHILIPS的LPC2292嵌入式微控制器和μC/OS-II操作系统开发流量标定计算机,实现了利用标准表法标定流量计的功能。
关键词:流量标定;ARM;LPC2292;标准表法
Abstract: In this paper, we design a flowmeter calibration system. The system is based on the liquid volumetric flowmeter calibrating regulation JJG667-1997,and uses Philips LPC2292 embedded microcontroller and μC/OS-II operation system. It can calibrate flowmeter by means of Master Meter Method.
Key words: Flowmeter calibration; ARM; LPC2292; Master Meter Method
1 引 言
各种工业流量计的精度标定是工业仪表一项重要的计量工作,按照流量计标定规程通常有容积法、标准表法、称重法等方法。传统的标定系统使用人工或半自动操作,操作流程复杂,标定过程中的数据手工记录,标定结果手工计算,采样时间的同步不易控制,还存在速度慢,效率低,出错率高等问题,限制了劳动生产率的提高。而用计数器和PC来构建检定系统,虽然精度自动化程度都有了很大提高,实现了流量计标定系统的自动控制、采样时间同步、数据采集、处理、分析的自动化,但是成本过高,使用也相当不便。在此背景之下,本文提出了一种采用基于ARM7的LPC2292微控制器开发标定计算机,以代替原采用计数器和PC构建的检定计算机系统。
2 标定方法与原理介绍
本系统是采用标准表法对流量计进行标定的。标准表法流量标定是有国家标准的容积式流量计标定方法。该系统所依据的标准为JJG667-1997液体容积式流量计检定规程。
标准表法就是用标准流量计标定流量计的方法,也称为比较法。用标准表法标定流量计的基本原理是基于流体力学的连续性方程流体在相同时间间隔内连续通过标准流量计和被检流量计,用比较的方法确定被检流量计的误差。在采用标准表法标定过程中,在已知的体积流量下,计算机对标准表及被检表的脉冲信号进行实时采集,进行数据处理分析。
3 系统总体设计
该系统以PHILIPS的LPC2292为微处理器,选择必要的硬件外设,以实时嵌入式操作系统μC/OS-II为软件开发平台自行开发嵌入式流量标定系统。拟开发的流量标定系统能实现标准表法和体积管法标定流量计,检测标定过程中的温度,压力,并显示最终的标定报告,低成本,低功耗,便于携带。
本系统利用编码器产生脉冲信号来模拟流量计传感器产生的计量脉冲信号,产生外部中断,摒弃了计数器计数,而直接利用中断计数。用温度和压力传感器检测标定过程中的温度及压力值,通过AD转换得到具体数值在LCD上实时显示。标定过程中的各进程界面和最终的标定报告由外接的LCD来显示,红外键盘用来根据LCD上的显示提示进行参数设定及其他操作。本系统采用RS232、RS485、CAN总线三种方式与上位机进行通信。有三路输出,一路4~20mA输出用于控制阀门开度和两路继电器输出用于控制阀门开关和电机状态。

图1 系统结构框图
4 系统硬件设计
该系统所采用的微控制器为PHILIPS的LPC2292。LPC2292芯片是一款低价格、高性能的ARM7TDMI-S微控制器芯片,并带有16kB片内SRAM,256kB嵌入的高速Flash存储器。最高工作频率可达到60MHz。多个串行接口,76个GPIO,10位8路的ADC,2路CAN以及多达9个边沿或电平触发的外部中断使LPC2292特别适用于工业控制[1]。
4.1 液晶模块
本系统需要对标定流程中的各个界面以及最后的标定报告进行显示。因此,选择了一款DMF50840NF的LCD模块。点像素为320×240,单色,内嵌控制器为SED1335. LPC2292以间接控制方式控制LCD模块。间接控制方式是MCU通过I/O并行接口,按照模拟模块时序的方式,间接实现对液晶显示模块的控制。根据液晶显示模块的需要,并行接口需要一个11位并行接口,LPC2292的P2.16-2.23口作为数据总线。P2口中P2.24、P2.25、P2.28、P2.29分别连接写选通、读选通、片选及指令/数据通道选择信号。
4.2 脉冲计数电路
本系统采用两个编码器产生脉冲来分别模拟标准流量计和被标定流量计的传感器产生的计量脉冲,从而产生外部中断。编码器采用的是日本ALPS公司出产的带自回开关的增量式光电旋转编码器EC11-S。此编码器在电路板上的安装方式是直立式的,其引脚连接如图2所示,C端接地,A、B端分别经过限流电阻接电源,旋转编码器轴,A、B两端就可观察到有脉冲输出。

图2 编码器外形及电路连接
4.3 红外键盘
工业仪表通常采用表面键盘操作,在进行抄表记录时需打开表头(表头采用防爆技术),非常不方便,迫切需要进行遥控操作。为此,笔者研制了一种红外遥控系统。红外遥控系统由发射和接收两大部分组成。应用编/解码专用集成电路芯片来进行控制操作,该系统采用uPD6121G作为遥控发射器专用芯片,当发射器按键按下后,即有遥控码发出,所按的键不同遥控编码也不同。接收电路可以使用一种集红外线接收和放大于一体的一体化红外线接收器,不需要任何外接元件,就能完成从红外线接收到输出与TTL电平信号兼容的所有工作,该系统采用的接收头是TSOP1838B。
4.4 串口通信与AD转换
(1)该系统采用RS232、RS485、CAN总线三种方式与上位机进行通信。LPC2292本身包含2个UART和CAN控制器,因此,很方便搭建RS232与CAN总线收发电路。
(2)利用简易的电阻分压方式模拟检定时的温度和压力,通过LPC2292的ADC进行AD转换。
5 系统软件设计
5.1 操作系统介绍
μC/OS-II是著名的、源码公开的内核,可用于各类8位、16位和32位单片机或DSP。它是一个可移植、可固化、可剪裁的占先式实时多任务内核,能够同时管理多达64个任务,很方便地进行任务管理,时间管理,任务间的通信等[3]。
5.2 系统软件总体结构
系统软件采用模块化结构,以实时数据为核心,设计了数据采集,检定,显示,通信等多个功能模块。本工程共创建了三个任务,第一个是主任务,用来创建其它任务和整个流程的操作过程的控制;第二个是AD转换与实时显示任务,用来实时显示AD转换的温度和压力值。第三个任务是按键任务,通过消息邮箱KeyMbox向主任务发送按键消息。
5.3 标定流程实现
本系统须实现标准表法标定。根据液体容积式流量计检定规程JJG667-1997的规定,流量计检定点不少于3个,均匀分布,而且每个检定点至少检定3次。本工程对于这两种方法均设定了3个检定点,每个检定点检定3次。
标准表法标定采用外部中断计数,将模拟标准流量计和被检定流量计采样脉冲的输出端与LPC2292的外部中断引脚连接,对每一个脉冲输出端来说,每有一个采样脉冲,LPC2292就会产生一个外部中断。故编制两个外部中断服务程序完成脉冲计数任务。外部中断程序首先判断计数值是否达到预先设置的脉冲数,若无,则继续计数。若达到,则立即关两个中断停止计数,同时发送一个信号量消息给主任务,表示一次标定结束。由计得的脉冲数即可算得每一点每一次的K系数,并最终算得流量计的K系数,基本误差和重复性。

图4 脉冲计数程序流程图
5.4 液晶驱动及显示的软件实现
由于LPC2292是通过I/O模拟总线操作时序控制液晶模块的,DMF50840NF的速度较慢,所以在编制液晶驱动时要对其时序关系有一个清楚的了解,并在程序中加入适当的延时。液晶驱动程序包括:初始化,写命令,写数据,读数据,清屏,显示中文字符,显示英文字符等子程序。本设计采用图形方式显示汉字和字符,其中中文字库位于片外E2PROM,地址起始于:0x81000008;共约238kB。
5.5 红外遥控实现
红外遥控解码的关键是如何识别低电平“0”和高电平“1”,uPD6121G是脉宽调制的发射芯片,其低电平“0”和高电平“1”不同之处在于高电平的宽度不同,所以必须根据高电平的宽度区别“0”和“1”。本系统红外遥控解码采用中断方式。红外接收头输出信号直接连接到LPC2292的外部中断INT0,INT0设置为下降沿边缘触发方式,用内部定时器T1测量正脉冲宽度。
5.6 串口通信及AD转换实现
(1)RS232串口通信采用中断方式进行,设计μC/OS-II下的串口驱动,使LPC2292能正常与PC机通讯。本系统采用ModBus协议,在RS485总线网络上与PC通讯。ModBus通讯协议分为RTU模式和ASCII模式两种串行传输模式,本系统采用RTU模式。RTU报文末的两个字节为校验字节,RTU方式通信采用CRC校验,这种校验方法对随机或突发差错造成的帧破坏有很好的校验效果[2]。
CAN总线通信采用已有的CAN通信软件包。
(2)AD转换分别采用LPC2292的P0.27、P0.28、 P0.29、P0.30脚的AD0.0、AD0.1、 AD0.2、 AD0.3功能,选择通道0、通道1、通道2和通道3。转换时钟为4MHz,软件控制转换。本系统需要实时显示检定时的温度及压力值,故建立一个实时显示任务,完成AD转换及显示工作。在主任务里设置一个温度压力实时显示参数status,当status为1时,实时显示任务即会循环进行AD转换,然后显示当前的温度、压力值;为0时,则不显示。
6 结束语
该系统主要用于模拟工业控制中的液体流量标定工作。经过测试,本系统能够成功实现标准表法标定流程中的各个过程,系统运行良好。基于LPC2292的流量标定计算机因其低成本、便携性、精度高、体积小巧、实时性好而有着广阔的应用前景。
参考文献:
[1] 周立功等. ARM微控制器基础与实战[M]. 北京: 北京航空航天大学出版社. 2005.
[2] 周立功等. ARM嵌入式系统实验教程(一)[M]. 北京: 北京航空航天大学出版社. 2004.
[3] Jean J.Labrosse. 嵌入式实时操作系统μC/OS-Ⅱ[M]. 北京: 北京航空航天大学出版社. 2003.
摘自《自动化博览》2010年第三期 |