?

用于單片機實驗教學的紅外激光氣體檢測儀

2024-04-18 03:50鄭傳濤劉大勇
實驗室研究與探索 2024年1期
關鍵詞:氨氣檢測儀內核

鄭傳濤, 華 瑩, 劉 洋, 劉大勇, 宋 芳, 張 宇

(吉林大學a.電子科學與工程學院;b.通信工程學院,長春 130012)

0 引 言

紅外氣體傳感技術是利用氣體分子對紅外光的吸收作用來檢測氣體,該光學氣體檢測方法具有選擇性好、靈敏度高、響應速度快等優點[1-4]?;诩t外吸收光譜原理,學者們先后提出了非分散紅外光譜法[5]、可調諧激光光譜法[6]、腔增強吸收光譜法[7]、光聲光譜法[8]、光熱光譜法[9]等多種紅外氣體檢測方法。面向大氣監測、深??碧?、城市燃氣巡檢等國家重要需求,吉林大學研制了多套紅外氣體傳感系統,開展了南??扇急碧?、城市烷烴氣體走航探測等示范應用[10-13]。

紅外氣體傳感系統包括光學系統、電學系統和氣路系統。光學系統含有光源、氣室、探測器,紅外光與氣體分子作用后產生氣體吸收信號。電學系統包括主控制系統、信號處理系統、遠程數據處理平臺。氣路系統包括氣泵、氣體過濾等模塊,用于抽樣氣體預處理。在電學系統方面,傳統的紅外氣體檢測儀通常僅包含一個主控制器,如先進精簡指令集計算機(ARM),這類單片機一般不運行操作系統,不具有聯網、文件處理等功能。

單片機類課程是吉林大學電子信息本科大類專業下的專業核心課程,包括微型計算機原理、MCS-51 系列單片機原理與應用、嵌入式系統(ARM 單片機)、數字信號處理器(DSP)原理與應用等[14]?;诮虒W與科研深度融合的教育教學理念,針對單片機類課程的實驗教學要求,在前期開發的高精度紅外氣體檢測儀基礎上,研制了一種融合ARM、DSP、Linux操作系統的紅外激光氣體檢測儀。該檢測儀不僅能用于DSP、ARM、Linux操作系統等實驗教學,還能讓學生了解激光光譜傳感、氣體檢測、波長調制光譜等前沿技術,從實驗、實踐等多個維度提升學生的單片機應用能力。

1 氣體傳感理論與檢測儀結構

1.1 波長調制光譜理論

波長調制光譜技術是在激光器的低頻掃描驅動信號上疊加一個高頻正弦信號,對激光器輸出光的波長進行調制[15]。經過調制的光信號被氣體吸收后,高次諧波分量的幅值與氣體濃度成比例,采用鎖相放大技術提取出探測器輸出信號的二次諧波信號,即可測量氣體濃度。波長調制光譜技術將信號搬移至高頻段后進行處理,從而抑制了激光強度噪聲、光學干涉、電路噪聲等低頻噪聲,提高了檢測精度。

在高頻正弦信號的調制作用下,激光器輸出光的頻率f(t)可由下式來表示:

式中:f0(t)為激光的中心頻率;a為調制幅度;ωm為調制角頻率。根據朗伯-比爾定律,紅外光被吸收前后的光強比I/I0為

式中:Si為吸收線強;φ(f)為線型函數;p為壓強;xj為目標氣體的體積分數;L為有效光程。

當待測氣體的體積分數很小時,吸光度滿足Siφ(f)pxjL?1,因此式(2)可表示為

將式(1)代入式(3),并按照傅里葉級數展開,可以得到

式中:Hn(f0,a)為展開式的n次項系數。令θ =ωmt,有

由式(5)、(6)可得,當測量痕量氣體時,氣體體積分數均與被吸收信號的各次諧波分量成比例,一般選用偶次諧波中幅值最大的二次諧波分量的最大值來表示氣體體積分數。

1.2 氣體檢測儀結構

所設計的氣體檢測儀由光學系統和電學系統組成,檢測儀結構如圖1 所示。光學系統主要用于氣體濃度信息感知,是傳感系統的核心。利用由2 個高反鏡(反射率為99.35%)構成的法布里-珀羅(FP)腔增強氣體分子對紅外光的吸收。激光器驅動模塊由外部電壓信號控制,驅使激光器發出目標波長的激光;光纖準直器將激光準直后以離軸方式耦合進入諧振腔,經過氣體吸收后的光信號經由光電探測器轉換成電信號。

圖1 紅外激光氣體檢測儀的結構

電學系統用于透射光強中的濃度信息提取,并提供友好的人-機交互界面。電學系統包含嵌入式控制模塊與光譜信息感知模塊。將系統所需的各功能模塊集成在一塊電路板上,最大限度地減小系統體積。結合無線網絡與云服務器,實現傳感信息的遠程監測與智能控制。

2 基于多核ARM處理器的嵌入式控制模塊

嵌入式控制模塊以多核ARM 處理器(型號Exynos 4412)為核心部件,裝載Linux 操作系統,運行Qt應用程序,實現了濃度數據、激光器運行參數的實時監測、本地信息存儲以及網絡發布?;跓o線網絡、消息隊列遙測傳輸(MQTT)協議、云服務器以及安卓應用程序,實現了數據的云存儲、遠程監測以及控制。

2.1 硬件設計

控制模塊的主處理器型號為三星公司的Exynos 4412,采用四核Cortex-A9 架構,主頻為1.4 ~1.6 GHz,板載雙倍速率3(DDR3)內存、嵌入式多媒體卡(EMMC)存儲芯片、通用串行總線(USB)集線器、S5M8767 電源管理模塊等,工作電壓2.65 ~5.50 V,支持Linux-Qt操作系統。

除主處理器外,嵌入式控制模塊包含三部分電路:RS-232 串口通信電路、數據采集電路以及接口電路。將四路串口資源全部引出:1 號串口專用于二次諧波信號峰值讀??;2 號串口作為虛擬控制臺串口,用于調試;其余串口用于擴展外設。在數據采集電路中,選用2 片模數轉換器(ADC)芯片(型號AD7980),分別采集經過隔離處理的激光器電流和溫度信號,實現激光器參數的監測。通過紅綠藍(RGB)三基色接口連接液晶顯示屏(LCD),該屏幕分辨率為1 024 ×600。引出兩路USB 接口,一路用于跨平臺傳輸文件,另一路連接USB Wi-Fi 模塊,用于網絡通信。TF(Trans Flash)卡槽和USB OTG(On-The-Go)接口均可用于燒寫操作系統固件。板上引出多路輸入/輸出(I/O)口,用于系統控制。

2.2 Linux操作系統的移植

開機時,首先運行引導加載程序(BootLoader),然后加載Linux內核,最后掛載文件系統。Linux 操作系統的移植過程主要包括:建立交叉編譯環境、編譯BootLoader、裁剪與編譯Linux 內核、編譯文件系統以及燒寫系統固件。

由于嵌入式系統的運算能力和存儲空間有限,因此通常在個人計算機(PC)上對源代碼進行交叉編譯,再下載到目標機上運行。為了實現程序的跨平臺運行,需要在個人計算機上構建交叉編譯環境。本研究中編譯BootLoader以及Linux 內核所需要的交叉編譯器為“arm-2009q3”,編譯文件系統所用的交叉工具為“arm-2014.05-29-arm-none-linux-gnueabi-i686-pc-linuxgnu”,安裝交叉編譯器并更新環境變量后交叉編譯環境搭建完成。

使用U-boot 引導加載程序,U-boot 啟動流程如圖2 所示。ARM處理器上電以后,默認執行地址為0 的內部程序存儲器(iROM)中的代碼BL0;iROM中的程序會根據設定的啟動模式(OM),在不同的外部存儲(與非門程序存儲器(NAND)、安全數碼/多媒體(SD/MMC)存儲卡、嵌EMMC、USB)中拷貝BL1 程序到內部數據存儲器(iRAM)中運行。BL1 是三星公司為了系統安全而設置的,加載BL1 時會進行多重檢驗。BL1 最終加載BL2 到iRAM 中運行,BL2 是U-boot 的前14 kB程序,主要功能是初始化外部DDR3 和系統時鐘、構建異常向量表等,并將U-boot 加載到DDR3中。U-boot的主要功能是完成大部分硬件的初始化,從外部存儲中加載Linux 內核到DDR3 中,完成對內核的校驗,設置內核啟動參數,最后調用內核。

圖2 U-boot啟動流程

U-boot的移植過程主要包含以下步驟:①根據半導體廠商提供的U-boot 源碼以及編譯配置文件編譯U-boot;②燒寫U-boot 并驗證;③檢查SD 卡驅動、EMMC 驅動、LCD 驅動以及網絡驅動等是否存在問題;④對各部分驅動進行修改,直到調試通過。

使用的Linux 內核版本為Linux 3.0.15。裁剪Linux內核的主要目的是減小內核所占的存儲空間,減少內核啟動所需時間。采用“make menuconfig”命令以圖像化界面的方式配置Linux 內核。將串口驅動程序、觸摸屏驅動程序、USB 驅動程序、USB Wi-Fi 模塊驅動程序、U盤驅動程序、SD 卡驅動程序等編譯進內核。同時,將不需要的驅動程序從內核中裁剪掉。配置完內核后,生成新的“.config”配置文件,執行“make zImage”編譯內核,成功后生成內核鏡像文件“zImage”。

Linux內核啟動后,必須掛載一個根文件系統。根文件系統包含一些維護和運行系統的腳本、庫文件、配置文件等,在根文件系統的基礎上,結合Qt/E 5.7 來構建和管理圖形系統。移植Qt/E 5.7 文件系統時,需要編譯源碼和觸摸屏校驗工具“tslib”。編譯文件系統包括以下步驟:①編寫并執行編譯配置腳本;②使用編譯命令“make”和安裝命令“make install”完成編譯;③編譯觸摸屏校驗工具;④使用“mkimage”和“make_ext4fs”工具,將根文件系統、Qt/E 5.7 源碼編譯結果、“tslib”觸摸文件以及字庫文件打包生成鏡像文件“system.img”。

2.3 應用程序

Qt是一個跨平臺C ++圖形用戶界面應用程序開發框架。Qt Creator 是一種Qt 集成開發環境,集成高級C ++代碼編輯器、qmake 構建工具、Qt Designer 等。本研究在Ubuntu系統中搭建Qt開發環境來設計應用程序。

在應用程序中,主要設計了初始化程序、串口通信程序、激光器參數監測程序、波形顯示程序、傳感器控制程序、網絡通信程序、嵌入式數據庫以及人機交互界面,程序流程如圖3 所示。系統初始化時,開啟子線程來連接Wi-Fi,連接成功后,獲取實時網絡時間,并將其設置為Linux 系統時間。此外,還需完成MQTT 客戶端的實例化、結構化查詢語言(SQLite)數據庫連接、波形圖初始化以及部分信號與槽函數的綁定。在串口通信程序中,手動配置串口參數、讀取二次諧波信號的峰值并轉換成濃度信息。在激光器參數監測程序中,根據ADC工作時序,調用Linux 驅動程序提供的通用函數,控制ADC 并讀取轉換結果。采用QCustomPlot構件實現波形顯示,實時繪制氣體濃度、激光器溫度、電流等曲線。在傳感器控制程序中,調用Linux 內核的讀寫函數,通過控制I/O 口電平來控制繼電器組的通斷,最終控制激光器溫控、驅動和氣泵的通和斷。在網絡通信程序中,基于MQTT 協議連接代理服務器“mosquitto”,實現氣體濃度數據以及激光器參數的網絡發布,結合云服務器實現數據的云端存儲;同時,通過訂閱特定主題來接收遠程控制命令,實現遠程控制;為了防止網絡故障時出現數據丟失的問題,基于嵌入式SQLite數據庫,實現了數據的本地存儲。設計了友好的人機交互界面,方便可視化操作。

圖3 應用程序流程

3 基于DSP的光譜信息感知模塊

以DSP為核心的光譜信息感知模塊產生激光器驅動信號、采集光電探測器輸出信號并計算與濃度相關的二次諧波信號,按照標定曲線計算氣體濃度,最后傳輸給嵌入式控制模塊。

3.1 硬件設計

采用美國德州儀器的TMS320F28335 為主控芯片,主頻150 MHz,含32 位浮點處理單元、6 個增強型捕獲(eCAP)模塊、3 個32 位定時器、3 個串行通信接口(SCI)模塊。光譜信息感知模塊主要實現兩大功能:一是產生激光器驅動信號,控制激光器的掃描波長范圍;二是采集光電探測器輸出電信號,從中提取濃度信息并發送給嵌入式控制模塊。利用2 片直接數字頻率合成(DDS)芯片(型號為AD9834)分別產生5 Hz的掃描信號和5 kHz的調制信號,通過放大電路將信號幅值放大到目標范圍內,再采用加法電路將2 個信號疊加,最終形成激光器的驅動信號。采用比較器芯片(型號為LM393)將掃描信號與直流電壓信號進行比較,生成與掃描信號同頻的方波信號來精準地控制采集電路采樣的起始點。在采集電路中,首先對探測器的輸出信號進行預放大與隔離處理,然后使用普通I/O口來模擬串行外圍設備接口(SPI),以控制16 位ADC(型號為AD7902)芯片,并采集探測器的輸出信號。

3.2 光譜信息采集算法與流程

上電后,對DSP、各個芯片及接口進行初始化,產生激光器驅動信號,允許eCAP 模塊中斷以及定時器中斷。當eCAP模塊捕獲到掃描信號同頻方波的上升沿時,執行eCAP 模塊對應的中斷服務程序。在中斷服務程序中,首先開啟定時器,當定時時間到時再對探測器輸出信號采樣1 次。定時器的定時時間決定了采樣點之間的時間間隔。當采樣點數大于12 000 時,關閉定時器,算法開始執行標志位為1。判斷算法執行標志位為1 后,對采集到的吸收信號數組執行正交鎖相放大算法,提取二次諧波信號,并找到諧波信號的峰值點;執行滑動平均算法,將數據通過串口發送至嵌入式控制模塊中并進行處理。最后,清除eCAP 模塊中斷標志位,算法開始執行標志位為0,開啟下一輪光譜信息采集過程。光譜信息提取算法的流程如圖4所示。

圖4 光譜信息提取算法流程

4 檢測儀性能測試

采用研制的紅外激光氣體檢測儀對氨氣濃度進行了測試,選取以6 612.7 cm-1為中心的吸收線作為氨氣的目標吸收線,采用相應波長的分布反饋激光器(DFB)作為激光光源。

4.1 激光器驅動信號測試

激光器驅動信號的質量會直接影響激光器輸出光的質量,因此產生低噪聲驅動信號十分重要。為了掃過氨氣的目標吸收線,將激光器驅動信號電壓設置為2.36 ~4.20 V。圖5 為實際測得的光譜信息感知模塊產生的激光器驅動信號。根據驅動信號的傅里葉變換光譜分析結果,驅動信號中主要包含低頻信號分量以及5 kHz處的頻率分量。

圖5 激光器驅動信號

4.2 光譜信號測試

在氨氣檢測實驗過程中,對光譜感知模塊提取的二次諧波信號波形進行了存儲,以此來評估該模塊對二次諧波信號的提取能力。在不同氨氣體積分數下提取到的二次諧波信號如圖6 所示??梢钥闯?,該模塊在不同氨氣體積分數下均能提取出二次諧波信號,隨著氨氣體積分數的升高諧波信號幅值也增大。同時,諧波信號曲線較為平滑,說明檢測儀的噪聲較小。

圖6 不同氨氣體積分數下的二次諧波信號

4.3 線性響應測試

為了得到氨氣體積分數與二次諧波信號幅值之間的關系,利用該檢測儀開展了氨氣標定實驗。在標定過程中,采用商用氣體混合系統(型號為Environics 4000)產生目標體積分數的氨氣樣品。采用純氮氣(純度為99.999%)將體積分數為40 ×10-6的標準氨氣樣品稀釋為體積分數5 ×10-6、10 ×10-6、15 ×10-6、20 ×10-6、25 ×10-6、30 ×10-6、35 ×10-6、40 ×10-6的氨氣樣品。對每種樣品測試4 min,在不同體積分數下得到的二次諧波信號峰值如圖7(a)所示。對每組二次諧波信號峰值取平均值,擬合得到的峰值均值與氨氣體積分數的關系如圖7(b)所示。結果表明,兩者之間有良好的線性關系。

圖7 線性響應測試

4.4 檢測儀現場應用測試

為了驗證氣體檢測儀的現場應用能力,在吉林市東北亞農產品批發市場的氨制冷冷庫中開展了氨氣泄漏的檢測實驗,以定點方式測試了冷庫中氨氣制冷壓縮機泄漏情況。當測量如圖8(a)所示的制冷壓縮機時,測得的結果如圖8(b)所示。結果表明,此處氨氣體積分數較其他地方偏高,說明壓縮機存在一定泄漏,這驗證了該檢測儀的現場應用能力。

圖8 檢測儀現場應用測試

5 結 語

針對單片機類課程的實驗教學要求,為了促進教學與科研相融合,研制了一種紅外激光氣體檢測儀。該檢測儀采用腔增強吸收光譜技術和波長調制光譜技術實現了氣體傳感功能。結合嵌入式操作系統、云端服務器等技術,實現了氣體傳感信息的遠程共享和交互。利用研制的檢測儀,開展了氨制冷冷庫現場氨氣泄漏的檢測應用,驗證了檢測儀功能。該檢測儀不僅能用于DSP、ARM 單片機、Linux 操作系統等實驗教學,還能讓學生了解紅外光譜、激光光譜等前沿技術,從多個維度促進學生單片機應用能力的提升,達到了較好的科研育人、實踐育人的綜合效果。

猜你喜歡
氨氣檢測儀內核
強化『高新』內核 打造農業『硅谷』
一種防雷接地裝置的便攜式檢測儀電路
基于嵌入式Linux內核的自恢復設計
Linux內核mmap保護機制研究
氨氣還原氧化銅的微型實驗
基于555振蕩器的地溝油頻率檢測儀
微生物內核 生態型農資
絲蘭屬植物提取物降低養雞場氨氣排放的試驗
巧用故障檢測儀中的Reset功能
植物健康檢測儀
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合