關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > 基于單片機的轎車內一氧化碳氣體測控系統設計

        基于單片機的轎車內一氧化碳氣體測控系統設計

        作者: 時間:2016-10-15 來源:網絡 收藏

        摘要:設計了一個基于單片機的轎車車內一氧化碳濃度測控功能的系統。該系統以16位高性能單片機SPCE061A為控制核心,采用高精度敏感元件MQ-7,集成運算放大器INA128進行信號調理,并引入了實時操作系統μC/OS-II進行任務管理。實驗表明:系統實現了轎車空調運行時一氧化碳氣體的實時監控,CO濃度不超過300 ppm,同時具有溫度測量功能,便于進行空調操作,參數測量準確,為保證轎車內人員安全提供了可靠方案。
        關鍵詞:轎車;一氧化碳;傳感器;信號調理;聲光告警

        轎車空調運行在車輛停駛期間產生的一氧化碳進入轎車車廂內極易誘發中毒事故,隨著轎車的普及,由此引發的一氧化碳安全事故也越來越多。為了減少這類的事故的發生,本文設計實現了一個能夠檢測轎車一氧化碳濃度的系統,該系統采用凌陽公司高性能16位單片機SPCE 061 A作為控制核心,利用CO傳感器MQ-7采集車內一氧化碳,引入μC/OS-II實時操作系統。中國《工業企業設計衛生標準》規定:車間連續接觸8小時的最高容許濃度為300 ppm。因此,設定CO報警門限為300 ppm,當車內一氧化碳達到設定的該值時,系統可以發出聲光告警提示通風換氣,延時一分鐘后則自動打開天窗進行通風,以保證車內人員安全,另外,為便于觀察車內溫度操作空調,設計了溫度輔助測試單元,采用DS18B20溫度傳感器實現溫度測量。

        1 系統硬件設計
        系統整體框圖如圖1所示。系統控制芯片選用凌陽公司生產的高性價比16 bit雙核微處理器SPCE061A,該芯片的主要特性是:微處理器內核工作電壓VDD為3.0-3.6 V,32位通用可編程I/O端口工作電壓VDDH為5.5 V;微處理器工作時鐘范圍可編程實現0.32~49.152MHz;內置SRAM容量為2 kB和FLASH ROM容量為32 kB;系統在備用狀態下功耗為7.2μW(時鐘為關閉狀態);可以進行觸鍵喚醒設置;7通道10位電壓模/數轉換器(ADC)和單通道聲音模/數轉換器;2個16位可編程定時器/計數器(可自動預置初始計數值);2個10位DAC(數/模轉換)輸出通道,可以方便實現語音提示功能;14個中斷源易于實現系統的實時控制能力,同時具備串行設備接口便于和其他設備通信;低電壓復位(LVR)和低電壓監測(LVD)功能,保證系統的運行可靠;另外16位單片機具有高效率RISC指令系統和集成開發環境,通過內置在線仿真ICE(In Circu it Emulation)實現在線調試。微處理器支持標準C語言,可以實現C語言與凌陽匯編語言的互相調用。

        本文引用地址:http://www.104case.com/article/201610/306819.htm

        a.JPG


        圖1所示系統包括傳感器采集電路、CO信號調理電路、聲光報警電路、LCD顯示電路、溫度測量、電源電路等功能模塊,系統通過CO傳感器MQ-7采集電路采集CO信號,輸出與CO濃度成正比的模擬電壓信號,把電壓信號送入SPCE061A內進行A/D轉換后,經單片機處理后驅動器顯示出CO濃度值,若CO濃度大于報警電路預設數值,報警電路發出報警,延時1分鐘會啟動天窗通風,從而防止CO中毒事故的發生。
        1.1 一氧化碳測試電路設計
        一氧化碳傳感器MQ-7對一氧化碳具有很高的靈敏度和良好的選擇性,其工作電壓為5 V,具有信號輸出指示,雙路信號輸出(模擬量輸出及TTL電平輸出),TTL輸出有效信號為低電平。(當輸出低電平時信號燈亮,可直接接單片機),模擬量輸出0~5 V電壓,濃度越高電壓越高。且使用壽命較長和穩定性較高、可靠的優點。為了便于測量顯示一氧化碳濃度,采用模擬量輸出方式,SPCE061A內部的ADC功能對MQ-7傳輸的0~5 V電壓進行模數轉換,經濾波處理后進行顯示,達到設定門限值時進行聲光告警,延時1分鐘后送出控制信號給天窗電路,天窗驅動電路打開天窗通風以保證車內一氧化碳濃度滿足安全指標。信號調理電路的核心為集成運算放大器INA128,具有較大的放大性能和抗干擾能力。
        MQ-7的信號調理電路如圖2所示。

        b.JPG


        1.2 溫度測試電路設計
        溫度檢測電路選用DALLS公司生產的“一線總線”數字化溫度傳感器DS18B20,其測量溫度范圍達-55~125℃,在-10~85℃范圍內,精度為±0.5℃。該器件只有3個引腳(即電源VDD、地線GND、數據線DQ),不需要外部元件,一條數據線進行通信。設計系統檢測溫度范圍設計為-5~35℃,精度為0.5℃,已經能夠滿足絕大多數工作環境的要求;用9位數字量來表示溫度。本系統用1塊DS18B20實現對環境溫度的檢測,獲得溫度信息時,先由SPCE061 A的IOA8腳發送復位脈沖,使DS18B20復位并向SPCE061A發送響應脈沖,SPCE061A就可以發送讀DS18B20序列號的命令,然后,SPCE061A再發出定位命令啟動DS18B20進行溫度轉換,當溫度轉換結束后,SPCE061A發送DS18B20數據存儲指令,即完成了溫度信息數據的轉換和讀取。

        2 系統軟件設計
        系統軟件主要任務有:設置、修改、LCD顯示的參數;檢測、計算、顯示溫度、CO濃度等參數;溫度、CO濃度狀態指示及報警輸出;定時存儲各種檢測及運算參數。本系統軟件采用C編程語言和匯編編程語言混合編程、模塊化結構和程序調用的方法。一般的嵌入式軟件系統的設計都是采用前后臺式的設計方法。傳統的前臺、后臺式的單任務程序開發方法已經不能適應多數工程的需要,因此系統引入了μC/OS—II,采用多任務式的軟件設計方法。將μC/OS—II移植到SPCE061A微處理器之后,然后就可以對操作系統本身進行需要的擴充。
        在系統運行時,CO測量、溫度測量、顯示等任務是處于無限循環狀態的,分別實現要求的功能,由μC/OS—II內核來進行調度。系統運行開始時,首先由OSInitial()完成操作系統μC/OS—II所有的變量和數據結構初始化,再初始化微控制器的定時器等,通過調用OSTask Cre at()函數依次創建各個子任務,并且分配各個子任務優先權,置所有子任務為就緒狀態。最后調用OSStart()函數啟動系統,開始多任務調度。
        根據CO濃度測控及溫度測量系統所要求實現的功能,將系統程序劃分為并行存在的任務及中斷程序。系統中并行存在的5個子任務按優先級從高到低依次是:系統監視任務、數據采集任務、數據處理任務、數據輸出任務、顯示任務。CO濃度及溫度測量系統主程序流程圖如圖3所示。

        c.JPG


        數據采集A/D轉換主程序和外部中斷O的服務程序。A/D轉換主程序主要實現SPCE061 A硬件初始化、數據采集處理、達到設定濃度300 ppm時進行聲光告警。數據采集子程序如圖4所示。

        d.JPG



        3 μC/OS-Ⅱ的植入
        μC/OS-II是一種專門為微控制器設計的實時搶占式多任務操作系統,它以源代碼的形式給出。其內核主要提供進程管理、時間管理、內存管理等服務。系統最多支持56個任務,每個任務均有一個獨有的優先級。由于其內核為搶先式,所以總是處于運行態最高優先級的任務占用CPU。系統提供了豐富的API函數,實現進程之間的通信以及進程狀態的轉化。多任務系統在進行任務切換時需要完成的主要操作步驟如下:首先將當前子任務CPU所有的寄存器數值壓入堆棧:然后將CPU系統堆棧的數據全部拷貝到當前子任務的堆棧中;獲取下一個處于運行態且優先級最高的子任務的堆棧指針;再恢復下一個子任務的CPU寄存器的值和系統堆棧中的數據;最后通過中斷返回指令或函數返回指令。在對?C/OS-Ⅱ編寫任務切換程序時需注意:?C/OS-II在每個中斷發生后都會產生任務調度,但在中斷結束后進行任務切換時,不能調用普通任務切換函數,這是因為在中斷過程中通常要將CPU的狀態寄存器壓棧操作。

        4 結束語
        文中采用SPCE061A CPU結合嵌入式實時操作系統?C/OS-II,設計并實現了轎車車內環境溫度測量和CO濃度實時測控。空調開啟后,可設定CO濃度在300 ppm的安全范圍上,系統實時監測車內溫度和CO濃度的變化情況,并記錄、存儲相關數據。另外,該系統便于功能擴展,測控精度高、可靠性高、系統成本低,可廣泛應用在煤礦、家庭等一氧化碳存在環境。



        關鍵詞:

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 翼城县| 长葛市| 三明市| 曲松县| 高台县| 乳源| 江油市| 平定县| 咸宁市| 高雄市| 集贤县| 罗田县| 正镶白旗| 资溪县| 洛隆县| 怀安县| 旌德县| 五家渠市| 奉新县| 禹城市| 无为县| 蒙城县| 商水县| 吉林省| 阜康市| 九寨沟县| 雷州市| 枣强县| 鄂尔多斯市| 台州市| 邢台市| 米易县| 阜城县| 儋州市| 西贡区| 常熟市| 罗田县| 水城县| 广宗县| 饶河县| 怀宁县|