《電子技術(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è)全雙工的串行口,看門(mén)狗定時(shí)電路等,。由于AT89C51集FLASH,、RAM、I/O,、串行口于一體,,所以只須配置少量的外圍電路,就能構(gòu)成液位智能控制系統(tǒng),,整個(gè)系統(tǒng)的結(jié)構(gòu)十分緊湊,。這種緊湊的結(jié)構(gòu),有助于降低功耗,、提高系統(tǒng)的可靠性,。

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

  P1.0 ~ P1.5作為鍵盤(pán)的接口,,連接一個(gè)2×4的鍵盤(pán),。分別實(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其他功能

  用戶(hù)可以通過(guò)鍵盤(pán)設(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中的看門(mén)狗定時(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)載。