張代元,陳念標,曹吉陽,凌遠志,周盧婧,秦建華
(1.桂林理工大學 機械與控制工程學院,廣西桂林,541004;2.廣西煙草公司桂林分公司,廣西桂林,541004)
目前我國的吸煙室主要為鋼結構預制吸煙室,通過百葉窗和排氣扇排出室內的煙霧,由于吸煙室的排氣扇長期處于開啟狀態,排氣速度較快時,可有效排出吸煙室內的煙霧,但不節能;排氣速度慢時,不能有效排出吸煙室內的煙霧,會對吸煙者的健康造成一定的危害。基于鋼結構預制吸煙室無法自主調節室內溫度、排氣扇的排氣速度等不足,利用STM32、煙霧濃度傳感器、溫濕度傳感器和排氣扇構成的吸煙室控制系統,既能提高排出吸煙室煙霧的速度,又能節能減排。同時可根據溫濕度傳感器調節空調模式,使吸煙室的環境更舒適,對吸煙室控制系統的改進具有一定的參考意義。
吸煙室控制系統由傳感器、LCD 顯示屏、執行器組成。傳感器模塊由溫濕度采集傳感器DHT11[1~3]、煙霧濃度傳感器MQ-2 組成。執行器包括排氣扇和空調,其連接示意圖如圖1 所示。

圖1 系統總體設計框架圖
吸煙室的控制系統整體硬件電路圖如圖2 所示,由基礎電路模塊和擴展電路模塊兩部分組成。基礎電路模塊:包括USB 串口輸出電路、DC 接口供電電路、下載電路、USB接口供電電源、復位電路、按鍵電路,如圖2(a)所示。

圖2 整體硬件電路圖
擴展電路模塊:包括LCD 顯示屏連接電路、DHT11 溫濕度傳感器電路、MQ-2 煙霧濃傳感器模塊、L9110 電機驅動電路,如圖2(a)和圖2(b)所示。
電源是電路系統必不可少的,此電路提供兩種供電方式,DC 接口供電和USB 接口供電,可任選其一即可。JTAG 為下載電路程序燒錄所必須的,也可以與下載器、編程軟件一起對代碼進行調試,方便快速查找問題。復位電路的作用是使電路恢復到起始狀態,可以有效解決外部干擾導致的程序錯亂問題。LED 可用來指示程序的運行狀態,比如主程序運行時LED 閃爍,串口接收到外部數據時LED 閃爍等,方便了解程序的整體運行狀態。按鍵是一個外部輸入量,可自行定義一些模式,方便切換功能。
DHT11 是一款具有校驗位的數字輸出型的復合溫濕度傳感器,其內置了一片8 位單片機,單片機的內存中存儲了對溫濕度數據線性化補償的函數,通過專門的數字模塊采集技術和溫濕度傳感技術,有效的提升了傳感器的精度,且具備極高的穩定性和抗干擾能力,最后將模擬信號轉化為數字信號輸出,減少了模擬信號在采集時產生的誤差。其電路如圖3 所示。DQ 引腳為數據輸出端,一次輸出40 位的數據,前32 位分別是8 位濕度整數+8 位濕度小數+8 位溫度整數+8 位溫度小數,最后8 位是檢驗位,校驗位的數值為前4 個8 位的和,并取其后8 位,如果接收的校驗位與計算的校驗值相等,則接收的數據正確。通過校驗位可有效避免因數據傳輸錯誤導致的系統異常。

圖3 DHT11 溫濕度傳感器模塊電路
由于STM32 輸出的高電平只有約3.3V,上拉能力不足,如果線路較長時,容易產生較大的寄生電容,從而演變為RC 充放電,而一個位的數據傳輸都是微秒級的單位,電容充放電需要花費一定的時間,如果這個時間偏大,就會影響數據傳輸的穩定性。為了使系統能更穩定的工作,故在DHT11 的DQ 端接一個4.7k 的上拉電阻,外部5V 電源能有效的縮短寄生電容的充放電時間,提高數據傳輸的穩定性。
MQ-2 傳感器適用于液化氣、苯、烷、酒精、氫氣等氣體的檢測,尤其對香煙產生的烷類煙霧有很高的靈敏度,其內部氣敏材料的表面與煙霧接觸時,這種氣敏材料的電阻率會迅速下降,具有極高的靈敏度,煙霧濃度越大,輸出端輸出的模擬信號就越大,并且氣敏材料與煙霧濃度有較高的線性度,測量精度高。煙霧濃度數據通過STM32 的ADC 采樣MQ-2 的模擬信號輸出引腳AOUT,其電路如圖4 所示。通過建立ADC 采樣值和煙霧濃度的函數關系,即可獲得相對的煙霧濃度。為了得到更準確的煙霧濃度數據,煙霧濃度模塊內置了電熱絲,在模塊啟動時,通過電熱絲對傳感器的氣敏材料加熱20s 的時間,減少因溫度漂移帶來的測量誤差。

圖4 MQ-2 煙霧濃度傳感器電路
排氣扇和空調模塊由L9110 電機模塊代替,其供電 電 壓 為2.5~12V, 最 大 工作電流為0.8A,電源參數皆在單片機的供電范圍內。其INTA 和INTB 是控制風扇正反轉的控制端,INTA 為高電平、INTB 為低電平時,風扇正轉,反之,則反轉。通過調節INTA 和INTB 中某一個引腳的PWM 占空比,此時需另一引腳為低電平,可實現對電機的轉速進行控制,INTA 和INTB 的關系對換,則風扇換向,即此模塊可實現調速和換向功能,其電路如圖5 所示。

圖5 電機驅動模塊電路
選用的LCD 液晶顯示屏是由廣州星翼電子有限公司生產的2.8 寸薄膜晶體管液晶顯示器模塊,其實物圖如圖6 所示。該模塊是由薄膜晶體管液晶顯示器(TFT-LCD)和驅動芯片ST7789 組成,支持262K 色顯示,顯示分辨率為320×240,接口為16 位的8080 并口,自帶觸摸屏。該模塊以ST7789 作為LCD 控制芯片,ST7789 芯片自帶顯存,采用RGB565 格式存儲顏色數據,其自帶的指令集能夠以GRAM 自增方式控制LCD 掃描方向。顯示內容時,使用官方提供的字庫,通過調用顯示函數,僅需填寫顯示內容的初始坐標、字體顏色,設置字體的大小即可實現內容的實時顯示,更改顯示函數的參數,多次調用,即可快速完成多項內容的顯示,極大的方便了程序的編寫。

圖6 LCD 顯示模塊
軟件部分使用的是ST 官方提供的庫函數,該系統包括DHT11 驅動程序、MQ-2 煙霧濃度傳感器驅動程序、PWM控制電機轉速程序[4]、LCD 顯示屏驅動程序。
首先是對DHT11 模塊數據的讀取,其時序圖如圖7 所示,數據讀取時序是通過MCU 拉低數據總線DQ 端18μs,向溫濕度傳感器發出開始信號,然后拉高數據總線電平并延時30μs。DHT11 成功接收到開始信號后會發出80μs 低電平作為應答信號,DHT11 再拉高數據總線電平80μs,準備輸出數據,每一位的數據都以12~14μs 的低電平作為起始點,以高電平持續時間的長短代表數據位為0 還是為1,數據位為0 時高電平持續時間約為26~28μs,數據位為1時高電平持續時間約為70μs,該模塊的校驗數據是通過計算式 (data1+ data2+ data3+ data4)&oxff = CRC 實現校驗,其中data1、data2、data3、data4是前32 位溫濕度數據,CRC 是最后8 位校驗位,如果兩個的結果相同,則使用這組數據,否則重新向DHT11 發送讀取數據指令。

圖7 DHT11 數據傳輸時序圖
然后MQ-2 煙霧濃度傳感器與PA1 引腳相連,并將PA1引腳配置為ADC 模式,精度設置為最高的12 位,即數據被分成4095 份,煙霧濃度計算式為smog=C×adc/4095,其中smog 是煙霧相對濃度,adc 是STM32 的采樣值,C是校正系數,糾正模塊可能存在的誤差,通過該計算式即可將ADC 采樣值轉化為煙霧的相對濃度,最后是配置STM32定時器1 的4 個PWM 通道,分別通過四個引腳連接4 個電機的驅動模塊。
初始化完成后,判斷DHT11 模塊讀取是否正常,如果正常則繼續運行程序,否則通過顯示屏報告DHT11 模塊異常并結束程序運行。由于煙霧濃度檢測模塊需要加熱20s以讀取更準確的數據,故在20s 加熱時間未結束前,一直循環DHT11 溫濕度傳感器數據的讀取、在LCD 屏幕上顯示溫濕度和控制空調模式的程序,20s 加熱時間結束后,并且成功讀取到煙霧濃度傳感器模塊的數據后,再通過煙霧濃度傳感器模塊反饋的數據控制排氣扇的工作模式,其程序流程圖如圖8 所示。

圖8 程序流程圖
溫度模擬試驗環境的初始環境參數:環境溫度27℃,相對濕度在41%~53%之間,煙霧濃度約為0。通過人工改變外部環境的溫度,進而測試控制器能否根據DHT11 反饋的溫度數據改變空調的工作模式[5~6]。試驗數據如表1 所示。

表1 溫控試驗數據
圖9 為溫控硬件運行狀態,可以觀察到a,b,c 圖中的最右側作為空調替代設施的直流電機旋轉,此時的LCD屏幕上顯示室內溫度分別為28.5℃、30.8℃、33.4℃,相對濕度分別為44%、48%、48%,空調工作模式分別為模式1、模式2、模式3,三個風扇的旋轉轉速依次遞增。

圖9 溫控硬件運行狀態
通過溫度模擬控制試驗可知,溫度控制空調模式功能可以正常工作,并在LCD 屏幕顯示測量溫度、相對濕度、以及空調的工作模式。
煙霧濃度模擬試驗環境初始環境參數:環境溫度25℃,相對濕度在41%~53%之間,煙霧濃度約為0,通過人工改變外部環境的煙霧濃度,進而測試控制器能否根據MQ-2 煙霧傳感器反饋的數據改變排氣扇的工作模式。試驗數據如表2 所示。

表2 煙霧濃度試驗數據
圖10 為煙霧濃度控制硬件運行的狀態圖,此時的煙霧濃度分別是17.8%、36.3%、47.9%,對應的模式分別是模式一、模式二、模式三,三個風扇的旋轉轉速依次遞增,左側三個作為排氣扇替代設施的直流電機旋轉,左1 和左2作為排氣扇正向旋轉,左3 作為進氣扇反向旋轉。

圖10 煙控硬件運行狀態
通過煙霧濃度模擬控制試驗,該系統可通過煙霧濃度控制排氣扇的工作模式并可以將工作模式顯示在LCD 屏幕,符合設計要求。
濕度控制模擬試驗環境初始環境參數:環境溫度25℃,相對濕度在50%~60%之間,煙霧濃度約為0。通過人工改變外部環境的濕度,使得溫濕度傳感器DHT11 檢測到外部環境的濕度變化,進而控制空調的除濕模式。試驗數據如表3 所示。

表3 濕控試驗數據
圖11 為濕度模擬控制試驗硬件運行狀態圖,我們可以觀察到最右側作為空調替代設施的直流電機旋轉,LCD 屏幕顯示室內溫度為33.4℃,濕度為72%,空調除濕模式開。

圖11 濕控硬件運行狀態
通過濕度模擬控制試驗,該系統可根據濕度數據開啟或關閉空調的除濕模式并將工作模式顯示在LCD 屏幕,符合設計要求。
基于STM32 的吸煙室控制系統可以根據煙霧傳感器的反饋數據自動調節排氣扇運行模式、顯示煙霧濃度數值,根據溫濕度傳感器反饋的溫度數據調節空調模式、濕度數據選擇是否開啟除濕模式,使吸煙室環境更舒適,對吸煙室控制系統的研究具有參考意義。