張 飛, 錢金法
(常州機電職業技術學院 電氣工程學院, 江蘇 常州 213164)

基于單片機和虛擬儀器的粉塵濃度檢測裝置
張 飛, 錢金法
(常州機電職業技術學院 電氣工程學院, 江蘇 常州 213164)
為了檢測空氣中粉塵的濃度以及充分發揮計算機的數據處理功能,采用AT89S52單片機和LabVIEW2012虛擬儀器開發軟件,設計了一款粉塵濃度檢測裝置。采用下位機硬件和軟件的設計方法,給出了硬件設計原理圖和主程序流程圖,同時介紹了電腦端LabVIEW程序的編寫方法,給出了軟件前面板界面圖和部分主要框圖程序。檢測的粉塵濃度相關信息能夠通過數字和曲線2種方式顯示,并設計了粉塵濃度超標報警燈。實驗表明,該實驗裝置成本低廉,功能可靠,在虛擬儀器技術和單片機技術教學中有一定的實用價值。
單片機; 虛擬儀器; 硬件; 粉塵濃度; 檢測裝置
隨著計算機、電子技術和通信技術的飛速發展,儀器技術領域發生了巨大的變革,出現了一種全新的儀器概念—虛擬儀器[1]。虛擬儀器和傳統儀器相比,開發維護費用降低,技術更新周期短,可根據用戶需求自定義儀器功能。目前,市場上有很多虛擬儀器軟件,LabVIEW是其中的佼佼者。LabVIEW是NI公司開發的虛擬儀器開發平臺,采用圖形化的編程語言(G語言),功能強大,使用方便,在工控、檢測等領域應用很廣[2-5]。國內很多高校開設了虛擬儀器技術課程,而且大多都使用LabVIEW平臺進行授課。
粉塵是漂浮在空氣中的固態顆粒物,其濃度高低是目前衡量大氣污染情況的重要指標。而且,在工業生產現場,如果粉塵濃度過高,有可能引起爆炸[6]。所以,粉塵濃度的檢測意義重大。目前常用的粉塵檢測方法有:光學法、過濾稱重法等[7]。
本文采用LabVIEW2012、單片機設計了一套粉塵濃度檢測實驗系統,通過該系統,學生可以鍛煉LabVIEW和單片機通信、粉塵濃度檢測等技能,系統雖然簡單,但經過合理、細致的設計,也能為相關產品的開發提供參考。
基于單片機和虛擬儀器的粉塵濃度檢測裝置主要由三部分構成:安裝LabVIEW2012的電腦(上位機)、通信電纜、基于51單片機的粉塵濃度檢測裝置(下位機)。其中下位機主要包括電源模塊、CPU模塊、RS232通信接口、傳感器檢測電路、鍵盤、聲音提示電路和LED提示電路。整個系統的方案如圖1所示。

圖1 粉塵濃度檢測實驗裝置系統方案圖
系統工作時,使用虛擬儀器軟件LabVIEW2012編制的實驗軟件通過電腦的RS-232接口向下位機發送數據采集命令,下位機接收到上位機的數據采集請求后通過粉塵濃度傳感器檢測目前的粉塵濃度,如果濃度超過系統設定的閾值,就置報警標志位,并發出聲光報警,同時把粉塵濃度數據和聲光報警信息打包發送給上位機。聲光報警時,為了去除煩人的聲音和LED燈的閃爍,不影響學生實驗,通過鍵盤按鈕可以解除報警。上位機接收到數據后,通過數值、曲線的方式顯示粉塵濃度信息,并通過指示粉塵濃度是否超標。
2.1 CPU和電源部分
本系統CPU采用了ATMEL公司生產的AT89S52單片機。該單片機具備8 KB Flash存儲器和256 B數據存儲器,32個I/O口,1個全雙工串行通信口等[8-9],完全能滿足粉塵濃度檢測實驗裝置的設計需求。而且,AT89S52采用5 V電源供電,所以可以使用USB線從電腦端取電。如果使用3節5號電池(4.5 V)串聯供電,該CPU也能夠正常工作。通過電源切換開關,下位機供電方式可以在USB和干電池供電之間進行切換(電腦USB口不夠用時可以使用電池供電),方便學生在不同的場合進行實驗。下位機CPU使用11.059 2 MHz的晶振。USB、干電池供電切換原理圖如圖2所示。

圖2 USB和干電池供電切換原理圖
2.2 GP2Y1010AU0F傳感器
粉塵濃度GP2Y1010AU0F檢測采用了夏普公司出品的GP2Y1010AU0F傳感器[10]。該傳感器工作電壓為3~7 V,粉塵濃度檢測范圍為0~0.8 mg/m3, 能檢測的最小顆粒大小為0.8 μm,靈敏度為0.5 V/0.1 mg/ m3。由于粉塵能反射光線,粉塵濃度越高,反射光越強。如圖3所示,粉塵濃度較高時,紅外發射管發射的紅外線經過反射后被光電接收管接收的紅外線強度越高,UO引腳輸出電壓越高。

GP2Y1010AU0F總共有6個引腳,其接口電路原理圖如圖4所示。當單片機的P1.0輸出低電平時,傳感器正常工作, 5腳輸出電壓經過分壓后,通過A/D轉換得到電壓大小,就能計算出粉塵的濃度。

圖4 GP2Y1010AU0F與單片機接口原理圖
2.3 A/D轉換電路
A/D轉換部分采用了一片ADS7818芯片,該芯片使用單電源供電,支持500 kHz的采樣速率,12位精度[11-12],低功耗。GP2Y1010AU0F粉塵濃度傳感器輸出的電壓通過R7(可變電阻)和R8分壓后,由ADS7818進行A/D轉換。單片機的P1.1、P1.2、P1.3分別和ADS7818的CLK(串行時鐘)、DATA(串行數據輸出)、CON(轉換信號)連接。通過一只TL431 為ADS7818提供穩定的外部參考電源。ADS7818與單片機接口如圖5所示。

圖5 ADS7818與單片機接口原理圖
2.4 鍵盤、LED和聲音提示部分
鍵盤、LED和聲音提示是下位機人機接口部分,LED和聲音提示部分則在粉塵濃度超標時進行報警,通過鍵盤可以消除報警信號。鍵盤使用了獨立式按鈕,聲音提示部分使用了直流蜂鳴器,此部分電路比較簡單,如圖6所示。

2.5 RS-232通信接口
RS-232接口是目前比較常用的通信接口,一般臺式機基本都自帶RS-232接口(9個引腳),使用LabVIEW也很容易實現RS-232通信。但是,AT89S52單片機的串行通信接口采用TTL通信,和RS-232電平不匹配,為此采用了一片美信公司的MAX232芯片進行電平轉換[13-15],通過轉換后,單片機和電腦能夠實現RS-232通信,MAX232和單片機的接口如圖7所示。
3.1 單片機端程序設計
單片機端程序使用集成開發環境KEIL軟件,采用C語言編寫程序。整個程序進行了模塊化的劃分,把一些基本功能封裝成函數,主要包括:初始化程序、主程序、A/D轉換程序、報警程序、粉塵濃度計算程序及串口中斷服務程序等。圖8所示為主程序流程圖。電腦端發送的數據采集命令由單片機中斷服務程序接收,中斷服務程序設置數據采集標志位,主程序中進行判斷是否要采集粉塵濃度信息并發送給電腦。

圖7 MAX232與單片機接口圖

3.2 LabVIEW程序設計
電腦端軟件使用LabVIEW2012進行開發,主要包括前面板設計和框圖程序設計,前面板是人機交互的界面。系統可以通過按鈕單次采集粉塵濃度信息,也可以按程序設定的時間間隔連續采集粉塵濃度。采集的粉塵濃度數據通過數值方式顯示,還通過波形圖表以曲線的方式顯示。程序前面板如圖9所示。

圖9 前面板界面
框圖程序中,最重要的是串行通信程序。LabVIEW中的串行通信采用的是VISI節點,LabVIEW把串口通信的相關功能都設計在了一個子選板中,用戶使用非常方便。該選板中有8個節點:緩沖區設置、串口配置、串口寫入、串口讀取、關閉串口等。系統使用VISA配置串口進行波特率、數據位數、奇偶校驗、停止位等參數。為了下位機和電腦通信匹配,根據下位機的串口設置情況,設置波特率為9 600 b/s、數據長度8 bit、無奇偶校驗、1位停止位,如圖10所示。LabVIEW通過串口寫入節點發送數據采集命令“FD”給下位機,下位機返回數據后,LabVIEW通過串口讀取節點讀取粉塵濃度信息進行進一步處理。電腦端通信處理程序中,數據接收處理程序相對比較復雜,圖11給出了粉塵濃度檢測的電腦端接收程序。圖11中循環結構內部的條件結構另一分支為“假”,程序功能為把“假”常量賦值給報警燈局部變量。

圖10 串口配置程序

圖11 數據接收程序
為了驗證系統的功能,使用串行通信線連接下位機和上位機,分別采用USB和干電池供電進行了實驗。運行LabVIEW編制的程序,串口選擇“COM1”,根據實際情況,可以在“我的電腦”——“屬性”——“硬件”——“設備管理”中查看具體的串口號。采用單次采集和連續采集方式進行實驗,都順利采集到了下位機發送的粉塵濃度數據。圖12所示為采集時延設置為10 s情況下,采用連續采集模式得到的粉塵濃度曲線圖(大約5 min)。圖中曲線突然增高是由于在粉塵濃度傳感器周圍加入了少量粉塵干擾,隨著粉塵的散去,傳感器探測到的粉塵濃度逐漸下降,趨于平穩。實驗表明下位機和電腦端軟件工作正常。
基于單片機和虛擬儀器的粉塵濃度檢測裝置設計人性化,使用方便,能為類似功能的儀器儀表提供一定價值的設計參考,能夠滿足學生學習虛擬儀器、單片機通信編程技能訓練的需求。

圖12 連續采集粉塵濃度曲線圖
[1] 卞曉紅,穆飛航,季振宇,等. 基于虛擬技術的腦電信號檢測示教系統設計與實現[J]. 醫療衛生裝備,2011,32(4):9-10,27.
[2] 王建勛,周青云. 基于虛擬儀器和藍牙技術的控制系統設計[J]. 實驗室研究與探索,2015,34(3):86-89.
[3] 吳香國,曹景杰,趙新宇. 虛擬儀器的超高強混凝土結構性能測試[J]. 實驗科學與技術,2012,10(1):52-55.
[4] 任龍霞,吳為麟. 虛擬儀器在低壓電弧故障斷路器研制中的應用[J]. 電力系統保護與控制,2011,39(5):134-138,143.
[5] 岳偉甲,劉昌錦. 一種基于VC++的通信信號仿真軟件設計[J]. 四川兵工學報,2011,32(5):92-95.
[6] 王寶興,李 晨. 昆山粉塵爆炸的原因及解決措施[J]. 消防科學與技術,2015,36(1):130-131.
[7] 鄭 凱,汪金剛,劉 靜,等. 基于電荷感應的粉塵濃度檢測技術與試驗研究[J]. 傳感器與微系統,2014,33(2):29-31.
[8] 王大虎,孫一帆,張且且. 基于AT89S52單片機的液壓支架自動噴霧防塵系統設計[J]. 煤礦機械,2014,35(1):199-201.
[9] 湯鍇杰,栗 燦,王 迪,等. 基于DS18B20的數字式溫度采集報警系統設計[J]. 傳感器與微系統,2014,33(3):99-102.
[10] 黎山峰,楊 雷,孫建軍. 面向智慧社區的環境監測系統設計與實現[J]. 計算機測量與控制,2015,23(5):1785-1788.
[11] 徐 建,何騰鵬. 數控恒流源的設計[J]. 湖北民族學院學報(自然科學版),2015,33(3):304-307.
[12] 郝 杰. 一種簡易家用地震報警儀的設計[J]. 電子設計工程,2015 (16):134-136.
[13] 李曉辰,樓喜中. 基于FPGA的多接口轉換研究與實現[J]. 電視技術,2014,38(1):66-68,76.
[14] 李曉蕊. 單片機與PC機的串行通信系統[J]. 中國新通信,2015,17(14):126-127.
[15] 朱瑜紅. 基于STC單片機的溫室定時自動卷簾控制器設計與實現[J]. 江蘇農業科學,2015,43(12):485-487.
Design of Dust Concentration Detecting Device Based on Microcontroller and Virtual Instrument
ZHANGFei,QIANJinfa
(Dept. of Electrical Engineering, Changzhou Institute of Mechatronic Technology, Changzhou 213164, Jiangsu, China)
In order to detect the dust concentration in the air and give full play to the computer data processing function,a dust concentration detecting device was designed by using AT89S52 microcontroller and LabVIEW2012 virtual instrument development software. The design method of the hardware and software of the slave computer is described in detail. The front panel and part of the diagram program of software are given. The dust concentration information can be showed through digitals and curves, and dust concentration alarm lamp is also designed. Experiment shows that the experimental device has low cost and reliable function. It has some practical value in the virtual instrument and microcontroller technology teaching.
microcontroller; virtual instrument; hardware; dust concentration; detecting device
2016-07-25
江蘇高校品牌專業建設工程資助項目(PPZY2015C238);江蘇省前瞻性研究專項資金項目(BY2014043)
張 飛(1981-),男,江蘇常州人,碩士,講師、工程師,主要研究方向:自動化技術、人工智能。
Tel.: 13656118626; E-mail:czmeczf@163.com
TP 274.2
A
1006-7167(2017)04-0137-04