基于MSC-51單片機(jī)的智能壓力變送器
摘要:隨著工業(yè)應(yīng)用對(duì)信號(hào)檢測(cè)與傳輸?shù)囊蟛粩嗵岣?,新型智能儀表將在市場(chǎng)中占有越來(lái)越重要的地位。本文在分析壓力變送器基本工作原理的基礎(chǔ)上,針對(duì)新形勢(shì)下的生產(chǎn)要求,設(shè)計(jì)了基于MSC-51單片機(jī)的智能壓力變送器的數(shù)據(jù)采集電路、看門(mén)狗電路以及接口電路。并設(shè)計(jì)了相應(yīng)的數(shù)據(jù)采集算法、通信協(xié)議以及其他軟件功能。
關(guān)鍵詞:單片機(jī);壓力變送器;數(shù)字化智能儀表;數(shù)據(jù)采集電路
1983年,美國(guó)霍尼韋爾公司向制造工業(yè)率先推出了以單片機(jī)為核心的新一代智能型壓力變送器,這標(biāo)志著模擬儀表向數(shù)字化智能儀表的轉(zhuǎn)變。如今,高性能單片機(jī)的推出以及通訊、微電子等相關(guān)行業(yè)的興起,使得單片機(jī)測(cè)控儀表技術(shù)邁上了新的臺(tái)階,并廣泛地應(yīng)用到工業(yè)生產(chǎn)、科學(xué)研究、民用電氣和電站運(yùn)行監(jiān)控儀表等各個(gè)領(lǐng)域。智能化儀表所具有的測(cè)量過(guò)程自動(dòng)化、對(duì)測(cè)量結(jié)果的數(shù)據(jù)處理以及功能上的多樣化是傳統(tǒng)模擬式儀表無(wú)法比擬的優(yōu)勢(shì)。
一套完整的智能化測(cè)量控制儀表的組成可包括單片機(jī)、A/D、D/A轉(zhuǎn)換接口,鍵盤(pán)輸入接口,顯示器與打印機(jī)輸出接口以及通信接口和片外擴(kuò)展存儲(chǔ)器幾個(gè)部分。其中單片機(jī)是智能化測(cè)量控制儀表的核心,是整套儀表的“心臟”,其性能直接決定了整套系統(tǒng)的功能。
1 基于MSC-51單片機(jī)的智能壓力變送器
壓力變送器是工業(yè)過(guò)程中重要的基礎(chǔ)自動(dòng)化設(shè)備之一,主要完成壓力信號(hào)的測(cè)量和變換處理。智能式壓力變送器是由壓力傳感器和微處理器相結(jié)構(gòu)而成的。由于微處理器具有各種軟件和硬件功能,因而它可以完成傳統(tǒng)變送器難以完成的任務(wù)。所以智能式變送器降低了傳感器的制造難度,并在很大程主上提高了傳感器的性能。智能壓力變送器工作原理如圖1所示。
2 硬件電路設(shè)計(jì)
智能壓力變送器的硬件電路主要包括數(shù)據(jù)采集電路設(shè)計(jì)、看門(mén)狗電路設(shè)計(jì)、總線(xiàn)接口及外設(shè)接口電路設(shè)計(jì)等部分,其構(gòu)成如圖2所示。
2.1 數(shù)據(jù)采集電路
數(shù)據(jù)采集電路由1B31,18位A/D轉(zhuǎn)換器AD1170以及單片機(jī)共同構(gòu)成,結(jié)構(gòu)如圖3所示。將一只滿(mǎn)量程輸出電壓為10 mV的壓力變送器接到1B31上,設(shè)定1B31的增益為500倍,輸出電壓范圍就是0~5 V。激勵(lì)電壓設(shè)定為+5 V,為了能進(jìn)行比率運(yùn)算,這個(gè)電壓還作為AD1170的基準(zhǔn)電壓,通過(guò)初始化ECAL命令可將該電壓作為AD1170的滿(mǎn)量程輸入電壓,再通過(guò)周期性校準(zhǔn)使A/D轉(zhuǎn)換器能跟隨基準(zhǔn)電壓的變化,具有比率輸出特性。由于采用了低通濾波和A/D轉(zhuǎn)換技術(shù),因此該系統(tǒng)具有很高的共模抑制比。
2.2 復(fù)位及運(yùn)行監(jiān)視電路
工業(yè)環(huán)境中的干擾大多是以窄脈沖的形式出現(xiàn),而最終導(dǎo)致程序“跑飛”或進(jìn)入“死循環(huán)”。為使這種“跑飛”的程序自動(dòng)恢復(fù),重新正常工作,一種有效的辦法是采用硬件“看門(mén)狗”(Watchdog Timer)技術(shù)。應(yīng)用看門(mén)狗后,若程序發(fā)生“死機(jī)”,則看門(mén)狗產(chǎn)生復(fù)位信號(hào),引導(dǎo)單片機(jī)程序重新進(jìn)入正常運(yùn)行。由于MCS-51單片機(jī)內(nèi)部沒(méi)有集成獨(dú)立的監(jiān)視定時(shí)器,也就是看門(mén)狗,所以必須外接監(jiān)視電路以提高系統(tǒng)的可靠性??撮T(mén)狗電路可采用專(zhuān)用集成電路芯片MAX813L,如圖4所示。MAX813L集成了看門(mén)狗與電壓監(jiān)控功能,并具有單獨(dú)的人工復(fù)位功能,其引腳排列如圖5所示。
2.3 總線(xiàn)接口電路設(shè)計(jì)
該部分電路為通信協(xié)議物理層硬件設(shè)計(jì)。其中光電隔離部分采用高光速電耦合器6N137,以適應(yīng)高速串行數(shù)據(jù)通信要求,提高通信電路的抗干擾能力;接口部分采用ADM487芯片,這是一種RS-485接口芯片,如圖6所示。該芯片在傳輸率為250kpbs的情況下可傳輸?shù)淖钸h(yuǎn)距離為1.5KM,可完成TTL電平與RS-485電平之間的轉(zhuǎn)換。采用RS-485標(biāo)準(zhǔn)是因?yàn)镽S-485是現(xiàn)在流行的一種布網(wǎng)方式,其特點(diǎn)是實(shí)施簡(jiǎn)單方便,在很長(zhǎng)一段時(shí)間內(nèi)RS-485還將是最主要的組網(wǎng)方式。
2.4 V/I變換電路設(shè)計(jì)
該部分電路主要由多通道模擬開(kāi)關(guān),采樣保持器及放大電路組成,具有多路轉(zhuǎn)換,采樣保持以及V/I變換功能。由于對(duì)輸出電壓等比放大較為困難,故先將數(shù)字電壓信號(hào)經(jīng)過(guò)DAC接口,再經(jīng)過(guò)V/I變換,轉(zhuǎn)換為電流量,為后續(xù)處理提供方便。V/I變換采用負(fù)載共源方案,如圖7所示。
2.5 外設(shè)接口電路設(shè)計(jì)
外設(shè)接口電路主要包括顯示屏、鍵盤(pán)、打印機(jī)等輸入輸出設(shè)備的電路設(shè)計(jì),可根據(jù)總線(xiàn)接口的排布以及用戶(hù)的需求靈活設(shè)計(jì)。
3 軟件電路設(shè)計(jì)
智能壓力變送器的軟件部分采用MCS-51匯編語(yǔ)言、模塊化程序設(shè)計(jì)方法,主要有監(jiān)控程序模塊、信號(hào)調(diào)節(jié)模塊、數(shù)據(jù)采集與處理模塊、信號(hào)輸出模塊、通信模塊、鍵盤(pán)掃描模塊等。
3.1 程序監(jiān)控模塊
該系統(tǒng)中,監(jiān)控程序是控制單片機(jī)系統(tǒng)按預(yù)定操作方式運(yùn)轉(zhuǎn)的程序,是全部系統(tǒng)程序的基礎(chǔ)框架,如圖8所示。其主要任務(wù)是完成系統(tǒng)自檢、初始化、處理接口命令、處理?xiàng)l件觸發(fā)并完成顯示功能。在監(jiān)控程序中,為及時(shí)響應(yīng)其他儀器的通信要求,應(yīng)將通信功能的優(yōu)先級(jí)置為最高,以下依次為定時(shí)采集數(shù)據(jù)、數(shù)據(jù)輸出等??傮w而言,監(jiān)控程序采用優(yōu)先調(diào)度型工作模式,即遵循優(yōu)先級(jí)運(yùn)行。
3.2 數(shù)據(jù)采集模塊
在數(shù)據(jù)采集方面,該系統(tǒng)利用單片機(jī)強(qiáng)大的數(shù)據(jù)處理能力,對(duì)數(shù)據(jù)采集的過(guò)程進(jìn)行優(yōu)化,以確保數(shù)據(jù)的可靠性。
1)采用限幅濾波法消除較大脈沖的干擾,具體是對(duì)已濾波的采樣結(jié)果Yn-1……Y1作如下處理:
其中,a為相鄰兩個(gè)采樣值的最大允許增量,其具體數(shù)值由Y的變化速率及采樣周期確定。準(zhǔn)確的估計(jì)這兩個(gè)參數(shù)以確定a值是本算法的關(guān)鍵。
2)采用自動(dòng)校準(zhǔn)算法穩(wěn)定傳感器的線(xiàn)性度。自動(dòng)校準(zhǔn)主要解決的是斜率問(wèn)題??煞譃橛布绞交蜍浖绞?,考慮到被測(cè)對(duì)象是壓力這一特點(diǎn),本系統(tǒng)采用軟件方式實(shí)現(xiàn)。通過(guò)雙字節(jié)乘/除子程序來(lái)計(jì)算系數(shù)K。由于不同的傳感器的壓力與轉(zhuǎn)換電壓關(guān)系有一定的分散性,對(duì)于實(shí)測(cè)值為X,標(biāo)準(zhǔn)值為Y,的系統(tǒng),設(shè)系數(shù)為K。則K=1-Y/X,校準(zhǔn)值=X-K*X。
3)采用自校正算法消除零點(diǎn)漂移的影響,以保證數(shù)據(jù)的準(zhǔn)確性。設(shè)總的A/D轉(zhuǎn)換輸出為N,對(duì)應(yīng)t1、t2、t3時(shí)刻的漂移電壓為Vos1、Vos2、Vos3,按下式處理:
4)為更好消除脈沖干擾的影響,系統(tǒng)采用去極值平均濾波法,即連續(xù)采樣7次,累加求和的同時(shí)找出最大值和最小值,并從累加和中減去這兩個(gè)結(jié)果,最終按5個(gè)采樣值求得平均值作為最終的有效值。
3.3 抗干擾軟件模塊
為防止程序的跑飛,除了在硬件上接入看門(mén)狗外接電路以監(jiān)控程序運(yùn)行,也應(yīng)該同時(shí)在軟件設(shè)計(jì)時(shí)加入一些抗干擾功能??梢圆捎萌哂嘀噶睢④浖葳?、以及看門(mén)狗喂狗程序?qū)崿F(xiàn)程序的自監(jiān)控、自復(fù)位,提高程序整體的穩(wěn)定性。
1)冗余指令法
該方法可以使程序在跑飛時(shí),在執(zhí)行單字節(jié)的指令后自動(dòng)納入正軌。因此應(yīng)多用單字節(jié)的指令,在可以決定程序流向的重要指令前加兩條NOP指令,形成指令冗余,例如:
NOP
NOP
LJMP(RET/JZ/JNZ/LCALL等指令均可)DELAY;延時(shí)子程序
2)軟件陷阱
當(dāng)程序位于非程序區(qū)(空閑EPROM段,表格段等)時(shí),冗余指令法將失去作用,此時(shí)可以構(gòu)建一個(gè)軟件陷阱,將跑飛的程序引導(dǎo)到一個(gè)指定位置,并設(shè)定專(zhuān)門(mén)的處理程序來(lái)解決。
NOP
NOP
LJMP ERR1: 1號(hào)錯(cuò)誤處理程序入口
4 結(jié)束語(yǔ)
在分析壓力變送器基本工作原理的基礎(chǔ)上,設(shè)計(jì)了一種基于MSC-51單片機(jī)的智能壓力變送器。它充分利用了微處理器的運(yùn)算和存儲(chǔ)能力,可對(duì)傳感器的數(shù)據(jù)進(jìn)行處理,包括對(duì)測(cè)量信號(hào)的調(diào)理、數(shù)據(jù)顯示、自動(dòng)校正和自動(dòng)補(bǔ)償。設(shè)計(jì)了包括基于1831.18位A/D轉(zhuǎn)換器AD1170的數(shù)據(jù)采集電路、基于MAX813L的看門(mén)狗電路以及基于ADM487的RS-485總線(xiàn)接口電路,并給出相應(yīng)的軟件設(shè)計(jì)思路,詳盡的采樣算法和抗干擾模塊指令。
評(píng)論