,,
(1.石家莊郵電職業技術學院 電信工程系,石家莊 050031;2.河北電信設計咨詢有限公司;3.河北省廣播電視技術中心)
隨著社會的快速發展和人民生活水平的提高,養魚已經逐漸成為越來越多的人愛好,其成為家庭裝飾和綠色生活的首選[1-2]。但是,不同的魚對水環境的要求各不相同,如魚缸的水溫、pH值、水位情況等。如果水環境不合適,很容易導致一些名貴魚的死亡[2]。
隨著物聯網技術的飛速發展,智能家居技術逐漸成熟,通過手機實現對家居設備的智能管理成為人們的普遍需求。針對這一情況,本文提出并設計了一種可通過手機藍牙(BLE4.0)實時了解魚缸水環境情況的水情檢測儀。
系統結構示意圖如圖1所示。水情檢測儀通過頂部的超聲波傳感器進行魚缸水位測量,通過pH復合玻璃電極測量魚缸內水的pH值,通過溫度傳感器采集溫度。水情檢測儀通過藍牙將測量數據發送到手機端,手機端APP顯示測量結果。

圖1 系統結構示意圖圖
系統硬件框架如圖2所示。主要包括:可與手機進行藍牙通信的MCU nRF52832(以下簡稱nRF52)最小系統、pH值信號采集處理電路、溫度傳感器DS18B20、超聲波水位測量傳感器、外設電源控制電路、鋰電池組、電池管理板、電壓轉換電路以及電池電壓采集電路。
其中,電池管理板負責將鋰電池輸出的3.7 V電壓升壓到5 V,為各個傳感器供電;電池電壓采集電路通過電阻分壓,將3.7 V電壓降低到3.3 V以下。nRF52832通過兩路ADC采集pH信號和電池電壓信號;通過一路I/O口連接DS18B20進行溫度采集;通過一路串口接收超聲波水位測量傳感器數據;通過一路I/O口控制MOS管開關電路,實現外設電源開關控制。下面重點對nRF52832最小系統和pH信號采集處理電路做詳細論述。

圖2 系統硬件架構圖
nRF52832為Nordic公司的一款支持低功耗藍牙BLE、ANT/ANT+和2.4 GHz多種無線協議的處理器,其內部集成了支持浮點運算的32位 ARM Cortex-4F CPU、512 KB的Flash和64 KB RAM,主頻可達64 MHz[3-4]。nRF52832內部集成8路12位逐次逼近型ADC、2路SPI、2路I2C總線、1路I2S音頻接口和1路UART等多種接口。其特有的PPI(Programmable PeripHeral Interconnect)機制使得外設之間的事件可獨立于CPU進行連接,節省CPU資源。[5]基于其EasyDMA技術,外設可直接訪問內部RAM,而無需CPU干預。
圖3是nRF52832最小系統原理圖,該芯片共有32個I/O口,去掉2個32.768 kHz的RTC實時時鐘口和2個NFC天線接口,用戶可使用的I/O口共28個。本系統中使用了AIN6和AIN7兩路12位ADC進行電池電壓和pH值信號電壓測量,使用2路GPIO口進行溫度采集和外設電源控制,使用1路串口接收超聲波水位傳感器數據。需要注意的是,nRF52832電源電壓范圍為1.7~3.6 V[6],本系統采用的鋰電池額定工作電壓為3.7 V,充滿電空載時可達4.2 V,為安全可靠起見,電池電壓首先進行了電阻分壓后才進入nRF52832電池電壓測量ADC接口。

圖3 nRF52832最小系統原理圖
溶液的pH值取決于其中氫離子的濃度[7]。pH值的測量方法主要有兩種:依據pH試劑顏色變化的比色法和測量電極兩端電壓的電位法。其中,比色法僅用于粗略測試,無法保證精度;電位法具有測量精度高、穩定性好的優點,適合用于溶液pH值的精確測量[8-9]。因此,本系統采用了后者,使用的傳感器為復合玻璃pH電極。
電位法測量pH值的基本原理是:將復合玻璃電極放入待測溶液中,通過測量電極內部標準KCL溶液內的參比電極與外部待測溶液中的玻璃電極的電位差,實現pH值的測量[7]。根據能斯特方程,復合玻璃電極的電位與被測溶液的pH值的關系為:
(1)
式中:E為復合玻璃電極電位(mV),E0為參比電極電位(mV),R為氣體常數8.3144J/(K*mol),T為絕對溫度,F為法拉第常數96 485 C/mol,K=2.303RT/F=0.198 4T。
此種測量方式具備幾個特點:一是每個pH值的變化對應的電位差(E-E0)非常微弱,當環境溫度為25 ℃時,一個pH值的變化對應的電位差為59.16 mV[9];二是從
式(1)中可看出,pH值除和電位差有關之外,還和溫度有關。根據式(1),溫度對pH值電極電位差的影響為0.198 4 mV/℃,如果溫度變化較大,需要做溫度補償。
[10]給出了溫度補償模型。考慮到本系統工作環境為室內,溫度變化不大,所以未做溫度補償。三是玻璃電極具有很高的阻抗,通用pH值電極阻抗約為100 MΩ,根據第一點和歐姆定律,其電流僅為0.591 6 nA,為保證測量信號的穩定,要求后端處理電路必須具備很高的輸入阻抗與之匹配。為此本系統選用了高輸入阻抗的軌到軌運算放大器TLC4502實現微弱信號的放大。
pH值信號采集處理電路如圖4所示。pH電極兩端pH+和pH-電位差經過TLC4502放大后,經過pH_OUT端口送到nRF52832的ADC端口進行模數轉換,經過nRF52832的運算后得到最終的pH值。其中需要注意的是:TLC4502為軌到軌運放,所以會引入負電壓,為降低系統成本和功耗,本電路通過TLC4502的一路運放結合LM285D-2.5穩壓二極管輸出的2.5 V電壓,將pH-的電壓值抬高,從而使得pH+和pH-的電位差始終為正電壓。由于nRF52832的工作電壓為3.3 V,所以R28的阻值選擇了1.8 kΩ,pH-電壓為1.85 V,使得pH+電壓以1.85 V為基準上下波動,電壓范圍始終處于0~3.3 V之間。

圖4 pH信號采集處理電路
3.1.1 nRF52832工作流程
nRF52832的工作流程如圖5所示。

圖5 nRF52832工作流程
首先,進行nRF52832外設和BLE協議棧初始化,主要包括:
① nRF52832的GPIO、串口和ADC的初始化。
② RTC實時時鐘初始化。nRF52832有兩種時鐘源:高頻時鐘HFCLK和低頻時鐘LFCLK。低頻時鐘源主要有:32.768 kHz外部晶體振蕩器時鐘、內部32.768 kHz的RC時鐘和32.768 kHz合成時鐘[6]。其中,RC時鐘受溫度影響精度不高,合成時鐘是從高頻時鐘HFCLK合成而來。為降低功耗,nRF52832的BLE協議棧一般選擇低頻時鐘源,所以系統選擇了32.768 kHz外部晶體振蕩器時鐘。
③ BLE協議棧初始化、BLE連接事件GAP參數初始化、Nordic串口服務初始化、BLE廣播初始化和連接參數初始化。
然后,nRF52832開啟藍牙廣播,等待手機連接。基于nRF52832協議棧SoftDevice的on_ble_evt()中斷處理函數,可獲取當前BLE的連接狀態:BLE_GAP_EVT_CONNECTED和BLE_GAP_EVT_DISCONNECTED。如果連接成功,則開啟外設(在本系統中,外設包括:溫度傳感器、pH采樣電路、超聲波水位傳感器)供電;進行溫度采集;通過nRF52832的ADC進行pH值電壓采樣和pH值計算、電池電壓采樣和計算;通過串口接收超聲波水位傳感器數據并解譯;數據處理完成后,通過BLE上傳到手機APP顯示。如果nRF52832未與手機建立連接,則停止溫度采集和ADC采樣,通過開關電路關閉外設供電,nRF52832進入低功耗模式,最大限度降低系統功耗。
3.1.2 pH值的數據濾波與校準
經過pH值信號采集處理電路放大之后的電壓信號,被送到nRF52832的ADC接口進行模數轉換,經過運算得到實際的電壓值。在實際的ADC數據采樣中,由于外界的干擾,會出現偶然的數據波動,所以需對ADC采樣數據做軟件濾波。考慮到pH值數據屬于緩慢變化的被測參數,所以本系統采用了中位濾波法,即連續采樣N次(N為奇數),把N次采樣數據采用冒泡法從小到大排列,選取中間值作為本次采樣的有效值。
由于溫度的差異、pH電極個體差異和信號采集處理電路中各元器件存在差異,第一次使用時需進行校準,通過對實驗數據分析,采用最小二乘法對離散點進行線性回歸分析[11],得到pH值與電壓變化量的關系式△E=kpH+b。本系統采用了三點校準方式。根據參考文獻[11],高、低pH值與電壓變化量的曲線是有所不同的,但兩者在pH=7附近基本重合,所以,本系統采用了兩組三點校準得到兩組關系式,以實現pH值的精確測量。
首先,以pH=6.86為分界線,pH=6.86以下為酸度曲線,pH=6.86以上為堿度曲線。采集pH=3.0、4.0、6.86三點對應的電極電壓值,基于y=kx+b的最小二乘法式(2)和(3)得出酸度曲線公式(具體數據見表1);同理,采集pH=6.86、7.80、9.18三點對應的電極電壓,得出堿度曲線公式(具體數據見表2)。
(2)

(3)

表1 pH≤6.86時采集的三點數據(標準pH值,ΔE)

表2 pH≥6.86時采集的三點數據(標準pH值,ΔE)
手機端的APP用于與nRF52832建立藍牙連接、接收nRF52832上傳的各項數據并顯示、通過藍牙向nRF52832發送指令。APP顯示界面如圖6、圖7所示。

圖6 手機APP掃描到藍牙設備SQJC01

圖7 APP顯示魚缸水情數據
根據系統的設計方案,進行了樣機試制。圖8是系統樣機實物圖,從左到右依次為:水位傳感器接口、溫度傳感器接口、pH值信號處理板及接口、MOS管開關板、nRF52832最小系統板、3.3 V電源板、鋰電池和電池管理板。

圖8 系統樣機實物圖
在室溫25 ℃環境下,水情檢測儀對魚缸內水的pH值、水位值、電池電壓和系統工作電流進行了數據采集和分析。通過誤差分析,可知水情檢測儀的各項指標達到了較高的測量精度。同時由于采用了藍牙低功耗MCU和電源開關控制,系統正常工作時電流為94.4 mA,休眠時(僅開啟了藍牙廣播,其他外設全部關閉)僅為9.4 mA,系統具有較低的功耗,可實現長時間的穩定運行。

參考文獻
[1] 徐喆.一款家用魚缸智能控制系統設計[D].西安:西南交通大學,2017.
[2] 白春雨,吳紅海,趙懷冬,等. 基于GSM的可調節智能魚缸生態系統[J]. 科技風,2017(8):86-87.
[3] NORDIC SEMICONDUCTOR. nRF52832 - Product Specification v1.0[EB/OL].[2017-12].http://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.nrf52%2Fdita%2Fnrf52%2Fchips%2Fnrf52832_ps.html, 2016-02-01.
[4] 劉百芬,李圖之,陳鵬展,等. 基于nRF51822的汽車無線姿態測量系統設計[J]. 科學技術與工程, 2014, 14(17): 87-90.
[5] 譚暉. 低功耗藍牙開發與實踐[M]. 北京:北京航空航天大學出版社, 2016:92.
[6] NORDIC SEMICONDUCTOR. nRF52832 Objective Product Specification v0.6.3[EB/OL].[2017-12].https://www.nordicsemi.com/eng/Products/Bluetooth-low-energy/nRF52832,2016-02-01.
[7] 董華. 基于MSP430單片機的pH計的研制[D].長春:吉林大學,2008.
[8] 彭鵬. 基于物聯網的水環境在線監測系統研究[D].武漢:華中科技大學,2012.
[9] 林大烜,唐榮年,王云強,等. 基于Android系統的pH參數測量儀設計[J]. 儀表技術與傳感器,2014(7):58-60.
[10] 張占學. 基于最小二乘法的pH值溫度補償模型[J]. 電氣技術,2015(2):115-117.
[11] 張開遠,周孟然,閆鵬程,等. 基于最小二乘法的pH值溫度補償系統設計[J]. 傳感器與微系統,2015,34(5):109-111,122.
吳蓬勃(副教授),主要研究方向為物聯網技術、嵌入式技術。