酒精濃度檢測儀_第1頁
酒精濃度檢測儀_第2頁
酒精濃度檢測儀_第3頁
酒精濃度檢測儀_第4頁
酒精濃度檢測儀_第5頁
已閱讀5頁,還剩11頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

基于單片機和虛擬儀器的車載酒精濃度檢測儀摘要為了使酒后駕車的駕駛員無法正常啟動車輛,減少酒后駕車引起的交通事故,本文設計了基于單片機和虛擬儀器的車載酒精濃度檢測儀。該檢測儀以STC89C52單片機為核心控制器件,利用氣敏傳感器MQ3檢測駕駛員呼出氣體的酒精濃度,A/D轉換電路將氣敏傳感器MQ3的輸出信號進行采集,并送與STC89C52單片機進行處理。當酒精濃度超過酒后駕車的閥值時,檢測儀可實現(xiàn)聲光報警功能,并自動切斷汽車啟功系統(tǒng)的點火電路,使酒后駕車的司機所駕駛的車輛自動熄火,從源頭上解決司機酒后駕車的問題。同時該檢測儀利用串口通信,實現(xiàn)單片機與車載電腦的數(shù)據(jù)傳輸,虛擬儀器系統(tǒng)以車載電腦為平臺,對駕駛座的酒精濃度進行實時監(jiān)測及數(shù)據(jù)存儲,一旦發(fā)生交通事故,車載電腦所存儲的實時酒精濃度數(shù)據(jù),可方便交通管理部門對交通事故發(fā)生原因的排查。關鍵詞:單片機、虛擬儀器、氣敏傳感器、A/D轉換電路、串口通信第_章概述1.1車載酒精濃度檢測技術的背景及意義1.1.1車載酒精檢測技術的背景2008年世界衛(wèi)生組織發(fā)布的事故調查顯示,世界上大約50%—60%的交通事故與酒后駕車有關,當酒精在人體血液內達到一定程度時,人對外界的反應能力及控制能力就會下降,導致人處理緊急事件的能力也隨之下降。研究表明,當駕駛者血液中酒精含量達到80mg/100mL時,發(fā)生交通事故的幾率是不含酒精時的2.5倍,當駕駛者血液中酒精含量達到100mg/mL時,發(fā)生交通事故的幾率是不含酒精時的4.7倍,即使在少量飲酒的狀態(tài)下危險度也是未飲酒時的2倍左右,酒后駕車已成為車禍致死的主要原因。1.1.2車載酒精檢測技術的意義根據(jù)國家質檢檢疫局發(fā)布的《車輛駕駛人員血液、呼氣酒精含量閥值與檢測》中的規(guī)定,酒后駕車的臨界值如表1-1所示:表1-1車輛駕駛人員血液酒精含量臨界值行為類別對象血液酒精含量(mg/100mL)呼氣酒精含量(mg/L)飲酒駕車車輛駕駛人員200.0909醉酒駕車車輛駕駛人員800.3636雖然法律明文規(guī)定禁止酒后駕車,但是仍然有一部分人懷著僥幸心理酒后開車,這不僅是對自己人身安全的不負責任,也是漠視路人生命的行為。而且僅僅依靠法律有限的醉酒駕車的懲罰措施,并不足以規(guī)范人們的酒后駕車行為。從理論上說,要判斷是否是酒后駕駛,最準確的方法應該是檢查駕駛員血液中的酒精含量,但在違章檢查及交通事故處理中,現(xiàn)場抽取血液往往是不可能的,因此現(xiàn)階段,只能通過交通管理部門派出專門人員在道路上設卡,進行現(xiàn)場檢測對駕駛者是否飲酒,而且通常采用手持式呼氣酒精檢測儀。雖然目前市場上警用酒精檢測儀種類繁多、功能也較強大,但只能由交警人員來實施,由于交警不能全時段覆蓋所有行駛車輛的檢測,勢必給酒后駕車行為留有漏洞。如果每部車內安裝有一種酒精濃度檢測儀,能實時檢測駕駛員呼出氣體的酒精濃度,并且在檢測到該濃度超過醉酒駕車的閥值時,進行聲光報警,并自動切斷汽車啟動系統(tǒng)的點火電路,就能從根本上控制醉酒駕車行為?;诖吮疚脑O計了基于單片機和虛擬儀器的車載酒精檢測儀,在實現(xiàn)上述功能的基礎上,以車載電腦作為上位機,通過串口通信,實現(xiàn)單片機與上位機的數(shù)據(jù)傳輸,虛擬儀器系統(tǒng)以車載電腦為平臺,對單片機傳輸?shù)木凭珴舛冗M行實時處理和存儲,方便交通管理部門對交通事故發(fā)生原因的排查。相信一旦該酒精檢測儀廣泛投入使用,必將有效的規(guī)范醉酒駕車行為。1.2車載酒精檢測技術的現(xiàn)狀和發(fā)展趨勢1.2.1酒精檢測技術現(xiàn)狀目前酒精檢測方法主要有呼氣式酒精檢測法、頂空氣相色譜法和乙醇脫氫酶法三種,應用最廣的是呼氣式酒精檢測法,呼氣式酒精檢測法采用氣敏傳感器對人的呼出氣體進行檢測,然后根據(jù)呼出氣體酒精濃度與血液酒精濃度的比例關系(1:2200)進行計算得到血液酒精濃度。近年來智能傳感器的出現(xiàn)也使氣敏傳感器有了很大發(fā)展,不僅有半導體型、燃料電池型等傳統(tǒng)傳感器,還有單壁、多壁碳納米管傳感器,多傳感器融合的復合傳感器。1.2.2車載酒精檢測技術的現(xiàn)狀車載酒精檢測技術已經在車輛中有部分應用,但尚不成熟。目前除了汽車廠商在其生產的車輛上使用外,單獨出售的車載酒精檢測控制器還沒有在市場上出現(xiàn)。車載酒精檢測技術多種多樣,大致分為直接對呼出氣體測量型、間接對呼出氣體檢測型、對體液檢測型和對人的生物特征檢測型。直接對呼出氣體檢測型的代表廠商是薩博,它在某些款型的車上使用了酒精鑰匙(Alcokey)技術,在汽車啟動前需要向設置在鑰匙上的吹氣口吹氣,否則汽車無法啟動。酒精鑰匙檢測出酒精含量未超標時,鑰匙亮起綠色指示燈,汽車可以正常啟動;而酒精含量超標時則發(fā)動機自動鎖止使汽車無法啟動。但在實際使用中若駕駛員找其他人代替吹氣,則酒精鑰匙不能發(fā)揮其作用。間接對呼出氣體檢測型車載檢測裝置如表1-1所示,這種裝置無需駕駛員通過吹氣管吹氣,只要駕駛員進入車輛便可自動檢測,它通過檢測車內空氣與酒精氣體的濃度比計算駕駛員呼出氣體的酒精濃度,超標就會自動鎖止發(fā)動機,使汽車無法啟動。這種裝置的缺陷是可能因當乘員飲酒時誤動作,在駕駛員未飲酒的情況下鎖止車輛。圖1-1車載無吹管的酒精檢測裝置對體液檢測型主要是對駕駛員手心的汗液來檢測,它將酒精檢測裝置安裝在駕駛員手可能接觸的所有地方,檢測駕駛員手心汗液中的酒精濃度含量,如果檢測出酒精,系統(tǒng)就會發(fā)出警報,并且自動鎖止變速器。這種方法成本大且對駕駛員是否接觸裝有酒精檢測裝置的地方存在不確定性,而且如果駕駛員帶手套,該檢測裝置將徹底失去其作用。另外還有一種車載酒精檢測裝置在檢測到酒精存在后,通過GPS定位車輛,并通過GPRS網絡將車輛的位置信息發(fā)送給交警部門,最終由交警使用專門的酒精檢測儀對駕駛員是否飲酒進行確定,但是該方法無法確定是否是駕駛員飲酒,或是乘員飲酒,或是車內放置含有酒精的其他物品,導致交警部門進行無效的出動,給交警執(zhí)法帶來極大的不便。1.2.3車載酒精檢測技術的發(fā)展趨勢目前車載酒精檢測設備主要通過酒精傳感器檢測車內酒精含量并依據(jù)酒精含量對車輛進行控制,只是硬件載體有所不同,首先是使用的傳感器不同,其次是處理信號的單片機不同。有的車載設備使用多傳感器,將多個傳感器安裝在車內不同位置,通過傳感器得到的不同的氣體酒精濃度來判斷是否是駕駛員飲酒,其根源上是圍繞是否是駕駛員飲酒來設計的,本質思想還是通過酒精濃度控制車輛。近年來,隨著酒精傳感器、嵌入式技術的發(fā)展,車載酒精傳感器正向著智能化、集成化、人性化和快速反應的方向發(fā)展。隨著嵌入式技術的更新,傳感器體積縮小、成本降低,車載酒精檢測儀可以集成到現(xiàn)有的車載電子設備中,使酒精檢測儀成為汽車電子設備的一部分,從根源上杜絕酒后駕車,集成化是未來車載酒精檢測儀發(fā)展的必然趨勢。人性化是車載酒精濃度檢測儀要達到的目標,方便儀器的推廣使用??焖俜磻腔诰凭珎鞲衅髂芸焖偬綔y到酒精濃度而發(fā)展的。智能化是所有儀器發(fā)展的必然趨勢,車載酒精檢測儀可以通過多傳感器的結合,全方位感知判斷車內乘員及車輛自身的情況。1.3本文結構及主要內容本文主要研究基于單片機和虛擬儀器的車載酒精濃度檢測技術,主要思想是通過駕駛員呼出氣體的酒精濃度實時控制車輛是否可以行駛,并且利用虛擬儀器這一先進技術對駕駛員呼出氣體的酒精濃度進行實時處理和數(shù)據(jù)存儲,方便交警部門對交通事故發(fā)生原因的排查。本文內容安排如下:第一章概述,主要闡述了車載酒精濃度檢測儀的背景及意義、現(xiàn)狀及發(fā)展趨勢,最后介紹了本文的結構及主要內容。第二章酒精檢測儀系統(tǒng)設計思路,介紹了車載酒精檢測儀的總體方案。第三章酒精檢測儀的硬件設計,介紹了車載酒精檢測儀的硬件設計方案,對涉及到的主要器件及其在硬件系統(tǒng)中的作用、如何在硬件系統(tǒng)中發(fā)揮作用做了詳細介紹。第四章酒精檢測儀的軟件設計,介紹了虛擬儀器技術,對酒精檢測儀涉及到的虛擬儀器編程的各個模塊做了詳細闡述。第五章系統(tǒng)調試及實驗結果,通過模擬酒精濃度對系統(tǒng)性能進行了調試,并給出實驗結果。第六章總結,對本文設計的基于單片機和虛擬儀器的酒精濃度檢測儀進行優(yōu)缺點總結,并對今后的改進工作進行了簡要的敘述。第二章酒精檢測儀系統(tǒng)設計思路

2.1酒精檢測系統(tǒng)工作原理本文設計的基于LabVIEW和單片機的車載酒精檢測儀分為上位機和下位機兩部分。下位機選用51系列單片機,C語言編程,單片機外圍電路將采集到的酒精濃度信息傳給單片機,利用單片機學習板上的LED燈和蜂鳴器進行模擬,實現(xiàn)酒精檢測儀的聲光報警功能,通過一個LED燈指示汽車發(fā)動機點火電路的通和斷,模擬實現(xiàn)當酒精濃度超過閥值時自動鎖止車輛的功能;上位機采用LabVIEW編程設計PC上位機的監(jiān)控界面,PC通信自帶串行口,和單片機進行串口通信,從而實現(xiàn)對過程參數(shù)的測量和采集。該車載酒精檢測儀設計簡單,簡化了系統(tǒng)和硬件電路,具有很好的可擴展性。系統(tǒng)組成框圖如圖2-1所示:LabVIEW平臺單片機Hc=>單片機Hc=>酒精模塊圖2-1系統(tǒng)組成框圖上位機主要包括串行通信、酒精濃度臨界值預警、數(shù)據(jù)存數(shù)、表格顯示。上位機組成框圖如圖2-2所示:圖2-2上位機程序組成框圖下位機主要包括MQ3氣敏傳感器、A/D采集電路、聲光報警、點火電路。下位機組成框圖如圖2-3所示:圖2-3下位機組成框圖2.2酒精檢測系統(tǒng)運行步驟酒精濃度采集:從傳感器出來的信號是0-5V的電壓信號,而單片機只能處理數(shù)字信號,所以傳感器與單片機之間需要加A/D轉化才能將傳感器檢測到的酒精濃度信息送給單片機,本文選用的是ADC0804模數(shù)轉換芯片。酒精濃度處理:單片機將采集到的電壓信號轉換為對應的血液酒精濃度信息,并與臨界值比較。當酒精濃度在[20,80)mg/mL中時為飲酒駕車,單片機發(fā)出預警,點亮第一個LED燈,代表對飲酒駕車行為的提醒;當酒精濃度大于80mg/mL時為醉酒駕車,第一個燈熄滅,第二個燈亮,模擬為鎖止發(fā)動機,并由蜂鳴器發(fā)出警報。酒精濃度傳輸:通過RS232串口通信,單片機與PC機進行數(shù)據(jù)傳輸,上位機利用LabVIEW軟件對單片機傳輸?shù)臄?shù)據(jù)進行串口讀取、處理、顯示、儲存,并實現(xiàn)聲光報警功能。上限值設置:當需要改變醉酒駕車的上限值時,LabVIEW通過VISEREAD送上限值給單片機,實現(xiàn)上位機對酒精濃度閥值的控制。第三章酒精檢測系統(tǒng)硬件設計3.1酒精檢測系統(tǒng)硬件設計要求本文設計的基于LabVIEW和單片機的車載酒精濃度檢測儀,通過酒精模塊實現(xiàn)駕駛座酒精濃度采集,以單片機為下位機實現(xiàn)對硬件電路的控制,要求實現(xiàn)聲光報警、模擬鎖止車輛、串口通信以及數(shù)碼管顯示等功能;以虛擬儀器為上位機控制平臺,要求實現(xiàn)對單片機中酒精濃度臨界值的控制?;诖?,本文選用的主要電子器件有STC89C52單片機、MQ3酒精傳感器、及RS232串行通信接口。3.2主要電子器件的介紹及電路設計STC89C52單片機STC89C52是宏晶科技公司生產的低電壓、高性能的CMOS8位單片機,片內8kByte的可反復擦寫的只讀程序存儲器(PEROM)和128Byte的隨機存儲器(RAM),器件采用ATMEL公司的高密度、非易失存儲技術生產,兼容標準MCS-51指令系統(tǒng),片內置通用8位中央處理器(CPU)和Flash存儲單元,功能強大。AT89C51單片機可為使用者提供許多高性價比的應用場合,可靈活的應用于各種控制領域。STC89C52RC單片機的管腳圖如圖3-1所示:

PDJP1?34J75垢63SF9日辱103111仙1?13沛打!52fi1?34J75垢63SF9日辱103111仙1?13沛打!52fi1£網1789C52RC單片字節(jié)Flash數(shù)器,一個1圖簫岫CSTC89C52提供了以下標準:佃32個I/O口線,兩個16位定時許行通信口,片內振蕩器及時鐘電路。叫”,并支持兩種軟件的可選的節(jié)電工作模式。空閑方式停止CPU的工作,但允許RAM,定時器、串口通信及中斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM的內容,但振蕩器停止工作并禁止所有部件直到下一個硬件復位。圖3-2為STC89C52的內部結構:PEJ4*11)機管腳圖I速存儲器,128字節(jié)內部PEJ4*11)機管腳圖I速存儲器,128字節(jié)內部RAM,向量中斷結構,一個全雙工串:52可降至0HZ靜態(tài)邏輯操作,SRAM內而統(tǒng)isp盹控程序8KBNLi曲囚存看門狗2KBEPROM

lliataFla^liSTC89C52RC四個g債

并打?端曰

十^JLfcMAXSlO㈡

專用切位電躋單-倍速內而統(tǒng)isp盹控程序8KBNLi曲囚存看門狗2KBEPROM

lliataFla^liSTC89C52RC四個g債

并打?端曰

十^JLfcMAXSlO㈡

專用切位電躋單-倍速和取信速可"ISF"技甄沒置UART(串Q)m個定時卷戲數(shù)荊指勺P40?F十Si四個割送ro端IInriHkbl.OESEifvT2/P<srvi3.P42P4口均可位溥址MQ3氣敏傳感器MQ-3氣體傳感器所使用的氣敏材料是在清潔空氣中電導率較低的二氧化錫(SnO2)。當傳感器所處環(huán)境中存在酒精蒸氣時,傳感器的電導率隨空氣中酒精氣體的濃度增加而增大。使用簡單的電路即可將電導率的變化轉換為與該氣體濃度相對應的輸出信號。MQ-3氣體傳感器對究竟的靈敏度高,可以抵抗汽油、煙霧、水蒸氣的干擾。這種傳感器可檢測多種濃度酒精氣氛,是一款適合多用的低成本傳感器。其實物圖如圖3-3所示:圖3-3MQ-3氣敏傳感器實物圖MQ-3氣體傳感器適用于酒精氣體濃度為0.05mg/L-10mg/L,對乙醇蒸氣有很高的靈敏度,良好的選擇性和快速的響應恢復特性,而且MQ-3酒精傳感器具有壽命長、穩(wěn)定可靠、驅動回路簡單等優(yōu)點。圖3-4為MQ-3酒精傳感器對不同氣體的響應曲線,橫坐標為氣體濃度,縱坐標為元件在不同氣體,不同濃度下的電阻值RS與元件在潔凈空氣中的電阻值R0的比值??梢钥闯鯩Q-3對酒精氣體有良好的選擇性,且當酒精氣體濃度增大傳感器的敏感體電阻在不斷減小,敏感體在電路中的阻抗不斷減小。圖3-4MQ-3酒精傳感器對酒精的選擇性

MQ-3是半導體氣敏傳感器,由微型AL203陶瓷管、SnO2敏感層、測量電路和加熱器構成,傳感器封裝在塑料或不銹鋼的腔體內。有六指引腳,其中四只引腳用于引出信號,兩只用于給加熱器電阻提供電能。圖3-5分別表示MQ-3是半導體氣敏傳感器,由微型AL203陶瓷管、SnO2敏感層、測量電路和加熱器構成,傳感器封裝在塑料或不銹鋼的腔體內。有六指引腳,其中四只引腳用于引出信號,兩只用于給加熱器電阻提供電能。圖3-5分別表示MQ-3傳感器的引腳排布圖、功能引腳圖、使用接線圖。圖3-5MQ-3的外觀與相應的結構形式其靈敏度如表3-1所示。表3-1MQ-3氣敏傳感器靈敏度特性符號參數(shù)名禰技術參數(shù)Rs敏感體電阻1MI1-8MI2a(0,4/1mg/L)策度斜率W0.6標準工作條件溫度:%:5V±0.1相對濕度:65%±5%Vh:5V±0.1預熱時間不少于24小時適用范圍:O.05nngL-lOmgl備注Alcohol傳感器的標準回路有兩部分組成:其一為加熱回路;其二為信號輸出回路,它可以準確反映傳感器表面電阻的變化。傳感器表面電阻RS的變化,通過與其串聯(lián)的負載電阻RL上的有效電壓信號VRL獲得。二者之間的關系為:RS/RL=(VC-VRL)/VRL上述參數(shù)使得傳感器輸出電壓為0-5V,于是MQ-3與ADC0804模數(shù)轉化芯片可直接相連,其電路如圖3-6所示:

vccGNDCSADRDGNDHIVCCRDWRINTRCLKINCLKOUTREF/2vccGNDCSADRDGNDHIVCCRDWRINTRCLKINCLKOUTREF/2DBODB1IN■-DB2DB3DB4AGNDDB5DGNDDBSDB7.WC-DEWCN1&朔。1715 :14加斗13 $E51211b-B720圖3-6MQ-3與ADC0804模數(shù)轉化芯片連接電路圖RS-232串行通信接口計算機與計算機或計算機與終端之間的數(shù)據(jù)傳送可以采用串行通訊和并行通訊二種方式。由于串行通訊方式具有使用線路少、成本低,特別是在遠程傳輸時,避免了多條線路特性的不一致而被廣泛采用。在串行通訊時,要求通訊雙方都采用一個標準接口,使不同的設備可以方便地連接起來進行通訊。RS-232是目前最常用的一種串行通訊接口。它是在1970年由美國電子工業(yè)協(xié)會(EIA)聯(lián)合貝爾系統(tǒng)、調制解調器廠家及計算機終端生產廠家共同制定的用于串行通訊的標準。它的全名是“數(shù)據(jù)終端設備(DTE)和數(shù)據(jù)通訊設備(DCE)之間串行二進制數(shù)據(jù)交換接口技術標準”該標準規(guī)定采用一個25個腳的DB25連接器,對連接器的每個引腳的信號內容加以規(guī)定,還對各種信號的電平加以規(guī)定。接口的信號內容實際上RS-232-C的25條引線中有許多是很少使用的,在計算機通訊中一般只使用3-9條引線。RS-232-C最常用的9條引線的信號。接口的電氣特性在RS-232-C中任何一條信號線的電壓均為負邏輯關系。即:邏輯?!?”,-5?-15V;邏輯“0”+5?+15V。噪聲容限為2V。即要求接收器能識別低至+3V的信號作為邏輯“0”,高到-3V的信號作為邏輯'1”??梢奟S-232-C的電平邏輯與TTL電平正好相反,而STC89C52的電平邏輯采用的是TTL電平,因此單片機要控制RS-232-C串口通信,二者之間需進行電平轉換,本文使用了MAX232芯片來實現(xiàn)此功能。接口的物理結構RS-232接口連接器一般使用型號為DB-25的25芯插頭座,通常插頭在DCE端,插座在DTE端。一些設備與PC機連接的RS-232-C接口,因為不使用對方的傳送控制信號,只需三條接口線,即“發(fā)送數(shù)據(jù)”、“接收數(shù)據(jù)”和“信號地”。所以采用DB-9的9芯插頭座,傳輸線采用屏蔽雙絞線。傳輸電纜長度由RS-232C標準規(guī)定在碼元畸變小于4%的情況下,傳輸電纜長度應為50英尺,其實這個4%的碼元畸變是很保守的,在實際應用中,約有99%的用戶是按碼元畸變10?20%的范圍工作的,所以實際使用中最大距離會遠超過50英尺?;诖耍疚脑O計的RS-232-C串口通信接口電路如圖3-7所示:

串曰vcc串曰vcc采用“雙母頭交叉”串口線圖3-7RS-232-C串口通信接口電路3.3基于STC89C52單片機的下位機程序設計3.3.1酒精濃度采集程序設計從傳感器出來的信號是0-5V的電壓信號,而單片機只能處理數(shù)字信號,所以傳感器與單片機之間需要加A/D轉化才能將傳感器檢測到的酒精濃度信息送給單片機,本文選用的是ADC0804模數(shù)轉換芯片,因為ADC0804模數(shù)轉換需要一段時間,因此需要延時一段時間才能讀取轉換結果。程序流程圖如下圖3-8所示:3.3.2聲光報警程序設計單片機將采集到的電壓信號轉換為對應的血液酒精濃度信息,并與臨界值比較。當酒精濃度在[20,80)mg/mL中時為飲酒駕車,單片機發(fā)出預警,點亮第一個LED燈,代表對飲酒駕車行為的提醒;當酒精濃度大于80mg/mL時為醉酒駕車,第一個燈熄滅,第二個燈亮,模擬為鎖止發(fā)動機,并由蜂鳴器發(fā)出警報。程序流程圖如下圖3-9所示:3.3.3上、下位機進行串口通信的程序設計上、下位機進行串口通信時,由單片通過串口將采集到的酒精濃度信息送至SBUF寄存器,SBUF發(fā)送寄存器按照指定的串口異步通信格式將數(shù)據(jù)一位一位發(fā)送至PC機的串口中,上位機再將數(shù)據(jù)讀取保存;上位機向單片機發(fā)送的的數(shù)據(jù)由單片機的SBUF接收寄存器接收。因此上、下位機的通信格式必須保持一致,主要包括:一位起始位,8位數(shù)據(jù)位,移位停止位,無校驗位,波特率由定時器1的溢出率決定,本文設置溢出率為9600bps。串口收發(fā)數(shù)據(jù)默認情況下收發(fā)的是數(shù)據(jù)的ASCII碼值,所以需根據(jù)需要進行數(shù)據(jù)轉換處理。以C語言為基礎,本文應用Keil軟件編制的串口收發(fā)數(shù)據(jù)程序段如下所示:第四章酒精檢測系統(tǒng)程序設計4.1系統(tǒng)軟件平臺LabVIEW介紹4.1.1LabVIEW概述虛擬儀器(VirtualInstrument)是二十世紀90年代發(fā)展起來的一項新技術。它將計算機與功能化硬件模塊結合,用戶可以通過的圖形界面操作計算機。在虛擬儀器中,圖像和數(shù)據(jù)采集、分析、控制、結果輸出和用戶界面等功能都是由軟件完成,硬件僅僅是為了解決信號的輸入輸出,因為軟件是整個儀器系統(tǒng)的核心,即體現(xiàn)了“軟件即儀器”的思想。虛擬儀器以計算機硬件為平臺,由傳感器、模塊化硬件接口卡以及測量軟件庫構成虛實并存的測量系統(tǒng)。它是計算機硬件資源、儀器測控硬件和用于數(shù)據(jù)分析、過程通訊及圖形用戶界面軟件之間的有效結合,具有傳統(tǒng)儀器所沒有的信號采集、分析和輸出功能。其基本結構包括計算機、虛擬儀器軟件、硬件接口和測控儀器。虛擬儀器系統(tǒng)概念是對傳統(tǒng)儀器概念的重大突破,是計算機系統(tǒng)與儀器系統(tǒng)技術相結合的產物。它利用計算機系統(tǒng)的強大功能,結合相應的硬件,大大突破傳統(tǒng)儀器在數(shù)據(jù)處理、顯示、傳送、處理等方面的限制,使用戶可以方便地對其進行維護、擴展、升級等。虛擬儀器系統(tǒng)可以廣泛地應用在通訊、自動化、半導體、航空、電子、電力、生化制藥、和工業(yè)生產等各種領域。LabVIEW編程特點LabView(LaboratoryVirtualInstrumentEngineeringWorkbench)是-一種用圖標代替文本行創(chuàng)建應用程序的圖形化編程語言。由美國國家儀器(NI)公司研制開發(fā)的,類似于C和BASIC開發(fā)環(huán)境,但是LabVIEW與其他計算機語言的顯著區(qū)別是:其他計算機語言都是采用基于文本的語言產生代碼,而LabView使用的是圖形化編輯語言G編寫程序,產生的程序是框圖的形式。其主要應用于測試,測量和控制領域。LabView的圖形化編程方式,極大的簡化了測量和控制系統(tǒng)的開發(fā)過程,縮短了系統(tǒng)開發(fā)和調試周期,使用LabView編寫程序,簡單的工作很容易完成,特別是和其他的文本編程語言比較更是如此°LabView不但功能強大、靈活方便,而且還具有良好的可讀性、可寫性、可維護性、可重用性和可理解性等。主要特點有:盡可能采用了通用的硬件,各種儀器的差異主要是軟件??沙浞职l(fā)揮計算機的能力,有強大的數(shù)據(jù)處理功能,可以創(chuàng)造出功能更強的儀器??梢愿鶕?jù)自己的需要定義和制造各種儀器。LabVIEW程序的組成一個完整的LabVIEW開發(fā)環(huán)境包括基本模塊和擴展模塊兩部分,引擎部分是整個圖形化開發(fā)環(huán)境的核心,包括編輯模塊、運行模塊和調試模塊。LabVIEW環(huán)境下開發(fā)的程序稱為虛擬儀器VI。程序VI由一個前面板,程序流程圖和一個接口板組成。接口板用于上層的VI調用該VI。4.2NI—VISE簡介LabVIEW提供了功能強大的VISA庫。VISA(VirtualInstrumentSoftwareArchitecture一虛擬儀器軟件構架),是用于儀器編程的標準I/O函數(shù)庫及其相關規(guī)范的總稱。VISA庫駐留于計算機系統(tǒng)中,完成計算機與儀器之間的連接,用以實現(xiàn)對儀器的程序控制,其實質是用于虛擬儀器系統(tǒng)的標準的API。VISA本身不具備編程能力,它是一個高層API,通過調用底層驅動程序來實現(xiàn)對儀器的編程,其層次如圖4.1(a)所示,VISA是采用VPP標準的I/O接口軟件,其軟件結構應包含三部分,如圖4.1(b)所示

VISA應司軟件升發(fā)環(huán)境

應月軟件

儀器驅動程序

而接口軟件VISA4.1(a)VISE內部機制 4.1(b)VISE結構4.1VISE內部機制與結構本文用到的主要串口通訊函數(shù)有:(1)VISE串口配置,如圖4.2所示:duplicateVISAresourcenameerroroutVISAresourcename |i/裁. duplicateVISAresourcenameerroroutbaudrate〔9600)」|7==|Idatabits(S]—parity(0:none) errorin(noerror]stopbits(10:1bit] flowcontrol(0:none) 該節(jié)點主要用于將VISA資源名稱指定的串口按特定設置初始化。使用哪一個多態(tài)實例將由連接至VISA資源名稱輸入端的VISA類決定。主要參數(shù)意義如下:VISA資源名稱:指定要打開的資源。該控件也可指定會話句柄和類。波特率:波特率是傳輸速率。默認值為9600。數(shù)據(jù)比特:數(shù)據(jù)比特是輸入數(shù)據(jù)的位數(shù)。數(shù)據(jù)比特的值介于5和8之間。默認值為8。奇偶:奇偶是指定要傳輸或接收的每一幀所使用的奇偶校驗。奇偶校驗位,默認值為無校驗、偶校驗等。停止位:停止位是指定用于表示幀結束的停止位的數(shù)量。設置停止位,可以為1、1.5、2。(2)VISE讀取,如圖4.3所示:VISAresourcenamebytecount」errorin(noerror)頁的VISAresourcenamebytecount」errorin(noerror)r[^~~~p~readbuffer—returncounterroroutVISARead該節(jié)點為串口讀子VI,為本文中的主要節(jié)點,將串口中的數(shù)據(jù)讀出,然后利用LabVIEW的強大數(shù)據(jù)處理功能對其進行分析處理。主要參數(shù)意義如下:VISA資源名稱:設置串口號,指定要打開的資源。該控件也可指定會話句柄和類。字節(jié)總數(shù):字節(jié)總數(shù)是要讀取的字節(jié)數(shù)量。該節(jié)點用于設置讀取字節(jié)數(shù)。VISA資源名稱輸出:VISA資源名稱輸出是由VISA函數(shù)返回的VISA資源名稱的副本。讀取緩沖區(qū):讀取緩沖區(qū)是指從設備讀取的數(shù)據(jù)。由于LabVIEW的串行通訊子VI只允許對字符串的讀寫,因此本文中在進行數(shù)據(jù)處理時,必須要實現(xiàn)字符串與數(shù)字之間的正確轉換。此外,若要讀入當前串口中的所有字符,則要先執(zhí)行“組串”子VI,用以確定將要讀入的確切的字節(jié)數(shù),然后將其輸出作為VISA讀取節(jié)點的輸入即可。(3)VISE寫入節(jié)點,如圖4.4所示:VISAresourcenamewritebuffererrorin(noerror)VISAresourcenamewritebuffererrorin(noerror)dupVISAresourcenamereturncounterroroutVISAWrite該模塊用于將寫入緩沖區(qū)的數(shù)據(jù)寫入VISA資源名稱指定的設備或接口中。VISA資源名稱:VISA資源名稱用于指定要打開的資源。該控件也可指定會話句柄和類。寫入緩沖區(qū):寫入緩沖區(qū)用于設置要寫入設備的數(shù)據(jù)。返回數(shù):用于輸入實際寫入的字節(jié)數(shù)。(4)VISE串口關閉,該模塊用于對串行端口進行關閉任務操作,如圖4.5所示:VISAresourcename 呻errorin(noerror] I—V%?erroroutVISAClose4.3系統(tǒng)程序設計本文設計的系統(tǒng)程序主要包括以下4方面:串口數(shù)據(jù)傳輸,主要使用了NI—VISE模塊;數(shù)據(jù)處理,主要應用了數(shù)值處理函數(shù)模塊;結果顯示,使用了布爾型LED燈顯示及強大的圖表顯示模塊;數(shù)據(jù)存儲,應用了文件I/O模塊的部分控件。4.3.1串口數(shù)據(jù)傳輸模塊串口數(shù)據(jù)傳輸模塊包括串口寫入和串口讀取,串口寫入用到了VISEWrite函數(shù),用于上位機對下位機酒精濃度閥值的控制,串口讀取用到了VISERead函數(shù),作用是采集下位機通過RS-232-C串口通信傳上來的數(shù)據(jù)。要進行串口操作,首先需要對串口進行初始化配置,配置好之后無需反復更改,因此放在While結構的外面,在VISERead函數(shù)進行串口數(shù)據(jù)讀取之前首先判斷是否需要用VISEWrite向下位機設置酒精濃度閥值,不需要則直接讀取數(shù)據(jù),需要則先寫入數(shù)據(jù),在讀取串口數(shù)據(jù)。串口數(shù)據(jù)傳輸模塊程序流程圖如圖4.6所示:YES是否設置上限...* NO 寫入數(shù)據(jù)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論