《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于AT89S51的液位控制系統(tǒng)
基于AT89S51的液位控制系統(tǒng)
微計(jì)算機(jī)信息
于力革 高美鳳
摘要: 本文討論了一種以AT89C51為核心研制的液位控制系統(tǒng),該系統(tǒng)不僅能對(duì)液位進(jìn)行巡回檢測(cè)、顯示和報(bào)警,同時(shí)也能對(duì)液位進(jìn)行智能控制。
關(guān)鍵詞: 51單片機(jī) AT89S51 液位控制
Abstract:
Key words :

0 前言

  液位是許多工業(yè)生產(chǎn)中的重要參數(shù)之一,在化工、冶金、醫(yī)藥、航空等領(lǐng)域里,對(duì)液位的測(cè)量和控制效果直接影響到產(chǎn)品的質(zhì)量。由于單片微型計(jì)算機(jī)具有體積小,耗電少,控制精度高,運(yùn)行可靠等的特點(diǎn),所以廣泛應(yīng)用于生產(chǎn)實(shí)際中。本文討論了一種以AT89C51為核心研制的液位控制系統(tǒng),該系統(tǒng)不僅能對(duì)液位進(jìn)行巡回檢測(cè)、顯示和報(bào)警,同時(shí)也能對(duì)液位進(jìn)行智能控制。

1
系統(tǒng)硬件設(shè)計(jì)
  系統(tǒng)硬件組成框圖如圖1所示。主要由AT89S51、輸入電路組成和輸出電路組成。


       圖1 系統(tǒng)硬件組成框圖

1.1 微機(jī)系統(tǒng)

  系統(tǒng)的核心部分是一片AT89S51微處理器。這是一種與MCS –51系列芯片兼容,帶有4KB閃速可擦除只讀存儲(chǔ)器的低功耗、高性能CMOS結(jié)構(gòu)的8位微處理器。它除正常工作外還可工作于低功耗的閑置和掉電模式,進(jìn)一步減少了芯片的功耗。其內(nèi)部除了配有4K的FLASH,還具有128字節(jié)的RAM、2個(gè)16位定時(shí)器/計(jì)數(shù)器,5個(gè)兩級(jí)中斷源結(jié)構(gòu),32位并行輸入/輸出口和一個(gè)全雙工的串行口,看門狗定時(shí)電路等。由于AT89C51集FLASH、RAM、I/O、串行口于一體,所以只須配置少量的外圍電路,就能構(gòu)成液位智能控制系統(tǒng),整個(gè)系統(tǒng)的結(jié)構(gòu)十分緊湊。這種緊湊的結(jié)構(gòu),有助于降低功耗、提高系統(tǒng)的可靠性。

1.2 鍵盤、顯示和報(bào)警部分

  P1.0 ~ P1.5作為鍵盤的接口,連接一個(gè)2×4的鍵盤。分別實(shí)現(xiàn)液位上、下限顯示、液位上、下限的設(shè)定等功能。顯示器由4位LED組成,用于實(shí)時(shí)顯示各個(gè)液位的高度,以及顯示液位的上、下限值。

  報(bào)警功能是當(dāng)液位的高度超出設(shè)定值范圍時(shí),進(jìn)行聲、光報(bào)警。

1.3 數(shù)據(jù)采集和輸出控制部分

  數(shù)據(jù)采集部分由液位變送器、放大電路和A/D轉(zhuǎn)換器組成。液位變送器的輸出為4 ~ 20mA的電流信號(hào),經(jīng)過(guò)轉(zhuǎn)換放大電路轉(zhuǎn)換成A/D0809所能接收0 ~ 5V電壓信號(hào)。在AT89C51單片機(jī)的控制下,實(shí)時(shí)采集液位數(shù)據(jù),并對(duì)數(shù)據(jù)進(jìn)行處理。

  輸出控制部分根據(jù)PID算法所的結(jié)果,通過(guò)步進(jìn)電機(jī)對(duì)流量閥進(jìn)行控制,實(shí)現(xiàn)液位控制的目的。

2
軟件設(shè)計(jì)
  系統(tǒng)軟件主要由主程序、采樣程序和PID算法程序和一些子程序組成。
2.1 主程序

  主程序的流程圖如圖2所示。


   圖2 主程序流程圖

  主程序的主要功能是完成AT89C51的初始化,設(shè)置液位的上限和下限,顯示實(shí)時(shí)液位值,鍵掃描等工作。

2.2 采樣和數(shù)據(jù)處理模塊

  本系統(tǒng)利用定時(shí)循環(huán)輪流對(duì)8個(gè)液位進(jìn)行實(shí)時(shí)采樣,對(duì)實(shí)時(shí)數(shù)據(jù)進(jìn)行數(shù)據(jù)處理,并采用PID控制方案。

  由于本系統(tǒng)的執(zhí)行機(jī)構(gòu)是步進(jìn)電機(jī),所以我們采用了增量式PID控制。根據(jù)遞增原理可得



  根據(jù)以上推導(dǎo),得到增量式PID控制算法的程序流程圖如圖3所示。

圖3 增量式PID控制算法的流程圖

2.3其他功能

  用戶可以通過(guò)鍵盤設(shè)定液位的上限值和下限值,以及在任意時(shí)候顯示液位的上下限值。當(dāng)液位的高度超出或低于設(shè)定值時(shí),進(jìn)行聲光報(bào)警,以提醒操作人員進(jìn)行及時(shí)的處理。

3 抗干擾對(duì)策

3.1硬件抗干擾設(shè)計(jì)

  系統(tǒng)電源是一個(gè)重要部件,又是與外部電網(wǎng)直接聯(lián)系的部分,為了防止從電源系統(tǒng)引入干擾信號(hào),在電源輸入端設(shè)置低通濾波器,濾去高次諧波成份。另外還采用了AT89S51中的看門狗定時(shí)器,以進(jìn)一步提高系統(tǒng)硬件抗干擾的能力。

3.2軟件抗干擾設(shè)計(jì)

  在程序設(shè)計(jì)時(shí),將各程序模塊分區(qū)存放,彼此之間空出一些存儲(chǔ)單元,在這些單元中填充FF(RST指令)。同時(shí)對(duì)程序中重要的跳轉(zhuǎn)和調(diào)用子程序指令前均加入三個(gè)NOP指令,以保證程序流向的正確性,因?yàn)镻C只要錯(cuò)一個(gè)數(shù)碼,那么整段程序就會(huì)面目全非,從而造成檢測(cè)系統(tǒng)的混亂。

  利用滑動(dòng)平均濾波法求取平均值。將最近6次采樣得到的液位值,去除最大值和最小值,剩下的4個(gè)數(shù)據(jù)求算術(shù)平均值。

4 結(jié)束

  該液位智能控制系統(tǒng)采用了單片機(jī)作為主控制器,結(jié)構(gòu)簡(jiǎn)單,可靠性高,抗干擾性強(qiáng),由于應(yīng)用了PID控制方案,系統(tǒng)的響應(yīng)速度快,超調(diào)量小,系統(tǒng)穩(wěn)定性好,具有一定的實(shí)用價(jià)值。

參考文獻(xiàn)
1 AT89S51手冊(cè),http://www.atmel.com
2 劉金昆,先進(jìn)PID控制及其MATLAB仿真,北京,電子工業(yè)出版社,2003
3 周航慈,單片機(jī)應(yīng)用程序設(shè)計(jì)技術(shù),北京,北京航空航天大學(xué)出版社,1991

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。