[導(dǎo)讀] 根據(jù)磁阻傳感器的角位移測量原理。提出智能金屬管浮子流量計的設(shè)計方案.該方案采用低功耗MCU和高精度ADC實現(xiàn)對流量的數(shù)字化采集和智能控制.應(yīng)用LMBP算法實現(xiàn)高精度的靜態(tài)特征曲線擬合;通過裁減TCP/IP協(xié)議,在以太網(wǎng)上實現(xiàn)了流量計與用戶的數(shù)據(jù)通信。實際運行表明,設(shè)計的流量計系統(tǒng)運行穩(wěn)定可靠。
金屬管浮子流量計具有耐高溫、耐高壓、耐腐蝕等特點,在中低流速、流量的工業(yè)計量中得到了廣泛應(yīng)用。目前采用電遠傳方式的流量計多以霍爾元件或電容式角位移作為傳感器,不但結(jié)構(gòu)復(fù)雜、精度較低,而且不具備以太網(wǎng)接口功能。本文中作者應(yīng)用各向異性磁阻的傳感原理設(shè)計了一種能與以太網(wǎng)通信的智能金屬管浮子流量計。該流量計具有精度高、功耗低、設(shè)計簡單等特點,可廣泛應(yīng)用于工業(yè)計量,特別是適應(yīng)了工業(yè)以太網(wǎng)的發(fā)展需求。
1 總體設(shè)計
金屬管浮子流量計由錐形管、內(nèi)置磁鋼的浮子以及外置嵌有磁鋼的機械連桿等構(gòu)件組成。當(dāng)流量變化時,浮子在錐形管內(nèi)上下移動,并由磁鋼耦合帶動機械連桿旋轉(zhuǎn)一定角度。此角度與流量的大小存在著一一對應(yīng)的關(guān)系,只要測出角度便可通過對應(yīng)關(guān)系求出流量。因此,對角度的精確測量是流量計設(shè)計的關(guān)鍵。具體設(shè)計時采用Honeywell公司生產(chǎn)的磁阻傳感器HMC1501實現(xiàn)對機械連桿角位移的精確測量,選擇MSP430F449單片機作為MCU,采用CirrusLogic公司生產(chǎn)的以太網(wǎng)控制芯片CS8900A實現(xiàn)網(wǎng)絡(luò)互聯(lián)。系統(tǒng)的總體設(shè)計框圖如圖1所示。
2 HMC1501磁阻傳感器的應(yīng)用
2.1 磁阻傳感器的測量原理和工作特性
鐵磁性材料通常為各向異性材料,當(dāng)采用特殊工藝將其制成薄膜狀的電阻元件后,便可用于感測周圍磁場的變化。HMC1501傳感器是一種工作在磁飽和狀態(tài)下的變換器件,在此狀態(tài)下電阻對磁場的大小不敏感,僅與磁場的方向有關(guān),利用此原理就可以感測周圍磁場相對于傳感器的角度變化[1]。圖2顯示了HMC1501的磁場角度和輸出電壓之間的對應(yīng)關(guān)系,當(dāng)磁場角度為-45o~+45o時輸出電壓遞減且單調(diào)性好,因此將HMC1501的有效角度范圍定義為±45o,在此范圍內(nèi)分辨率小于0.07o。典型橋路的電阻和輸出電壓分別為33kΩ和-60~60mV,橋路供電電壓較寬(1~24 V),當(dāng)以5V供電時功耗僅為0.76mW,由此可見功耗低是該傳感器的優(yōu)勢之一。該傳感器存在零點偏置電壓,需進行補償,一般補償?shù)姆椒煞譃橛布a償和軟件補償。但硬件補償需設(shè)計復(fù)雜的電路,成本較高,而軟件補償隨著MCU處理能力的提高得到了廣泛應(yīng)用,本設(shè)計中采用軟件補償。
2.2 傳感器檢測電路設(shè)計
為簡化傳感器檢測電路設(shè)計,采用了依靠單電源供電的放大器TLC27L2。這就要求OUT+點的電位大于OUT-點的電位。否則放大器的輸出就會失真。但HMC1501的典型輸出信號在-60~60mV之間,因此必須在含OUT+的支路的節(jié)點2和模擬地之間串接一阻值大于243Ω的電阻。為保證一定的冗余度,該電阻取300Ω,圖3為簡化后的傳感器檢測電路。
2.3 LMBP算法及應(yīng)用
智能金屬管浮子流量計采用2個HMC1501傳感器和1個溫度傳感器,其中2個HMC1501一個用于感測連桿磁鋼的方向變化,另一個用于補償浮子磁鋼上下移動所形成的復(fù)合磁場的影響,溫度傳感器感測HMC1501周圍的溫度并予以溫度補償,溫度傳感器的數(shù)學(xué)模型很難用解析式描述,傳統(tǒng)的做法是在不同溫度下進行標(biāo)定,這種做法不但計算量大、占用存儲空間多,而且計算精度不高。鑒于人工神經(jīng)網(wǎng)絡(luò)能夠完成任意的非線性映射。其中BP算法(Back Propagation)具有以任意精度逼近任何非線性函數(shù)的能力,而且無需事先確定函數(shù)形式。因此,利用BP神經(jīng)網(wǎng)絡(luò)處理傳感器靜態(tài)特性的非線性是一種較好的方法[2],但實際應(yīng)用時BP算法存在收斂速度慢和目標(biāo)函數(shù)存在局部極小等不足之處。為此,采用基于誤差平方和最小化的權(quán)值調(diào)整算法即Levenberg-Marquart算法作為對BP算法的改進,稱之為LMBP算法。BP算法以均方誤差作為性能函數(shù),其表達式為:
(1)
式中,W為網(wǎng)絡(luò)的權(quán)值向量,t為期望輸出向量(標(biāo)定值),y為實際輸出向量,e為誤差向量。LM算法結(jié)合了梯度法和高斯-牛頓法的優(yōu)點。具有全局性和收斂速度快的優(yōu)勢,并可通過對BP算法的修正,避免高斯-牛頓法中求解Hessian矩陣的問題。減少了網(wǎng)絡(luò)訓(xùn)練中的計算量和內(nèi)存需求量,權(quán)值的調(diào)整公式為:
式中,μ為正常數(shù),1為單位矩陣,en為網(wǎng)絡(luò)的誤差向量,J為以網(wǎng)絡(luò)誤差對權(quán)值的一階導(dǎo)數(shù)為元素的Jacobian矩陣,△w每次迭代時都對μ進行自適應(yīng)調(diào)整,當(dāng)網(wǎng)絡(luò)誤差減小時減小μ的值,反之增加μ的值。一般情況下Jacobian矩陣的計算量較大,因此該算法比較適合網(wǎng)絡(luò)規(guī)模不大、網(wǎng)絡(luò)參數(shù)較少的應(yīng)用場合,本設(shè)計中使用的是典型的3層網(wǎng)絡(luò)結(jié)構(gòu),如圖4所示。從圖中可以看出該網(wǎng)絡(luò)輸入層、輸出層、隱層的節(jié)點分別為3個、1個、4個,網(wǎng)絡(luò)規(guī)模較小,因此使用LM算法可以取得較好的效果[3]。
3 以太網(wǎng)結(jié)構(gòu)的實現(xiàn)
3.1 TCP/IP協(xié)議的裁減
以太網(wǎng)中的TCP/IP協(xié)議數(shù)以百計,而嵌入式系統(tǒng)的資源有限,沒有必要實現(xiàn)全部TCP/IP協(xié)議。裁減TCP/IP協(xié)議以適應(yīng)工業(yè)以太網(wǎng)應(yīng)用的要求是當(dāng)前的一個研究熱點,但目前尚無統(tǒng)一的裁減標(biāo)準(zhǔn)[4]。在本應(yīng)用中,由于網(wǎng)絡(luò)的連接數(shù)和數(shù)據(jù)的傳輸量較少,因此以“夠用即可”為原則,對TCP/IP協(xié)議進行合理裁減。裁減后的協(xié)議包括鏈路層中的CSMA/CD、ARP協(xié)議,網(wǎng)絡(luò)層中的IP協(xié)議,ICMP中的Ping協(xié)議,傳輸層中的TCP、UDP協(xié)議以及應(yīng)用層中的H TTP協(xié)議。
數(shù)據(jù)鏈路層的主要作用是為其上層協(xié)議發(fā)送和接收數(shù)據(jù)幀,采用IEEE802.3規(guī)定的CSMA/CD協(xié)議,可使同一局域網(wǎng)上的多臺計算機共享同一物理傳輸介質(zhì),只要采用通用的網(wǎng)絡(luò)接口控制芯片CS8900A就可實現(xiàn)該協(xié)議。以太網(wǎng)上數(shù)據(jù)的傳輸是通過網(wǎng)絡(luò)的MAC地址進行識別的,這就要求系統(tǒng)具有從IP地址轉(zhuǎn)換到MAC地址的功能,即ARP(地址解析)協(xié)議。網(wǎng)絡(luò)層中的IP協(xié)議是TCP/IP協(xié)議族的核心協(xié)議,它使異構(gòu)網(wǎng)絡(luò)之間的通信成為可能。ICMP實現(xiàn)與其他主機或路由器交換錯誤報文和其他重要信息,由于本設(shè)計只需測試網(wǎng)絡(luò)聯(lián)通情況,因此只保留了其中的Ping協(xié)議。傳輸層中的TCP協(xié)議和UDP協(xié)議為2臺主機上的應(yīng)用程序提供端到端的通信,應(yīng)用層中的HTTP協(xié)議實現(xiàn)以瀏覽器訪問的方式,在以上諸多協(xié)議中以實現(xiàn)TCP協(xié)議最為困難。受運算資源限制,只能實現(xiàn)簡化的有限狀態(tài)機和滑動窗口確認機制以及單TCP連接。另外,為過濾來訪信息。確保數(shù)據(jù)安全還實現(xiàn)了簡易網(wǎng)絡(luò)防火墻功能。只允許某些事先設(shè)置好的IP地址對流量計進行訪問,有效減輕了流量計的工作負荷。
3.2 以太網(wǎng)控制芯片CS8900A的應(yīng)用
CS8900A是一款高性能、低功耗的以太網(wǎng)控制芯片,內(nèi)部含有802.3介質(zhì)訪問控制塊(MAC),支持全雙工操作,具有自動處理沖突檢測、報頭生成、CRC校驗碼生成及其驗證等功能;同時通過對發(fā)送控制寄存器(TCMD)的配置,MAC可以完成幀的自動重傳[5]。設(shè)計時選擇3V供電的CS8900A-CQ3,同時為了便于和MSP430F449之間的電平匹配,在MSP430F449與CS8900A之間采用圖5所示的硬件接口[6]。通過將管腳/MEMW和/MEMR置高,使CS8900A工作在簡單的I/O模式,該模式占用端口資源較少。MSP430F449通過對/SBHE、/IOW和/IOR等控制信號線實現(xiàn)對CS8900A工作方式的控制和讀寫操作。
在設(shè)計中考慮到CS8900A芯片采用的是16位數(shù)據(jù)傳輸模式,因此在訪問之前必須為總線的高位使能管腳(/SBHE)提供一個由高到低,再由低到高變化的電平信號。CS8900A通過網(wǎng)絡(luò)隔離變壓器TRC2023以1:2.5的電壓比將數(shù)據(jù)發(fā)送到網(wǎng)絡(luò)。以1:1的電壓比從網(wǎng)絡(luò)接收數(shù)據(jù)。CS8900A芯片的初始化操作主要包括:軟件復(fù)位并檢查標(biāo)志位、設(shè)定16位工作模式、設(shè)定臨時以太網(wǎng)物理地址、設(shè)定接收幀類型、確定數(shù)據(jù)傳送方向、中斷使能以及數(shù)據(jù)收發(fā)使能等。
4 結(jié)束語
利用磁阻傳感器HMC1501實現(xiàn)了流量計機械連桿在±45o范圍內(nèi)角度的精確測量,并將流量計接人以太網(wǎng),實現(xiàn)了流量測量的智能化和網(wǎng)絡(luò)化,實際運行表明該系統(tǒng)工作穩(wěn)定、可靠。