韓團軍鄭爭兵燕 亮薛澤臣
(陜西理工大學物理與電信工程學院,陜西漢中 723000)
隨著經濟的高速發展和社會的快速進步,環境被嚴重污染,其中水的重金屬污染已經嚴重威脅到人類的身體安康[1-5]。如何設計一種能夠快速、準確、實時地檢測重金屬的設備已經成為各個科研單位和環境研究院的重要問題。傳統的檢測設備需要樣品體積大,樣品的處理過程復雜,需要較長的時間才能得到檢測結果,同時檢測設備昂貴、體積大、檢測靈敏度低,只能用于原位分析。因此提出一種基于STM32 的重金屬離子測量系統,利用電化學技術中的離子電極分析方法,通過算法可以得到對重金屬離子濃度的擬合線性關系。整個系統通過氧化還原傳感器模塊檢測溶液中離子的氧化還原電位,對所采數據ORP 氧化還原電位和PT1000 所測溫度的各個關鍵點進行分析比較。利用SD 卡存儲金屬離子在不同溫度、不同濃度下的數據,以此作為標準值。采用五點校準法模擬金屬離子隨溫度變化的曲線,消除溫度對其測量帶來的誤差。采集不同溫度下的ORP 電位,提出卡方校驗思想衡量實際值與理論值的差異程度,選取最優判斷。最后進行測試實驗,結果證明該系統工作可靠精度較高,可以在相關環境部門和工業部門進行推廣。
本系統主要由主控模塊STM32、氧化還原電位傳感器模塊、ORP 復合電極、電源模塊、語音模塊等部分組成。將ORP 復合電極探頭以及PT1000 傳感器探頭伸入待測溶液,ORP 復合電極通過TL032 芯片將其電信號放大,AD7705 數模轉換器將其信號轉化為數字信號發送給主控芯片,PT1000 傳感器將所測得數據,通過算法處理數據信息得到當前溶液溫度,主控芯片STM32 將所獲得的溫度以及ORP數值與SD 卡模塊中數據進行對比,外部處理溫度通過算法計算出當前為何種溶液并且得出當前溶液濃度,人機交互模塊顯示當前溫度值、ORP 數值和重金屬離子濃度。整個系統框圖如圖1 所示。

圖1 系統的設計框圖
系統所設計的電源要為控制模塊、氧化還原傳感器模快、語音模塊、人機交互系統供電。采用穩壓芯片2940 將供電鋰電池電壓轉化為所需電壓5 V,后運用穩壓芯片AMS117-3.3 將+5 V 電壓降至單片機所需要的工作電壓+3.3 V,在芯片輸出電壓端連接有一個紅色LED,當電源正常工作時該燈作為狀態提醒。電源電路設計如圖2 所示。

圖2 電源模塊電路
氧化還原傳感器檢測電位可以作為待測溶液氧化還原能力的一種指標,其返回電位數值表現氧化性與還原性是相對程度,并不代表絕對電位,其所表現的相對電位強度單位為mV,當所表現電位為正,數據越大則氧化性越強。相反,所返回的數據的電位為負,數值越大則表明該待測溶液為還原性溶液。ORP 傳感器測量數據首先由ORP 復合電極檢測不同溶液電位,后再通過TL032CD 放大器放大然后通過AO 將模擬信號發送到數模轉換器AD7705,接著通過IO 口,讓處理器收到該器件的信息。ORP 氧化還原傳感器根據能斯特方程應用的表現獲得氧化還原電位的數值。因此OPR 氧化還原傳感器所獲得的電位值,不只是取決于自身的離子性質,還與反應時候的溶液溫度、物質濃度以及壓力有著密切聯系[6-12]。能斯特方程的電極反應公式為式(1)所示。

電勢與濃度之間關系如式(2)所示:

方程式中的F表示的是法拉第常數,其值為96 485 J/(mol·V),n代表整個反應中電子的轉移量,R為常數項,值為8.314,T代表了當前溫度,c表示φ取決于氧化態物質濃度與還原態物質濃度的比值,φθ表示該系統標準電極的電極電勢。
氧化還原電位傳感器模塊通過BNC 接口與ORP 復合電極進行連接,帶有零點校準按鍵,方便進行零點誤差校準。氧化還原傳感器放大電路如圖3 所示。當該電路滲入檢測溶液,放置空氣中,反向比例運算放大器的輸出電壓為
U3是圖中-5.0 V,即算出輸出電壓為2 V,當滲入待測溶液后,該電路形成加減運算電路,根據溶液的不同,得出不同的輸出電壓。

圖3 氧化還原傳感放大電路設計
系統在使用ORP 傳感器時,應用AD7705 來進行數模轉換。AD7705 可以由4.75 V~5.25 V 單電源支持工作,廣泛應用于智能系統、傳感器測量、數據處理等方面。該數模轉換器可以直接相連氧化還原傳感器的輸出信號,然后產生串行的數字輸出[13]。模塊可以用軟件進行配置。對增益值的選擇、速率的更改都可以通過單片機軟件進行操作。該器件還具有良好的自校準和系統校準,其原理是通過按鍵s1 閉合狀態下讀取接地時的電壓返回值,通過軟件算法配置該數據,可以消除器件產生的零點漂移,溫差。配置過程中可以較為容易與STM32IO 口兼容的實現采用SPI 總線,對該器件的控制。AD7705 片上增益可編程放大器有8 種增益可以選擇,分別為1、2、4、8、16、32、64 以及128,允許各種輸入信號放大至接近AD 轉換芯片的滿刻度電壓,然后進行AD 轉換,這將有助于提高轉換質量。當電源電壓為5 V,參考電壓為21 V 時,芯片可接受20 mV 至215V 范圍內的單極信號,±20 mV至±215 V 的雙極信號。必須注意的是,這里的負電壓是相對于AIN(-)的,這2 個引腳應該被偏置到適當的正電位。輸入模擬信號由AD 連續轉換。采樣頻率fs由主頻率clk 和增益決定。增益(16 至128)通過多次樣本,以及使用參考電容與輸入電容的比值來獲得。其引腳電路圖4 所示。

圖4 AD7705 電路原理圖
系統軟件設計包括整個系統軟件設計、AD7705軟件設計、溫度傳感器軟件設計。整個系統軟件設計主程序將不同溫度下檢測得到的氧化還原電位存儲在SD 卡中。檢測時,通過溫度選擇不同的數據庫文件,對比存儲值后判斷該金屬溶液為何種溶液。首先進行系統初始化,通過按鍵進入檢測模式,對比當前環境和氧化還原電位,在屏幕上顯示溫度、電位數值和所判斷金屬,語音提示當前溶液中含有某金屬離子。系統的主要程序流程圖如圖5 所示。

圖5 系統流程圖
氧化還原傳感器利用AD7705 數模轉換器讀取數據。將鉑電極和參比電極前端伸入待測溶液中進行測量,鉑電極的表面電子在待測溶液中得失平衡后相對于參比電極的平衡電位,加上該溫度時的參比電極電位即為氧化還原電位。該傳感器實際為一個電容式傳感器,由于外界的離子濃度發生變化將導致溶液電荷發生變化,使得電容值隨外界環境的變化而變化。通過測量電路,把電容量的變換轉換為電信號輸出,由輸出值的大小、正負判斷待測溶液為何種溶液。AD7705 芯片內包含8 個寄存器,其寄存器中最重要的3 個寄存器分別是通信寄存器、時鐘寄存器、設置寄存器,這些寄存器均可通過SPI 總線配置和訪問。所有的寄存器進行配置之前,必須先給通信寄存器發送指令配置,然后才能操作選定的寄存器。設置寄存器用于決定校準模式、增益設置、單/雙極性輸入以及緩沖模式等。時鐘寄存器中含有濾波器選擇和時鐘控制位。數據寄存器實現將轉換后的16 bit 數據信息存儲在該寄存器里面。該系統控制AD7705 的步驟分為2 步,首先需要按照該器件要求對其本身進行配置,在配置過程中需要配置通信寄存器2 次,分別配置設置寄存器和時鐘寄存器一次,隨后芯片開始數據轉換。第2 步,當數據轉換完成后,并且采取到DRDY 為低電平時,表明模擬數據轉換結束,這個時候可以對通信寄存器進行第3 次配置,讀取數據寄存器內的信息,反之等待數據轉換結束。AD7705 數據讀取流程圖如圖6所示。

圖6 AD7705 數據讀取流程圖
該系統的溫度傳感器模塊由四線制PT1000 溫度傳感器以及MAX31865 共同組成。在測試過程中,將PT1000 前置端頭置于待測溶液中,待傳感器適應待測溶液溫度時,其阻值經過MAX31865 進行數字輸出轉換器,轉換后的數字信號通過模擬SPI協議被主控芯片STM32 接收,并顯示在OLED 屏幕上。溫度傳感流程如圖7 所示。

圖7 溫度傳感器流程圖
由于溫度產生電位和濃度產生電位的數量級相當,系統后續抑制溫度產生電位必須能對溫度進行精確測量,系統首先檢測PT1000 與MAX31865 所傳回來的溫度數據是否準確,系統得到溫度精確測量結果,通過數據顯示可知測試誤差為0.01,證明該PT1000 傳感器滿足該系統對精度要求。測試所得數據如表1 所示。

表1 PT1000 溫度測試結果
在氧化還原反應過程中,在不同溫度下,溶液中離子活躍度不同,會影響ORP 數值采集數值。因此,測試不同溫度下在3.5 mol/L KCL 的ORP 數值,通過表2 數據,可以發現溫度影響著溶液中的ORP數值。系統在軟件部分對溫度數值進行特殊的數字處理,進行溫度補償,減少溫度帶來的誤差。表2 所示為不同溫度下的ORP 值。同時測得同一溶液不同溫度下ORP 數值,如圖8 所示。

表2 在不同溫度下ORP 測試ORP 數值

圖8 同一溶液不同溫度下ORP 數值
同時系統測試了不同溶液在相同溫度下產生單位數據,條件溫度25 ℃,校準后的ORP 初值為2 038 mV,探頭深入硫酸亞鐵離子溶液、硫酸銅溶液。對比表中數據,該系統在測試溫度相同的條件下,因為其待測溶液金屬物質的不同,氧化還原電位不同,對檢測不同金屬有著良好的區分度。硫酸亞鐵離子檢測數據表為3 所示,硫酸銅離子濃度檢測數據檢測如表4 所示。通過數據可以得到不同金屬溶液在同一溫度下的ORP 數值,如圖9 所示。

表3 硫酸亞鐵離子檢測

表4 硫酸銅離子溶液檢測

圖9 不同金屬溶液在同一溫度的ORP 數值
系統同時得到了處于相同外界環境、不同濃度硫酸的氧化還原電位傳感器所傳回來的數據信息。如表5 所示。同時按照數據得到同一外界條件不同濃度金屬溶液的ORP 如圖10 所示。

表5 相同環境下不同濃度硫酸鈉溶液檢測

圖10 同一外界條件不同濃度金屬溶液的ORP 數值
根據以上數據,在軟件設計中,對所測數據ORP 氧化還原電位和PT1000 測量溫度的各個關鍵點進行分析比較。以SD 卡所存儲的金屬離子在不同溫度、不同濃度下的數據為標準值。使用五點校準法模擬金屬離子隨溫度變換的曲線,消除溫度對其測量帶來的誤差。基于卡方校驗特征選擇思想衡量實際值與其理論值的差異程度,選取最優判斷。卡方校驗的思想是通過觀察值和理論值之間的的偏差來判斷理論值的正確率,若正確率數據很大,則可以認為該數據為理論值。卡方校驗的第1 步是檢測,實測數據與理論值的偏差(其中A為實測數據,E為理論值),如式(3)所示:

得到當前偏差值后,因為差值有正有負,就會相互抵消為0。本來存在偏差的,結果現在變成了沒有偏差的,所以在第2 步需要加上平方之后再求和,如式(4)所示:

但這個時候又引來新的問題,對于500 的均值來說,相差5 其實很小,而對于20 的均值,5 相當于25%的差異,這時使用方差也無法體現。因此應該考慮改進上面的式子,讓均值的大小不影響該系統對差異程度的判斷,如式(5)所示:

通過驗證模型算法的準確性,對待測溶液進行多次測量,實驗表明該儀器測量數據接近,已經滿足測量需求。
利用電化學方法對水質安全中的重金屬離子進行了研究,設計了一種基于STM32 的重金屬離子測量系統。系統采用電化學傳感器對水中的重金屬離子濃度進行了采集,同時對其信號進行放大,通過AD 模塊進行轉換,對數據進行擬合得到信號和溶液濃度的函數。實現了系統的軟硬件設計,通過數據分析發現,得到的數據與濃度一致,表明該系統有一定的研究意義。