基于渦街流量計的人機界面設計與研究
人機界面介于用戶和產(chǎn)品系統(tǒng)之間,作為人與產(chǎn)品之間傳遞、交換信息的媒介,在整個工業(yè)儀表的設計里都起到了很大的作用。以渦街流量計為基礎,設計出了一種低功耗、簡便靈活的人機界面系統(tǒng),主要涉及液晶數(shù)據(jù)顯示和按鍵操作控制,并通過實驗驗證了該系統(tǒng)的實用性。
對于渦街流量計,其振動頻率與流體流速之間的關系為:
f=(St ×ν) / d (1)
其中:St 為斯特勞哈爾數(shù),f 為振動頻率,v 為流體流速,d 為漩渦發(fā)生體寬度。 渦街流量信號的輸出幅度由渦街流量計的管道直徑、流體密度和流速所決定。 對于應力式測量方式,在一定的管徑下,渦街正弦信號的幅值 A、密度 ρ 和平均流速 ν 存在下述關系:
A∝ρν2 (2)
因此,可以得出結論,當流體密度不變時,信號幅值則正比于流速的平方,即正比于頻率的平方。 渦街流量計的信號處理也常運用此規(guī)律。
1.人機界面硬件設計
針對以上信號特點, 人機界面的設計需要考慮基于包括功耗問題、處理器接口是否豐富、所選用芯片的相關性能參數(shù)是否達到設計要求等等。
本文設計的渦街流量計人機界面的硬件系統(tǒng)結構如圖 1所示,其中采用了以美國 TI 公司的 MSP430 系列為核心的信號控制處理單元。 考慮到渦街流量計的液晶顯示功能并不十分復雜, 而且要實現(xiàn)該流量計整體的低功耗, 因此選用段碼顯示的低功耗液晶顯示模塊LCM141。 該液晶顯示模塊集液晶顯示屏,驅動電路和控制電路于一體,大大簡化了應用電路的設計,節(jié)省硬件資源和空間。 此外,由于其微功耗特性,用于簡單的流量、溫度和壓力等儀表的顯示是十分方便和有效的。 LCM141 使用時只需連接 6 個引腳。在硬件設計中,MSP430F2272 接 LCM141 模塊的 CS 腳作片選信號,DATA 腳作為數(shù)據(jù)位,WR 腳作為寫入控制信號。
根據(jù)流量計的功能要求, 設計了由 4 個獨立按鍵組成的鍵盤,分別為:“功能鍵”、“移位鍵”、“增加鍵”和“退出鍵”。 四個按鍵的電路設計相同,采用一鍵多用使其能完成顯示內容選擇、儀表參數(shù)設置、各界面相關切換等多種操作。 4 個按鍵分別與具有中斷輸入功能的 I / O 口相連,按鍵按下時,相應的 I / O 口觸發(fā)中斷,在中斷服務程序中完成按鍵消抖、鍵碼識別、置標志位等操作。 這種中斷方式,提高了按鍵的響應速度,無需 CPU 查詢,降低功耗。 人機界面的通訊采用異步串行通信接口模式 UART。 Pin 口接收前端傳送的頻率信號 ,RXD、TXD 負責接收和發(fā)送傳輸數(shù)據(jù)。 如圖 2 所示,其他端口備用。
2.人機界面軟件設計
考慮到渦街流量計的人機界面系統(tǒng)需實現(xiàn)測頻、顯示、按鍵捕捉和通信等功能。 為了充分利用單片機的性能,提高測頻精度以及考慮系統(tǒng)實時性的要求,需要合理分配單片機的資源。 頻率測量功能通過定時和捕捉中斷實現(xiàn),以滿足其精度要求。 按鍵捕捉和通信功能也通過中斷實現(xiàn),避免反復查詢消耗單片機資源。
顯示功能需反復更新,且實時性要求低,因此在主程序中實現(xiàn)。單片機各中斷程序負責必要的數(shù)據(jù)接收、處理以及標志位的置、清位,而主程序則實現(xiàn)較為復雜的數(shù)值運算和顯示的更新。 采用上述方法可以提高系統(tǒng)的實時性和運行效率。
主程序首先進行初始化,然后循環(huán)反復判斷液晶顯示模式變MODE,根據(jù) MODE 的數(shù)值進行相應的液晶顯示。 當 MODE1 時,液晶進行頻率的計算 、數(shù)值轉換和顯示工作 ;當 MODE2 時,進入預留的 DEBUG 模式;當 MODE 為 3 時,顯示當前口徑值, 當相應的按鍵按下, 標志位置位后, 可修改口徑值;當MODE 為 4 時,顯示當前介質值,當相應的按鍵按下,標志位置位后,可修改介質值;當 MODE 為 5 時,進入小流量切除模式。
應力式渦街流量計在可測流量段內的輸出頻率大體分布在0.1~4000Hz,因此,設計方案應滿足這一頻率范圍。 渦街流量計的一般精度為 0.5%,因此計量所要求的測頻精度需達到 0.2%,這就對測頻系統(tǒng)提出了很高的要求。 目前常用的數(shù)字測頻方法有 M 法、T 法、M/T 法。 其中 M 法在測量高頻信號時精度較高,T 法在測量低頻信號時精度較高,而 M/T 法綜合了 M 法和 T 法兩種測頻方法的優(yōu)點,在高頻和低頻時都有較高的精度,所以采用 M/T 法測頻。
本文采用片內定時器的捕獲模塊和定時功能, 在 4000Hz以下,無論低頻還是高頻均可達到 0.2%的測量精度。 如圖 4 所示,M / T 法測頻一方面檢測 Tc 時間內定時器捕獲的脈沖個數(shù)M1, 另一方面也檢測同一時間間隔的定時器產(chǎn)生的高頻時鐘脈沖個數(shù) M2。 測頻公式如下,其中 f0 為高頻時鐘脈沖的頻率。
采用 M / T 法測頻時, 被測信號的周期數(shù)可以認為是準確的,而測量周期是通過高頻時鐘脈沖的個數(shù)計算得到,測量周期會存在 1 個高頻時鐘脈沖周期的誤差。 當高頻脈沖多計 1 次時,測頻的理論誤差計算如公式(4);當高頻脈沖多計 1 次時,測頻的理論誤差計算如公式(5)。
當 N 大于 200 時就能滿足測頻 0.2%的精度要求,而采用單片機 16 位定時器作為高頻時鐘脈沖信號時 N 值約為 65536,因此 M / T 法的理論誤差約為 1 / 65536。 采用 MSP430 的 16 位Timer_B 定時器作為高頻時鐘信號, 由于被測頻率范圍為 0.1~4000Hz,測量基準周期選取 2s。 具體測量方法如圖 5 所示。
啟動測頻后, 捕獲模塊會在時間閥值內捕捉每個脈沖的上升沿,并自動將 16 位計數(shù)器 TBR 賦值至 TBCCR0 寄存器供程序使用。 計算時間閥值內***后一個上升沿 TBR 與個上升沿 TBR 的差值 ,便可得到 N 個脈沖的周期 T。 在程序中 , 采用Timer_B 的周期中斷和 TBCCR0 的捕捉中斷實現(xiàn)測頻功能。
Timer_B 周期中斷服務程序的流程圖如 6 所示。 進入中斷后,首先判斷捕獲脈沖個數(shù)。 如果脈沖個數(shù)小于 2, 則判斷溢出次數(shù)
TB_OVCOUNT 是否等于 10。 若等于 10,則表示 20s 內無信號輸入,清零脈沖計數(shù) PULSE。 否則溢出次數(shù)加 1,繼續(xù)等待并判斷;當捕獲脈沖個數(shù)大于等于 2 時,PULSE 首先減 1,并將***后一個上升沿 TBR 與個上升沿 TBR 的差值賦給周期值的低位 TIME_L、TB_OVCOUNT 賦給 TIME_H,***后清周期中斷標志并退出中斷。
進入 TBCCR0 的捕捉中斷服務程序中斷后先判斷捕獲脈沖是否為零, 為零則清 TB_OVCOUNT, 并將此次捕獲值存入CAP_FIRST,捕獲脈沖加 1;不為零則此次捕獲值存入 CAP_LAST,
然后捕捉脈沖加 1,***后清捕捉脈沖中斷標志并退出中斷。
頻率值的計算和顯示在主程序中運行。 在液晶顯示模塊的設計中,我們制定了一套多層次的調用函數(shù),便于在使用時根據(jù)不同的要求靈活調用和擴展,做到了分層化、模塊化,提高了代碼重用性和擴展性。 為了盡可能提高頻率的顯示精度,根據(jù)渦街流量計的精度要求, 對于不同頻率段, 頻率顯示的小數(shù)位數(shù)不同,采用 0.1~2.5Hz 顯示 4 位小數(shù),2.5~25Hz 顯示 3 位小數(shù),25 ~250Hz 顯 示 2 位 小 數(shù) ,250~2500Hz 顯示 1 位小數(shù) ,2500Hz 以上不顯示小數(shù) 。 此外, 對于***后一個有效數(shù)字進行了四舍五入修正, 進一步提高測頻精度。
按鍵程序設計遵循以下原則:①采用中斷方式接入,盡量不要將 CPU 從低功耗休眠態(tài)中喚醒來掃描按鍵端口; ②按鍵消抖采用軟件延時方法;③由于按鍵數(shù)量很少, 利用狀態(tài)組合法實現(xiàn)按鍵復用功能。 因此采用置標志位的方法, 使程序簡化。 具體的按鍵中斷程序流程圖如下。 MODE 為界面標志,1 為運行狀態(tài),2 為調試狀態(tài),3~5 為設置狀態(tài)。
四個按鍵分別定義如表 1 功能便于系統(tǒng)操作。
3.實驗結果分析
在實驗測試中, 主要針對渦街流量計進行了人機界面的軟硬件聯(lián)調,并對軟、硬件設計進行了驗證。 在頻率精度測試過程中,選取了不同頻率段的共計 18 個頻率測試點。 表 2 為 18 個頻率測試數(shù)據(jù),并計算了顯示頻率與實際頻率的誤差。
測試結果表明, 頻率測量模塊完全達到原先設計設想和0.2%的精度要求,且測頻方案的測頻精度很高,達到了 0.05%。
4.結束語
通過實驗驗證了所設計人機界面的實用性, 后續(xù)也可以增加新的參數(shù)與功能,使得人機界面更為多樣化。