摘 要:工業(yè)現(xiàn)場有大量的模擬信號或脈沖頻率信號需要測量顯示,市場上現(xiàn)有的數(shù)顯表功能單一,校正困難,抗干擾差,難以顯示真實(shí)工程量值。介紹一種用于工業(yè)現(xiàn)場信號測量的數(shù)顯表,該表以AT89S51單片機(jī)為核心,采用的模擬信號測量技術(shù)和脈沖信號測量技術(shù),可以精確測量模擬信號或頻率信號,通過給單片機(jī)設(shè)定不同的參數(shù),對所測量的模擬信號或脈沖信號進(jìn)行換算,從而顯示現(xiàn)場的工程量值。該數(shù)顯表一表多用,可廣泛應(yīng)用于液位、流量、溫度、壓力、速度等的測量顯示。
關(guān)鍵詞:現(xiàn)場信號;數(shù)顯表;單片機(jī);脈沖
中圖分類號:TP368.1 文獻(xiàn)標(biāo)識碼:B 文章編號:1004373X(2008)1603603
Research and Design of Digital Display Instrument Based on AT89S51
HUANG Jianbing,NING Duo
(Electrical & Information Engineering College,Shaanxi University of Science & Technology,Xi′an,710021,China)
Abstract:A new data display instrument which is applied to measure and display signals in industry field is proposed to settle the shortcomings of traditional instruments such as function singleness,modification difficulty and low antidisturbance.The instrument can set different parameters according to microcomputer AT89S51,which can transform or calculate the measured analog signals and pulse signals so as to display the real signal value.It can be widely applied to the measurement and display of fluid position,flux,temperature,pressure and velocity.
Keywords:real signal;data display instrument single chip microcomputer;pulse
1 引 言
對于工業(yè)現(xiàn)場的儀表信號,不外乎模擬信號和脈沖信號(智能儀表采用通訊方式)。對模擬信號的測量,現(xiàn)在市場上有三位半或四位半數(shù)顯表,但這些數(shù)顯表大多沒有參數(shù)校正功能,只能通過電位器調(diào)整,信號顯示不夠精確;對于脈沖信號的測量,現(xiàn)在市場上的數(shù)顯表明顯不足是功能單一:轉(zhuǎn)速表只能顯示轉(zhuǎn)速、計(jì)數(shù)表只能計(jì)數(shù)、計(jì)長表只能計(jì)長等。市場缺乏一種即能夠測量模擬信號又能夠測量脈沖信號而且精確顯示的數(shù)顯表,從而解決現(xiàn)場信號的測量顯示問題。
以AT89S51作為主處理器的單片機(jī)系統(tǒng)可以精確測量模擬信號和脈沖信號,并且可以通過軟件的方法,對采集的數(shù)據(jù)進(jìn)行濾波,16進(jìn)制→工程值轉(zhuǎn)換。數(shù)顯表就是利用51單片機(jī)系統(tǒng)的這一優(yōu)點(diǎn)而在其基礎(chǔ)上研制的,下面就所數(shù)顯表采用的模擬信號測量技術(shù),脈沖信號測量技術(shù)以及它的硬件和軟件加以介紹。
2 模擬信號的測量
在工程實(shí)際中,溫度、壓力、液位、流量等模擬量信號經(jīng)過變送器,轉(zhuǎn)換為4~20 mA,0~20 mA,1~5 V,0~10 V等標(biāo)準(zhǔn)信號,送到儀表測量顯示。電信號經(jīng)過硬件濾波后接到A/D轉(zhuǎn)換器上進(jìn)行模擬量到數(shù)字量的轉(zhuǎn)換。A/D轉(zhuǎn)換后的信號是二進(jìn)制數(shù)字量,數(shù)字量的精度與A/D的轉(zhuǎn)換位數(shù)相關(guān),如8位的A/D轉(zhuǎn)換完的數(shù)值范圍即為0~255,16位的A/D轉(zhuǎn)換完的數(shù)值范圍即為0~65 535。之后再由軟件對A/D轉(zhuǎn)換后的數(shù)據(jù)進(jìn)行濾波和預(yù)處理,再經(jīng)工程量程轉(zhuǎn)換計(jì)算,轉(zhuǎn)換為實(shí)際的工程量值進(jìn)行顯示。
2.1 數(shù)字濾波
所謂數(shù)字濾波就是用數(shù)學(xué)方法通過數(shù)學(xué)運(yùn)算對輸入信號(包括數(shù)據(jù))進(jìn)行處理的一種濾波方法。即通過一定的計(jì)算方法,減少噪聲干擾在有用信號中的比重,使得送往單片機(jī)的信號盡可能是所要求的信號。由于這種方法是靠程序編制來實(shí)現(xiàn)的,因此,數(shù)字濾波的實(shí)質(zhì)是軟件濾波。軟件濾波方法很多,這里使用了遞推平均濾波法。
遞推平均濾波法(又稱滑動(dòng)平均濾波法),是把連續(xù)取N個(gè)采樣值看成一個(gè)隊(duì)列,隊(duì)列的長度固定為N。每次采樣到一個(gè)新數(shù)據(jù)放入隊(duì)尾,并扔掉原來隊(duì)首的一個(gè)數(shù)據(jù)(先進(jìn)先出原則),把隊(duì)列中的N個(gè)數(shù)據(jù)進(jìn)行算術(shù)平均運(yùn)算,就可獲得新的濾波結(jié)果。y(n)=1N∑N-1i=0y(n-i)式中,y(n)為第N次采樣的N項(xiàng)遞推平均值;y(n-i)為依次向前遞推i項(xiàng)的采樣值。
2.2 數(shù)據(jù)的預(yù)處理
對A/D轉(zhuǎn)換后的數(shù)據(jù)經(jīng)濾波處理,還需要經(jīng)過工程量的轉(zhuǎn)化,變成顯示需要的數(shù)據(jù)。數(shù)顯表所使用的數(shù)據(jù)預(yù)處理主要是16進(jìn)制→工程單位變換。16進(jìn)制→工程單位變換主要是線性變換。線性變換按照工程上下限和測量的16進(jìn)制數(shù)的上下限由系統(tǒng)自動(dòng)實(shí)現(xiàn)。線性變換如圖1所示。
圖1 線性變換示意圖其表達(dá)式為:y = y1+ y2 -y1.x2 -x1 (x-x1 )式中,x1 為信號下限(電壓值);x2 為信號上限(電壓值);y1 為測量下限;y2 為測量上限;x為單片機(jī)測量的16進(jìn)制數(shù);y為轉(zhuǎn)換后的工程值。
3 脈沖信號的測量
現(xiàn)場儀表傳送過來的脈沖信號,其脈沖頻率包含有所測的信息,要將這些信息顯示出來,就要測量這些脈沖的頻率,加以不同參數(shù)的修正,計(jì)算顯示希望顯示的內(nèi)容。
對脈沖頻率信號的測量,有T法、M法和MT法,這里采用MT法。對于脈沖信號經(jīng)整形電路74LS14處理以后,可得到整齊的方波信號。MT法測量的原理就是即數(shù)脈沖信號個(gè)數(shù)M1,又測量M1 個(gè)脈沖的時(shí)間。如圖2所示。
圖2 MT法測量原理計(jì)算表達(dá)式為:Fs=M1*Fp/M2 式中,F(xiàn)p為定時(shí)脈沖頻率;Fs為待測脈沖頻率。
4 系統(tǒng)硬件電路結(jié)構(gòu)及工作原理。
系統(tǒng)采用MCS51系列的單片機(jī)AT89S51做微處理器,A/D轉(zhuǎn)換器采用具有I.2C總線接口的16位精度(其中最高位是符號位)的ADS1110,其I.2C總線地址為#90H。以E.2PROMAT24C16作為存儲器,其管腳A0,A1,A2接地, I.2C總線地址為#A0H,具有5位數(shù)碼管顯示,4個(gè)參數(shù)設(shè)定用的按鍵,外形最大尺寸48 mm×95 mm×130 mm,具有體積小、重量輕、安裝調(diào)試方便,安全可靠等優(yōu)點(diǎn)。其電路結(jié)構(gòu)如圖3所示。
圖3 硬件電路原理圖對現(xiàn)場模擬信號,由于ADS1110只能接受的0~2.048 V電壓信號,信號要經(jīng)過運(yùn)算放大電路調(diào)理,再由ADS1110作A/D轉(zhuǎn)換。單片機(jī)通過I.2C總線讀取轉(zhuǎn)換結(jié)果,雖然AT89S51單片機(jī)沒有I.2C總線接口,但可以使用普通接口,通過軟件模擬的辦法實(shí)現(xiàn)51單片機(jī)和I.2C總線器件的連接。采集的數(shù)據(jù)經(jīng)數(shù)字濾波、16進(jìn)制→工程值轉(zhuǎn)換后,送LED顯示器顯示,段選信號由單片機(jī)的P0口輸出,經(jīng)驅(qū)動(dòng)器2003驅(qū)動(dòng)顯示器的段選信號,位選信號由單片機(jī)的P2.0~P2.4口輸出,經(jīng)驅(qū)動(dòng)器2003驅(qū)動(dòng)顯示器的位選信號,按鍵信號的公共端接在單片機(jī)的P2.5口,由軟件判斷按鍵是否按下以及是哪個(gè)按下。按鍵設(shè)定的各種參數(shù)存儲在具有掉電保護(hù)功能的AT24C16中,單片機(jī)通過I.2C總線對其進(jìn)行讀寫。
由外界輸入表頭的脈沖信號經(jīng)過光電隔離器隔離,集成電路74LS14信號處理后,輸入單片機(jī)AT89S51的中斷0口,經(jīng)單片機(jī)測量計(jì)算后,送數(shù)碼管顯示。
5 軟件結(jié)構(gòu)及流程
在硬件電路確定的情況下,數(shù)顯表的功能通過軟件實(shí)現(xiàn)。表頭的軟件設(shè)計(jì)是在程序初始化后,根據(jù)P鍵是否按下來判斷是設(shè)置參數(shù)還是只直接測量。因?yàn)閰?shù)在設(shè)置好后不能隨意更改,在設(shè)置參數(shù)時(shí)加上口令,口令通過方可修改參數(shù),參數(shù)設(shè)置都通過上升、下降兩鍵來完成,連續(xù)按住上升或下降,數(shù)字設(shè)置越來越快,設(shè)置方便。每一個(gè)參數(shù)都有相應(yīng)代碼,該表現(xiàn)共有8個(gè)參數(shù)可設(shè),其中CD01數(shù)顯表功能代碼,用以選擇測量模擬信號還是脈沖信號,為“1”表示模擬信號,為“2”表示脈沖信號,為“3”表示脈沖信號長度計(jì)量;CD02為16進(jìn)制數(shù)最小值,如果是模擬量則表示A/D轉(zhuǎn)換后
的最小值,如果是脈沖信號則表示所測量信號的最低頻率,如圖1中的X1所示;CD03為16進(jìn)制數(shù)最大值,如圖1中的X2所示;CD04表示需要顯示的工程量的最小值,如圖1中的Y1所示;CD05表示需要顯示的工程量的最大值如圖1中的Y2所示;CD06為小數(shù)點(diǎn)顯示位置,需要在第幾位顯示則設(shè)定為幾就可以;CD07為死區(qū)范圍設(shè)定,此值一般為0,如果現(xiàn)場信號干擾較大,可適當(dāng)增加,但這會影響到數(shù)顯表對小信號的測量;CD08表示長度計(jì)量時(shí)每個(gè)脈沖所代表的長度。數(shù)顯表根據(jù)需要選用這些參數(shù),例如:溫度測量,變送器信號為4~20 mA,溫度值為0~1 000 ℃,數(shù)顯表需要設(shè)定的參數(shù)如下:
CD01:設(shè)定為1,表示測量模擬信號;
CD02:設(shè)定為6 553,表示4 mA信號A/D結(jié)果;
CD03:設(shè)定為32768,表示20 mA信號A/D結(jié)果;
CD04:設(shè)定為0,表示最低溫度;
CD05:設(shè)定為1 000,表示最高溫度;
CD06:設(shè)定為4,表示小數(shù)點(diǎn)在第四位顯示;
CD07:設(shè)定為0,根據(jù)現(xiàn)場情況設(shè)定。
根據(jù)這幾個(gè)參數(shù),根據(jù)輸入的模擬信號,數(shù)顯表顯示0.0~1 000.0 ℃的溫度值。再例如線速度測量,編碼器脈沖頻率信號范圍為0~12.5 kHz,對因線速度為0~500 M/min,參數(shù)設(shè)定如下:
CD01:設(shè)定為2,表示測量脈沖信號;
CD02:設(shè)定為00;
CD03:設(shè)定為12 500;
CD04:設(shè)定為0,表示最低速度;
CD05:設(shè)定為500,表示最高速度;
CD06:設(shè)定為3,表示小數(shù)點(diǎn)在第四位顯示。
表頭其他顯示功能根據(jù)需要設(shè)定參數(shù),表頭自身可以計(jì)算顯示,這里不再詳述。表頭軟件流程如圖4所示。
6 結(jié) 語
該數(shù)顯表的硬件使用的是成熟電路,現(xiàn)已有少量投入工業(yè)現(xiàn)場使用,其工作性能穩(wěn)定。在功能上,通過軟件設(shè)計(jì)和參數(shù)設(shè)置,不但能測量顯示溫度、壓力、流量、液位等,還可以測量顯示頻率、轉(zhuǎn)速、線速度、計(jì)數(shù)、計(jì)長等,真正實(shí)現(xiàn)了一表多用,從而解決了現(xiàn)場模擬信號和脈沖信號的測量顯示問題。
圖4 軟件流程圖
參 考 文 獻(xiàn)
[1]黃建兵.串行A/D轉(zhuǎn)換器ADS1110及其在AT89C51單片機(jī)中的應(yīng)用[J].國外電子元器件,2008(2):6064.
[2]黃建兵.XQⅢ型車速/轉(zhuǎn)速顯表的研制[J].西北輕工業(yè)學(xué)院學(xué)報(bào),2000(3):810.
[3]徐淑華.單片微型機(jī)原理及應(yīng)用[M].黑龍江:哈爾濱工業(yè)大學(xué)出版社,1994.
[4]何立民.單片機(jī)高級教程[M].北京:北京航空航天大學(xué)出版社,2000.
[5]劉翠玲.集散控制系統(tǒng)[M].北京:北京大學(xué)出版社,2007.
[6]吳瑋,胡必春.I.2C總線驅(qū)動(dòng)在嵌入式系統(tǒng)中的兩種實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2007,30(12):5658.
[7]田俊英.基于51單片機(jī)的溫室測試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2007,30(10):1517.
[8]劉紅玲.實(shí)用微機(jī)接口技術(shù)[M].北京:中國電力出版社,2003.
[9]ADS1110:16 B AnalogtoDigital Converter with Onboard Reference.Texas Instruments USA\\.http://www.21icsearch.com/so.asp.
[10]石宗義.I.2C總線時(shí)序分析及其模擬[J].太原理工大學(xué)學(xué)報(bào),2004(1):5356.
[11]郝迎吉,王洪波.智能多路信號源的設(shè)計(jì)與實(shí)現(xiàn)\\.國外電子元器件,2007(5):35.
作者簡介 黃建兵 男,1973年出生,陜西岐山人,在讀碩士研究生,講師。研究方向?yàn)殡娏﹄娮优c電力傳動(dòng)。
注:本文中所涉及到的圖表、注解、公式等內(nèi)容請以PDF格式閱讀原文