国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于虛擬儀器的有害氣體報(bào)警儀*

2013-12-30 09:48:54李鵬輝
電子器件 2013年4期
關(guān)鍵詞:虛擬儀器上位串口

盧 超,李鵬輝

(陜西理工學(xué)院物理系,陜西 漢中723000)

在科研實(shí)驗(yàn)、礦產(chǎn)能源開(kāi)采、家庭住所、各種動(dòng)物養(yǎng)殖、及衛(wèi)生醫(yī)療等場(chǎng)合經(jīng)常要用到有害氣體報(bào)警系統(tǒng),傳統(tǒng)的方法是下位機(jī)通過(guò)傳感器及AD轉(zhuǎn)換器采集到數(shù)據(jù),然后利用無(wú)線(xiàn)模塊將數(shù)據(jù)傳輸給上位機(jī)。上位機(jī)再通過(guò)軟件處理后利用液晶顯示屏和語(yǔ)音芯片進(jìn)行數(shù)據(jù)顯示及報(bào)警等功能,這種方式的缺點(diǎn)是,數(shù)據(jù)傳輸不穩(wěn)定,傳輸距離短,因?yàn)闊o(wú)線(xiàn)模塊傳輸距離只有幾十到幾百米,受到場(chǎng)地的影響嚴(yán)重。設(shè)計(jì)一種傳輸網(wǎng)絡(luò)化、系統(tǒng)穩(wěn)定性好、使用方便、用戶(hù)界面友好、造價(jià)低廉且測(cè)量準(zhǔn)確的有害氣體監(jiān)測(cè)儀器,基于單片機(jī)和Labview的測(cè)試系統(tǒng),對(duì)被測(cè)區(qū)每個(gè)位置的有害氣體濃度情況進(jìn)行網(wǎng)上的實(shí)時(shí)監(jiān)測(cè),一旦出現(xiàn)異?,F(xiàn)象便于及時(shí)分析和處理,將會(huì)有效地提高事故的預(yù)見(jiàn)性和工作效率,有著重要的實(shí)際推廣價(jià)值和理論研究意義[1]。

1 系統(tǒng)設(shè)計(jì)

總體結(jié)構(gòu)框圖如圖1所示。系統(tǒng)主要包有害氣體信息采集,模擬/數(shù)字信號(hào)轉(zhuǎn)換,數(shù)據(jù)的讀取,串口數(shù)據(jù)通訊,PC機(jī)數(shù)據(jù)處理,網(wǎng)絡(luò)通信及報(bào)警模塊。系統(tǒng)的下位機(jī)部分通過(guò)傳感器將有害氣體信息采集到單片機(jī)內(nèi),進(jìn)行簡(jiǎn)單的數(shù)據(jù)處理后將數(shù)據(jù)通過(guò)串口傳送給上位機(jī)(PC)。上位機(jī)由4個(gè)獨(dú)立運(yùn)行的用Labview編寫(xiě)的程序組成。首先上位機(jī)通過(guò)“串口VI”完成數(shù)據(jù)的接收并將數(shù)據(jù)以波形方式顯示,并且在該程序中可以設(shè)定報(bào)警值大小,一旦達(dá)到報(bào)警值,程序前面板的指示燈便會(huì)變亮,同時(shí)通過(guò)調(diào)用“語(yǔ)音VI”,也可以實(shí)現(xiàn)語(yǔ)音報(bào)警功能來(lái)報(bào)警。如果想通過(guò)互聯(lián)網(wǎng)傳輸數(shù)據(jù),只要在上位機(jī)上運(yùn)行TCP/IP程序中的“發(fā)送VI”即可。這時(shí),其他用戶(hù)便可通過(guò)TCP/IP程序中的“接收VI”在其PC上讀取數(shù)據(jù),且同樣可以實(shí)現(xiàn)主機(jī)上的監(jiān)視及報(bào)警功能。上位機(jī)在接收到數(shù)據(jù)后可以將數(shù)據(jù)進(jìn)行存儲(chǔ),以便對(duì)歷史數(shù)據(jù)進(jìn)行分析[2-6]。

圖1 系統(tǒng)結(jié)構(gòu)框圖

2 硬件電路設(shè)計(jì)

2.1 有害氣體采集電路

圖2是MQ-7和MQ-5傳感器的基本測(cè)試電路,需要施加2個(gè)電壓:加熱器電壓VH和測(cè)試電壓VC,其中VH用于為傳感器提供特定的工作溫度,VC用于測(cè)定與傳感器串聯(lián)的負(fù)載電阻RL上的電壓VRL。MQ-7和MQ-5傳感器具有輕微的極性,VC需用直流電源,在滿(mǎn)足傳感器電性能要求的前提下,VC和VH可以共用同一個(gè)電源電路[1]。

圖2 MQ-7和MQ-5采集電路

2.2 A/D轉(zhuǎn)換電路

A/D采用ADC0809芯片,需提供約500 kHz的時(shí)鐘頻率,系統(tǒng)采用74LS74芯片對(duì)單片機(jī)的時(shí)鐘輸出端(ALE輸出的時(shí)鐘頻率為2 MHz)進(jìn)行四分頻,供ADC0809使用,ADC0809的CLOCK接Q端口,IN0與IN1分別接一氧化碳傳感器和甲烷傳感器輸出端,ADC0809的OE端接高電平后打開(kāi)三態(tài)數(shù)據(jù)輸出鎖存器。將輸入選擇端口即 ADDA、ADDB、ADDC中的ADDA接到單片機(jī)的P2.7端,ADDB和ADDC接地,實(shí)現(xiàn)對(duì) IN0與 IN1的控制。VREF+與VREF-為參考電壓輸入端,分別接5V和地,電路如圖3所示,將轉(zhuǎn)換后的電壓值接到單片機(jī)的P1端口,實(shí)現(xiàn)ADC0809與單片機(jī)之間的數(shù)據(jù)通信。START與單片機(jī)P2.2相連,控制A/D轉(zhuǎn)換啟動(dòng),當(dāng)轉(zhuǎn)換結(jié)束信號(hào)由低電平跳變?yōu)楦唠娖綍r(shí),EOC引腳將信號(hào)通知給單片機(jī)使其進(jìn)行數(shù)據(jù)的正常讀取。

圖3 A/D轉(zhuǎn)換電路

2.3 與上位機(jī)通信電路

采用MAX232芯片完成兩路TTL/RS-232電平的轉(zhuǎn)換,MAX232的9、10引腳是TTL電平端,連接單片機(jī),11,12引腳分別接CH341芯片的TXD和RXD引腳,T1IN和 T2IN接 TTL/CMOS電平的89C51單片機(jī)的串口發(fā)送端TXD,R1OUT和R2OUT接TTL/CMOS電平的89C51單片機(jī)的串口接收端RXD,T1OUT和T2OUT可直接接PC機(jī)的RS-232串口的接收端RXD,R1IN和R2IN可直接接PC機(jī)的RS-232串口發(fā)送端 TXD,電路如圖4所示。CH341提供全速USB設(shè)備接口,兼容USB2.0,外圍器件只需要電容和晶體,電源電壓為5 V,USB接口的差分?jǐn)?shù)據(jù)線(xiàn)對(duì)與 CH341的 UD-和 UD+直接相連[7]。

3 下位機(jī)系統(tǒng)軟件設(shè)計(jì)

設(shè)計(jì)中單片機(jī)軟件是采用C51語(yǔ)言編寫(xiě),主要包括ADC0809芯片驅(qū)動(dòng)及有害氣體數(shù)據(jù)采集部分和串口數(shù)據(jù)發(fā)送部分,下位機(jī)主程序流程圖見(jiàn)圖5所示。

數(shù)據(jù)采集軟件主要實(shí)現(xiàn)單片機(jī)系統(tǒng)對(duì)ADC0809傳感器的初始化、發(fā)送測(cè)量命令及數(shù)值的讀取,有害氣體測(cè)量時(shí)先調(diào)用ADC0809初始化子程序進(jìn)行初始化,它包括復(fù)位、傳輸啟動(dòng)命令。在有害氣體數(shù)據(jù)通信系統(tǒng)中,單片機(jī)與PC機(jī)之間的數(shù)據(jù)通信采用串口實(shí)現(xiàn)。系統(tǒng)中單片機(jī)串行口工作在模式1,即可變波特率10 bit異步收發(fā)模式。單片機(jī)工作在12 MHz時(shí)鐘時(shí),用T1的方式2自重裝模式,設(shè)置9 600 bit/s波特率。

圖4 與上位機(jī)通信電路

圖5 下位機(jī)主程序流程圖

4 上位機(jī)系統(tǒng)軟件設(shè)計(jì)

設(shè)計(jì)采用Labview為上位機(jī)軟件開(kāi)發(fā)平臺(tái),用G語(yǔ)言進(jìn)行設(shè)計(jì),主要實(shí)用VISA高級(jí)應(yīng)用編程接口。VISA是虛擬儀器系統(tǒng)I/O接口軟件,基于自底向上結(jié)構(gòu)模型的VISA創(chuàng)造了一個(gè)統(tǒng)一形式的I/O控制函數(shù)集,提供了非常強(qiáng)大的儀器控制功能與資源管理上位機(jī)串口。程序中由4個(gè)事件分支構(gòu)成,上位機(jī)串口程序圖如圖6所示。程序執(zhí)行條件選擇為:值改變。即只有點(diǎn)擊當(dāng)前面板上的“開(kāi)始運(yùn)行”按鈕后才能執(zhí)行該程序。在該程序中主要目的是實(shí)現(xiàn)VISA的自定義、數(shù)據(jù)的讀取及顯示報(bào)警功能。通過(guò)對(duì)VISA進(jìn)行相應(yīng)設(shè)置后進(jìn)入While循環(huán),利用VISA讀取函數(shù)讀取字符串?dāng)?shù)據(jù)。在條件結(jié)構(gòu)的真分支中實(shí)現(xiàn)字符串與數(shù)組之間的轉(zhuǎn)換、波形顯示及報(bào)警功能。將數(shù)據(jù)保存到一個(gè)緩沖區(qū)后關(guān)閉串口[8-9]。

VISA的設(shè)置是成功讀取串口數(shù)據(jù)的關(guān)鍵,只有與下位機(jī)一致才能正確獲取下位機(jī)資源。在配置VISA時(shí),波特率設(shè)置成9 600,字節(jié)大小為8 bit,校驗(yàn)位和停止位分別設(shè)置為無(wú)校驗(yàn)位及1?!氨4妗笔录绦驁D,程序執(zhí)行條件選擇為:值改變。即當(dāng)前面板上“保存數(shù)據(jù)”按鈕值改變時(shí)可以實(shí)現(xiàn)數(shù)據(jù)的保存,其保存形式為txt文件?!巴顺觥笔录种D,條件為“值改變”。當(dāng)點(diǎn)擊前面板上“退出程序”按鈕后可退出該While循環(huán),即終止串口程序運(yùn)行。當(dāng)前面板上“數(shù)據(jù)回放”按鈕值改變時(shí),可以實(shí)現(xiàn)歷史數(shù)據(jù)的回放,而且可以通過(guò)調(diào)節(jié)前面板上“回放速度”控件調(diào)節(jié)其數(shù)據(jù)回放速度大小。

在串口讀取程序中,單片機(jī)和PC之間是以字符串的形式進(jìn)行數(shù)據(jù)交流的,當(dāng)要把從單片機(jī)讀取的數(shù)據(jù)以波形形式進(jìn)行顯示時(shí),就要進(jìn)行相應(yīng)的轉(zhuǎn)換,而且Labview中的波形顯示控件輸入的類(lèi)型要求為數(shù)組形式,因而,要把讀取的字符串類(lèi)型數(shù)據(jù)首先轉(zhuǎn)換為字節(jié)數(shù)組,然后再通過(guò)調(diào)用索引數(shù)組、創(chuàng)建數(shù)組及數(shù)組插入控件建立一個(gè)一維數(shù)組。通過(guò)調(diào)用TCP偵聽(tīng)函數(shù)、寫(xiě)入TCP數(shù)據(jù)函數(shù)、關(guān)閉TCP連接函數(shù)等實(shí)現(xiàn)數(shù)據(jù)的網(wǎng)絡(luò)傳送功能。程序運(yùn)行前必須將打開(kāi)TCP連接函數(shù)的地址設(shè)定為發(fā)送機(jī)的IP地址,且端口號(hào)也必須與發(fā)送機(jī)端口號(hào)相同。在該程序中,可以實(shí)現(xiàn)在其他計(jì)算機(jī)上的數(shù)據(jù)讀取及報(bào)警功能,實(shí)現(xiàn)數(shù)據(jù)的共享。實(shí)現(xiàn)語(yǔ)音報(bào)警功能首先要通過(guò)編程來(lái)調(diào)用波形文件,通過(guò)對(duì)其進(jìn)行相應(yīng)的配置后可以實(shí)現(xiàn)音量大小調(diào)節(jié),當(dāng)達(dá)到報(bào)警值時(shí)即可啟動(dòng)該函數(shù)進(jìn)行語(yǔ)音報(bào)警[11-12]。

圖6 上位機(jī)串口程序圖

5 系統(tǒng)測(cè)試

系統(tǒng)調(diào)試采用模塊化調(diào)試和整體組合調(diào)試相結(jié)合的方法來(lái)進(jìn)行,調(diào)試界面如圖7所示。經(jīng)過(guò)模塊化的軟件仿真、硬件電路調(diào)試和組裝測(cè)試,最終實(shí)現(xiàn)了單片機(jī)系統(tǒng)的有害氣體數(shù)據(jù)采集功能、上位機(jī)串口讀取、上下限氣體濃度設(shè)定功能、聲光報(bào)警功能、TCP/IP數(shù)據(jù)網(wǎng)絡(luò)傳輸功能、溫濕度處理顯示功能和溫、歷史數(shù)據(jù)存儲(chǔ)等功能。

圖7 上位機(jī)調(diào)試界面

測(cè)試結(jié)果對(duì)比如表1所示,在相同的環(huán)境下,一共進(jìn)行了10次測(cè)量,第2列和第3列為有害氣體一氧化碳和甲烷傳感器MQ-7、MQ-5輸出的模擬電壓值,第4列和第5列為精度高的成品報(bào)警儀MQ-7和MQ-5輸出模擬電壓值,第6列和第7列為相對(duì)誤差,可以看出該有害氣體測(cè)量裝置在實(shí)際工作中具有很好的效果,所采集的數(shù)據(jù)經(jīng)過(guò)與相應(yīng)的校準(zhǔn)器件所得到的數(shù)據(jù)對(duì)比發(fā)現(xiàn)其誤差很小,一氧化碳傳感器平均誤差為0.29%,甲烷傳感器平均誤差為2.14%。

表1 測(cè)量結(jié)果對(duì)比

6 結(jié)束語(yǔ)

設(shè)計(jì)的基于虛擬儀器的有害氣體報(bào)警儀,結(jié)合Labview的數(shù)據(jù)顯示、網(wǎng)絡(luò)數(shù)據(jù)傳輸及報(bào)警較好地解決了數(shù)據(jù)采集精確度及傳輸距離問(wèn)題。系統(tǒng)通訊穩(wěn)定可靠,可拓寬應(yīng)用于家居、隧道和大壩糧倉(cāng)等領(lǐng)域的有害氣體監(jiān)測(cè)中。

[1]趙冰若,朱瑞祥,馮春生等.室內(nèi)有害氣體遠(yuǎn)程報(bào)警系統(tǒng)設(shè)計(jì)[J].微計(jì)算機(jī)信息,2009,11:24-26.

[2]吳偉斌,洪添勝,朱余清等.基于虛擬儀器的果樹(shù)重疊葉片LAI實(shí)時(shí)檢測(cè)系統(tǒng)[J].農(nóng)業(yè)工程學(xué)報(bào),2012,04:169-174.

[3]王邦勤,徐軍明,秦會(huì)斌,鄭梁.基于虛擬儀器與總線(xiàn)技術(shù)的遠(yuǎn)程多點(diǎn)環(huán)境參數(shù)監(jiān)測(cè)系統(tǒng)研究[J].電子器件,2009,04:801-804.

[4]湯家華,王道德.LabVIEW在USB實(shí)時(shí)數(shù)據(jù)采集處理系統(tǒng)中的應(yīng)用[J].電子器件,2006,02:557-560.

[5]張牧,張誠(chéng),陳才和等.基于Labview技術(shù)的光度式橢偏測(cè)厚儀的研究與設(shè)計(jì)[J].電子器件,2007,01:170-173.

[6]宋青.基于虛擬儀器技術(shù)的信號(hào)采集與分析系統(tǒng)的研究[J].自動(dòng)化與儀器儀表,2012,01:1-2.

[7]徐輝.USB接口技術(shù)及應(yīng)用常識(shí)[J].開(kāi)發(fā)研究與設(shè)計(jì)技術(shù),2007(12):1624-1625.

[8]寇雪芹,谷立臣等.基于虛擬儀器的超聲信號(hào)測(cè)量及測(cè)距研究[J].計(jì)算機(jī)工程與應(yīng)用,2012,06:17-20.

[9]宋愛(ài)晶,林峰,鄧林紅.一種基于虛擬儀器的生理信號(hào)測(cè)量系統(tǒng)[J].傳感器與微系統(tǒng),2012,01:101-103.

[10]葛李,周學(xué)才,穆效江.一種基于虛擬儀器的通用測(cè)控系統(tǒng)[J].制造業(yè)自動(dòng)化,2012,10:45-48.

[11]全曉莉,周南權(quán)等.基于虛擬儀器技術(shù)的音頻信號(hào)采集與處理[J].儀表技術(shù)與傳感器,2012,07:32-34.

[12]戴佳,戴衛(wèi)恒等.51單片機(jī)C語(yǔ)言應(yīng)用程序設(shè)計(jì)實(shí)例講解[M].電子工業(yè)出版社,2008(12):311-317.

猜你喜歡
虛擬儀器上位串口
淺談AB PLC串口跟RFID傳感器的通訊應(yīng)用
特斯拉 風(fēng)云之老阿姨上位
車(chē)迷(2018年12期)2018-07-26 00:42:22
PCB 刻制機(jī)功能開(kāi)發(fā)及在虛擬儀器實(shí)驗(yàn)室建設(shè)中的應(yīng)用
電子制作(2017年13期)2017-12-15 09:00:26
虛擬儀器及其在電工電子實(shí)驗(yàn)中的應(yīng)用
電子制作(2017年1期)2017-05-17 03:54:33
“三扶”齊上位 決戰(zhàn)必打贏
基于ZigBee和VC上位機(jī)的教室智能監(jiān)測(cè)管理系統(tǒng)
虛擬儀器技術(shù)在農(nóng)業(yè)裝備測(cè)控中的應(yīng)用
USB接口的多串口數(shù)據(jù)并行接收方法探索
基于虛擬儀器的DMFC實(shí)時(shí)監(jiān)控系統(tǒng)
基于藍(lán)牙串口適配器的GPS接收機(jī)與AutoCAD的實(shí)時(shí)無(wú)線(xiàn)通信
都江堰市| 渑池县| 铁力市| 新津县| 海丰县| 汕尾市| 星子县| 扬州市| 体育| 泾源县| 武鸣县| 麻阳| 昔阳县| 建德市| 湛江市| 平泉县| 随州市| 佛山市| 汤阴县| 江永县| 礼泉县| 新闻| 汶川县| 灵川县| 杨浦区| 古交市| 广汉市| 鄂尔多斯市| 清水河县| 巴里| 龙泉市| 大邑县| 高雄市| 甘肃省| 德化县| 灵川县| 东丽区| 雷州市| 西充县| 临颍县| 七台河市|