張 瑋,陳永志
石家莊學院 機電學院,河北 石家莊 050000
隨著我國經濟不斷發展,社會持續進步,人民收入日益提高,作為我國國民經濟重要產業的汽車工業也迅速發展,乘用車的普及率日漸提升。越來越多的家庭擁有了屬于自己的私家車。同時伴隨著城鎮化進程加快,生活方式的改變,也使得人們的用車頻率增加,在車內的時間增長。汽車在帶給人們巨大方便的同時,車內環境對人類的影響也日益顯著。一方面,人體的舒適溫度范圍在22 ℃~27 ℃之間,不適宜的溫度會影響人體的舒適度進而影響駕駛員的駕駛安全。另一方面乘用車內部空間相對密閉,車內部件釋放的有害物質造成的環境污染對人體健康尤其是兒童的健康造成很大的危害。廣州曾對2000 輛汽車進行空氣質量檢測,其中的92.5%存在空氣質量問題[1]。尤其是在室外溫度較高的情況下,車內的甲醛超標10 倍以上。甲醛對人的眼睛和呼吸道都有強烈的刺激,刺激會導致支氣管哮喘和免疫功能異常。甲醛會使人產生頭痛頭暈等不適癥狀,會使人困倦,注意力無法集中,不僅影響駕乘人員的身體健康還危害行駛安全[2-5]。因此車內環境的監控對人體健康和道路行駛安全都具有重要的意義。本文針對車內微環境中的溫度和甲醛這兩個重要的環境參數設計了智能監控系統。
智能環境監控系統包括硬件監測部分和軟件控制部分。通過模糊控制算法,解決車內微環境所包含的各個影響因素之間的關系無法進行精確數學模型描述從而導致控制出現變緩和遲滯的問題。本系統使用ARM7 嵌入式處理器和μC/OS-Ⅲ操作系統。設計硬件部分以實現對環境參數的采集、分析、對數據進行處理、存儲和發送,并設有報警功能。設計軟件部分來實現調度硬件部分完成各項功能[6]。使用LPC2210 作為系統控制端,控制程序在系統環境下編寫。系統包含控制端模塊、傳感器組模塊、通信端模塊、電源模塊等。系統整體結構圖如圖1 所示。

圖1 系統整體結構圖Fig.1 Systematic structure
選用PHILIPS 公司的ARM7 系列LPC2210 芯片[7]。此芯片支持實時仿真和嵌入式跟蹤。擁有16 kb 的片內靜態RAM,外部總線是開放的,外部存儲器可被外部存儲器接口配置成4 組,每組容量達到16 mb,即便是對代碼規模有限制的應用通過16 位Thumb 模式將代碼規模降低40%,其性能上的損失也非常小,因此完全可以滿足μC/OS-Ⅲ的移植要求。ARM7 系列LPC2210 芯片在使用時需配備兩組電源,I/O 口的供電電源為3.3 V,內核與片內的外設供電需1.8 V 的電源提供[8]。因此整個系統設計時要采用3.3 V 電源。
由于ARM 芯片具有的高速、低功耗和低工作電壓的特點,決定了它的噪聲容限比較低,從而導致了電源的紋波、時鐘源的穩定性以及電源監控的可靠性等方面都容易對它的正常工作造成影響,所以在本系統中設計了復位電路,復位電路采用CAT1025JI-30 進行設計,如圖2 所示,當按下復位鍵RST 時,即可輸出復位信號。

圖2 復位電路Fig.2 Reset circuit

圖3 SHT11 接口電路Fig.3 SHT11 interface circuit
溫度傳感器采用SHT11 數字式溫度傳感器。它的內部集成了溫度傳感器、信號放大調理電路和A/D 轉換電路,將COM 芯片技術和傳感器技術進行了融合,是高度集成的芯片。它的測量溫度的范圍為-40 ℃~+123.8 ℃,溫度測量精度±0.4 ℃,響應時間低于4 S,功耗很低,可以完全浸沒。芯片具有精準的溫度總標定,標定系數以程序形式存儲在OTP 內存里。在測量過程中,會進行自動校準,不需設計外部的模擬電路,系統集成非常便捷、高效,具有完全的互換性。很好克服了傳統溫度傳感器的長期穩定性不好,抗干擾能力較弱、標定復雜等缺點。SHT11 接口電路如圖3 所示,可提供二線數字串行接口SCK 和DATA,支持CRC 傳輸校驗,串行時鐘輸入線SCK 用于微控制器與SHT11 之間的通信同步。
甲醛傳感器采用通用型電化學ZE08-CH2O 甲醛模組。該小型化模組是利用電化學原理來探測空氣中所存在的CH2O,選擇性與穩定性很好。該模塊內部集成了NTC 溫度傳感器,可以對溫度進行補償,能夠同時輸出數字信號與模擬信號,使用非常方便。甲醛測試模組的工作電壓為3.7 V~5.5 V,工作溫度-20 ℃~+50 ℃。量程為0~5 ppm,分辨率≤0.01 ppm,具有靈敏度高、分辨率高、穩定性高以及功耗低的特點。接口電路如圖4 所示。

圖4 ZE08-CH2O 接口電路Fig.4 ZE08-CH2O interface circuit

圖5 報警電路Fig.5 Alarm circuit
甲醛濃度超限時發出警報的聲光報警電路,采用三極管驅動蜂鳴器來實現警報。芯片的I/O 端口的輸出電平的高低控制蜂鳴器是否導通。電路如圖5 所示。
影響車內微環境的各種因素在實際情況中具有非線性和時滯性,很難建立精確的數學模型,因此引入模糊控制來解決這個問題。本文以溫度因素為例進行說明,系統中溫度模糊控制器原理圖如圖6 所示。

圖6 溫度模糊控制器原理圖Fig.6 Principle of temperature fuzzy controller
模糊控制器使用雙輸入單輸出的方式,將環境溫度誤差e以及環境溫度誤差的變化量ec作為輸人變量,將u作為輸出變量[9]。模糊子集為:E=EC=U={NB,NM,NS,ZE,PS,PM,PB}={負大,負中,負小,零,正小,正中,正大}。溫度誤差E、溫度誤差變化量EC及輸出變量U的論域值一致,均為:[-3,3]={-3,-2,-1,0,1,2,3}[10]。
依據控制系統的輸入/輸出特性,為達到消除溫度偏差的目的,做出了控制規則表,如表1 所示,規則的表現為“IF E AND EC THEN U”。

表1 模糊控制規則表Table 1 Fuzzy control rules
軟件系統包括初始化、參數采集、多傳感器數據融合,生成控制命令等。軟件主程序流程圖如圖7 所示。

圖7 主程序流程圖Fig.7 Main program process
μC/OS-Ⅲ是第三代源代碼開放的實時操作系統,具有可以移植、可以固化、可以裁減、高穩定性、高效率、對多任務支持等特點。它的內核是占先式的,總是執行就緒態優先級最高的任務[11]。它可以最多管理64 個任務,對現有的16 位和32 位的MCU/MPU 幾乎都可支持。它的目標代碼可以被裁剪到小于2 k 字節,數據RAM 空間減小到小于4 k 字節,因此它對硬件的要求就相對較低。它提供標準的API 接口供用戶使用,可以讓用戶對嵌入式系統內的各種資源進行非常方便的管理。它給不同任務之間分配CPU 時間的標準是依據任務的優先級進行的。因為采用了多任務內核運行方式,所以大大降低了軟件的設計難度。
無論與處理器相關與否的代碼,都被μC/OS-Ⅲ系統所包含,而μC/OS-Ⅲ的系統函數被包含在與處理器無關的代碼之中。因此,在移植過程中,只要把μC/OS-Ⅲ.C 文件包含在設計的項目中,就可以把μC/OS-Ⅲ中所有與處理器無關的代碼包含到移植的代碼中。
在實現車內微環境監控系統的過程中必須要解決多傳感器接入問題[12]。因為需要監控的數據不是單一種類的,需要多種不同的傳感器來提供。本系統就利用μC/OS-Ⅲ嵌入式操作系統所具有的多任務管理的特點,將每一種傳感器作為一個任務來進行管理。溫度傳感器和甲醛傳感器分別作為μC/OS-Ⅲ的兩個任務,底層軟件按照在服務器接收端的軟件的要求把每次采集的所有數據打包,之后依照定義的格式進行發送,最后再將所接收到的數據進行解析處理并存放到現有的數據庫或是自動新生成的數據庫中。
在程序的設計過程中,要及時把串口0 和串口1 的發送與接受緩沖寄存器清空,防止出現傳送和接收數據不穩定的情況出現。
在程序的調試過程中,要把程序里LPC2210 串口的通訊波特率設置為115200,將傳感器的波特率設置為9600,否則就會出現編譯通過了,但是運行時卻出現不了數據的情況。
車內微環境空氣質量的監控是改善和解決環境空氣質量問題的第一步。本文介紹了系統的整體設計、主控單片機、不同傳感器的結構和工作原理、控制算法等。該系統具有性能穩定,反應靈敏,測量準確,結構緊湊,成本低廉等特點,通過使用可以有助于提高車內人員的呼吸安全和駕乘安全。