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





