摘 要:介紹了一種基于單片機的溫度監測系統的設計與實現。該系統中以貯液容器溫度為被控參數,蒸汽流量為控制參數,輸入貯液容器冷物料的初溫為前饋控制,構成前饋-反饋控制系統。
關鍵詞:單片機;溫度監測;AT89C51
中圖分類號:TP34文獻標識碼:A文章編號:1672-3198(2008)06-0354-02
0 前言
溫度測控在工業領域具有廣泛的應用,隨著傳感器技術、微電子技術、單片機技術的不斷發展,為智能溫度測控系統測控功能的完善、測控精度的提高和抗干擾能力的增強等提供了條件.由于單片機具有集成度高、功能強、體積小、價格低、抗干擾能力等優于一般CPU的優點,因此,在要求較高控制精度和較低成本的工業測控系統中,往往采用單片機作為數字控制器取代模擬控制器。
本文針對貯液容器溫度控制設計了以單片機為主機的自動控制系統。該系統中以貯液容器溫度為被控參數,蒸汽流量為控制參數,輸入貯液容器冷物料的初溫為前饋控制,構成前饋-反饋控制系統。發揮前饋控制和反饋控制的各自優勢,將可測而不可控的干擾由前饋控制克服,其他干擾由反饋控制克服,從而達到控制貯液容器溫度,滿足工藝要求的目的。
1 硬件電路的設計
系統的結構框如圖1所示。選單片機AT89C51為主機,配以兩路傳感變送器、多路開關、A/D轉換器、D/A轉換器、V/I轉換器、調節閥等實現對貯液容器溫度的自動控制,同時還設有報警電路、鍵盤和顯示電路。
圖1 系統結構圖
1.1 主機及其外圍電路的設計
1.1.1 主機的設計
本系統選用單片機AT89C51為主機,其內部有4 k的FLASH工藝的程序存儲器,256字節的數據存儲器以及32個I/O口。其P0口用作數據線;P1口與報警電路和看門狗電路相連;P2口用作地址線;P3口用作讀、寫控制和中斷控制以及多路開關的控制。
1.1.2 鍵盤、顯示電路
由于主機的I/O口不夠用,所以鍵盤和顯示電路與主機之間的接口需要外擴,在此采用8155芯片作為系統的I/O口擴展,鍵盤接成3×4結構,顯示器選用4位LED顯示器,以實現其相應功能。
1.1.3 報警電路
當貯液容器溫度的測量值超出給定的上下限時,置P1.0=1,給出聲光報警;當超出上限值時,P1.1=0,表明溫度過高,進行減小蒸氣流量處理;當超出下限值時,P1.2=0,表明溫度過低,進行增大蒸氣流量處理。
1.1.4 看門狗電路
采用MAX813L芯片作看門狗的定時計數器,其功能是實現上電瞬時掉電自動復位以及程序跑飛時的自動復位,并且可以時時監視電源故障,以便及時保存數據。
1.2 前向通道的設計
采用JUMU90系列的溫度傳感變送器,其輸入范圍為:0~500℃,輸出為4~20 mA(DC),測量精度為0.5%.選用10位逐次逼近式A/D轉換芯片AD571,接收到有效的CONVERT命令后,內部的逐次逼近寄存器從最高位開始順次經電流輸出的DAC在比較器上與模擬量經5 kΩ電阻所產生的電流相比較。檢測完所有位后,SAR中包含轉換后的10位二進制碼。轉換完成后,SAR發出DR信號(低電平有效),單片機查詢到DR=0時,便使其打開三態緩沖器輸出數據。
1.3 后向通道的設計
1.3.1 D/A轉換器的設計
為了滿足系統的精度要求,選用10位的D/A轉換器DAC1020.由于其內部不帶有鎖存器,所以必須通過I/O口才能與AT89C51單片機連接,又由于AT89C51的字長是8位的,一次操作只能傳輸8位數據,因此AT89C51必須進行兩次操作才能把一個完整的10位數據送到DAC1020.為了使10位數據能夠同時送入DAC1020,避免輸出電壓波形出現毛刺現象,故必須采用雙緩沖器方式。AT89C51先把高2位數據輸出到74LS74(1),接著把低8位數據輸出到74LS377,與此同時74LS377的片選信號也作為74LS74(2)的時鐘脈沖,把74LS74(1)的內容打入74LS74(2)中,從而使一個完整的數據同時到達DAC1020的數據輸入端,這樣就消除了DAC輸出端的毛刺現象。
1.3.2 執行器及調理電路的設計
系統中選用的是ZMAN16BG,ZG1Cr18Ni9Ti,1Cr18Ni9,2Cr13型號的對數流量特性的調節閥。閥的輸入信號為氣信號,而D/A轉換器的輸出為0~5 V的電壓信號,所以在D/A轉換器和調節閥之間要加一個V/I轉換器和一個電氣閥門定位器,將0~5 V的電壓信號先轉換成4~20 mA的電流信號后,再將4~20 mA的電流信號轉換成0.02~0.1MPa的氣信號。使調節閥接收氣信號而工作。
2 軟件設計
為了便于分析,系統軟件采用了結構化模塊程序設計,主要有系統主程序、看門狗中斷服務程序、鍵盤掃描子程序、顯示子程序、報警子程序、A/D轉換子程序、D/A轉換子程序、PID數據處理子程序、BCD碼轉換子程序。主程序開始后,先對單片機AT89C51和8155芯片進行初始化,接下來是開中斷,調用鍵盤掃描子程序,選通多路模擬開關的1號通道,將采集的數據送入A/D轉換器轉換后傳入單片機。若溫度越限就報警處理,否則直接處理后送顯示,再選通多路模擬開關的2號通道,將采集的數據送入A/D轉換器轉換后送入單片機進行總的運算處理,輸出給D/A轉換器變成模擬信號去改變調節閥的開度。
3 總結
本系統不僅實現了對貯液容器溫度的自動控制,還具有通過鍵盤實現對設定值的修改,對所測參數進行超限判斷,并給出聲光報警的功能,同時具有顯示當前溫度值的功能。系統采用前饋-反饋控制方案,對冷物料的初溫波動這一主要干擾能及時有效地克服,幾乎不影響溫度。優越于單純的反饋控制方案,保證了系統的控制精度,達到了較先進的設計水平,理論上能夠廣泛地應用于工業中的相關領域。
參考文獻
[1]范風強等.單片機語言C51應用實戰集錦[M].北京:電子工業出版社,2005.
[2] 吳金戍,沈慶陽,郭庭吉.8051單片機實踐與應用[M].北京:清華大學出版社,2002.
[3] 楊振江,杜鐵軍,李群.流行單片機實用子程序及應用實例[M].西安:西安電子科技大學出版社,2002.