劉立北 劉燕紅

關(guān)鍵詞:STM32單片機(jī);環(huán)境檢測(cè);系統(tǒng)設(shè)計(jì);系統(tǒng)控制
中圖分類(lèi)號(hào):TP368.1;TP274;TU855 文獻(xiàn)標(biāo)識(shí)碼:A
0引言
目前隨著電子信息技術(shù)與單片機(jī)的融合發(fā)展,以單片機(jī)為核心的各類(lèi)控制系統(tǒng)被廣泛應(yīng)用于智能家居控制、各類(lèi)信號(hào)燈控制、工藝流水線(xiàn)控制、食品安全檢測(cè)等領(lǐng)域,給人們的日常生產(chǎn)生活帶來(lái)了極大的便利。本文從居家環(huán)境的舒適度以及安全程度考慮,以溫濕度以及有害氣體含量測(cè)量控制為設(shè)計(jì)方向,設(shè)計(jì)了一套具有溫濕度參數(shù)測(cè)量、有害氣體含量檢測(cè)、LCD顯示以及報(bào)警提示等多種功能的居家環(huán)境檢測(cè)控制系統(tǒng)。
在國(guó)內(nèi),基于STM32單片機(jī)的智能環(huán)境檢測(cè)控制系統(tǒng)研究主要集中在以下幾個(gè)方面:首先,通過(guò)采集環(huán)境參數(shù),如溫度、濕度、光照、氣體濃度等,實(shí)現(xiàn)對(duì)環(huán)境的實(shí)時(shí)監(jiān)測(cè);其次,通過(guò)STM32單片機(jī)對(duì)采集的數(shù)據(jù)進(jìn)行處理,實(shí)現(xiàn)對(duì)環(huán)境狀態(tài)的判斷和預(yù)測(cè);最后,通過(guò)無(wú)線(xiàn)通信模塊,如Wi-Fi、藍(lán)牙等,實(shí)現(xiàn)數(shù)據(jù)的傳輸和遠(yuǎn)程控制。在國(guó)外,基于STM32單片機(jī)的智能環(huán)境檢測(cè)控制系統(tǒng)研究則更加深入,呈現(xiàn)出多元化、智能化和網(wǎng)絡(luò)化的趨勢(shì)。例如,有學(xué)者利用STM32單片機(jī)與各種傳感器結(jié)合,實(shí)現(xiàn)對(duì)環(huán)境的多參數(shù)監(jiān)測(cè)和分析;還有一些學(xué)者則通過(guò)STM32單片機(jī)實(shí)現(xiàn)對(duì)環(huán)境設(shè)備的智能控制,如智能空調(diào)、智能照明等。總體來(lái)說(shuō),基于STM32單片機(jī)的智能環(huán)境檢測(cè)控制系統(tǒng)在國(guó)內(nèi)和國(guó)外都有廣泛的研究,但是在實(shí)際應(yīng)用中,還需要進(jìn)一步優(yōu)化并提高系統(tǒng)的穩(wěn)定性和可靠性。
1系統(tǒng)組成與設(shè)計(jì)目的
本系統(tǒng)主要由單片機(jī)最小系統(tǒng)、有害氣體檢測(cè)模塊、溫濕度檢測(cè)模塊、調(diào)節(jié)模塊、按鍵模塊、LCD顯示模塊以及蜂鳴器報(bào)警模塊等組成。本系統(tǒng)設(shè)計(jì)的目的在于對(duì)室內(nèi)環(huán)境溫度、濕度以及有害氣體進(jìn)行檢測(cè),得到參數(shù)并通過(guò)LCD顯示模塊進(jìn)行顯示。當(dāng)檢測(cè)參數(shù)超過(guò)系統(tǒng)設(shè)定的閾值時(shí),通過(guò)對(duì)相應(yīng)元器件進(jìn)行升溫降溫和加濕除濕控制,實(shí)現(xiàn)對(duì)居家環(huán)境進(jìn)行自動(dòng)調(diào)節(jié);而當(dāng)有害氣體濃度超過(guò)系統(tǒng)設(shè)定的安全閾值范圍時(shí),系統(tǒng)能夠觸發(fā)預(yù)警功能;當(dāng)各項(xiàng)參數(shù)在正常設(shè)定閾值之內(nèi)時(shí),系統(tǒng)會(huì)停止報(bào)警以及調(diào)節(jié)工作。
2硬件設(shè)計(jì)
根據(jù)設(shè)計(jì)目的,設(shè)計(jì)出本系統(tǒng)的電路仿真原理圖(圖1),并且使用Proteus仿真軟件進(jìn)行仿真繪制。其具體電路設(shè)計(jì)如下。
(1)單片機(jī)最小系統(tǒng):系統(tǒng)設(shè)計(jì)的控制核心主要由STM32F103R6、時(shí)鐘電路、復(fù)位電路以及電源電路構(gòu)成。配合系統(tǒng)的外圍設(shè)計(jì),最終實(shí)現(xiàn)對(duì)室內(nèi)環(huán)境溫濕度以及有害氣體的檢測(cè)、顯示以及調(diào)節(jié)功能。時(shí)鐘電路能讓系統(tǒng)各部件協(xié)調(diào)工作,其是電子系統(tǒng)中的核心組成部分,能夠確保系統(tǒng)的正常運(yùn)行和高性能。時(shí)鐘電路產(chǎn)生具有一定頻率和穩(wěn)定性的定時(shí)信號(hào),這些信號(hào)在整個(gè)系統(tǒng)中作為參考,確保各個(gè)組件按照預(yù)定的時(shí)間順序執(zhí)行操作,在多部件或多處理器的系統(tǒng)中,時(shí)鐘電路用于同步所有部件的操作。通過(guò)共享同一時(shí)鐘信號(hào),各個(gè)部件能協(xié)調(diào)一致地執(zhí)行任務(wù),避免數(shù)據(jù)沖突和混亂。本系統(tǒng)時(shí)鐘電路選用8M的晶振。復(fù)位電路能夠讓系統(tǒng)回到初始的工作狀態(tài),復(fù)位系統(tǒng)的可靠性直接決定系統(tǒng)是否穩(wěn)定。RESET與單片機(jī)NRST引腳連接,當(dāng)RESET按鈕懸空時(shí),輸入為高電平,當(dāng)按下按鈕時(shí),輸入為低電平,RESET接地,系統(tǒng)復(fù)位。本系統(tǒng)采用3.3 V直流電壓。
(2)有害氣體檢測(cè)模塊:在日常居住環(huán)境中,常見(jiàn)的有害氣體有煤氣泄漏的一氧化碳、甲醛等。一般要求,室內(nèi)一氧化碳含量不大于0.002 4%,甲醛最高容許濃度則為0.08 mg/m3。本系統(tǒng)能夠?qū)κ覂?nèi)有害氣體進(jìn)行檢測(cè),濃度超出設(shè)定的安全閾值時(shí)通過(guò)蜂鳴器進(jìn)行預(yù)警。本系統(tǒng)有害氣體傳感器輸出為模擬信號(hào),通過(guò)PCF8591集成電路轉(zhuǎn)換成數(shù)字信號(hào)以供STM32F103R6單片機(jī)進(jìn)行處理。PCF8591是一款四通道8位模數(shù)轉(zhuǎn)換器(ADC)和一通道8位數(shù)字模擬轉(zhuǎn)換器(DAC)的集成電路,其具有多功能、低能耗的特點(diǎn),能夠進(jìn)行模數(shù)轉(zhuǎn)換和數(shù)字模擬輸出。
(3)溫濕度檢測(cè)模塊:本系統(tǒng)采用DHT11型溫濕度傳感器采集室內(nèi)溫度、濕度信息。DHT11是一種數(shù)字信號(hào)輸出的溫濕度傳感器,具有良好的長(zhǎng)時(shí)間穩(wěn)定性與可靠性。DHT11具有低成本、應(yīng)用簡(jiǎn)單的特點(diǎn),常用于室內(nèi)溫濕度檢測(cè)、氣象站、溫度控制器等領(lǐng)域。具體設(shè)計(jì)如圖1所示。
(4)調(diào)節(jié)模塊:在本系統(tǒng)中,當(dāng)PB10引腳輸出低電平時(shí),經(jīng)過(guò)PNP型三極管導(dǎo)通使得繼電器Dl線(xiàn)圈得電,繼電器則會(huì)由常閉狀態(tài)轉(zhuǎn)為常開(kāi)狀態(tài),此時(shí)風(fēng)扇能正常工作運(yùn)轉(zhuǎn)從而實(shí)現(xiàn)降溫;而當(dāng)PB10引腳輸出高電平時(shí),則風(fēng)扇停止工作。同理,當(dāng)PB11~PB13引腳輸出低電平時(shí),對(duì)應(yīng)的加熱器、加濕器、除濕器能夠正常工作,從而達(dá)到對(duì)環(huán)境調(diào)節(jié)的目的;當(dāng)引腳輸出高電平時(shí),對(duì)應(yīng)元器件停止工作,實(shí)現(xiàn)了對(duì)居家環(huán)境的調(diào)節(jié)控制。
(5)按鍵模塊:對(duì)系統(tǒng)功能的選擇是通過(guò)按鍵操作實(shí)現(xiàn)的,PB8連接的按鍵能夠?qū)囟取穸裙δ苓M(jìn)行選擇,PB6與PB7連接的按鍵能夠分別實(shí)現(xiàn)對(duì)選擇參數(shù)的加與減,PB9連接的按鍵是對(duì)相應(yīng)參數(shù)改變的二次確認(rèn)。本模塊能夠?qū)崿F(xiàn)對(duì)各個(gè)參數(shù)之間的來(lái)回切換與數(shù)值改變。
(6)LCD顯示模塊:LCD顯示器具有低功耗、薄質(zhì)和可視角度廣的特點(diǎn),廣泛應(yīng)用于各種電子設(shè)備,如顯示器、電視、平板等。本系統(tǒng)能夠通過(guò)LCD直觀(guān)顯示采集的各種參數(shù),LCD顯示器第一行是系統(tǒng)采集的參數(shù),第二行是系統(tǒng)設(shè)定的參數(shù)。本系統(tǒng)采用LM016L型號(hào)進(jìn)行仿真,其中RS、RW、E分別接PBO、PB1和PB2,DO~D7分別與PCO~PC7口相連接,如圖1所示。
(7)蜂鳴器報(bào)警模塊:設(shè)定對(duì)應(yīng)參數(shù)信息的閾值,當(dāng)檢測(cè)值超過(guò)設(shè)定的閾值時(shí),報(bào)警信號(hào)從PB14引腳輸出低電平,經(jīng)過(guò)PNP型(Q5)三極管驅(qū)動(dòng)放大電流來(lái)控制蜂鳴器發(fā)音,從而實(shí)現(xiàn)預(yù)警報(bào)警功能。當(dāng)PB14引腳輸出高電平時(shí),蜂鳴器停止報(bào)警。
3軟件設(shè)計(jì)
軟件設(shè)計(jì)部分主要采用C語(yǔ)言模塊化程序設(shè)計(jì)方法。C語(yǔ)言廣泛應(yīng)用于底層開(kāi)發(fā),能以簡(jiǎn)易的方式編譯、處理低級(jí)存儲(chǔ)器,具有代碼量小、運(yùn)行速度快、功能強(qiáng)大等3個(gè)特點(diǎn)。本系統(tǒng)采用Keil軟件進(jìn)行C語(yǔ)言程序代碼部分的編寫(xiě)。Keil支持多種編程語(yǔ)言,如C、C++和匯編語(yǔ)言,并包含各種功能強(qiáng)大的調(diào)試器和仿真器。該軟件還提供了豐富的庫(kù)函數(shù)和驅(qū)動(dòng)程序,用于簡(jiǎn)化嵌入式系統(tǒng)開(kāi)發(fā)過(guò)程中的常見(jiàn)任務(wù)。系統(tǒng)軟件編譯完成后,需要將設(shè)計(jì)的程序編譯為.hex文件,然后下載到STM32F103R6單片機(jī)中,隨后通過(guò)Proteus軟件進(jìn)行仿真,并測(cè)試系統(tǒng)設(shè)計(jì)的正確性。
本系統(tǒng)采用STM32F103R6單片機(jī)作為主控制芯片,主要實(shí)現(xiàn)了以下功能:溫濕度、有害氣體傳感器數(shù)據(jù)的讀取、LCD顯示屏的處理、蜂鳴器報(bào)警以及風(fēng)扇、加熱器、加濕除濕的控制,當(dāng)啟動(dòng)控制系統(tǒng)后,進(jìn)入對(duì)程序的循環(huán)執(zhí)行環(huán)節(jié)。當(dāng)系統(tǒng)通電啟動(dòng)后,系統(tǒng)初始化,STM32單片機(jī)通過(guò)PCF8591集成電路的四通道8位模數(shù)轉(zhuǎn)換器(ADC)采集有害氣體濃度信息,通過(guò)對(duì)濃度檢測(cè)情況與系統(tǒng)設(shè)定的閾值相比較后判斷是否啟動(dòng)預(yù)警。將STM32單片機(jī)讀取傳感器采集的室內(nèi)環(huán)境溫濕度信息數(shù)據(jù)與系統(tǒng)設(shè)定的溫濕度相關(guān)閾值相比較,然后判斷是否啟用降熱發(fā)熱、加濕除濕功能,直到溫濕度通過(guò)系統(tǒng)功能調(diào)節(jié)后回到閾值范圍之內(nèi),對(duì)應(yīng)的降熱發(fā)熱、加濕除濕功能停止運(yùn)作。STM32單片機(jī)將相關(guān)環(huán)境信息處理后,驅(qū)動(dòng)LCD顯示屏顯示相關(guān)數(shù)據(jù),最后完成循環(huán)。除了主要的系統(tǒng)檢測(cè)控制程序之外,還有系統(tǒng)選擇主程序、信號(hào)轉(zhuǎn)化子程序和LCD顯示程序等。由于篇幅所限,在此不做詳述。
4系統(tǒng)仿真與調(diào)試
在經(jīng)過(guò)系統(tǒng)硬件與軟件設(shè)計(jì)后,進(jìn)行Proteus與Keil軟件的聯(lián)合仿真調(diào)試,由于仿真時(shí)無(wú)有害氣體檢測(cè)傳感器相關(guān)模型,于是采用滑動(dòng)變阻器進(jìn)行替代。在仿真時(shí)發(fā)現(xiàn),當(dāng)系統(tǒng)運(yùn)行后,在LCD顯示屏上第一行能夠正常顯示系統(tǒng)所采集的溫濕度信息、有害氣體含量參數(shù),同時(shí)第二行能夠顯示系統(tǒng)所設(shè)定的相關(guān)參數(shù)閾值。通過(guò)DHT11傳感器模擬環(huán)境升溫發(fā)現(xiàn),當(dāng)系統(tǒng)溫度超過(guò)設(shè)定閾值時(shí),風(fēng)扇能夠正常運(yùn)行;當(dāng)系統(tǒng)溫度重新回到閾值范圍內(nèi)時(shí),風(fēng)扇停止工作;當(dāng)溫度低于設(shè)定閾值時(shí),加熱器能夠正常工作,加濕除濕功能也在上述操作下正常運(yùn)行。而當(dāng)手動(dòng)調(diào)節(jié)數(shù)值模擬系統(tǒng)通過(guò)風(fēng)扇、加熱器、加濕除濕器完成對(duì)環(huán)境的調(diào)節(jié)后回到設(shè)定閾值時(shí),該元器件停止工作。當(dāng)模擬系統(tǒng)切換功能時(shí),按下切換功能按鈕,LCD顯示屏能夠在溫濕度信息之間正常切換。在模擬有害氣體檢測(cè)過(guò)程中,通過(guò)移動(dòng)滑動(dòng)變阻器模擬有害氣體濃度增加,當(dāng)濃度超過(guò)系統(tǒng)設(shè)定閾值時(shí),蜂鳴器能夠正常發(fā)出預(yù)警信號(hào);而當(dāng)重新調(diào)節(jié)滑動(dòng)變阻器模擬有害氣體濃度降回到閾值范圍內(nèi)時(shí),蜂鳴器停止報(bào)警。這證明了本系統(tǒng)設(shè)計(jì)的正確性。
5結(jié)語(yǔ)
經(jīng)過(guò)一系列仿真發(fā)現(xiàn),針對(duì)環(huán)境檢測(cè)控制設(shè)計(jì)出的基于STM32F103R6單片機(jī)的環(huán)境檢測(cè)控制系統(tǒng),整體結(jié)構(gòu)簡(jiǎn)潔,功能多樣,同時(shí)也能夠很好地完成系統(tǒng)預(yù)期目標(biāo),實(shí)現(xiàn)了對(duì)室內(nèi)環(huán)境的溫濕度、有害氣體相關(guān)參數(shù)的檢測(cè),也能夠?qū)ο嚓P(guān)參數(shù)的結(jié)果進(jìn)行智能化處理控制。本系統(tǒng)采用的STM32單片機(jī)比常見(jiàn)的51單片機(jī)有更好的性能、更強(qiáng)大的指令集和更豐富的外設(shè)接口,能夠用于更復(fù)雜的場(chǎng)景,也能夠采集更多的參數(shù),之后可以在此系統(tǒng)上,加入更多的參數(shù)檢測(cè),如PM2.5濃度、光照強(qiáng)度、二氧化碳濃度等相關(guān)信息。但缺點(diǎn)是在高性能型號(hào)中,STM32單片機(jī)在成本方面略高于51單片機(jī),但其擁有更優(yōu)越的運(yùn)算速度以及儲(chǔ)存和處理能力,也有更完善的開(kāi)發(fā)生態(tài)系統(tǒng),日后可以結(jié)合互聯(lián)網(wǎng)技術(shù)、無(wú)線(xiàn)操控技術(shù)、語(yǔ)音控制技術(shù)等,進(jìn)一步實(shí)現(xiàn)基于互聯(lián)網(wǎng)更加智能便捷的智能家居環(huán)境檢測(cè)控制。總之,基于STM32單片機(jī)控制的系統(tǒng)能夠?qū)崿F(xiàn)自動(dòng)化和智能化的檢測(cè)控制需求,并且隨著技術(shù)的進(jìn)步和市場(chǎng)需求的變化,其應(yīng)用領(lǐng)域還將進(jìn)一步擴(kuò)展和深化,基于STM32單片機(jī)的控制系統(tǒng)也將成為嵌入式系統(tǒng)設(shè)計(jì)中的熱門(mén)選擇。