關帥
遼寧錦州渤海大學工學院
基于單片機的空氣質量監測系統設計
關帥
遼寧錦州渤海大學工學院
隨著社會的進步和工業化水平的不斷提高,空氣的質量狀況不斷變差,保護環境已經成為現代社會的迫切要求。造成環境污染的原因有很多,其中顆粒狀粉塵所造成的空氣污染已成為一個十分突出的問題。本文是通過設計基于單片機的粉塵濃度檢測儀來完成檢測。論文先介紹了系統總體的硬件組成以及代碼的執行過程。在硬件電路設計好后,采用C語言完成了單片機程序的編寫,實現了對粉塵傳感器、最終完成了對粉塵濃度實時檢測以及超過警戒值報警的功能。
STC12C5A60S2單片機 CON6粉塵傳感器 DHT11溫度傳感器
粉塵是在生產過程中產生的固體顆粒,能夠較長時間懸浮于空氣中??晌腩w粒物是空氣動力學當量直徑小于等于10um的懸浮顆粒,由于這些小粒徑顆粒物能夠長時間懸浮于空氣中,很難降落在地面,經常漂浮在空中,特別容易被吸入到人體的呼吸道,而且顆粒的半徑越小,被人吸入到人體呼吸道的位置就越深,對人體的危害性就越大。
基于單片機的粉塵顆粒濃度檢測儀的選題充分結合了實際生活應用,通過此次的畢業設計能充分了解更多實際應用方面的知識,從前期的資料收集,再到中途的硬件電路設計、C語言編程以及最后階段的功能調試等各方面進行系統的鍛煉。同時系統的研制可以方便地檢測環境中的粉塵濃度,對超標的情況及時整改,保證操作人員的健康和安全。
本系統的主控部分是通過單片機設計完成,通過信息處理,接收外部操作指令并形成各種控制信號,記錄各類信息。外圍電路有:A/D轉換、鍵盤輸入、LCD顯示電路。其系統框圖如下圖1所示。

圖1 系統硬件結構框圖
3.1 單片機控制電路設計
單片機是粉塵檢測儀的主控部件,是完成數據采集、處理、輸出、顯示等功能的核心,它的選擇直接關系到整個系統的工作。選擇通用性強、功耗小、性能穩定良好的單片機十分重要,在本系統中我們選用STC12C5A60S2單片機,如圖2所示。
3.1.1 振蕩器電路
STC12C5A60S2單片機的時鐘源在常溫下頻率是11MHz-17MHz,本設計選擇12MHz。晶振的兩個引腳接在單片機XTAL1和XTAL2引腳上。兩個電容的值為30pF,兩個電容可穩定頻率并對振蕩頻率有微調作用。
3.1.2 復位電路
復位操作可以使單片機初始化,也可以使死機狀態下的單片機重新啟動,因此非常重要。STC12C5A60S2系列單片機提供5種復位方式:外部RST引腳復位、外部低壓檢測復位、軟件復位、上電復位、看門狗復位。

圖2 單片機最小系統
3.2 粉塵傳感器電路設計
粉塵濃度檢測儀的核心部件是粉塵傳感器。它的選擇直接影響到了量程的大小以及測量結果的準確程度。本設計中使用CON6粉塵濃度傳感器,粉塵對光有反射作用,空氣中的浮游粉塵越多,對光的反射作用越強。粉塵傳感器的內部結構如圖3所示。

圖3 粉塵濃度傳感器的內部結構
①紅外線發射裝置IRED:引腳1(V-LED)提供+5V電壓(為了消除外界干擾,需串聯1個150歐姆的電阻且在電阻一側和GND之間再串聯一個220uf的電容);引腳2(LED-GND)接地;引腳3(LED)由單片機直接給一個周期為10ms,低電平為0.28ms的脈沖方波(輸入脈沖后要經過三極管驅動),用來控制開關IRED;
②紅外線接收裝置PD:引腳4(S-GND)接地;引腳5(Vo)輸出電壓模擬信號,輸入給單片機;引腳6(Vcc)接+5V電源;
③GP2Y1010AU0F其內部對角安放著紅外線發光二極管IRED和光電晶體管PD。電源接通后,紅外線二極管開始發出紅外線,在沒有粉塵的情況下,光電晶體管PD是接收不到發出的紅外線的;當有粉塵的時候,粉塵會反射紅外線使得光電晶體管能夠探測到空氣中塵埃反射的紅外線。粉塵越多,則接收到的反射光越強,光電晶體管兩端的電壓越大。該模擬電壓信號經過信號放大電路從引腳5輸出;
④通過該光學粉塵濃度傳感器可知,粉塵濃度越大,入射光被反射越多,接收到的光越多,其輸出電壓也越大。該傳感器輸出為模擬電壓,其值與粉塵濃度成正比。
3.3 系統電源供電電路設計
為了使系統穩定運行,供電電路是十分重要的。5V直流USB電源和三節1.5V(共4.5V)堿性干電池。只需在電源接口的引腳4和引腳1分別接上電源正負極即可。
3.4 LCD液晶顯示電路設計
本系統采用l602LCD字符型液晶顯示模塊,該模塊可以顯示兩行,每行16個字符。顯示信息包括顯示字母、數字符號以及其他的一些字符型符號。采用單+5V電源供電,外圍電路配置簡單。1602字符型LCD具有以下的基本特性:
①顯示容量:16×2個字符;提供各種控制命令,如:清屏、字符閃爍、光標閃爍、顯示移位等多種功能;
②芯片工作電壓:4.5—5.5V;對比度可調;③工作電流:2.0mA(5.0V);④模塊最佳工作電壓:5.0V;
⑤字符尺寸:2.95×4.35(W×H)mm;⑥內含復位電路;
⑦有80字節顯示數據存儲器DDRAM;
⑧8個可由用戶自定義的5X7的字符發生器CGRAM。
4.1 軟件開發環境介紹
本設計中選用KEIL公司的uVision4開發環境作為單片機程序的編譯器。該軟件集成了業內最領先的技術。KEIL uVision4支持匯編和C語言兩種開發語言,提供了強大的仿真功能。
4.2 系統主程序的設計
系統主程序設計流程如下,上電后系統先進行初始化,然后從EEPROM存儲器讀取從鍵盤輸入設定的最高粉塵濃度值。單片機將設定的報警值顯示在LCD,并檢測當前空氣中的粉塵濃度值,隨后與設定值進行比較,當檢測到的值大于設定值時單片機驅動LED指示燈報警。如果不大于報警值則延時若干秒后繼續采集當前粉塵值,并且在LCD上顯示溫濕度。循環往復執行該程序。系統主程序流圖如圖4所示。

圖4 系統主程序流程圖
在LCD的液晶顯示中,已經詳細介紹了顯示的原理,此外還需要知道顯示驅動程序。顯示驅動程序在進入中斷后,對每個定時器賦初值,用來確保顯示屏刷新頻率的穩定。1/16掃描顯示屏的刷新率計算公式如下:
刷頻率(幀頻)=1/16×T0溢出率=1/16×f/12(65536-t)
其中f位晶振頻率,t為定時器T0初值(工作在16位定時器模式)。然后利用顯示驅動程序來查詢當前點亮的行和列,從顯示緩存區內讀取下一行的顯示數據,并通過串口發送給移位寄存器。
畫出電路原理圖后,就要按照該圖進行硬件實物的焊接。焊接好的電路板在上電之前必須得經過調試,以免發生短路燒毀元器件或者因為斷路導致的元器件無法工作。下面就硬件調試過程中出現的問題做相關敘述。
5.1 系統電源供電路調試
在供電接口VCC與GND兩端接上電源后,閉合開關,發現電源指示燈不亮,用萬用表檢測到USB供電口的1腳和4腳有電壓,猜想發光二極管的正負極接反。后來調換正負極后,發光二極管正常工作。
5.2 單片機電路調試
單片機是整個系統當中核心部件。在最初的調試中,會出現調節按鍵失靈,還有液晶顯示屏幕顯示的數據不完整的情況。這個是由于單片機的14、15引腳以及單片機36、37引腳與按鍵電路和顯示電路接口脫焊導致的。
本次設計完成了基于單片機的粉塵顆粒濃度檢測儀的設計,具體包括硬件電路的設計、程序的編寫及系統調試。通過系統測試和結果分析驗證了預期設想該設計主要是將光學測塵原理所得的模擬電壓信號轉換成數字信號,并將數字信號送到單片機中。程序中的中斷可以根據邏輯優先級需要響應各個模塊,實現各個端口的開啟和關閉。
[1]季晶晶,鄒麗新,湯榮生,徐婷婷.具有自適應測量功能的空氣粉塵測量儀設計[J].現代電子技術,2010
[2]鄒麗新,季晶晶,湯榮生.基于光散射的小型便攜式粉塵測量儀的研制[J].大氣與環境光學學報,2008
[3]楊欣.51單片機應用從零開始[M].北京:清華大學出版社,2008年01月
[4]胡漢才.單片機原理及接口技術[M].北京:清華大學出版社,2011