孫啟云, 劉清惓, 周 亞, 王 琿
(1. 江蘇省大氣環境與設備技術協同創新中心, 南京 210044;2. 南京信息工程大學 電子與信息工程學院, 南京 210044;3. 江蘇省氣象探測與信息處理重點實驗室, 南京 210044)
大氣濕度是氣象探測中一項重要參數,露點溫度作為濕度定義和計量的標準,準確測量大氣露點溫度尤為重要。冷鏡式露點儀是濕度量值傳遞和國際對比標準儀器[1]。傳統的冷鏡式露點儀雖然有精度高的優點,但是價格昂貴,一旦有灰塵等污染物附著在鏡面上就會對反射光形成干擾。當鏡面溫度低于0℃時,難以分辨鏡面是結霜還是結露,亦有可能導致測量誤差增大。大部分研究者采用傳統的PID控制算法對露點儀進行控制,當測量環境變化時,傳統PID控制算法的參數自適應能力有限,PID控制的響應速率變低,對其性能進一步提高造成了限制[2-3]。隨著微加工技術的進步,一些國內外學者研制了基于微機電系統(MEMS)技術的露點儀系統[4]。傳統露點儀中的光源和光電探測系統的成本高昂,且在低溫環境中響應速度較慢,MEMS傳感器在該領域的應用,不但使儀器的小型化和低成本化成為可能,亦有利于提高傳感器的響應速率和測量精度[5]。
本文提出了一款基于MEMS及BP PID控制算法的露點儀設計,通過檢測MEMS電容芯片及其表面溫度變化,實現露點的測量。采用基于BP神經網絡的PID控制算法,提高了傳統PID控制算法參數的自適應能力及系統響應速率。移植FreeRTOS實時操作系統,提高了系統的穩定性、多任務能力和內存管理能力。
露點溫度是指將一個光潔鏡面放置在待測空氣中進行等壓降溫,結露量保持恒定時的表面溫度[6-7]。本文設計的露點儀,將MEMS傳感器芯片表面的電容器件作為檢測微小露珠的鏡面,根據電容變化判定其表面是否有露形成。測量前,對電容進行標定。當鏡面溫度降低到露點溫度時,鏡面的水汽達到飽和狀態,MEMS電容芯片表面有微小的露珠凝結[8],從而引起相對介電常數增加,此時測量MEMS電容值,當其穩定在系統預設電容值時,其表面溫度即為露點溫度[9]。通過算法控制半導體制冷器,使電容的測量值實時跟蹤預設值,并使鏡面上的結露量保持動態平衡。MEMS電容芯片結構示意圖如圖1所示。

圖1 MEMS電容芯片結構示意圖
系統測控電路主要包括處理器、電容測量電路、溫度測量電路及制冷器溫度控制電路。選用Cortex-M3內核的STM32微控制器作為主控芯片,其具有功耗低、中斷延遲短、成本低、處理性強等優點,滿足系統設計中數字信號采集、轉換等需求。系統測控電路設計框圖如圖2所示。

圖2 系統測控電路設計框圖
使用由實驗室自主研制的MEMS電容芯片作為傳感器探頭,其具有體積小、功耗低、成本低、高精度等特點[10]。選用AD7746作為電容測量芯片,AD7746作為一款Σ-Δ型電容數字轉換器,噪聲低,具有±0.01%的線性度,±4 fF的精度,4 aF的分辨率,可以精確檢測到MEMS電容。當電容測量值穩定在預設值時,認為此時已達到露點溫度,可進行溫度測量。
為實現溫度的高精度測量,使用鉑電阻溫度傳感器采集溫度。采用四線制鉑電阻傳感器的連接方式,有利于降低引線以及接線誤差[11]。使用Fluke 1595A超級測溫電橋與ISOTECH干體爐進行鉑電阻溫度傳感器標定。選用Vishay公司研制的Z型金屬箔精密電阻,并使用超級測溫電橋對其進行阻值標定,減少普通電阻因溫度、電流變換而引起的阻值誤差。采用24位Σ-Δ模數轉換器AD7794測量鉑電阻及參考電阻兩端的電壓,并將數據傳輸給處理器進行數據處理,并采用線性電源LP2951供電。為減少內部基準電壓源產生溫漂而帶來的系統誤差,使用ADR444作為A/D采樣的基準源,提高系統精度。
為使電容表面結露量保持動態平衡,采用多級半導體制冷器控制電容表面溫度。使用微控制器產生PWM波,通過調節其占空比控制半導體制冷器功率開關的MOS管的通斷。采用光耦連接處理器的輸出和功率開關,可有效減少電流高頻分量對處理器以及測量電路的影響[12]。為保證半導體制冷器的制冷效果,在其背面安裝散熱器。
為降低系統誤差,提高測量精度,在PCB布局設計中,將數字部分與模擬部分獨立分區布局與鋪地,并使用磁珠進行耦合,減少處理器與通訊芯片中高頻噪聲對測量電路的影響。在電源電路中引入去耦、濾波電容消除電源雜波干擾。露點儀測控電路實物圖如圖3所示。

圖3 露點儀測控電路實物圖
利用處理器與24位電容數字轉化器之間I2C通信測量MEMS電容,使用基于BP神經網絡的PID控制算法控制半導體制冷器的輸出功率,實現電容芯片表面溫度控制。當電容測量值穩定在系統預設值時,利用處理器與24位模數轉換器之間SPI通信測量鉑電阻兩端電壓,通過轉換得到鉑電阻阻值,最終計算得出露點溫度,并由串口將數據發送給上位機進行數據顯示。處理器需完成多通道ADC數據測量、數學計算、上位機通訊等工作,任務量大,實時性要求高。FreeRTOS作為一款內核較小但功能齊全的操作系統,可方便移植,無任務數量限制,通過移植FreeRTOS操作系統提高了本系統的實時性和穩定性[13]。系統軟件設計流程圖如圖4所示。

圖4 系統軟件設計流程圖
為提高傳統PID控制算法參數的自適應能力及系統響應速率,將BP神經網絡算法應用于PID的參數識別過程,設計基于BP神經網絡的PID控制算法[14]。設計中采用增量式離散PID算法[15]

Kd(e(k)-e(k-1))
(1)
式中:Kp、Ki、Kd分別為控制器的比例、積分和微分系數;e(k)、e(k-1)指采集到的第k次和第k-1次時電容值與預設電容值的差值;u(k)、u(k-1)指在第k次和第k-1次采集時接入半導體制冷器的輸入電壓。在此基礎上加入BP神經網絡算法,利用神經網絡模型通過訓練和學習找出一個最佳控制算法規律,實現Kp、Ki、Kd實時可調。
本文建立如圖5的3層神經網絡結構,確定網絡輸入層、隱含層、輸出層的神經元個數分別為4、20、3。隱含層與輸出層的權值函數分別為vij、wli。將測量得到的電容差值作為輸入層的輸入,
Oj=ej,j=1,2,3,4
(2)
隱含層的輸入輸出分別為:
輸出層的輸入輸出分別為:

圖5 3層神經網絡結構圖
隱含層神經元活化函數f(x)為正負對稱的sigmoid函數,由于PID的3個參數非負,所以輸出層神經元活化函數g(x)為非負的sigmoid函數[16]。輸出層的3個結果輸出分別對應PID算法中的3個參數。為提高PID參數的自適應能力,需進行BP神經網絡算法學習,采用梯度下降法調整隱含層和輸出層的權值系數。經過多次試驗,本文選定學習速率η為0.48,慣性系數α為0.001。系統指標函數為:
(7)
式中:r(k)是系統電容預設值;y(k)是電容實時采集值。利用指標函數E(k)對權系數按照負梯度方向進行搜索調整,可得網絡輸出層權系數的學習算法公式
隱含層權系數的學習算法計算公式:
基于BP神經網絡的PID控制算法可在控制過程中根據預設平衡條件,不停地控制制冷器的工作功率,提升系統的響應速率,使MEMS電容可實時跟蹤系統預設值,維持其表面結露量的動態平衡。控制算法設計流程圖如圖6所示。

圖6 控制算法設計流程圖
為驗證系統的實際性能,測試環境使用偉思福奇環境試驗儀器有限公司生產的溫濕度檢定箱。選取英國Michell公司生產的OPTIDEW VISION計量級冷鏡式露點儀進行對比試驗。將計量級冷鏡式露點儀測得的露點溫度記為dp0,本系統測得的露點溫度記為dp1,得到如表1的數據。

表1 OPTIDEW VISION光電露點儀與本系統露點儀擬合測量結果對比 ℃
將計量級冷鏡式露點儀測得的露點溫度與本系統測得的露點溫度之間的誤差值繪制如圖7所示的折線圖。對比測試結果表明,本系統的測量精度為±0.2 ℃,計算可得本系統均方根誤差為0.12 ℃。

圖7 露點溫度誤差折線圖
本文提出了一種基于MEMS電容芯片及BP PID控制算法的露點儀。采用MEMS技術設計露點傳感器探頭,使用24位電容數字轉換器測量MEMS電容。結合基于BP神經網絡的PID控制算法設計了半導體制冷器控制電路,提高了參數的自適應能力,使電容測量值可實時跟蹤系統預設值。設計基于24位模數轉換器的鉑電阻溫度傳感器,經轉換計算得出最終露點。系統中移植FreeRTOS操作系統,提高了系統的穩定性及多任務的工作效率。對比實驗結果顯示,系統測量精度優于±0.2 ℃,未來有望應用于高空與地面氣象探測。