趙靜龍
(保定萊特整流器股份有限公司,河北 保定 071051)
大氣壓強變送器主要由單片機、運算放大器、V/I 轉換芯片和傳感器組合而成,其具有補償性好、測量精確度高、通信簡單、調試方便的特點,并且還有數據處理和控制的功能。目前其主要應用在有氣壓要求的實驗室、氣象天氣預報的監測、消防實驗用的室內氣壓力測試等領域。
隨著社會科學技術的不斷進步,尤其是電子產業的飛速發展,將變送器的發展引入了新的領域,目前,國內外變送器發展的特點是集成化、無線化、智能化、小型化。它使用了很多高新技術,如微電子數字處理技術、信號處理技術、傳感技術等,相對于傳統的變送器來說,現代的變送器具有量程比較大、可靠性較高、精度較高、穩定性較好、采集區間較寬等等這些特點。
本文主要介紹基于STM32 的大氣壓強變送器的設計,主要包括硬件電路以及單片機采集大氣壓強傳感器值的程序的設計。

圖1 大氣壓強變送器的工作原理圖
變送器是實現自動化過程的重要組成部分。它用來實現物理信號量的測量和變換處理。隨著容量大,參數高的設備的出現以及復雜工藝的過程。由于越來越依賴自動化技術,以及變送器的使用量在不斷地上升,對其性能的要求也就不斷的提高。
伴隨著快速發展的微電子技術,特別是近年來由于多功能、低功耗單片機的出現以及高精度的傳感器的出產,為開發通用型的精確度高的變送器奠定了堅實的基礎,大氣壓強變送器是以單片機處理器為核心的傳送裝置,其工作原理如圖1所示。
大氣壓強變送器采用CPU 后,不僅可以對溫度、大氣壓強進行測量和變送,還能大大提高系統的精確度和可靠性,外部引線減少。本系統采用4~20mA 電流信號作為輸出,由于電流信號不容易受干擾且電流源內阻是無限大,導線在電路回路中以串聯的形式并不影響其精度,在普通線上可以傳輸至數百米。大于20mA 的電流在通斷情況下會引起電火花,其電火花的能量可以引燃瓦斯,產生爆炸,所以最大設計為20mA;為了檢測線路中是否斷線,所以系統最小沒有取0mA。總體設計設計原理圖如圖2所示。

圖2 總體設計原理圖
本設計選擇STM32 單片機。單片機原理圖如圖3所示。

圖3 STM32 單片機原理圖
STM32 單片機接收的數字信號經過計算處理,然后再經A/D 轉換為模擬電壓信號,其輸出電壓信號范圍為0~3.3V,而0~3.3V 經XTR111 轉換后的電流范圍為0~16.5mA,由于設計要求輸出的電流范圍為4~205mA,而且電壓量與電流量是線性比例關系,所以需要放大單片機D/A 轉化輸出的電壓信號來達到目標。在此電路中我們選擇的是LM321 運算放大器。
LM321 它是一種單運算放大器。LM321 具有低功耗的特點。它還具有很高的單位增益頻率,靜態電流僅為430μA/amplifier(5V),具有保證0.4V/μs擺率。該器件單、雙電源供電下都可以工作。總而言之,LM321 是一款低功耗,供電范圍較寬的運算放大器,高性價比使其被普遍的應用,占用電路板的空間小。原理圖如圖4所示。
輸出4~20mA 電流有兩種方案,一種是使用集成芯片,另一種是使用分立元件搭建電路,而其中最可行的方案為使用XTR111 V/I 轉換芯片。

圖4 LM321 原理圖
XTR111 是一款精密電壓-電流轉換器,用于輸出0~20mA 或4~20mA 的模擬信號,最大的源極電流可提升到36mA。輸入電壓與輸出電流之間的轉換比率是靠Rset電阻來設置,一個外部的P-MOSFET晶體管確保了高輸出阻抗和寬范圍的電壓輸出(2V到電源電壓V-vsp均可輸出)和電壓良好的穩定性。可調電壓3~15V 的校準輸出端可為輔助電路提供電源。原理圖如圖5所示。

圖5 XTR111 原理圖
本設計采用的是8MHz 和32.768kHz 晶振,8MHz 頻率晶振提供單片機內部時鐘信號,32.768kHz 晶振為單片機中的時鐘提供了一個準確的時鐘源。內置復位電路。晶振電路原理圖如圖6所示,復位電路原理圖如圖7所示。

圖6 晶振電路原理圖

圖7 復位電路原理圖
BMP085 是以壓阻效應技術為基礎設計的大氣壓強傳感器。包含數模轉換器、壓力傳感器以及操控單元,其中操控單元包括IIC 接口和EEPROM,它具有的特點是穩定性高、線性失真率低、精確度高以及很好的電磁兼容性。BMP085 傳輸沒有經過補償的大氣壓強值,電可擦可編程只讀存儲器儲存了176bit 的獨立的數值,這些獨立的數值用來補償依賴的參數以及別的參數。
BMP085 是新研發出來的具有很高的精確度的大氣壓傳感器,它的低電壓、低功耗的電學特性使它可以很好的適用于GPS 導航器、PDA、手機以及戶外裝備上。在較低的高度噪聲(merely 0.25)快速轉換的運行環境下,大氣壓傳感器運行正常。Bosch 公司具有多年開發氣壓傳感器經驗,在傳感器這塊,該公司是全球市場上的佼佼者。
傳感器模塊設計包括BMP085 大氣壓強傳感器、兩個10K 電阻。原理圖如圖8所示。

圖8 傳感器模塊原理圖
IIC 總線上拉10kΩ 的電阻接+3.3V 電源。當IIC閑置時,SDA、SCL 都為高電平。連到IIC 線上的任何元件輸出的低電平,IIC 總線信號都將變為低電平,即各元器件的SDA 和SCL 關系是“與”。
本軟件采用的是高級編程語言C 語言,并采用模塊化設計方法,使其便于程序設計和調試。主要模塊有采集模塊、處理模塊、數據輸出模塊。
數據采集與處理模塊主要包括BMP085 傳感器采集模塊、數據處理模塊兩大模塊。單片機上配置兩個模擬IIC,PB6 配置為SCL,PB7 配置為SDA。通過單片機來控制SCL、SDA 的高低電平來傳輸數據,BMP085 讀取數值并通過IIC 傳輸給單片機處理數據,大氣壓傳感器模塊執行單片機通過IIC 發送來的讀取大氣壓強指令,并將采集到的信號傳輸給單片機。模擬信號輸出模塊主要是將單片機內數字信號轉化為模擬信號輸出。主程序流程圖如圖9所示。

圖9 主程序流程圖所示
1)在給系統供電前,應先依據系統原理圖,用萬用表二極管檔位檢查電路中電源的走線,防止電源與其他引腳產生短路。
2)在單片機通電后檢查各個模塊器件的I/O 引腳的電位是否正常,特別是單片機上各引腳的電位。
調試方法為在XTR111 的輸入端送入模擬量的值,由數字萬用表測量電路的輸出電流,測試的結果如表1所示。

表1 4~20 mA 輸出信號測試表
經過系統測試后,系統預期的功能要求達到了,實現了對物理信號的采集、處理和傳輸,說明系統設計是可靠的。
本論文詳細介紹了電流型三線制大氣壓強變送器的設計,數字信號經過STM32 采樣處理后轉換為模擬信號,然后通過XTR111 輸出4~20mA的電流信號。本設計進行了硬件、軟件、系統的整體調試,驗證了系統各模塊達到了預期目標。
[1] 李念強.數據采集技術與系統設計[M].北京:機械工業出版禮,2009.
[2] 劉軍.例說STM32[M].北京:北京航空航天大學出版社,2011.
[3] NicholsH.M.C.,BernardC.B.,M.H..Remote Instrument Diagnosis on the Internet[J].IEEE Intelligent System,1998(27):95-97.
[4] Raghu Rama krishn,Johannes Gehrke. Database Management Systems[M].北京:清華大學出版社,2002.
[5] 李朝青.單片機原理及接口技術[M].北京:北京航空航天大學出版社,1999.