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