一、引言
近一、二十年來,單片機以其體積小、價格低、功能強的優(yōu)點而廣泛應(yīng)用于各種測控系統(tǒng)中。但是單片機系統(tǒng)的輸入信號總是存在著不同形式和程度的噪聲和干擾,這給準(zhǔn)確測控帶來了一定的難度。采用濾波電路是削弱和消除這些干擾信號的方法之一。對于大多數(shù)高頻干擾信號,硬件濾波的方法能起到很好的作用。但對于一些特殊的干擾信號,采用硬件電路濾波則效果不大。其中有一類干擾具有以下形式:干擾的幅值與實際采樣信號的幅值相差不大,甚至大于采樣信號的幅值;干擾只出現(xiàn)在實際信號工作之前或之后,在系統(tǒng)真正工作時并不與采樣信號產(chǎn)生疊加;干擾的作用時間比系統(tǒng)實際所需信號的作用時間小得多(至少相差一個數(shù)量級)。此類干擾不同于一般的高頻干擾,利用硬件方法難以消除。針對這種干擾,我們在設(shè)計生鐵團礦壓力實驗儀中采用了一種軟件方法,來消除它的影響。這種方法借助單片機中的定時/計數(shù)器,對采集到信號的作用時間進行計量、比較,利用干擾信號和實際信號作用時間相差特別大的特征,來區(qū)分干擾信號和實際信號。下面是這種方法的原理和程序編制及其在智能壓力實驗儀上的實際應(yīng)用。
二、原理
在金屬抗拉、抗壓強度和生鐵團礦破碎壓力測量等實驗中,要求實驗儀器能準(zhǔn)確測量出被采樣信號的最大值。由于單片機價格低廉,動作可靠,因此這些實驗儀器常選用單片機進行控制。在理想無干擾的狀態(tài)下,實驗過程中這些被采樣信號的時域曲線有一個共同的特點:在到達最大值之前,曲線呈單調(diào)遞增趨勢,而在最大值之后,信號呈現(xiàn)單調(diào)遞減趨勢,且遞減速率比上升速率大得多。例如,在理想狀態(tài)下45鋼抗拉強度實驗中,試棒所受拉力的時域曲線如圖1所示。但是,在這些實驗中,不可避免地會存在各種形式的干擾。45#鋼在有瞬時干擾情況下拉力時域曲線如圖2所示。干擾的存在給這些實驗儀器的研制帶來了很大的技術(shù)困難。
根據(jù)金屬抗拉、抗壓強度和生鐵團礦破碎壓力在測試過程中時域曲線變化特征,利用89C51單片機中的定時/計數(shù)器,結(jié)合相應(yīng)的的軟件處理,可消除采樣過程中的瞬時干擾,準(zhǔn)確測量出金屬的抗拉、抗壓強度和生鐵團礦破碎時的壓力最大值。
圖1 45#鋼無干擾狀態(tài)拉力時域曲線
圖2 45#鋼在瞬時干擾下的拉力時域曲線
在89C51單片機中有兩個可編程的定時/計數(shù)器―定時/計數(shù)器0與定時/計數(shù)器1(8032/8052還有定時/計數(shù)器2),可由程序選擇作為定時器用或作為計數(shù)器用,定時時間或計數(shù)值由程序設(shè)定。定時/計數(shù)器的核心是一個十六位的加法計數(shù)器,當(dāng)作定時器用時,加法計數(shù)器對內(nèi)部機器周期脈沖計數(shù)。在定時器的工作過程中,加法計數(shù)器的內(nèi)容是可讀回CPU的。借助單片機中定時/計數(shù)器的這些特點來編制消除瞬時干擾的程序。
軟件具體編制方法如下:把定時/計數(shù)器選作定時器用,設(shè)置好工作方式,在程序運行過程中不產(chǎn)生中段請求信號,選擇內(nèi)存中的某一單元(例如R0),在其中設(shè)一初始值(如果初始值大于255,則需要兩個內(nèi)存單元),使得此初始值對應(yīng)的機器周期的時間比干擾信號的作用時間長,而比實際所需采樣信號的作用時間短(由于干擾信號與實際所需信號作用時間存在很大的差異,做到這一點并不困難)。由CPU對A/D輸入信號進行處理,當(dāng)檢測到被采樣信號有上升趨勢時啟動定時器,并將定時器的初值設(shè)為0,在被采樣信號到達最大值時,讀回定時器中十六位計數(shù)器的值,以之與R0初始值比較。若比初始值小,說明采集到的是干擾信號的幅值,應(yīng)該舍去,并給計數(shù)器清零,重新返回采樣;若比初始值大,則可確定此時采集到的為所需的測量值,可以存儲起來或者通過顯示、打印輸出。
由于十六位計數(shù)器最多只能計時216個機器周期,如果系統(tǒng)晶振為12MHz,則其最長計時時間為66.5毫秒,對于作用時間比較長的采樣系統(tǒng)就顯得不夠。由于實際信號作用時間長,當(dāng)采樣到最大值時加法計數(shù)器可能早已溢出,此時我們就不能確定計數(shù)器里的值與R0中所設(shè)初始值的大小了。為了解決這個問題,可對上述程序做些修改,具體如下:將定時器設(shè)為中斷工作方式,定時初值為0,R0中設(shè)初始值A(chǔ),在檢測干擾信號時,由于干擾信號作用時間短,檢測到干擾信號幅值時計數(shù)器中的值小于R0中的初始值A(chǔ);而在檢測實際作用信號時,定時器會產(chǎn)生溢出。定時器溢出時向CPU發(fā)出中斷請求。在中斷程序中給定時器設(shè)立另一初值B,使B》A,中斷返回后計數(shù)器從B開始計數(shù),當(dāng)測試到被測信號的最大值時,加法計數(shù)器中的值一定比初始值A(chǔ)大。因此我們就可以通過比較加法計數(shù)器中的值和R0中的初始值A(chǔ)來區(qū)分干擾信號和實際測量信號。
三、應(yīng)用實例
下面介紹這種設(shè)計思想在生鐵團礦壓力實驗儀中的應(yīng)用。
在高爐煉鐵中,鐵礦粉不能直接加入爐內(nèi)冶煉,而應(yīng)先制成球團,稱為生鐵團礦。為了保證生鐵團礦在運輸和裝爐過程中不至碎裂,必須測出其抗壓強度。團礦壓力實驗儀要求能準(zhǔn)確地測出生鐵團礦的破碎壓力值,并顯示和打印出來。筆者設(shè)計的生鐵團礦壓力實驗儀中單片機采樣和控制系統(tǒng)框圖如圖3所示,該實驗儀的工作過程如下:團礦放置在生鐵團礦壓力實驗儀的托盤上,電機正轉(zhuǎn),托盤上升,球團礦與傳感器接觸并受壓,傳感器壓力信號通過A/D轉(zhuǎn)換后輸入單片機,由單片機通過計算求出最大值。得到最大值后立即停止電機運轉(zhuǎn),顯示、打印破碎壓力值。然后電機反轉(zhuǎn),托盤下降,進行下一次實驗。
圖3 壓力實驗儀單片機系統(tǒng)框圖
在球團礦壓力實驗儀中,存在著電機頻繁地啟動與停止,在電機啟動與停止的瞬時,由于電路中存在能量的突變,產(chǎn)生了嚴(yán)重的電磁干擾,給采樣信號造成很大的影響,從而引起電機的誤動作。但干擾作用時間很短,一般為十幾微秒到幾十微秒,而球團礦從受壓到破碎這一過程一般在10~50ms。此干擾不易為一般的RC濾波器所濾除。筆者使用上述軟件方法,基本上使此干擾得到控制。軟件的程序流程圖如圖4。
圖4 生鐵團礦壓力實驗儀單片機控制程序流程圖
對于采樣信號作用時間長的系統(tǒng),則需要采用定時器的中斷工作方式。主程序的流程圖與圖4很類似,二者只是在定時器的初始化設(shè)置上有些不同。中斷程序的流程圖如圖5所示。
圖5 中斷程序流程圖
四、結(jié)語
本文介紹了一種軟件消除瞬時干擾的的方法。利用瞬時干擾比實際信號工作時間相差很大這個特點,借助單片機內(nèi)部的定時/計數(shù)器,通過編程來實現(xiàn)消除瞬時干擾的目的,思路新穎。利用這種方法,既避免了普通消除干擾方法中繁雜的硬件電路設(shè)計,又充分利用了單片機的內(nèi)部資源。通過實踐應(yīng)用發(fā)現(xiàn),此方法使瞬時干擾得到了很好的控制。
-
單片機
+關(guān)注
關(guān)注
6037文章
44561瀏覽量
635645 -
計數(shù)器
+關(guān)注
關(guān)注
32文章
2256瀏覽量
94613
發(fā)布評論請先 登錄
相關(guān)推薦
評論