劉 偉,吳可汗,王慶龍,葉萬家
(1.合肥學院 電子信息與電氣工程系,安徽 合肥 230000;2.安徽電氣工程職業(yè)技術(shù)學院,安徽 合肥 230000)
隨著科學技術(shù)不斷發(fā)展,人們開始利用不同的方法模擬出與生物嗅覺相類似的嗅覺原理來辨識氣味信息[1].傳統(tǒng)的檢測技術(shù)有時候會受到氣味源的限制,有時候也會收到環(huán)境的限制,耗時、費力、檢測結(jié)果客觀性差.隨后電子技術(shù)和人工智能技術(shù)的發(fā)展,電子鼻檢測技術(shù)應時而生,并在很多領域展現(xiàn)出其特有的優(yōu)勢.本設計針對目前智能冰箱的需求,設計了一套異味檢測系統(tǒng),可用于冰箱中儲藏食品的變質(zhì)程度檢測和預警.
本系統(tǒng)基于傳感器陣列技術(shù)和人工智能算法,分析了電子鼻在植物油、蘋果等檢測物中的具體應用問題.根據(jù)設計的基本要求給出了系統(tǒng)的總體設計框架對系統(tǒng)的基本工作原理以及系統(tǒng)所實現(xiàn)的基本功能進行詳細的闡述.
本設計使用費加羅系列的單個傳感器組成傳感器陣列檢測待測的植物油、蘋果等揮發(fā)氣體的電壓變化數(shù)據(jù),然后將該數(shù)據(jù)進行簡單的濾波等處理,通過硬件系統(tǒng)中的模數(shù)轉(zhuǎn)換,模數(shù)轉(zhuǎn)換后的數(shù)據(jù)可直接通過I2C通信協(xié)議傳送到樹莓派中進行后面的數(shù)據(jù)處理,在樹莓派的Python環(huán)境下編寫程序,實現(xiàn)顯示采集處理后的數(shù)據(jù)、保存數(shù)據(jù)等功能,隨后采用相應的算法對保存后的數(shù)據(jù)進行處理并顯示在UI界面上.
本設計的硬件部分主要包括主控芯片、傳感器陣列、AD采集部分、氣泵電路等,完成各個硬件電路模塊系統(tǒng)集成以達到最終檢測植物油、蘋果等樣品的作用.如圖1,硬件組成部分.
2.1.1 樹莓派簡介
樹莓派是由“Raspberry Pi基金會”開發(fā),它具有1.2GHz的CPU,RAM大小為1GB.具有40個I/O端口、WiFi模塊、4個USB接口,可外接設備等.同時可以寫入操作系統(tǒng),通過PC機進行遠程桌面控制.
圖1 系統(tǒng)硬件組成
圖2 氣敏傳感器陣列
2.1.2 傳感器陣列
本設計采用的是氣敏傳感器,指利用各種化學、物理效應將氣體成分、濃度信息按照傳感器內(nèi)部函數(shù)規(guī)律轉(zhuǎn)化為電信號輸出的一個器件[2].本次系統(tǒng)設計采用的氣敏傳感器是采用的是金屬氧化物半導體傳感器,簡稱MOS傳感器,這種傳感器具有敏感度高、響應速度快、成本低使用簡單等特點[3].根據(jù)本設計的應用場合選擇了TGS2602、TGS2603、TGS2620、TGS2600,四種傳感器.為了測試方便將四種傳感器排列成4×1的排列方式.
2.1.3 各模塊電路設計
(1)處理器模塊:本設計采用樹莓派為處理器,在軟件設計上具有很大的優(yōu)勢,在后期的數(shù)據(jù)分析處理上體現(xiàn)了樹莓派的強大功能.本設計主要用到樹莓派的I/O端口對AD采集的數(shù)據(jù)進行傳輸和氣泵的控制以及其它的模塊方便在PC上進行調(diào)試.如圖2所示.
圖3 處理器模塊
(2)傳感器電路:TGS系類的傳感器屬于電阻型[4],當氣體吸附在傳感器上面時會影響傳感器半導體材料的總的導電率變化[5],從而改變了它的電阻,所以我們只需要設計一個簡單的分壓電路即可檢測氣體的相關信息.如圖3所示.
圖4 AD采集模塊
(3)AD采集模塊:根據(jù)本文設計的傳感器陣列所需要的,數(shù)據(jù)采集的部分至少要四個通道,才能完成數(shù)據(jù)采集和模數(shù)轉(zhuǎn)換,所以選擇了MCP3424芯片集成模塊完成數(shù)據(jù)采集和模數(shù)轉(zhuǎn)換的作用.如圖4所示.
圖5 傳感器電路
圖6 氣泵控制電路
(4)氣泵電路:在系統(tǒng)啟動時氣泵即要開始工作,利用樹莓派的GPIO口進行控制氣泵電路的開關氣泵電路如圖5所示.
基于樹莓派的冰箱異味氣體的檢測系統(tǒng)的軟件設計,使用的硬件開發(fā)平臺是樹莓派,利用樹莓派主流編程語言Python[6].在經(jīng)過多種方案的測試,最終確定了軟件結(jié)構(gòu),如圖7所示.為了更好地實現(xiàn)系統(tǒng)功能,軟件設計結(jié)構(gòu)采用單線程結(jié)構(gòu).通過系統(tǒng)UI以及各功能模塊共同實現(xiàn)系統(tǒng)功能.
2.2.1 測試樣本特征提取與選取
AD采集完成,提取傳感器響應特征,即提取氣體特征值.在軟件程序設計中提取值包括最大值、最小值、平均值、中位值以及方差和標準差.在經(jīng)過數(shù)據(jù)測試后,發(fā)現(xiàn)對氣體特征響應較明顯的為最大值、平均值、以及中位值.
2.2.2 K近鄰聚類算法
軟件處理部分最為重要就是K近鄰聚類算法[7],基本實現(xiàn)步驟有:①分別從txt文本和電子表格中導入待測數(shù)據(jù)以及樣本集;②分別計算待測數(shù)據(jù)與樣本集中各個數(shù)據(jù)的歐式距離并排序;③選取k個與待測數(shù)據(jù)距離最小的值;④選取k個值中出現(xiàn)頻率最高的數(shù);⑤選取頻率最高的類別為待測數(shù)據(jù)的預測分類.其中歐式距離計算公式如下:
圖7 主程序流程圖
系統(tǒng)測試分兩個部分進行,第一步,首先就要測試傳感器陣列對預備樣品即已知氣味的濃度和種類的傳感器動態(tài)響應值,并且提取這一部分測試的特征值,通過Matplotlib[8],可繪成動態(tài)響應圖;第二步對未知氣體的濃度和種類重復第一步的測試,再將提取的特征值與保存在數(shù)據(jù)庫中的數(shù)據(jù)進行一定的計算處理,至此與數(shù)據(jù)庫
中對比得到氣味的種類、濃度等.作品實物如圖8所示,系統(tǒng)測試界面如圖9所示.
圖8 作品實物
圖9 系統(tǒng)界面
表1 待測樣品種類和濃度分析
圖10 傳感器動態(tài)響應
從上表可看出來:所采集到的待測氣體雖然與數(shù)據(jù)庫中的數(shù)據(jù)稍微有一點的誤差,但是誤差在實驗允許范圍內(nèi).通過k-近鄰算法可以分辨出待測氣體的種類.包括上表數(shù)據(jù)總共檢測了12次,結(jié)果檢測正確次數(shù)為11次,錯誤一次,系統(tǒng)測試準確率高達91.7%,滿足實驗預期目標.
根據(jù)提前設計好的實驗方案,對氣體樣品進行檢測,隨后得出的數(shù)據(jù)保存在系統(tǒng)中,并且對數(shù)據(jù)進行了處理,提取數(shù)據(jù)的特征量以及基于K近鄰算法的簡單模式識別.實驗證明該系統(tǒng)采集數(shù)據(jù)重復性高、精度保持在百分位、系統(tǒng)穩(wěn)定性好,測試各通道數(shù)據(jù)波動小,方差基本保持在0.5以內(nèi),準確度達到要求,并且能夠準確實現(xiàn)對氣味源樣品的好壞程度及樣品種類的區(qū)分.