(中國電子科技集團(tuán)公司第三十八研究所,安徽 合肥 230031)汪 瑋
汪瑋(1982-)男,漢族,安徽池州人,碩士,助理工程師,研究方向為嵌入式系統(tǒng)的開發(fā),現(xiàn)就職于中國電子科技集團(tuán)公司第三十八研究所。
摘要:本系統(tǒng)依據(jù)JJG667-1997液體容積式流量計檢定規(guī)程,采用PHILIPS的LPC2292嵌入式微控制器和μC/OS-II操作系統(tǒng)開發(fā)流量標(biāo)定計算機,實現(xiàn)了利用標(biāo)準(zhǔn)表法標(biāo)定流量計的功能。
關(guān)鍵詞:流量標(biāo)定;ARM;LPC2292;標(biāo)準(zhǔn)表法
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 引 言
各種工業(yè)流量計的精度標(biāo)定是工業(yè)儀表一項重要的計量工作,按照流量計標(biāo)定規(guī)程通常有容積法、標(biāo)準(zhǔn)表法、稱重法等方法。傳統(tǒng)的標(biāo)定系統(tǒng)使用人工或半自動操作,操作流程復(fù)雜,標(biāo)定過程中的數(shù)據(jù)手工記錄,標(biāo)定結(jié)果手工計算,采樣時間的同步不易控制,還存在速度慢,效率低,出錯率高等問題,限制了勞動生產(chǎn)率的提高。而用計數(shù)器和PC來構(gòu)建檢定系統(tǒng),雖然精度自動化程度都有了很大提高,實現(xiàn)了流量計標(biāo)定系統(tǒng)的自動控制、采樣時間同步、數(shù)據(jù)采集、處理、分析的自動化,但是成本過高,使用也相當(dāng)不便。在此背景之下,本文提出了一種采用基于ARM7的LPC2292微控制器開發(fā)標(biāo)定計算機,以代替原采用計數(shù)器和PC構(gòu)建的檢定計算機系統(tǒng)。
2 標(biāo)定方法與原理介紹
本系統(tǒng)是采用標(biāo)準(zhǔn)表法對流量計進(jìn)行標(biāo)定的。標(biāo)準(zhǔn)表法流量標(biāo)定是有國家標(biāo)準(zhǔn)的容積式流量計標(biāo)定方法。該系統(tǒng)所依據(jù)的標(biāo)準(zhǔn)為JJG667-1997液體容積式流量計檢定規(guī)程。
標(biāo)準(zhǔn)表法就是用標(biāo)準(zhǔn)流量計標(biāo)定流量計的方法,也稱為比較法。用標(biāo)準(zhǔn)表法標(biāo)定流量計的基本原理是基于流體力學(xué)的連續(xù)性方程流體在相同時間間隔內(nèi)連續(xù)通過標(biāo)準(zhǔn)流量計和被檢流量計,用比較的方法確定被檢流量計的誤差。在采用標(biāo)準(zhǔn)表法標(biāo)定過程中,在已知的體積流量下,計算機對標(biāo)準(zhǔn)表及被檢表的脈沖信號進(jìn)行實時采集,進(jìn)行數(shù)據(jù)處理分析。
3 系統(tǒng)總體設(shè)計
該系統(tǒng)以PHILIPS的LPC2292為微處理器,選擇必要的硬件外設(shè),以實時嵌入式操作系統(tǒng)μC/OS-II為軟件開發(fā)平臺自行開發(fā)嵌入式流量標(biāo)定系統(tǒng)。擬開發(fā)的流量標(biāo)定系統(tǒng)能實現(xiàn)標(biāo)準(zhǔn)表法和體積管法標(biāo)定流量計,檢測標(biāo)定過程中的溫度,壓力,并顯示最終的標(biāo)定報告,低成本,低功耗,便于攜帶。
本系統(tǒng)利用編碼器產(chǎn)生脈沖信號來模擬流量計傳感器產(chǎn)生的計量脈沖信號,產(chǎn)生外部中斷,摒棄了計數(shù)器計數(shù),而直接利用中斷計數(shù)。用溫度和壓力傳感器檢測標(biāo)定過程中的溫度及壓力值,通過AD轉(zhuǎn)換得到具體數(shù)值在LCD上實時顯示。標(biāo)定過程中的各進(jìn)程界面和最終的標(biāo)定報告由外接的LCD來顯示,紅外鍵盤用來根據(jù)LCD上的顯示提示進(jìn)行參數(shù)設(shè)定及其他操作。本系統(tǒng)采用RS232、RS485、CAN總線三種方式與上位機進(jìn)行通信。有三路輸出,一路4~20mA輸出用于控制閥門開度和兩路繼電器輸出用于控制閥門開關(guān)和電機狀態(tài)。
圖1 系統(tǒng)結(jié)構(gòu)框圖
4 系統(tǒng)硬件設(shè)計
該系統(tǒng)所采用的微控制器為PHILIPS的LPC2292。LPC2292芯片是一款低價格、高性能的ARM7TDMI-S微控制器芯片,并帶有16kB片內(nèi)SRAM,256kB嵌入的高速Flash存儲器。最高工作頻率可達(dá)到60MHz。多個串行接口,76個GPIO,10位8路的ADC,2路CAN以及多達(dá)9個邊沿或電平觸發(fā)的外部中斷使LPC2292特別適用于工業(yè)控制[1]。
4.1 液晶模塊
本系統(tǒng)需要對標(biāo)定流程中的各個界面以及最后的標(biāo)定報告進(jìn)行顯示。因此,選擇了一款DMF50840NF的LCD模塊。點像素為320×240,單色,內(nèi)嵌控制器為SED1335. LPC2292以間接控制方式控制LCD模塊。間接控制方式是MCU通過I/O并行接口,按照模擬模塊時序的方式,間接實現(xiàn)對液晶顯示模塊的控制。根據(jù)液晶顯示模塊的需要,并行接口需要一個11位并行接口,LPC2292的P2.16-2.23口作為數(shù)據(jù)總線。P2口中P2.24、P2.25、P2.28、P2.29分別連接寫選通、讀選通、片選及指令/數(shù)據(jù)通道選擇信號。
4.2 脈沖計數(shù)電路
本系統(tǒng)采用兩個編碼器產(chǎn)生脈沖來分別模擬標(biāo)準(zhǔn)流量計和被標(biāo)定流量計的傳感器產(chǎn)生的計量脈沖,從而產(chǎn)生外部中斷。編碼器采用的是日本ALPS公司出產(chǎn)的帶自回開關(guān)的增量式光電旋轉(zhuǎn)編碼器EC11-S。此編碼器在電路板上的安裝方式是直立式的,其引腳連接如圖2所示,C端接地,A、B端分別經(jīng)過限流電阻接電源,旋轉(zhuǎn)編碼器軸,A、B兩端就可觀察到有脈沖輸出。
圖2 編碼器外形及電路連接
4.3 紅外鍵盤
工業(yè)儀表通常采用表面鍵盤操作,在進(jìn)行抄表記錄時需打開表頭(表頭采用防爆技術(shù)),非常不方便,迫切需要進(jìn)行遙控操作。為此,筆者研制了一種紅外遙控系統(tǒng)。紅外遙控系統(tǒng)由發(fā)射和接收兩大部分組成。應(yīng)用編/解碼專用集成電路芯片來進(jìn)行控制操作,該系統(tǒng)采用uPD6121G作為遙控發(fā)射器專用芯片,當(dāng)發(fā)射器按鍵按下后,即有遙控碼發(fā)出,所按的鍵不同遙控編碼也不同。接收電路可以使用一種集紅外線接收和放大于一體的一體化紅外線接收器,不需要任何外接元件,就能完成從紅外線接收到輸出與TTL電平信號兼容的所有工作,該系統(tǒng)采用的接收頭是TSOP1838B。
4.4 串口通信與AD轉(zhuǎn)換
(1)該系統(tǒng)采用RS232、RS485、CAN總線三種方式與上位機進(jìn)行通信。LPC2292本身包含2個UART和CAN控制器,因此,很方便搭建RS232與CAN總線收發(fā)電路。
(2)利用簡易的電阻分壓方式模擬檢定時的溫度和壓力,通過LPC2292的ADC進(jìn)行AD轉(zhuǎn)換。
5 系統(tǒng)軟件設(shè)計
5.1 操作系統(tǒng)介紹
μC/OS-II是著名的、源碼公開的內(nèi)核,可用于各類8位、16位和32位單片機或DSP。它是一個可移植、可固化、可剪裁的占先式實時多任務(wù)內(nèi)核,能夠同時管理多達(dá)64個任務(wù),很方便地進(jìn)行任務(wù)管理,時間管理,任務(wù)間的通信等[3]。
5.2 系統(tǒng)軟件總體結(jié)構(gòu)
系統(tǒng)軟件采用模塊化結(jié)構(gòu),以實時數(shù)據(jù)為核心,設(shè)計了數(shù)據(jù)采集,檢定,顯示,通信等多個功能模塊。本工程共創(chuàng)建了三個任務(wù),第一個是主任務(wù),用來創(chuàng)建其它任務(wù)和整個流程的操作過程的控制;第二個是AD轉(zhuǎn)換與實時顯示任務(wù),用來實時顯示AD轉(zhuǎn)換的溫度和壓力值。第三個任務(wù)是按鍵任務(wù),通過消息郵箱KeyMbox向主任務(wù)發(fā)送按鍵消息。
5.3 標(biāo)定流程實現(xiàn)
本系統(tǒng)須實現(xiàn)標(biāo)準(zhǔn)表法標(biāo)定。根據(jù)液體容積式流量計檢定規(guī)程JJG667-1997的規(guī)定,流量計檢定點不少于3個,均勻分布,而且每個檢定點至少檢定3次。本工程對于這兩種方法均設(shè)定了3個檢定點,每個檢定點檢定3次。
標(biāo)準(zhǔn)表法標(biāo)定采用外部中斷計數(shù),將模擬標(biāo)準(zhǔn)流量計和被檢定流量計采樣脈沖的輸出端與LPC2292的外部中斷引腳連接,對每一個脈沖輸出端來說,每有一個采樣脈沖,LPC2292就會產(chǎn)生一個外部中斷。故編制兩個外部中斷服務(wù)程序完成脈沖計數(shù)任務(wù)。外部中斷程序首先判斷計數(shù)值是否達(dá)到預(yù)先設(shè)置的脈沖數(shù),若無,則繼續(xù)計數(shù)。若達(dá)到,則立即關(guān)兩個中斷停止計數(shù),同時發(fā)送一個信號量消息給主任務(wù),表示一次標(biāo)定結(jié)束。由計得的脈沖數(shù)即可算得每一點每一次的K系數(shù),并最終算得流量計的K系數(shù),基本誤差和重復(fù)性。
圖4 脈沖計數(shù)程序流程圖
5.4 液晶驅(qū)動及顯示的軟件實現(xiàn)
由于LPC2292是通過I/O模擬總線操作時序控制液晶模塊的,DMF50840NF的速度較慢,所以在編制液晶驅(qū)動時要對其時序關(guān)系有一個清楚的了解,并在程序中加入適當(dāng)?shù)难訒r。液晶驅(qū)動程序包括:初始化,寫命令,寫數(shù)據(jù),讀數(shù)據(jù),清屏,顯示中文字符,顯示英文字符等子程序。本設(shè)計采用圖形方式顯示漢字和字符,其中中文字庫位于片外E2PROM,地址起始于:0x81000008;共約238kB。
5.5 紅外遙控實現(xiàn)
紅外遙控解碼的關(guān)鍵是如何識別低電平“0”和高電平“1”,uPD6121G是脈寬調(diào)制的發(fā)射芯片,其低電平“0”和高電平“1”不同之處在于高電平的寬度不同,所以必須根據(jù)高電平的寬度區(qū)別“0”和“1”。本系統(tǒng)紅外遙控解碼采用中斷方式。紅外接收頭輸出信號直接連接到LPC2292的外部中斷INT0,INT0設(shè)置為下降沿邊緣觸發(fā)方式,用內(nèi)部定時器T1測量正脈沖寬度。
5.6 串口通信及AD轉(zhuǎn)換實現(xiàn)
(1)RS232串口通信采用中斷方式進(jìn)行,設(shè)計μC/OS-II下的串口驅(qū)動,使LPC2292能正常與PC機通訊。本系統(tǒng)采用ModBus協(xié)議,在RS485總線網(wǎng)絡(luò)上與PC通訊。ModBus通訊協(xié)議分為RTU模式和ASCII模式兩種串行傳輸模式,本系統(tǒng)采用RTU模式。RTU報文末的兩個字節(jié)為校驗字節(jié),RTU方式通信采用CRC校驗,這種校驗方法對隨機或突發(fā)差錯造成的幀破壞有很好的校驗效果[2]。
CAN總線通信采用已有的CAN通信軟件包。
(2)AD轉(zhuǎn)換分別采用LPC2292的P0.27、P0.28、 P0.29、P0.30腳的AD0.0、AD0.1、 AD0.2、 AD0.3功能,選擇通道0、通道1、通道2和通道3。轉(zhuǎn)換時鐘為4MHz,軟件控制轉(zhuǎn)換。本系統(tǒng)需要實時顯示檢定時的溫度及壓力值,故建立一個實時顯示任務(wù),完成AD轉(zhuǎn)換及顯示工作。在主任務(wù)里設(shè)置一個溫度壓力實時顯示參數(shù)status,當(dāng)status為1時,實時顯示任務(wù)即會循環(huán)進(jìn)行AD轉(zhuǎn)換,然后顯示當(dāng)前的溫度、壓力值;為0時,則不顯示。
6 結(jié)束語
該系統(tǒng)主要用于模擬工業(yè)控制中的液體流量標(biāo)定工作。經(jīng)過測試,本系統(tǒng)能夠成功實現(xiàn)標(biāo)準(zhǔn)表法標(biāo)定流程中的各個過程,系統(tǒng)運行良好?;贚PC2292的流量標(biāo)定計算機因其低成本、便攜性、精度高、體積小巧、實時性好而有著廣闊的應(yīng)用前景。
參考文獻(xiàn):
[1] 周立功等. ARM微控制器基礎(chǔ)與實戰(zhàn)[M]. 北京: 北京航空航天大學(xué)出版社. 2005.
[2] 周立功等. ARM嵌入式系統(tǒng)實驗教程(一)[M]. 北京: 北京航空航天大學(xué)出版社. 2004.
[3] Jean J.Labrosse. 嵌入式實時操作系統(tǒng)μC/OS-Ⅱ[M]. 北京: 北京航空航天大學(xué)出版社. 2003.
摘自《自動化博覽》2010年第三期