基于單片機(jī)的發(fā)動(dòng)機(jī)尾氣參數(shù)采集系統(tǒng)的設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要:通過利用STC89C52RC單片機(jī)與12位串行控制AD轉(zhuǎn)換器TLC2543,單片K型熱電偶放大器與數(shù)字轉(zhuǎn)換器MAX6675、壓力傳感器VESX-100組成柴油車尾氣參數(shù)采集系統(tǒng),此系統(tǒng)主要用于對(duì)發(fā)動(dòng)機(jī)運(yùn)行時(shí)的工況檢測(cè),參數(shù)采集時(shí)通過串口線與上位機(jī)相連接,上住機(jī)通過VB6.O將采集到的數(shù)據(jù)進(jìn)行實(shí)時(shí)顯示,并進(jìn)行保存。此設(shè)計(jì)具有良好的應(yīng)用價(jià)值。
關(guān)鍵詞:STC89C52RC;TLC2543;MAX6675;溫度采集;VB6.O
0 引言
為滿足日趨嚴(yán)厲的排放法規(guī),在車輛出廠或檢測(cè)時(shí)需要對(duì)其發(fā)動(dòng)機(jī)進(jìn)行尾氣溫度、壓力等參數(shù)進(jìn)行檢測(cè),尾氣參數(shù)也是反應(yīng)發(fā)動(dòng)機(jī)是否正常運(yùn)行的一個(gè)重要指標(biāo),所以對(duì)柴油機(jī)車定期進(jìn)行尾氣溫度的檢測(cè)是非常必要的。本文開發(fā)了一套數(shù)據(jù)采集系統(tǒng)自動(dòng)完成對(duì)尾氣參數(shù)的采集與存儲(chǔ),對(duì)發(fā)動(dòng)機(jī)尾氣溫度、壓力參數(shù)進(jìn)行采集、存儲(chǔ),由于性能以及所使用柴油品質(zhì)的不同,不同型號(hào)的柴油機(jī)排氣溫度也不盡相同,所以我們采用在上位機(jī)存儲(chǔ)不同型號(hào)柴油發(fā)動(dòng)機(jī)正常運(yùn)行時(shí)的尾氣溫度參數(shù),實(shí)時(shí)采集到的溫度與存儲(chǔ)溫度進(jìn)行比較,當(dāng)有較大的差別時(shí),就需要對(duì)發(fā)動(dòng)機(jī)進(jìn)行性能的檢修。
1 系統(tǒng)設(shè)計(jì)
本系統(tǒng)由上位機(jī)和下位機(jī)兩部分組成,下位機(jī)進(jìn)行尾氣溫度、壓力的實(shí)時(shí)采集,并把采集到的數(shù)據(jù)傳送至上位機(jī),上位機(jī)采用Visual Basic6.O進(jìn)行編程,對(duì)下位機(jī)傳送的溫度數(shù)據(jù)進(jìn)行顯示,繪制溫度曲線,并和上位機(jī)內(nèi)存儲(chǔ)的柴油機(jī)車正常運(yùn)行溫度進(jìn)行比較,觀察者可以根據(jù)兩條曲線的不同判斷發(fā)動(dòng)機(jī)是否正常運(yùn)行。圖1為本系統(tǒng)的原理圖,具有冷端補(bǔ)償?shù)膯纹琄型熱電偶放大器與數(shù)字轉(zhuǎn)換器MAX6675進(jìn)行溫度采集,VESX-100型壓力傳感器采用三線制,10~32 V供電,輸出信號(hào)為l~5 V,可以直接和AD轉(zhuǎn)換器件連接,單片機(jī)對(duì)A/D轉(zhuǎn)換后的數(shù)字量進(jìn)行處理,傳送到上位機(jī)。
2 下位機(jī)設(shè)計(jì)
2.1 下位機(jī)硬件設(shè)計(jì)
為了準(zhǔn)確測(cè)量壓力,公交車尾氣參數(shù)采集實(shí)驗(yàn)中選用了線性度較高的壓力傳感器VESX-100,VESX-lOO型壓力傳感器采用三線制,10~32 V供電,輸出信號(hào)為l~5 V,可以直接和AD轉(zhuǎn)換器件連接。為了對(duì)溫度進(jìn)行準(zhǔn)確測(cè)量,本試驗(yàn)采用的溫度傳感器是直徑為1 mm的高靈敏度K型熱電偶。在選定傳感器以后,利用STC89C52RC單片機(jī)與12位串行控制AD轉(zhuǎn)換器TLC2543,單片K型熱電偶放大器與數(shù)字轉(zhuǎn)換器MAX6675,512 kbit串行EEPROM存儲(chǔ)器AT24C512和MAX232組成柴油車尾氣溫度數(shù)據(jù)采集系統(tǒng)。本系統(tǒng)選用的STC89C52RC單片機(jī)是STC系列單片機(jī)中的一款,STC單片機(jī)具有較強(qiáng)的抗干擾能力,功耗低,適合在比較惡劣的場(chǎng)合下使用。TLC2543是內(nèi)部帶采樣保持的12位串行控制AD轉(zhuǎn)換器,在設(shè)計(jì)中利用TLC2543不僅能夠節(jié)省單片機(jī)的I/O資源,而且價(jià)格適中,分辨率較高。MAX6675是一復(fù)雜的單片K型熱電偶數(shù)字轉(zhuǎn)換器,內(nèi)部具有信號(hào)調(diào)節(jié)放大器、12位的模擬/數(shù)字化熱電偶轉(zhuǎn)換器、冷端補(bǔ)償傳感和校正、數(shù)字控制器、1個(gè)SPI兼容接口和1個(gè)相關(guān)的邏輯控制。單片機(jī)可將MAX-6675測(cè)得的K型熱電偶的溫度值讀出,本實(shí)驗(yàn)采用MAX6675可以省掉復(fù)雜的線性化電路處理,并且具有較高的溫度轉(zhuǎn)換精度,AT24C512是Atmel公司生產(chǎn)的64 kbyte串行電可擦除的可編程程序存儲(chǔ)器,數(shù)據(jù)掉電不丟失,適用于具有大容量數(shù)據(jù)存儲(chǔ)要求的數(shù)據(jù)采集系統(tǒng),本實(shí)驗(yàn)就采用AT24C512作為存儲(chǔ)器。PC機(jī)幾乎都具有RS-232-C接口,因此,單片機(jī)通過RS-232-C口與PC機(jī)通信最方便,本實(shí)驗(yàn)采用MAX232實(shí)現(xiàn)邏輯電平與RS-232-C電平的相互轉(zhuǎn)換。
下位機(jī)電路如圖2所示。
2.2 下位機(jī)軟件設(shè)計(jì)
下位機(jī)軟件使用匯編語(yǔ)言編寫,程序主要部分如下:
3 上位機(jī)
Visual Basic 6.O是一種功能強(qiáng)大、簡(jiǎn)單易學(xué)的程序設(shè)計(jì)語(yǔ)言。它不但保留了原先Basic語(yǔ)言的全部功能,而且還增加了面向?qū)ο蟪绦蛟O(shè)計(jì)功能。它不僅可以方便快捷地編制適用于數(shù)據(jù)處理、多媒體等方面的程序,而且利用ActiveX控件MSComm還能十分方便地開發(fā)出使用計(jì)算機(jī)串口的計(jì)算機(jī)通信程序。本文正是利用了VB的MSComm控件實(shí)現(xiàn)了與下位機(jī)的串口通信,實(shí)現(xiàn)了對(duì)下位機(jī)采集到的壓力和溫度數(shù)據(jù)的讀取。具體的操作流程為,聲明一個(gè)動(dòng)態(tài)數(shù)組,MSComm控件的Input屬性直接指定給GetByte數(shù)組中,接下來(lái)的LBound和UBound兩個(gè)函數(shù)的目的是取得GetByte數(shù)組的最小索引值和最大索引值,有了最大和最小索引值,就可以使用程序的自定方式將內(nèi)容轉(zhuǎn)出來(lái)進(jìn)行其他的運(yùn)算,如此完成接受二進(jìn)制數(shù)據(jù)的程序。接受到的數(shù)據(jù)按一定的順序存入C盤根目錄下文件名為PT.txt的文本中,完成數(shù)據(jù)的保存工作。上位機(jī)軟件流程如圖4所示。
上位機(jī)部分程序如下:
4 結(jié)論
基于STC89C52RC單片機(jī)的發(fā)動(dòng)機(jī)尾氣參數(shù)采集系統(tǒng)可以成功地運(yùn)用于發(fā)動(dòng)機(jī)尾氣參數(shù)的檢測(cè)試驗(yàn)中,此系統(tǒng)成本低,運(yùn)行可靠,具有良好的應(yīng)用價(jià)值。