王捷, 金高威,彭俊,陳順材, 董錚
(湖北文理學(xué)院 計(jì)算機(jī)工程學(xué)院,湖北襄陽,441053)
關(guān)鍵字:STM32單片機(jī);PH值;LCD顯示
現(xiàn)如今水源污染已經(jīng)直接影響到人們的身體健康,盡管水源污染得到了控制,但全國各地依然流淌著被污染的水源,特別是從重工業(yè)城市流出,在偏遠(yuǎn)地區(qū)生活的居民,由于淡薄的環(huán)保意識(shí)和落后的水質(zhì)檢測(cè)設(shè)備,導(dǎo)致居民飲水中毒甚至死亡。雖然日常生活中使用的是經(jīng)過處理的水源,但是某些地方的水質(zhì)檢測(cè)仍沒有達(dá)到飲用標(biāo)準(zhǔn),居民飲用后出現(xiàn)腹瀉、惡心等不良身體狀況。所以實(shí)時(shí)檢測(cè)水質(zhì),成為一種必然結(jié)果。
據(jù)統(tǒng)計(jì)表明,全國許多偏遠(yuǎn)地區(qū)的城鎮(zhèn)還存在著水質(zhì)檢測(cè)不合格的問題,直接影響了人們的身體健康。保護(hù)水資源的重要指標(biāo)就是水質(zhì)檢測(cè),由于許多城鎮(zhèn)的村民缺乏環(huán)境保護(hù)意識(shí)以及設(shè)備的落后,導(dǎo)致水質(zhì)檢測(cè)沒有得到廣泛的應(yīng)用。
本文提出一套集STM32最小系統(tǒng)、PH值檢測(cè)電路以及LCD1602顯示電路于一體的PH值水質(zhì)檢測(cè)系統(tǒng)。附帶有超聲波測(cè)距和電導(dǎo)率檢測(cè)兩個(gè)拓展功能,能夠?qū)崟r(shí)檢測(cè)人們飲用水源的參數(shù)。比如PH值、電導(dǎo)率等重要參數(shù)。
系統(tǒng)采用STM32單片機(jī)。該芯片有先進(jìn)的Cortex-M3內(nèi)核,最高可達(dá)到72MHz的工作頻率,可以快速處理系統(tǒng)收到的事件和任務(wù),擁有強(qiáng)大的功能,操作方便。
本設(shè)計(jì)是一套集STM32單片機(jī)系統(tǒng)、PH值檢測(cè)電路以及LCD1602顯示電路于一體的PH值水質(zhì)檢測(cè)系統(tǒng)。外帶超聲波測(cè)距和電導(dǎo)率檢測(cè)兩個(gè)拓展模塊。具體功能檢測(cè)PH值、電導(dǎo)率以及超聲波測(cè)距,并在LCD1602上顯示。
本此系統(tǒng)總體設(shè)計(jì)框圖如圖1所示。
圖1 總體設(shè)計(jì)框圖
其中STM32系列單片機(jī)是一款基于ARM 7架構(gòu)的32位、具有ARM Cortex-M3內(nèi)核以及能夠?qū)崟r(shí)仿真和跟蹤的微控制器。由意法半導(dǎo)體ST公司生產(chǎn),廣泛應(yīng)用于嵌入式開發(fā),故又稱嵌入式單片機(jī)。其具有性能高、成本低、功耗低以及可裁剪等特點(diǎn)。
設(shè)計(jì)選用的是LCD1602顯示,橫向可以顯示2行,豎向可以顯示16列。其原理是運(yùn)用液晶的物理特質(zhì),利用電壓對(duì)其顯示區(qū)域產(chǎn)生控制,即可以顯示出圖形。圖2是LCD1602液晶顯示的引腳說明。
圖2 LCD1602引腳說明
PH值檢測(cè)傳感器電路能夠很方便的檢測(cè)液體中的PH值,包含電極以及傳輸器兩部分。PH電極經(jīng)過 BNC 輸出 mV 信號(hào)來完成信號(hào)放大, 放大為 0-5V信號(hào),單片機(jī)來讀取電壓,PH 值則由輸出電壓轉(zhuǎn)換而來。
(1)先使用PH標(biāo)準(zhǔn)粉劑配置3瓶PH標(biāo)準(zhǔn)溶液。
(2)將PH傳感器連接單片機(jī),再將玻璃滴管放入PH6.86標(biāo)準(zhǔn)溶液中,調(diào)節(jié)電位器,使得P0 口輸出電壓為2.5V左右。
(3)將電極探頭依次放入三個(gè)標(biāo)準(zhǔn)溶液中進(jìn)行測(cè)量,并記錄相應(yīng)的輸出電壓。以下表格是電壓和PH值的關(guān)系。
表1 電壓和PH值的關(guān)系
具體實(shí)物圖如圖3所示。
圖3 實(shí)物圖
本設(shè)計(jì)主要運(yùn)用Keil軟件進(jìn)行代碼編寫與軟件調(diào)試。首先開啟電源,等待系統(tǒng)時(shí)鐘、IO口、定時(shí)器以及串口初始化,完成開機(jī)。然后由主程序判斷超聲波測(cè)距數(shù)據(jù)是否采集,再進(jìn)行數(shù)據(jù)轉(zhuǎn)換,接下來就是判斷PH值和電導(dǎo)率是否采集,并將數(shù)據(jù)進(jìn)行處理,通過顯示屏顯示。PH值傳感器、電導(dǎo)率傳感器采集數(shù)據(jù)后由STM32單片機(jī)內(nèi)部進(jìn)行處理,再通過LCD1602顯示出來。實(shí)際流程圖如圖4所示。
圖4 程序流程圖
STM32模塊主程序典型代碼如下:
PH值檢測(cè)模塊最重要的就是采集水質(zhì)PH值,能夠很方便的檢測(cè)液體中的PH值,包含電極以及傳輸器兩部分。先用玻璃管檢測(cè)水中的氫離子濃度,再由內(nèi)部電路轉(zhuǎn)換成可輸出信號(hào)由輸出端輸出給單片機(jī)。接著由單片機(jī)進(jìn)行模數(shù)轉(zhuǎn)換,從而計(jì)算出被測(cè)物中的PH值[14]-[15]。
PH電極經(jīng)過 BNC 輸出 mV 信號(hào)來完成信號(hào)放大, 放大為 0-5V信號(hào),單片機(jī)或萬用表來讀取電壓,溶液的 PH 值則由輸出電壓轉(zhuǎn)換而來。
PH值檢測(cè)模塊主程序如下所示:
為了體現(xiàn)實(shí)用性,本次設(shè)計(jì)增加了水質(zhì)電導(dǎo)率檢測(cè)功能和超聲波測(cè)距功能,從而提高其實(shí)用性。采用超聲波傳感器,超聲波傳感器是用來測(cè)量距離的一種產(chǎn)品,左探頭發(fā)生超聲波,右探頭接收超聲波,再由處理器計(jì)算出模塊到物體之間的距離。測(cè)量能夠精準(zhǔn)到方位、距離,精準(zhǔn)度極高,可實(shí)時(shí)檢測(cè)。對(duì)水的穿透力極大,非常適合用于本次設(shè)計(jì)。
超聲波模塊流程圖如圖5所示。
圖5 超聲波模塊流程圖
(1)查看焊點(diǎn)是否飽滿,有沒有兩腳相連或虛焊等情況。
(2)用萬用表檢查電源有沒有短路,電路管腳間有沒有斷路。
(3)通電后,按下開關(guān),看各模塊是否正常工作,然后開始測(cè)試電路要實(shí)現(xiàn)的功能。
插上電源按下開關(guān)后,檢查元器件功能是否是完整的,有沒有壞掉,保證能夠正常工作。
經(jīng)過軟硬件整體系統(tǒng)測(cè)試后,工作正常,整體實(shí)物圖如圖6所示。
圖6 實(shí)物圖
基于STM32的PH值檢測(cè)儀設(shè)計(jì),明確了該設(shè)計(jì)要實(shí)現(xiàn)的模塊功能,然后根據(jù)每個(gè)模塊進(jìn)行系統(tǒng)設(shè)計(jì),再根據(jù)每個(gè)模塊要實(shí)現(xiàn)的功能進(jìn)行硬件系統(tǒng)設(shè)計(jì)和軟件系統(tǒng)設(shè)計(jì),這樣思路清晰,功能更加明確,遇到問題也好及時(shí)解決。