<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于AT89S51的液位控制系統(tǒng)

          基于AT89S51的液位控制系統(tǒng)

          作者: 時(shí)間:2012-01-31 來源:網(wǎng)絡(luò) 收藏

          0 前言

          是許多工業(yè)生產(chǎn)中的重要參數(shù)之一,在化工、冶金、醫(yī)藥、航空等領(lǐng)域里,對的測量和控制效果直接影響到產(chǎn)品的質(zhì)量。由于單片微型計(jì)算機(jī)具有體積小,耗電少,控制精度高,運(yùn)行可靠等的特點(diǎn),所以廣泛應(yīng)用于生產(chǎn)實(shí)際中。本文討論了一種以AT89C51為核心研制的控制系統(tǒng),該系統(tǒng)不僅能對液位進(jìn)行巡回檢測、顯示和報(bào)警,同時(shí)也能對液位進(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閃速可擦除只讀存儲器的低功耗、高性能CMOS結(jié)構(gòu)的8位。它除正常工作外還可工作于低功耗的閑置和掉電模式,進(jìn)一步減少了芯片的功耗。其內(nèi)部除了配有4K的FLASH,還具有128字節(jié)的RAM、2個(gè)16位定時(shí)器/計(jì)數(shù)器,5個(gè)兩級中斷源結(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的電流信號,經(jīng)過轉(zhuǎn)換放大電路轉(zhuǎn)換成A/D0809所能接收0 ~ 5V電壓信號。在AT89C51單片機(jī)的控制下,實(shí)時(shí)采集液位數(shù)據(jù),并對數(shù)據(jù)進(jìn)行處理。

          輸出控制部分根據(jù)PID算法所的結(jié)果,通過步進(jìn)電機(jī)對流量閥進(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)輪流對8個(gè)液位進(jìn)行實(shí)時(shí)采樣,對實(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其他功能

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

          3 抗干擾對策

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

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

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

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

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

          4 結(jié)束

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

          參考文獻(xiàn)

          1 AT89S51手冊,http://www.atmel.com

          2 劉金昆,先進(jìn)PID控制及其MATLAB仿真,北京,電子工業(yè)出版社,2003

          3 周航慈,單片機(jī)應(yīng)用程序設(shè)計(jì)技術(shù),北京,北京航空航天大學(xué)出版社,1991



          關(guān)鍵詞: 液位 微處理器 智能控制

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();