摘 要: 以ATmega128單片機在鋼水液位監(jiān)控系統(tǒng)的信號處理子系統(tǒng)為例,詳細介紹了系統(tǒng)對模擬量、數(shù)字量以及開關(guān)量的采集與處理過程,用LCD顯示模塊顯示數(shù)據(jù)和狀態(tài)的方法說明了一些為節(jié)省單片機引腳資源而采取的設(shè)計技巧,通過軟件與硬件的結(jié)合,使信號的處理效果達到設(shè)計要求。
關(guān)鍵詞: ATmega128;單片機;信號處理
在鋼鐵冶金的連鑄生產(chǎn)過程中,維持結(jié)晶器中鋼水液位的基本穩(wěn)定對產(chǎn)品質(zhì)量有著舉足輕重的作用。鋼水液位高度的波動太大會使結(jié)晶器中的保護渣等夾雜物帶入鋼水中,不僅影響鑄坯的質(zhì)量,嚴(yán)重時甚至?xí)?dǎo)致鋼水溢出等重大生產(chǎn)事故的發(fā)生。為了提高鋼坯的產(chǎn)品質(zhì)量,避免生產(chǎn)事故,降低操作工人的勞動強度,提高生產(chǎn)自動化水平,就必須有一套高精度的鋼水液位控制系統(tǒng),使結(jié)晶器中鋼水液位高度波動范圍控制在5 mm以內(nèi)。
結(jié)晶器的鋼水液位控制系統(tǒng)由三個子系統(tǒng)構(gòu)成:(1)信號檢測與放大子系統(tǒng);(2)信號處理子系統(tǒng);(3)PLC及執(zhí)行機構(gòu)控制子系統(tǒng)。其中(1)、(3)兩個子系統(tǒng)的功能相對單一。信號檢測與放大子系統(tǒng)的主要功能是通過電渦流傳感器及其高精度放大器把鋼水液位高度轉(zhuǎn)換成相應(yīng)的電壓信號,通過溫度傳感器將溫度轉(zhuǎn)換成相應(yīng)的電流信號;PLC及執(zhí)行機構(gòu)控制子系統(tǒng)的主要功能是與信號處理子系統(tǒng)通信,發(fā)出開澆命令,接收其應(yīng)答信號,在開澆過程中根據(jù)信號處理子系統(tǒng)的輸出電流大小,通過PLC和執(zhí)行機構(gòu)控制中間包的塞棒開啟度,從而控制注入結(jié)晶器的鋼水流量,使結(jié)晶器的液位高度波動范圍小于5 mm。
系統(tǒng)的核心部分是信號處理子系統(tǒng),其結(jié)構(gòu)框圖如圖1所示。
1 信號處理子系統(tǒng)的硬件設(shè)計
信號處理子系統(tǒng)是以ATmega128單片機為核心的嵌入式系統(tǒng)。系統(tǒng)中的輸入/輸出信號包括:用來實現(xiàn)開澆聯(lián)絡(luò)的1對開關(guān)量——開澆與應(yīng)答;2路通過A/D轉(zhuǎn)換實現(xiàn)的模擬量輸入——液位電壓和溫度電流;3路通過D/A轉(zhuǎn)換實現(xiàn)的模擬量(圖1中只畫出2路)輸出——液位電流、溫度電流及mV補償。輸入/輸出設(shè)備包括:1個帶觸摸屏、分辨率為320×240的LCD顯示模塊;4個按鍵的鍵盤;4個用來指示狀態(tài)的發(fā)光二級管;還有1個用來發(fā)音報警的蜂鳴器。其主要模塊設(shè)計方案介紹如下。
1.1 單片機
單片機采用Atmel公司生產(chǎn)的8 bit、增強型AVR單片機ATmega128L,其引腳數(shù)為64個,I/O端口有53個,片內(nèi)有128 KB的Flash、4 KB的SRAM和4 KB的E2PROM,還有兩個8 bit的定時器和兩個16 bit的計時器;具有8路10 bit A/D轉(zhuǎn)換器。片內(nèi)資源比較豐富,性能可滿足本子系統(tǒng)使用要求。
1.2 鍵盤
為了節(jié)省引腳資源,本系統(tǒng)沒有采用獨立按鍵方式,而是利用一路片內(nèi)A/D轉(zhuǎn)換來實現(xiàn)4個按鍵的識別。通過不同按鍵按下后串聯(lián)接到+5 V的使分壓電阻輸出電壓的不同來識別不同的按鍵。4個按鍵的操作分別對應(yīng)為運行(Run)、調(diào)整(Adj)、線性化(Line)、設(shè)置(Set)4個功能。其中,“運行”是指系統(tǒng)的正常運行;“調(diào)整”是指在開澆之前,把系統(tǒng)調(diào)整到一個初始狀態(tài),具體操作是在液位高度為150 mm時,通過對前級放大子系統(tǒng)及信號處理子系統(tǒng)的mV補償,使液位電壓值為4.96 V;“線性化”是在0~150 mm的范圍內(nèi),通過傳感器配合設(shè)定16組不同液位與電壓的數(shù)據(jù);“設(shè)置”是對線性化數(shù)據(jù)輸入的確認(rèn)。
1.3 模數(shù)轉(zhuǎn)換(A/D)
雖然單片機片內(nèi)有10 bit的A/D轉(zhuǎn)換器,但由于現(xiàn)場對模塊量的采集精度要求較高,所以本系統(tǒng)采用了12 bit A/D轉(zhuǎn)換器LTC1291來實現(xiàn)液位模擬量的采集[1]。這是一種具有兩個通道的12 bit串位ADC芯片,由于輸入的液位電壓范圍是0~6 V,所以供電電壓設(shè)為6 V。轉(zhuǎn)換后的數(shù)值量以串行方式提供給單片機,作為毫伏補償輸入和相應(yīng)液位電流輸出的依據(jù)。
1.4 數(shù)模轉(zhuǎn)換(D/A)
本系統(tǒng)的D/A有3路,一路是為了調(diào)整初值而對前級放大輸出的毫伏補償,另兩路是為了輸出與液位高度(0~150 mm)、傳感器溫度(0~100 ℃)對應(yīng)的電流4 mA~20 mA。
(1)毫伏補償
輸出毫伏補償電路如圖2所示,其目的是在開澆前,通過補償將液位高度與對應(yīng)的輸出電壓調(diào)整到一個確定的對應(yīng)值,比如在液位高度為150 mm時,使前級放大板的輸出電壓為4.96 V,若高于此值,則進行負補償,低于此值,則進行正補償,所以補償?shù)暮练凳强烧韶摰?,D/A轉(zhuǎn)換器采用雙12 bit分辨率的LTC1446[2],輸出運算放大器LT1077的供電電壓為±5 V。補償是有限制的,其輸入數(shù)值范圍為0~±150,每個數(shù)值對應(yīng)的輸出模擬量大小可通過電位器RS1調(diào)整。
(2)液位電流輸出
實現(xiàn)將液位高度轉(zhuǎn)換成4 mA~20 mA電流輸出的電路先由12 bit D/A轉(zhuǎn)換器LTC1451[3]將液位高度的數(shù)值量轉(zhuǎn)換成模擬量電壓,然后由AD694輸出相應(yīng)的電流。LTC1451是一種12 bit分辨率串行D/A轉(zhuǎn)換器,從Din輸入的數(shù)字量是A/D轉(zhuǎn)換器采集的液位電壓,從Vout端輸出的是相應(yīng)的模擬電壓,通過電流輸出模塊AD694轉(zhuǎn)換成模擬量電流4 mA~20 mA,從其Iout端輸出。
1.5 LCD顯示屏
LCD顯示屏采用的是分辨率為320×240、帶觸摸屏的LCD模塊,顯示的主要內(nèi)容為系統(tǒng)運行界面、工作調(diào)整界面、補償界面和線性化界面及相關(guān)參數(shù)。
(1)系統(tǒng)運行界面
系統(tǒng)起動或按“Run”按鍵進入系統(tǒng)運行界面,如圖3所示。顯示內(nèi)容包括3個部分:其一是輸入量、輸出量和狀態(tài)量的顯示;其中輸入量有:液位、電壓和溫度;輸出量有:液位電流、溫度電流和補償值;狀態(tài)值有:超溫(沒有超溫不顯示)、開澆/停澆、正常/異常。其二是以20像素/s的速度動態(tài)繪制反映液位波動情況的實時曲線。其三是通過觸摸屏實現(xiàn)6個按鍵,其功能如下: