液位是許多工業(yè)生產(chǎn)中的重要參數之一,在化工、冶金、醫藥、航空等領(lǐng)域里,對液位的測量和控制效果直接影響到產(chǎn)品的質(zhì)量。由于單片微型計算機具有體積小,耗電少,控制精度高,運行可靠等的特點(diǎn),所以廣泛應用于生產(chǎn)實(shí)際中。本文討論了一種以AT89C51為核心研制的液位控制系統,該系統不僅能對液位進(jìn)行巡回檢測、顯示和報警,同時(shí)也能對液位進(jìn)行智能控制。 1 系統硬件設計 系統硬件組成框圖如圖1所示。主要由AT89S51、輸入電路組成和輸出電路組成。 圖1 系統硬件組成框圖 1.1 微機系統 系統的核心部分是一片AT89S51微處理器。這是一種與MCS –51系列芯片兼容,帶有4KB閃速可擦除只讀存儲器的低功耗、高性能CMOS結構的8位微處理器。它除正常工作外還可工作于低功耗的閑置和掉電模式,進(jìn)一步減少了芯片的功耗。其內部除了配有4K的FLASH,還具有128字節的RAM、2個(gè)16位定時(shí)器/計數器,5個(gè)兩級中斷源結構,32位并行輸入/輸出口和一個(gè)全雙工的串行口,看門(mén)狗定時(shí)電路等。由于A(yíng)T89C51集FLASH、RAM、I/O、串行口于一體,所以只須配置少量的外圍電路,就能構成液位智能控制系統,整個(gè)系統的結構十分緊湊。這種緊湊的結構,有助于降低功耗、提高系統的可靠性。 1.2 鍵盤(pán)、顯示和報警部分 P1.0 " P1.5作為鍵盤(pán)的接口,連接一個(gè)2×4的鍵盤(pán)。分別實(shí)現液位上、下限顯示、液位上、下限的設定等功能。顯示器由4位LED組成,用于實(shí)時(shí)顯示各個(gè)液位的高度,以及顯示液位的上、下限值。 報警功能是當液位的高度超出設定值范圍時(shí),進(jìn)行聲、光報警。 1.3 數據采集和輸出控制部分 數據采集部分由液位變送器、放大電路和A/D轉換器組成。液位變送器的輸出為4 " 20mA的電流信號,經(jīng)過(guò)轉換放大電路轉換成A/D0809所能接收0 " 5V電壓信號。在A(yíng)T89C51單片機的控制下,實(shí)時(shí)采集液位數據,并對數據進(jìn)行處理。 輸出控制部分根據PID算法所的結果,通過(guò)步進(jìn)電機對流量閥進(jìn)行控制,實(shí)現液位控制的目的。 2 軟件設計 系統軟件主要由主程序、采樣程序和PID算法程序和一些子程序組成。 2.1 主程序 主程序的流程圖如圖2所示。 圖2 主程序流程圖 主程序的主要功能是完成AT89C51的初始化,設置液位的上限和下限,顯示實(shí)時(shí)液位值,鍵掃描等工作。 2.2 采樣和數據處理模塊 本系統利用定時(shí)循環(huán)輪流對8個(gè)液位進(jìn)行實(shí)時(shí)采樣,對實(shí)時(shí)數據進(jìn)行數據處理,并采用PID控制方案。 由于本系統的執行機構是步進(jìn)電機,所以我們采用了增量式PID控制。根據遞增原理可得 根據以上推導,得到增量式PID控制算法的程序流程圖如圖3所示。 圖3 增量式PID控制算法的流程圖 2.3其他功能 用戶(hù)可以通過(guò)鍵盤(pán)設定液位的上限值和下限值,以及在任意時(shí)候顯示液位的上下限值。當液位的高度超出或低于設定值時(shí),進(jìn)行聲光報警,以提醒操作人員進(jìn)行及時(shí)的處理。 3 抗干擾對策 3.1硬件抗干擾設計 系統電源是一個(gè)重要部件,又是與外部電網(wǎng)直接聯(lián)系的部分,為了防止從電源系統引入干擾信號,在電源輸入端設置低通濾波器,濾去高次諧波成份。另外還采用了AT89S51中的看門(mén)狗定時(shí)器,以進(jìn)一步提高系統硬件抗干擾的能力。 3.2軟件抗干擾設計 在程序設計時(shí),將各程序模塊分區存放,彼此之間空出一些存儲單元,在這些單元中填充FF(RST指令)。同時(shí)對程序中重要的跳轉和調用子程序指令前均加入三個(gè)NOP指令,以保證程序流向的正確性,因為PC只要錯一個(gè)數碼,那么整段程序就會(huì )面目全非,從而造成檢測系統的混亂。 利用滑動(dòng)平均濾波法求取平均值。將最近6次采樣得到的液位值,去除最大值和最小值,剩下的4個(gè)數據求算術(shù)平均值。 4 結束 該液位智能控制系統采用了單片機作為主控制器,結構簡(jiǎn)單,可靠性高,抗干擾性強,由于應用了PID控制方案,系統的響應速度快,超調量小,系統穩定性好,具有一定的實(shí)用價(jià)值。 |