基于SIM900A的高精度無線遠傳壓力表設計
自來水管網的分布廣泛,難以由人工完成大范圍壓力測量點的高頻率和高精度數據記錄。針對這一情況設計 了基于SIM900A的無線遠傳壓力表。該壓力表能夠實現壓力的高精度測量,壓力數據的等時間間隔采集、保存和無線遠 傳。為了實現高精度的壓力測量,設計了精度高、溫漂小、噪聲低、負載接地的恒流源,采用了 24-bit CS5530模數轉換器以 相對測量的方式完成模數轉換,利用了光耦隔離電路實現模擬電路與數字電路的完全隔離。最后單片機控制SIM900八模 塊與服務器之間建立基于GPRS的TCP連接,完成壓力數據無線遠傳。
1 .引言
為了保障人們的用水需求和減少漏損,必須對 城市自來水管網的壓力進行嚴格控制。在控制 壓力過程中,需要對壓力進行測量并得知管網的壓 力分布。由于管網分布廣泛,壓力測量和傳輸多由 遠傳壓力表完成。傳統遠傳壓力表利用滑動變阻 器原理和長距離布線實現了壓力的測量和傳輸。 這種測量和傳輸方式精度不高,易受干擾,不便維 護,難以大規模使用,無法直觀反映管網的壓力分 布。本文的無線遠傳壓力表采用靈敏度高的壓阻 式OEM壓力傳感器;設計了精度高、溫漂小、噪聲 低的恒流源電路和24-bit A/D轉換電路,實現了 壓力的高精度測量;利用了光耦將模擬電路與數字 電路完全隔離,減少了測量電路的干擾;通過無線 遠程傳輸壓力數據到服務器,幾乎不需要維護,節 省人力物力,非常適合大規模使用。服務器接收到 壓力數據后繪制出管網壓力分布圖,能夠直觀地反 映管網壓力分布狀態,為管網的壓力控制提供依 據。
2.系統總體設計
系統的總體設計思想是壓力傳感器在恒流源 供電的條件下,輸出與作用壓力成正比的差分信 號,該信號在A/D測量部分經過濾波、放大后以相 對測量的方式轉換為數字信號;RTC時鐘為單片 機提供實時時間基準;當壓力數據采集時刻到來, 單片機通過光耦讀取A/D測量部分的數字信號; 該數字信號會被換算為當前壓力數值并被存儲在 Flash中;當壓力數據發送時刻到來,存儲在Flash 中的壓力數據通過SIM900A發送給服務器。系統 的整體結構如圖1所示。
3.系統硬件設計
3. 1恒流源
壓力傳感器采用壓阻式OEM壓力傳感器,其基 本參數如表1所示。該壓力傳感器靈敏度高、穩定性 好、體積小、價格低廉。傳感器內部原理圖如圖2所 示,圖中帶箭頭的電阻橋路為敏感元件,私和風為零 位溫漂補償電阻,風和風為調零電阻,及為靈敏度 溫度補償電阻。+IN、一IN為供電輸入端,接入恒定 電流;十OUT和一 OUT為信號輸出端,和 U—ajT分別為十OUT和一OUT端的對地電壓。 +OU 丁與一 OU 丁之間的差分信號U—與激勵電流 IL、外界作用壓力P之間的關系如式(1):
Uslgnai — U+OUT 一 U —OUT =KSIlP 十 KZIL (1)
式(1)中,KS為靈敏度系數、K2為零點系數,均為常 數。當遼恒定,US P成線性關系。
由式(1)可知恒流源的精度和穩定性會影響壓力 傳感器輸出信號的質量,因此對恒流源的精度、溫漂和 噪聲提出了要求。王金晨設計的恒流源中[4],負載懸 浮使噪聲增加。陳笑風構造的的電流源結構[]復雜, 電阻難以匹配。本文設計的恒流源為負載接地恒流 源,具有精度高、溫漂小、結構簡單、無需電阻匹配、噪 聲低等特點;考慮了運放的正向端、負向端輸入電流的 影響;輸出了 A/D轉換器的參考電壓。
圖2傳感器內部原理圖 恒流源電路原理如圖3所示。REF192為高 精度、低溫漂的帶隙參考電壓芯片,正常工作時其 OUTPUT引腳與GND引腳之間電壓差為2. 5V; Rs為5Kn的低溫漂電阻是壓力傳感器的等效 電阻;RF是5Kn的低溫漂電阻,一方面其兩端的電 壓作為A/D轉換器的參考電壓,另一方面使壓力 傳感器輸出信號的共模電壓滿足后續A/D測量的 要求R是普通電阻;C9、C10是濾波電容。下面 對該電路的直流狀態進行分析。
Uo、UN、UP分別為運放輸出端、負向端、正向端的對地電壓;分別為運放負向端、正向端的 輸入電流;、是運放的輸入失調電流;Us是
REF192的OUTPUT引腳與GND引腳之間電壓 差,Us = 2. 5V。
故運放處于負反饋狀態,能夠穩定。
Il為流經傳感器等效電阻Rl的電流,s為流 經采樣電阻Rs的電流。在節點A處利用KCL定理可得:
3.2 A/D測量
a/d測量是將傳感器輸出的差分信號濾波、 放大和A/D轉換后得到數字信號。
A/D測量原理圖如圖4所示。U廳是恒流電路 產生的電壓,提供A/D轉換器CS5530基準電壓; A5V提供CS5530的模擬電源;另一路5V電源經過 一階低通濾波器后提供CS5530的數字電源。
壓力傳感器的輸出端+ OU 丁和一out經過 二階低通濾波器后接入模數轉換芯片CS5530,通 過CS5530內部斬波穩定儀表放大器將差分信號 放大64或128倍。一般情況下就無需額外設計信 號放大電路,提高測量精度,降低成本。
在A/D轉換之前,通過程序控制將CS5530的 信號輸入引腳短路,測量出共模噪聲,在最后的測 量結果中將該噪聲減去,來降低噪聲對測量結果的 影響。通過內部的數字濾波器濾除工頻干擾,減少 了單片機的數字濾波處理,節約了單片機軟件資 源。
CS5530的通信端口是串行SPI接口,包括CS、SDI、SDO、SCLK。CS為片選端口,直接拉低選中;SDI為數據輸入端口 ;SDO為數據輸出端口 ; SLCK為時鐘輸入端口,這樣就只需要占用單片機 的三個I/O 口。相比于并行模數轉換器而言, CS5530節約了單片機的硬件資源。
采用CS5530設計A/D測量部分使電路簡潔、 精度高、成本低,從硬件和軟件兩個方面減少對單 片機資源的占用。
下面就A/D測量進行分析:
U5-a/為壓力傳感器輸出的差分信號,A = 64 為該差分信號的放大倍數,U^f = IlRf為參考電 壓,ADC為Um-的模數轉換結果。24-bit的模數 轉換滿量程ADCmax = 16777215。由模數轉換原理 得如下關系:
數,建立了模數轉換結果ADC與壓力P的線性關 系。線性系數k與激勵電流八無關,減小了激勵電 流波動對測量結果的影響;僅與電阻Rf有關,測量 精度由電阻Rf決定,提高電阻Rf的精度和穩定性 能夠增加測量精度和穩定性,實現了相對測量。
3.3 光耦
在混合電路設計過程中,數字電路干擾比較 大,如果模擬電路與數字電路不隔離,就會導致模 擬電路受到干擾,影響測量精度。為了抑制這種干 擾一般采用的辦法是將模擬電路與數字電路分開 布局,模擬地和數字地最后在某一點短接。
上述辦法雖然可以減小數字電路對模擬電路 的干擾,卻難以消除這種干擾。為了使數字電路不 會干擾模擬電路,這里采用的辦法是通過光耦將數 字電路和模擬電路完全隔離。這種處理能夠降 低PCB設計的難度,消除數字電路對模擬電路的 干擾,增加測量精度。
將A/D轉換器CS5530歸為模擬電路,單片機 歸為數字電路。單片機通過光耦與CS5530進行 通信。光耦一端連接CS5530的SDI,SDO,SCLK 引腳,另一端連接單片機引腳MCU_SDO,MCU— SDI,MCU_SCLK。這樣就完成了模擬電路部分與 數字電路部分之間信息的傳遞,實現了二者的完全 隔離。單片機通過光耦與CS5530連接原理圖如 圖5所示,圖中3.3V為單片機的電源電壓,5V為 CS5530的數字電源電壓。
3.4數字電路部分
在數字電路部分,RTC時鐘DS3231為單片機 提供時間基準。當壓力采樣時刻到來,單片機會通 過光耦啟動CS5530的A/D轉換,并且保存當前日
圖6發送流程圖 采用SIM900A通過GPRS網絡發送數據的過 程:首先設置網絡,數值到串行Flash存儲M25P128 中。當數據發送時刻到來,單片機啟動SIM900A 與服務器進行無線通信。單片機與外設連接原理 圖 如 圖 5 所 示 。
RTC時鐘DS3231的I2C接口和INT引腳會 分別連接到單片機的I/O 口和外部中斷引腳。通 過程序設置DS3231的INT引腳輸出周期為1S的 方波,觸發單片機中斷。
CS5530的SPI接口通過光耦與單片機的I/O 口連接。單片機可以發送命令給CS5530啟動A/ D轉換,讀取A/D轉換結果和停止A/D轉換。
單片機與串行Flash M25P128通過SPI接口 連接,可以對其進行讀、寫、擦除等操作。該Flash 的最小讀寫單元是1個字節,可以提高存儲利用 率。在壓力數據采集完后將其保存在M25P128 中;當無線發送時,將壓力數據從M25P128讀出。
單片機通過UART串口發送AT命令給 SIM900A實現壓力數據的無線遠傳功能。
4.系統軟件設計
4.1SIM900A程序設計
SIM900A內嵌TCP/IP協議可以實現語音、 SMS和GPRS數據的傳輸。用戶可以通過AT命 令控制SIM900A。在AT命令操作過程中,當等 待握手超時后,即判斷AT命令發送失敗終止等 待。
采用SIM900A通過GPRS網絡發送數據的過 程:首先設置網絡,與服務器建立TCP連接;然 后單片機發送壓力數據;發送完成后,關閉該TCP 連接減輕服務器的負擔。由于無線網絡不穩定,會 出現連接不上、中途掉線和TCP握手超時等現象,因此需要設置重傳機制。發送流程如圖6所示,采 取的措施是連續三次出現數據發送不成功就關閉 SIM900A,等到下次發送時刻到來繼續發送。
4.2系統程序框架設計
系統軟件的運行框架如圖7所示,主要有兩部 分:主程序和1S中斷程序。
系統上電后,首先在主程序中進行系統初始化 工作:R丁C時鐘DS3231、A/D轉換器CS5530、 Flash M25P128和UAR丁串口的初始化。然后單 片機進入低功耗模式,暫停繼續執行。DS3231輸 出的1S方波的上升沿會觸發單片機的1S中斷程 序。在1S中斷程序中,判斷壓力數據采集時刻是 否到來,一旦到來采集壓力數據保存到M25P128 中,喚醒單片機跳出低功耗模式。1S中斷程序結 束后,主程序繼續執行,判斷壓力數據發送時刻是 否到來,一旦到來就通過SIM900A發送壓力數據 到服務器,然后進入低功耗模式,就這樣不斷循環。 該款單片機進入低功耗模式后會保持其引腳的上 升沿中斷和UAR丁串口發送、接收中斷的響應。
壓力數據采集部分在1S中斷程序中進行,壓 力數據發送部分在主程序中執行,這樣使數據采集 的優先級更高,保證了壓力數據采集的時間間隔恒 定不變。由于壓力數據采集和壓力數據發送都需 要使用M25P128,故需要做好對臨界資源的互斥 訪問。
上述處理方式使單片機在1S的大部分時間內 處于低功耗模式,既滿足功能要求又避免了因判斷 時間是否到來而頻繁地讀取R丁C時鐘,節約了單
片機的軟件資源、降低了功耗。
5.結語
本文設計了恒流源電路、a/d測量電路和光 耦隔離電路,利用光耦完成模擬電路部分和數字電 路部分的通信,達到了這兩個部分有效隔離的目 的,在采樣率為100Sps情況下,實現了 16位的精 確測量;設計了數字電路部分,通過SIM900A實現 了壓力數據無線遠傳的功能。該裝置已在自來水 管網中使用,測量精度達到0.2%。、數據發送穩定。
上一篇:液壓道岔智能數字壓力表設計
下一篇:壓力表安裝誤區分析及對策