基于單片機(jī)得PID控制器設(shè)計(jì)_第1頁(yè)
基于單片機(jī)得PID控制器設(shè)計(jì)_第2頁(yè)
基于單片機(jī)得PID控制器設(shè)計(jì)_第3頁(yè)
基于單片機(jī)得PID控制器設(shè)計(jì)_第4頁(yè)
基于單片機(jī)得PID控制器設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩42頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、 基于單片機(jī)的PID控制器設(shè)計(jì)摘 要工業(yè)控制器作為過程控制系統(tǒng)的核心,在現(xiàn)代工業(yè)過程控制中起著至關(guān)重要的作用。PID控制是迄今為止最為通用的控制方法,是經(jīng)典控制理論在實(shí)際控制系統(tǒng)中的典型應(yīng)用。作為最早發(fā)展起來的控制策略之一,PID控制算法簡(jiǎn)單、魯棒性好、可靠性高已經(jīng)被廣泛應(yīng)用于工業(yè)過程控制。本文敘述了現(xiàn)在幾種成熟的PID控制算法,對(duì)PID控制器的設(shè)計(jì)進(jìn)行了研究,包括對(duì)控制器的硬件選型和軟件設(shè)計(jì),對(duì)合適的硬件給予詳細(xì)的介紹,對(duì)程序的運(yùn)行給出詳細(xì)的程序流程圖。PID控制器的核心選用了ATMEL公司的AT89C51單片機(jī),通過合適的外接硬件來完成模擬數(shù)據(jù)量的采集處理,數(shù)據(jù)的模數(shù)數(shù)模轉(zhuǎn)換,液晶顯示,按

2、鍵輸入等功能。關(guān)鍵字:?jiǎn)纹瑱C(jī),PID算法,控制器The design of SCM PID controllerAbstractIndustrial controller as the core of process control system in modern industrial process control plays a vital role. PID control is by far the most common diabolic method, is classical control theory in practical control system of a typ

3、ical application. As the earliest one of the control strategy developed, PID control algorithm is simple and good robustness and high reliability. it was been widely used in industrial process control.This paper describes the now several mature PID control algorithm, the design of PID controller is

4、studied. Including controller hardware selection and software design of suitable hardware, to the detailed introduction of program running give detailed flow chart. The core of the PID controller choosing the AT89C51 of ATMEL company, through the appropriate external hardware to complete simulation

5、amount of data acquisition and processing, data module analog-to-digital conversion, LED display, keystroke function etc.Key words: Microcomputer, PID algorithm, controller 目錄 TOC o 1-3 h z u HYPERLINK l _Toc295920382 摘要 PAGEREF _Toc295920382 h I HYPERLINK l _Toc295920383 Abstract PAGEREF _Toc295920

6、383 h II HYPERLINK l _Toc295920384 第1章緒論 PAGEREF _Toc295920384 h 1 HYPERLINK l _Toc295920385 1.1 本課題的研究背景和意義 PAGEREF _Toc295920385 h 1 HYPERLINK l _Toc295920386 1.2 PID控制器的研究現(xiàn)狀 PAGEREF _Toc295920386 h 2 HYPERLINK l _Toc295920387 1.2.1國(guó)內(nèi)研究動(dòng)態(tài) PAGEREF _Toc295920387 h 3 HYPERLINK l _Toc295920388 1.2.2 國(guó)

7、外研究動(dòng)態(tài) PAGEREF _Toc295920388 h 3 HYPERLINK l _Toc295920389 1.3 本論文的主要研究?jī)?nèi)容 PAGEREF _Toc295920389 h 4 HYPERLINK l _Toc295920390 1.4 本章小結(jié) PAGEREF _Toc295920390 h 4 HYPERLINK l _Toc295920391 第2章 PID控制器原理及簡(jiǎn)介 PAGEREF _Toc295920391 h 5 HYPERLINK l _Toc295920392 2.1 PID控制器的簡(jiǎn)單介紹 PAGEREF _Toc295920392 h 5 HYPE

8、RLINK l _Toc295920393 2.2完整的基于單片機(jī)的PID控制器的基本構(gòu)成 PAGEREF _Toc295920393 h 6 HYPERLINK l _Toc295920394 2.3 本章小結(jié) PAGEREF _Toc295920394 h 7 HYPERLINK l _Toc295920395 第3章給予單片機(jī)的PID控制器的硬件設(shè)計(jì) PAGEREF _Toc295920395 h 8 HYPERLINK l _Toc295920396 3.1 鍵盤輸入電路 PAGEREF _Toc295920396 h 8 HYPERLINK l _Toc295920397 3.2 L

9、ED顯示器 PAGEREF _Toc295920397 h 9 HYPERLINK l _Toc295920398 3.2.1LED數(shù)碼管顯示器結(jié)構(gòu)和原理 PAGEREF _Toc295920398 h 9 HYPERLINK l _Toc295920399 3.2.2 LED數(shù)碼顯示器的接入 PAGEREF _Toc295920399 h 10 HYPERLINK l _Toc295920400 3.3 多路選擇器 PAGEREF _Toc295920400 h 12 HYPERLINK l _Toc295920401 34 AT89C51單片機(jī) PAGEREF _Toc295920401

10、h 15 HYPERLINK l _Toc295920402 3.4.1 AT89C51單片機(jī)的基本組成 PAGEREF _Toc295920402 h 15 HYPERLINK l _Toc295920403 3.4.2 89C51單片機(jī)的引腳 PAGEREF _Toc295920403 h 15 HYPERLINK l _Toc295920404 3.4.389C51單片機(jī)中的CPU結(jié)構(gòu) PAGEREF _Toc295920404 h 19 HYPERLINK l _Toc295920405 3.4.489C51單片機(jī)的存儲(chǔ)器 PAGEREF _Toc295920405 h 19 HYPE

11、RLINK l _Toc295920406 3.5A/D、D/A轉(zhuǎn)換器 PAGEREF _Toc295920406 h 21 HYPERLINK l _Toc295920407 3.5.1A/D轉(zhuǎn)換器MAX187 PAGEREF _Toc295920407 h 21 HYPERLINK l _Toc295920408 3.5.2D/A轉(zhuǎn)換器MAX531 PAGEREF _Toc295920408 h 23 HYPERLINK l _Toc295920409 3.6本章小結(jié) PAGEREF _Toc295920409 h 26 HYPERLINK l _Toc295920410 第4章 基于單片

12、機(jī)的PID控制器的軟件設(shè)計(jì) PAGEREF _Toc295920410 h 27 HYPERLINK l _Toc295920411 4.1 主程序流程圖 PAGEREF _Toc295920411 h 27 HYPERLINK l _Toc295920412 4.2PID控制算法 PAGEREF _Toc295920412 h 32 HYPERLINK l _Toc295920413 4.2.1常規(guī)PID控制 PAGEREF _Toc295920413 h 32 HYPERLINK l _Toc295920414 4.2.2數(shù)字式PID控制 PAGEREF _Toc295920414 h 3

13、4 HYPERLINK l _Toc295920415 4.3PID控制器的參數(shù)整定 PAGEREF _Toc295920415 h 37 HYPERLINK l _Toc295920416 4.4本章小結(jié) PAGEREF _Toc295920416 h 39 HYPERLINK l _Toc295920418 第5章 結(jié)束語(yǔ) PAGEREF _Toc295920418 h 40 HYPERLINK l _Toc295920419 參考文獻(xiàn) PAGEREF _Toc295920419 h 41 HYPERLINK l _Toc295920420 謝辭 PAGEREF _Toc295920420

14、 h 42緒論在工業(yè)生產(chǎn)過程中,自動(dòng)化技術(shù)一直都發(fā)揮著重要的作用。工程上通過工業(yè)過程控制系統(tǒng)來操作和控制實(shí)際的工業(yè)生產(chǎn)過程,而過程控制系統(tǒng)作為生產(chǎn)自動(dòng)化的最重要組成部分,常采用測(cè)量?jī)x表和計(jì)算機(jī)等自動(dòng)化工具,應(yīng)用控制理論設(shè)計(jì)而成。工業(yè)控制器是專門針對(duì)控制參數(shù)進(jìn)行現(xiàn)場(chǎng)控制的裝置,應(yīng)用非常廣泛。1.1 本課題的研究背景和意義本論文控制器的設(shè)計(jì)是以現(xiàn)在單片機(jī)的廣泛應(yīng)用為背景,以單片機(jī)為控制核心來設(shè)計(jì)的利用PID控制理論為控制程序基礎(chǔ)的控制器。在科學(xué)技術(shù)不斷發(fā)展和人們物質(zhì)生活水平不斷提高的今天,一方面,為了滿足優(yōu)質(zhì)、高產(chǎn)、低消耗及安全生產(chǎn)、保護(hù)環(huán)境等要求,制造產(chǎn)品的工藝變得越來越復(fù)雜;另一方面,工業(yè)過程

15、不僅要求控制的精確性,更加注重控制的魯棒性、實(shí)時(shí)性、容錯(cuò)性以及控制參數(shù)的自適應(yīng)和自學(xué)習(xí)能力。工業(yè)過程控制領(lǐng)域中常用的現(xiàn)場(chǎng)儀表主要包括:(1)變送器(壓力/差壓、溫度、流量、物位等);(2)執(zhí)行器(電動(dòng)執(zhí)行器機(jī)構(gòu)、閥門定位器、電動(dòng)氣動(dòng)調(diào)節(jié)閥門等);儀表為溶入自動(dòng)化控制系統(tǒng)中必須從儀表的智能化、數(shù)字化、模塊化、低功耗、多變量、多參數(shù)等方面改進(jìn),而替代“一對(duì)一”的單向的通信方式,總線化的智能儀表不僅應(yīng)具有起始值、量程、阻尼特性的調(diào)整、非線性的校正、多變量的補(bǔ)償、工程單位的換算等功能,而且還有故障自我診斷、PID調(diào)節(jié)和運(yùn)算、自動(dòng)報(bào)警以及同系統(tǒng)雙向通信的功能。PID控制器,也稱作PID調(diào)節(jié)器,因其實(shí)現(xiàn)簡(jiǎn)

16、單、精度穩(wěn)定而被廣泛地應(yīng)用于工業(yè)過程控制,通過調(diào)節(jié)整定PID控制器的比例參數(shù)、積分參數(shù)、微分參數(shù)來使其能夠適應(yīng)于各種不同的對(duì)象,成為一種較為通用的調(diào)節(jié)器。PID控制是經(jīng)典控制理論在實(shí)際控制系統(tǒng)中的典型應(yīng)用(統(tǒng)計(jì)至今在全球過程控制中所使用的84%是純PID控制器,若改進(jìn)型也包含在內(nèi)的話則超過90%)。隨著計(jì)算機(jī)技術(shù)的發(fā)展,現(xiàn)代控制理論在實(shí)用性方面獲得了很大進(jìn)展,解決了許多經(jīng)典控制理論不斷解決的問題,這使很多人認(rèn)為,新的理論和技術(shù)可以取代PID控制,但后來的發(fā)展說明,PID控制并沒有讓位。目前,PID控制仍然是在工業(yè)控制中應(yīng)用得最為廣泛的一種控制方法。這一方面是由于其結(jié)構(gòu)簡(jiǎn)單,魯棒性和適應(yīng)性較強(qiáng);

17、另一方面,它的調(diào)節(jié)整定較少依賴于系統(tǒng)的具體模型。隨著計(jì)算機(jī)技術(shù)的發(fā)展,人們先后將模糊控制,自適應(yīng)控制,專家控制,神經(jīng)網(wǎng)絡(luò)控制等自動(dòng)控制理論應(yīng)用于PID控制,使PID控制的性能不斷得到提高,可以逐步克服不能同時(shí)很好地滿足穩(wěn)態(tài)精度與動(dòng)態(tài)穩(wěn)定性,平穩(wěn)性與快速性的要求以及對(duì)于存在強(qiáng)非線性、快速時(shí)變不確定性、強(qiáng)干擾等特性地現(xiàn)象,控制效果較差等缺點(diǎn),適用范圍越來越廣。1.2 PID控制器的研究現(xiàn)狀PID控制器因?yàn)榻Y(jié)構(gòu)簡(jiǎn)單、容易實(shí)現(xiàn),并且具有較強(qiáng)的魯棒性,因而被廣泛應(yīng)用于各種工業(yè)過程控制中。作為一種廣泛的控制規(guī)律,PID控制在相當(dāng)長(zhǎng)的一段時(shí)間內(nèi),并沒有因?yàn)楦鞣N先進(jìn)控制算法的出現(xiàn)而遭到淘汰,相反,經(jīng)過時(shí)間的考

18、驗(yàn),PID控制仍然在各種控制技術(shù)中占主導(dǎo)地位。PID控制器參數(shù)整定的優(yōu)劣與否,是PID控制器能否在實(shí)用中得到好的閉環(huán)控制效果的一個(gè)前提。迄今為止,各種先進(jìn)PID控制器參數(shù)整定方法層出不窮,給PID控制器參數(shù)整定的研究帶來了活力與契機(jī)。1.2.1國(guó)內(nèi)研究動(dòng)態(tài)目前來講,我國(guó)商品化自整定控制器的研究仍然處在起步階段,主要原因有兩個(gè):第一,自整定技術(shù)是一門集自適應(yīng)控制、智能控制、自動(dòng)化控制為一體的高科技工程的新技術(shù),由于商業(yè)保密性,國(guó)外許多重要設(shè)計(jì)技術(shù)的細(xì)節(jié)都沒有公開。想要利用最少的被控過程數(shù)學(xué)模型信息來自動(dòng)獲取魯棒性強(qiáng)且可靠的最優(yōu)化PID整定參數(shù),從而適應(yīng)不同的被控過程,這種理論及實(shí)踐在國(guó)內(nèi)還處在理

19、論分析和仿真試驗(yàn)階段;第二,自整定控制器是結(jié)合未處理計(jì)算機(jī)、新型精密電子元器件及、高密度的工藝制作為一體的高集成度的自動(dòng)化儀表,國(guó)內(nèi)在這些方面與國(guó)外同類技術(shù)差距甚遠(yuǎn),影響了國(guó)內(nèi)自整定控制器商品化的研制和發(fā)展。1.2.2 國(guó)外研究動(dòng)態(tài) 目前,自動(dòng)化儀表生產(chǎn)廠家主要集中在美國(guó)、日本、德國(guó)等工業(yè)發(fā)達(dá)國(guó)家。這些公司大多是實(shí)力雄厚的跨國(guó)公司,代表著自動(dòng)化儀表領(lǐng)域的最高成就,而且在智能儀表的設(shè)計(jì)方面也體現(xiàn)出了以下幾點(diǎn)特點(diǎn):良好的可靠性設(shè)計(jì)。 國(guó)外產(chǎn)品在設(shè)計(jì)階段就十分注意可靠性分析與設(shè)計(jì),運(yùn)用可靠性分配理論,將可靠性指標(biāo)逐級(jí)分配,從而使整機(jī)的可靠性得到了保證。注重可維護(hù)設(shè)計(jì)。 高的可維護(hù)設(shè)計(jì)可使儀表便于生產(chǎn)

20、調(diào)試和維修,包括在設(shè)計(jì)中實(shí)施與自動(dòng)檢測(cè)系統(tǒng)。產(chǎn)品的通用化和系列化。 產(chǎn)品系列主要體現(xiàn)在功能性、量程范圍、精度等方面。這樣會(huì)對(duì)用戶產(chǎn)生巨大的吸引力。先進(jìn)的智能儀表,通用性很強(qiáng)。體現(xiàn)在大多數(shù)產(chǎn)品的通用接口系統(tǒng),可以方便地將系統(tǒng)互聯(lián)與計(jì)算機(jī)組成測(cè)試系統(tǒng),將用途和使用范圍大大地?cái)U(kuò)展。1.3 本論文的主要研究?jī)?nèi)容應(yīng)用AT89C51單片機(jī)為核心進(jìn)行PID控制器的整體設(shè)計(jì)規(guī)劃,獨(dú)立完成PID控制器的硬件設(shè)計(jì)和軟件設(shè)計(jì)。1.4 本章小結(jié)本章主要介紹了PID控制器的應(yīng)用歷程和發(fā)展前景,對(duì)比了PID控制算法與當(dāng)今流行控制理論的優(yōu)缺點(diǎn)及其相互結(jié)合的趨勢(shì),總結(jié)了國(guó)內(nèi)和國(guó)外PID控制器產(chǎn)品的特點(diǎn),給出了本文所設(shè)計(jì)的PI

21、D控制器的主要概況。第2章 PID控制器原理及簡(jiǎn)介2.1 PID控制器的簡(jiǎn)單介紹近年來,盡管控制理論在控制技術(shù)領(lǐng)域有了很大的發(fā)展,各種先進(jìn)控制方法層出不窮,但是PID控制仍然廣泛地應(yīng)用于工業(yè)控制系統(tǒng)。這主要是因?yàn)榻^大多數(shù)被控過程而言,PID控制器可以提供較好的閉環(huán)控制特性:在工作環(huán)境有較大變化時(shí),PID控制器表現(xiàn)出了較好的魯棒性。使用模擬和數(shù)字器件可以很方便地實(shí)現(xiàn)PID控制,但是實(shí)踐表明將PID控制器用于具有振蕩、積分或不穩(wěn)定傳遞函數(shù)的被控過程時(shí),無法得到較好的閉環(huán)特性,系統(tǒng)的階躍響應(yīng)往往具有較大的超調(diào)而且會(huì)產(chǎn)生振蕩。所以,現(xiàn)今也有了很多關(guān)于改進(jìn)PID控制方法的研究,比如將智能控制、專家控制等

22、現(xiàn)代控制方法與傳統(tǒng)PID控制方法相結(jié)合。PID控制器是應(yīng)用最廣泛的控制器之一,根據(jù)不完全統(tǒng)計(jì),在工業(yè)過程控制等領(lǐng)域中,PID控制器的使用占80%以上,是唯一大規(guī)模商品化生產(chǎn)的控制器。 在模擬系統(tǒng)中,最常使用的控制器規(guī)律是PID控制。它是一種線性控制器,將給定值與實(shí)際輸出值之間偏差的比例、積分和微分通過線性組合構(gòu)成控制量,對(duì)被控對(duì)象進(jìn)行控制。比例環(huán)節(jié)成比例地反映誤差信號(hào),偏差一旦產(chǎn)生,控制器立刻產(chǎn)生控制作用,以減小偏差;積分環(huán)節(jié)主要用于消除靜差,提高系統(tǒng)的無差度;微分環(huán)節(jié)反映偏差信號(hào)的變化趨勢(shì),并能在偏差信號(hào)變得太大之前,在系統(tǒng)引入一個(gè)有效的早期修正信號(hào),從而加快系統(tǒng)的變化趨勢(shì),并能在偏差信號(hào)變

23、得太大之前,在系統(tǒng)引入一個(gè)有效的早期修正信號(hào),從而加快系統(tǒng)的動(dòng)作速度,減少調(diào)節(jié)時(shí)間。三個(gè)環(huán)節(jié),各有各的作用,而其各項(xiàng)系數(shù)均可以在現(xiàn)場(chǎng)靈活調(diào)試,以達(dá)到預(yù)期的控制性能。由于其結(jié)構(gòu)簡(jiǎn)單,控制效果好,所以應(yīng)用較廣。但是,由于PID控制器的結(jié)構(gòu)限制,將它用于具有振蕩、積分或不穩(wěn)定傳遞函數(shù)的被控過程時(shí),無法得到良好的閉環(huán)特性,系統(tǒng)的階躍響應(yīng)往往具有大的超調(diào)而且會(huì)產(chǎn)生振蕩。2.2完整的基于單片機(jī)的PID控制器的基本構(gòu)成 一個(gè)完整的控制器,包含有數(shù)據(jù)采集部分,數(shù)據(jù)處理部分和數(shù)據(jù)執(zhí)行部分,在本論文中,以下圖為依據(jù),來進(jìn)行控制器的設(shè)計(jì)。圖2.1基于單片機(jī)的PID控制器的基本構(gòu)成2.3 本章小結(jié)在本章節(jié)中,對(duì)市面上

24、出現(xiàn)的PID控制器的控制原理和應(yīng)用情況給予了簡(jiǎn)單的介紹,并且列出了所要設(shè)計(jì)的PID控制器的基本硬件圖,為下面章節(jié)中控制器的選型和設(shè)計(jì)提供了一定的參考。第3章單片機(jī)的PID控制器的硬件設(shè)計(jì)3.1 鍵盤輸入電路在單片機(jī)控制器的設(shè)計(jì)中,需要操作者對(duì)系統(tǒng)進(jìn)行干預(yù),如設(shè)置或修改參數(shù)、選擇操作功能、對(duì)系統(tǒng)進(jìn)行人工控制等,這就要求系統(tǒng)中有鍵盤輸入的功能。 在本論文的設(shè)計(jì)中,由于不需要經(jīng)常和大量地進(jìn)行鍵盤操作,同時(shí)為了簡(jiǎn)化硬件電路,往往采用非編碼鍵盤,利用軟件來進(jìn)行按鍵的識(shí)別和功能的散轉(zhuǎn)。根據(jù)需要按鍵的多少,又可以選擇獨(dú)立式或行列矩陣式的鍵盤。鑒于所需要的按鍵不多,往往只需要幾個(gè)功能鍵,此時(shí),可采用獨(dú)立式按鍵

25、結(jié)構(gòu)。獨(dú)立式鍵盤是直接用I/O口線構(gòu)成的單個(gè)按鍵電路,其特點(diǎn)是每個(gè)按鍵單獨(dú)占用一根I/O口線,每個(gè)按鍵的工作不會(huì)影響其他I/O口線的狀態(tài)。在本論文的鍵盤設(shè)計(jì)中,利用P3端口的P3.2、P3.3、P3.4、P3.5作為四個(gè)按鍵的輸入端。電路連接圖如圖3.1所示:圖3.1 PID控制器的按鍵電路連接圖3.2 LED顯示器在單片機(jī)應(yīng)用系統(tǒng)中,顯示器是人機(jī)對(duì)話的重要組成部分,它將系統(tǒng)的運(yùn)行狀態(tài)、輸出和結(jié)果直觀地顯現(xiàn)出來。在本論文中,基于89C51單片機(jī)的硬件結(jié)構(gòu),采用了電路簡(jiǎn)單、對(duì)硬件及I/O接口的要求少的特點(diǎn)的LED顯示器作為其輸出單元。在本論文所應(yīng)用的顯示電路中,利用擴(kuò)展芯片8255A來連接一個(gè)6

26、位共陰極的LED顯示器。3.2.1 LED數(shù)碼管顯示器結(jié)構(gòu)和原理LED(Light Emitting Diode)數(shù)碼管顯示器的每一位由八個(gè)發(fā)光二極管組成。其中,7個(gè)發(fā)光二極管構(gòu)成字型“8”的各個(gè)筆畫,依次稱為a-g段,另一個(gè)發(fā)光二極管作為小數(shù)點(diǎn),稱為dp。當(dāng)在某發(fā)光二極管上施加一定的正向電壓時(shí),該段比畫即亮;不加電壓則不點(diǎn)亮。為了保護(hù)各段LED不被破壞,需外加限流電阻。每管驅(qū)動(dòng)電流3-10mA(平均值),發(fā)光二極管將管壓降為約1.8V。單片機(jī)中通常使用的LED數(shù)碼管有共陰極和共陽(yáng)極兩種。圖3.2 LED顯示器實(shí)物圖以共陰極LED顯示管為例,各LED公共陰極KO接地。若向各段的控制端加上高電壓

27、(信號(hào)“1”),則該段發(fā)光二極管發(fā)亮,加上信號(hào)“0”,則該段發(fā)光二極管熄滅。公共端接地時(shí),向各段控制輸出端輸出不同的信號(hào),就會(huì)顯示出不同的信號(hào),就會(huì)顯示出不同的代碼。鑒于管數(shù)目有限,這種LED數(shù)碼顯示器智能顯示0-9、A、B、C、D、E、F、H、L、P、U等字符和小數(shù)點(diǎn)。共陽(yáng)極LED數(shù)碼管與共陰極LED數(shù)碼管相反。3.2.2 LED數(shù)碼顯示器的接入在本論文中,選擇共陰極LED數(shù)碼管顯示器作為以單片機(jī)為核心的PID控制器的顯示器,其中,有六個(gè)LED數(shù)碼管顯示數(shù)據(jù),為了減少硬件連線,采用LED動(dòng)態(tài)掃描顯示方式。圖3.3數(shù)碼管引腳圖為了實(shí)現(xiàn)上述功能,在系統(tǒng)中擴(kuò)展了一片通用的并行接口8255A。Int

28、el 公司的8255A使一個(gè)通用的可編程并行接口芯片,它具有3個(gè)獨(dú)立的8位I/O接口(A口、B口、C口),提供TTL兼容的并行接口。作為輸入時(shí)提供三態(tài)緩沖器功能,作為輸出時(shí)提供數(shù)據(jù)鎖存功能。8255有3種工作方式:方式0、方式1、方式2,能使用無條件、查詢和中斷等多種數(shù)據(jù)傳送方式完成CPU與I/O設(shè)備之間的數(shù)據(jù)交換。 在單片機(jī)外部擴(kuò)展的8255A,令它的A、B、C口均工作方式0,即簡(jiǎn)單輸入/輸出方式。8255A的A、B口控制LED顯示器,LED顯示器采用動(dòng)態(tài)掃描顯示方式。其中,A口8條線輸出LED顯示器的端碼(a、b、c、d、e、f、g、dp),B口輸出LED的位選信號(hào),用PB0-PB5這6條

29、線控制6個(gè)LED數(shù)碼管圖3.4 LED顯示器與89C51單片機(jī)的電路連接3.3 多路選擇器模擬量輸入是單片機(jī)控制系統(tǒng)的關(guān)鍵部分,需要單片機(jī)進(jìn)行處理的信號(hào)可以是溫度、壓力、氣體或液體的流量、濃度等連續(xù)變化的物理量,這些信號(hào)必須經(jīng)過單片機(jī)的數(shù)據(jù)采集系統(tǒng)來轉(zhuǎn)換成連續(xù)變化的電信號(hào),單片機(jī)才能對(duì)其進(jìn)行處理。基于單片機(jī)89C51為核心的控制系統(tǒng)的模擬量輸入開關(guān),可以選擇多路選擇器CD4051。多路選擇器CD4051是一個(gè)8選1的模擬開關(guān)電路。通過它可以由軟件分時(shí)選通各個(gè)模擬通道的輸入。模擬開關(guān)電路4051的介紹: CD4051相當(dāng)于一個(gè)單刀八擲開關(guān),開關(guān)接通哪一通道,由輸入的3 位地址碼ABC 來決定。其

30、真值表如下?!癐NH”是禁止端,當(dāng)“INH”=1 時(shí),各通道均不接通。圖3.5 CD4051實(shí)物圖INHCBA輸出0000“0”00001“1”0010“2”0011“3”0100“4”0101“5”0110“6”0111“7”1均不接通 圖3.6 4051真值表圖3.7 4051引腳圖引腳號(hào)符號(hào)功能1,2,4,5,12,13,14,15IN/OUT輸入/輸出端9,10,11A,B,C地址端3OUT/IN公共輸出/輸入端6INH禁止端7VEE模擬信號(hào)接地端8VSS數(shù)字信號(hào)接地端16VDD電源+圖3.8 CD4051引腳功能說明表圖3.9 CD4051與89C51單片機(jī)的電路連接圖3.4 AT8

31、9C51單片機(jī)3.4.1 AT89C51單片機(jī)的基本組成89C51單片機(jī)的基本組成包括:(1)一個(gè)8位的微處理器(2)片內(nèi)數(shù)據(jù)存儲(chǔ)器RAM為128B,有21個(gè)特殊功能寄存器(SFR)(3)片內(nèi)程序存儲(chǔ)器Flash ROM有4KB(4)可尋址片內(nèi)統(tǒng)一編址的64KB的ROM,可尋址片外64KB的RAM(5)4個(gè)8位并行I/O接口(P0-P3);一個(gè)全雙工通用異步串行接口UART;(6)兩個(gè)16位的定時(shí)器/計(jì)數(shù)器;(7)5個(gè)中斷源、兩個(gè)優(yōu)先級(jí)的中斷控制系統(tǒng);(8)具有位操作功能的布爾處理機(jī)及位尋址功能;(9)片內(nèi)振蕩器和時(shí)鐘產(chǎn)生電路3.4.2 89C51單片機(jī)的引腳VCC:電源電壓 GND:地P0口

32、:P0口是一組8位漏極開路雙向I/O口,即地址/數(shù)據(jù)總線復(fù)用口。作為輸出口時(shí),每一個(gè)管腳都能夠驅(qū)動(dòng)8個(gè)TTL電路。當(dāng)“1”被寫入P0口時(shí),每個(gè)管腳都能夠作為高阻抗輸入端。P0口還能夠在訪問外部數(shù)據(jù)存儲(chǔ)器或程序存儲(chǔ)器時(shí),轉(zhuǎn)換地址和數(shù)據(jù)總線復(fù)用,并在這時(shí)激活內(nèi)部的上拉電阻。P0口在閃爍編程時(shí),P0口接收指令,在程序校驗(yàn)時(shí),輸出指令,需要接電阻。圖3.10 AT89C51單片機(jī)的引腳圖P1口:P1口是一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O口,P1的輸出緩沖級(jí)可驅(qū)動(dòng)4個(gè)TTL電路。對(duì)端口寫“1”,通過內(nèi)部的電阻把端口拉到高電平,此時(shí)可作為輸入口。因?yàn)閮?nèi)部有電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)輸出一個(gè)電流。閃爍編

33、程時(shí)和程序校驗(yàn)時(shí),P1口接收低8位地址。P2口:P2口是一個(gè)內(nèi)部帶有上拉電阻的8位雙向I/O口,P2的輸出緩沖級(jí)可驅(qū)動(dòng)4個(gè)TTL電路。對(duì)端口寫“1”,通過內(nèi)部的電阻把端口拉到高電平,此時(shí),可作為輸入口。因?yàn)閮?nèi)部有電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流。在訪問外部程序存儲(chǔ)器或16位地址的外部數(shù)據(jù)存儲(chǔ)器時(shí),P2口送出高8位地址數(shù)據(jù)。在訪問8位地址的外部數(shù)據(jù)存儲(chǔ)器時(shí),P2口線上的內(nèi)容在整個(gè)運(yùn)行期間不變。閃爍編程或校驗(yàn)時(shí),P2口接收高位地址和其它控制信號(hào)。P3口:P3口是一組帶有內(nèi)部電阻的8位雙向I/O口,P3口輸出緩沖故可驅(qū)動(dòng)4個(gè)TTL電路。對(duì)P3口寫入“1”時(shí),它們被內(nèi)部電阻拉到高電平并可作

34、為輸入端時(shí),被外部拉低的P3口將用電阻輸出電流。P3口除了作為一般的I/O口外,更重要的用途是它的第二功能,如下表所示:端口引腳 第二功能P3.0 RXDP3.1 TXDP3.2 INT0P3.3 INT1P3.4 T0P3.5 T1P3.6 WRP3.7 RDP3 口還接收一些用于閃爍存儲(chǔ)器編程和程序校驗(yàn)的控制信號(hào)。RST:復(fù)位輸入。當(dāng)震蕩器工作時(shí),RET引腳出現(xiàn)兩個(gè)機(jī)器周期以上的高電平將使單片機(jī)復(fù)位。ALE/ :當(dāng)訪問外部程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),ALE輸出脈沖用于鎖存地址的低8位字節(jié)。即使不訪問外部存儲(chǔ)器,ALE以時(shí)鐘震蕩頻率的1/16輸出固定的正脈沖信號(hào),因此它可對(duì)輸出時(shí)鐘或用于定時(shí)目

35、的。要注意的是:每當(dāng)訪問外部數(shù)據(jù)存儲(chǔ)器時(shí)將跳過一個(gè)ALE脈沖時(shí),閃爍存儲(chǔ)器編程時(shí),這個(gè)引腳還用于輸入編程脈沖。如果必要,可對(duì)特殊寄存器區(qū)中的8EH單元的D0位置禁止ALE操作。這個(gè)位置后只有一條MOVX和MOVC指令A(yù)LE才會(huì)被應(yīng)用。此外,這個(gè)引腳會(huì)微弱拉高,單片機(jī)執(zhí)行外部程序時(shí),應(yīng)設(shè)置ALE無效。PSEN:程序儲(chǔ)存允許輸出是外部程序存儲(chǔ)器的讀選通信號(hào),當(dāng)AT89C51由外部程序存儲(chǔ)器讀取指令時(shí),每個(gè)機(jī)器周期兩次PSEN 有效,即輸出兩個(gè)脈沖。在此期間,當(dāng)訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的PSEN 信號(hào)不出現(xiàn)。EA/VPP:外部訪問允許。欲使中央處理器僅訪問外部程序存儲(chǔ)器,EA端必須保持低電平

36、。需要注意的是:如果加密位LBI被編程,復(fù)位時(shí)內(nèi)部會(huì)鎖存EA端狀態(tài)。如EA端為高電平,CPU則執(zhí)行內(nèi)部程序存儲(chǔ)器中的指令。閃爍存儲(chǔ)器編程時(shí),該引腳加上+12V的編程允許電壓VPP,當(dāng)然這必須是該器件是使用12V編程電壓VPP。XTAL1:震蕩器反相放大器及內(nèi)部時(shí)鐘發(fā)生器的輸入端。XTAL2:震蕩器反相放大器的輸出端。3.4.389C51單片機(jī)中的CPU結(jié)構(gòu)89C51單片機(jī)的CPU包括運(yùn)算器和控制器兩部分。運(yùn)算器中,包括了一個(gè)8位算術(shù)/邏輯運(yùn)算單元(ALU)、8位的暫存寄存器、8位的累加器、8位的寄存器、程序狀態(tài)標(biāo)志寄存器、十進(jìn)制調(diào)整電路和布爾處理單元等??刂破髦?,包括了一個(gè)16位的程序計(jì)數(shù)器,

37、由兩個(gè)8位的計(jì)數(shù)器PCH和PCL組成,還包括接受指令代碼的指令寄存器和進(jìn)行譯碼的指令譯碼器,89C51內(nèi)有片內(nèi)振蕩電路和定時(shí)電路。3.4.489C51單片機(jī)的存儲(chǔ)器89C51單片機(jī)內(nèi)采用了哈佛結(jié)構(gòu),在物理結(jié)構(gòu)上分為程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器。程序存儲(chǔ)器,用來存放編好的程序和一些固定不變的表格常數(shù)。在應(yīng)用時(shí),這些程序代碼一般要永久存放在ROM中,即固化到ROM中。數(shù)據(jù)存儲(chǔ)器RAM用來存放運(yùn)算的中間結(jié)果各個(gè)數(shù)據(jù)的緩存、緩沖等。它的特點(diǎn)是可讀寫,但是斷電后信息會(huì)消失。在單片機(jī)中使用的等都是半導(dǎo)體靜態(tài)RAM。由于89C51單片機(jī)的偏內(nèi)數(shù)據(jù)存儲(chǔ)器只有128B,往往不夠用,89C51可以擴(kuò)展片外數(shù)據(jù)存儲(chǔ)器。8

38、9C51的片外數(shù)據(jù)存儲(chǔ)器(RAM)的存儲(chǔ)空間為64KB,地址范圍為0000H-FFFFH。外部RAM的擴(kuò)展可以使用靜態(tài)RAM芯片6264(8K8),這時(shí),89C51由P0端口分時(shí)復(fù)用提供低8位地址A0-A7和數(shù)據(jù)總線D0-D7,由P2端口提供高8位地址A8-A15。訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),使用專門的指令MOVX。采用尋址方式為寄存器間接尋址,數(shù)據(jù)指針寄存器(DPTR)的內(nèi)容作為間接尋址的地址指針,DPTR為16位,其尋址范圍為64KB。當(dāng)外部擴(kuò)展的數(shù)據(jù)存儲(chǔ)器的地址小于256B時(shí),可以使用工作寄存器中的R0和R1做間接尋址寄存器的地址指針。DPTR數(shù)據(jù)指針寄存器是一個(gè)16位的特殊功能寄存器,它的高

39、位字節(jié)寄存器用DPH表示(地址為83H),低位字節(jié)寄存器用DPL表示(地址為82H)。內(nèi)部數(shù)據(jù)存儲(chǔ)器和外部數(shù)據(jù)存儲(chǔ)器采用獨(dú)立編址,這樣它們的低256B地址有重疊,但是,訪問這兩部分RAM時(shí)所用的指令形式和尋址方式不同,訪問內(nèi)部RAM用MOV指令,訪問外部RAM用MOVX指令。因此能保證CPU對(duì)內(nèi)部、外部數(shù)據(jù)存儲(chǔ)器的正確訪問。單片機(jī)89C51讀寫外部數(shù)據(jù)RAM的操作使用MOVX指令。圖3.11 6264存儲(chǔ)器與89C51單片機(jī)的電路連接由圖3.11可見,ALE把P0端口輸出的低8位地址A0-A7鎖存在74L373中,P2端口的P2.0-P2.4直接輸出高五位地址A8-A12,由于單片機(jī)的RD和W

40、R分別與6264的輸出允許OE和寫信號(hào)WE相連,執(zhí)行讀操作指令時(shí),RD使OE有效,6264RAM中指定地址單元的數(shù)據(jù)經(jīng)DO-D7由P0口讀入,執(zhí)行寫指令時(shí),WR使WE有效,由P0口提供的要寫入RAM的數(shù)據(jù)經(jīng)D0-D7寫入6264的指定地址單元中。3.5 A/D、D/A轉(zhuǎn)換器多路模擬開關(guān)所輸出的信號(hào)是不能被單片機(jī)直接進(jìn)行處理的模擬信號(hào),需要經(jīng)過A/D轉(zhuǎn)換器將其轉(zhuǎn)換成能夠被單片機(jī)處理的數(shù)字信號(hào)。在單片機(jī)將由A/D轉(zhuǎn)換器送來的信號(hào)進(jìn)行系統(tǒng)所要的處理后,輸出數(shù)字信號(hào),此時(shí),就需要D/A轉(zhuǎn)換器,將所接收到的數(shù)字信號(hào)轉(zhuǎn)換成能夠調(diào)節(jié)執(zhí)行器的模擬信號(hào),來完成控制系統(tǒng)的功能。在本論文中,分別選用了A/D轉(zhuǎn)換器M

41、AX187和D/A轉(zhuǎn)換器MAX5313.5.1 A/D轉(zhuǎn)換器MAX187MAX187是一個(gè)12位精度的A/D轉(zhuǎn)換器(ADC),具有如下特點(diǎn):(1)12位的A/D轉(zhuǎn)換精度;(2)內(nèi)部采樣/保持電路,采樣保頻率為75Hz;(3)三線串行接口和處理器通信,并且兼容SPI、QSPI和Micro wire同步串行接口標(biāo)準(zhǔn);(4)低功耗,待機(jī)電流為2uA,工作電流為1.5mA;(5)小封裝,8個(gè)引腳的DIP(雙列直插)封裝芯片。 圖3.12 MAX187引腳圖MAX187利用輸入的采樣/保持電路和逐次比較寄存器將輸入的模擬信號(hào)轉(zhuǎn)換成12位的 數(shù)字信號(hào)輸出,它的采樣/保持電路不需要外接電容。圖3.13 MA

42、X187操作時(shí)序圖MAX187的A/D轉(zhuǎn)換過程在SCLK為低電平、CS端的輸入信號(hào)由電平高變低(下降沿)時(shí)啟動(dòng)。DOUT端編程高電平,表示A/D轉(zhuǎn)換完成。轉(zhuǎn)換的結(jié)果在DOUT端單向串行輸出。DOUT端輸出12個(gè)數(shù)據(jù)位,一共要經(jīng)過13個(gè)SCLK周期。在每個(gè)SCLK的下降沿后移出一位。串行輸出由數(shù)據(jù)的最高位開始。完成數(shù)據(jù)傳送后,CS變?yōu)楦唠娖?,DOUT端成為高阻抗?fàn)顟B(tài)。MAX端允許輸入信號(hào)頻率最大為75kHz。引腳符號(hào)功能1VDD電源電壓2AIN采樣模擬輸入3SHDN三態(tài)關(guān)斷輸入4REF參考電壓輸出端5GND模擬和數(shù)字地10AGND模擬地11DGND數(shù)字地6DOUT串行數(shù)據(jù)輸出7CS片選信號(hào)8SC

43、LK串行時(shí)鐘輸入 圖3.14 MAX引腳功能說明表3.5.2 D/A轉(zhuǎn)換器MAX531MAX531芯片是Maxim公司推出的性能優(yōu)越、高分辨率的D/A轉(zhuǎn)換集成電路。它具有功耗低、轉(zhuǎn)換速率快、內(nèi)部帶基準(zhǔn)電壓等特點(diǎn),能完成12位D/A轉(zhuǎn)換,數(shù)字輸入為串行。MAX531為14腳DIP封裝,能夠與本論文中的89C51單片機(jī)接口,構(gòu)成單片機(jī)處理系統(tǒng),引腳圖如下: D/A轉(zhuǎn)換器MAX531在輸入數(shù)據(jù)之前必須把CLR清楚端口置1,然后才能輸入數(shù)據(jù),從時(shí)序圖中可以看出,當(dāng)片選信號(hào)CS來一個(gè)下降沿時(shí),才開始進(jìn)行數(shù)據(jù)輸入。CS的下降沿之后再時(shí)鐘的作用下可使數(shù)據(jù)輸入寄存器。因?yàn)閿?shù)據(jù)中的每一位,都在各個(gè)時(shí)鐘上升沿之后

44、輸入寄存器。由于有十二位數(shù)據(jù),所以輸入這些數(shù)據(jù)至少需要12個(gè)時(shí)鐘上升沿。當(dāng)片選信號(hào)CS來一個(gè)上升沿是,將使D/A轉(zhuǎn)換器開始進(jìn)行模數(shù)轉(zhuǎn)換,轉(zhuǎn)換結(jié)果以電壓的方式從Vout端口輸出。 圖3.15 MAX531引腳圖引腳符號(hào)功能1BIPOFF空端口2DIN串行數(shù)據(jù)輸入3CLR清楚端4SCLK串行時(shí)鐘信號(hào)輸入5CS片選端6DOUT串行數(shù)據(jù)輸出7DGND數(shù)據(jù)地8AGND模擬地9REFIN基準(zhǔn)電壓輸入10REFOUT基準(zhǔn)電壓輸出11VSS公共接地端12VOUT模擬電壓輸出13VDD電源輸入端14RFB反饋輸入端 圖4.16 MAX531引腳功能表圖4.17 MAX531的工作時(shí)序圖圖4.18 MAX531與

45、89C51單片機(jī)的電路連接圖 在本論文的設(shè)計(jì)中,選擇了8路輸入則需要同時(shí)輸出8路模擬信號(hào)來控制8個(gè)對(duì)象,由于選擇的D/A轉(zhuǎn)換器只能輸出一路的模擬控制信號(hào),所以需要連接8個(gè)D/A轉(zhuǎn)換器來完成控制器的功能,與單片機(jī)之間串接一個(gè)74LS138譯碼器通過時(shí)鐘信號(hào)的分時(shí)選通來輔助完成控制器所需要的功能。3.6本章小結(jié)在論文的本章中,對(duì)PID控制器所涉及的硬件裝置進(jìn)行了正確的選型,并且對(duì)各個(gè)硬件在原理、應(yīng)用和連接等方面給予了詳細(xì)的介紹,給控制器的軟件設(shè)計(jì)指明了方向。第4章 基于單片機(jī)的PID控制器的軟件設(shè)計(jì)在控制器的軟件設(shè)計(jì)中,按照功能模塊化的思想,將整個(gè)控制器分為幾個(gè)模塊,每一個(gè)模塊來實(shí)現(xiàn)以各個(gè)具體的任

46、務(wù),比如數(shù)據(jù)采集模塊負(fù)責(zé)將接受到的模擬信號(hào)轉(zhuǎn)變?yōu)榭晒﹩纹瑱C(jī)進(jìn)行處理運(yùn)算的數(shù)字信號(hào),而數(shù)據(jù)處理模塊即是將需要進(jìn)行運(yùn)算的數(shù)據(jù)通過計(jì)算轉(zhuǎn)變成可對(duì)執(zhí)行器發(fā)出有效控制的數(shù)據(jù)。在各個(gè)子模塊的功能已經(jīng)成功實(shí)現(xiàn)的基礎(chǔ)上,設(shè)計(jì)節(jié)點(diǎn)監(jiān)控主程序,協(xié)調(diào)各個(gè)模塊的功能,它是系統(tǒng)程序的框架。節(jié)點(diǎn)編程語(yǔ)言采用C語(yǔ)言,它是一種結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言且具有完善的模塊程序結(jié)構(gòu),與匯編語(yǔ)言相比,采用C語(yǔ)言可以大大縮短開發(fā)周期,便于改進(jìn)和擴(kuò)充、可移植性、可維護(hù)性好,且不需要了解處理器的指令集,不必了解存儲(chǔ)器結(jié)構(gòu),更符合人們的思考習(xí)慣。開發(fā)環(huán)境用Keil C51 uVision3,它是基于80C51內(nèi)核的微處理器軟件開發(fā)平臺(tái),內(nèi)嵌多種符合

47、當(dāng)前工業(yè)標(biāo)準(zhǔn)的開發(fā)工具,可以完成從工程建立到管理,編譯,連接,目標(biāo)代碼的生成,軟件仿真,硬件仿真等完整的開發(fā)流程,尤其是其C編譯工具在產(chǎn)生代碼的準(zhǔn)確性和效率方面達(dá)到了很好的水平,而且可以附加靈活地控制選項(xiàng),能極大提高單片機(jī)軟件開發(fā)的效率,擁有Keil這個(gè)強(qiáng)大的開發(fā)平臺(tái)也是8051系列單片機(jī)與其他系列單片機(jī)相比的一個(gè)非常重要的優(yōu)勢(shì)。4.1主程序流程圖主程序完成初始化和顯示控制向總線發(fā)送數(shù)據(jù)等功能,程序流程見圖初始化包括設(shè)置堆棧和程序狀態(tài)字、為各個(gè)變量賦初值、設(shè)置外部中斷和定時(shí)器的工作方式以及各外設(shè)芯片的設(shè)置。開機(jī)后,通過鍵盤設(shè)定各控制器所要控制需要的參數(shù)值,然后系統(tǒng)開始采集數(shù)據(jù)并顯示,對(duì)控制量進(jìn)

48、行計(jì)算和輸出,接下來將將得到的輸出信號(hào)傳送到執(zhí)行器來完成控制器的控制功能,并將需要顯示器顯示的數(shù)據(jù)及時(shí)準(zhǔn)確地顯示出來。圖4.1 主程序流程圖在本論文的控制器設(shè)計(jì)中,相當(dāng)于主程序來說,數(shù)據(jù)采集模塊、數(shù)據(jù)處理模塊和LED顯示控制模塊也是相對(duì)來水比較重要的模塊,下面分別給出這三個(gè)模塊的程序流程圖:(1)數(shù)據(jù)采集系統(tǒng)流程圖單片機(jī)控制器的數(shù)據(jù)采集模塊的任務(wù)包括系統(tǒng)的初始化,數(shù)據(jù)的A/D轉(zhuǎn)換,輸入數(shù)據(jù)的顯示,鍵盤處理,超限報(bào)警的檢測(cè)和處理和合理數(shù)據(jù)的傳送等,根據(jù)所要完成的任務(wù)可以編寫如下的程序流程圖。圖4.2 數(shù)據(jù)采集流程圖數(shù)據(jù)處理流程圖相對(duì)于數(shù)據(jù)采集系統(tǒng)來說,單片機(jī)控制器的數(shù)據(jù)處理系統(tǒng)包括了對(duì)接收到的信

49、號(hào)調(diào)用相應(yīng)的子程序來進(jìn)行計(jì)算,檢查輸出數(shù)據(jù)的合理行,并將合理數(shù)據(jù)送入D/A轉(zhuǎn)換,然后傳送到執(zhí)行器來完成系統(tǒng)的控制任務(wù)。 圖4.3 數(shù)據(jù)處理流程圖在單片機(jī)的控制系統(tǒng)中,顯示單元已經(jīng)成為不可或缺的一部分,在本論文的設(shè)計(jì)中,應(yīng)用擴(kuò)展接口8255A來連接LED顯示器,完成控制器的顯示功能,下圖給出了89C51的LED動(dòng)態(tài)顯示流程圖,由流程圖可以看出顯示程序包括8255A的初始化、數(shù)據(jù)和段碼的查表變換、向LED送選定的段碼、延時(shí)、反復(fù)循環(huán)等。圖4.4 89C51的LED動(dòng)態(tài)顯示流程圖4.2 PID控制算法在PID控制器的軟件設(shè)計(jì)中,單片機(jī)要處理的數(shù)據(jù)需要相應(yīng)的功能子程序來執(zhí)行,在本論文中,控制的基礎(chǔ)理論

50、為PID控制理論,下面簡(jiǎn)單介紹最常應(yīng)用的PID控制算法。4.2.1常規(guī)PID控制在模擬控制系統(tǒng)中,控制器最常用的控制理論是PID控制。PID控制規(guī)律的基本輸入輸出關(guān)系可用微分方程表示為: u(t=KPet+1T10tetdt+TDde(t)dt QUOTE u(t=KPet+1T10tetdt+TDde(t)dt (4.1)式中,KP為比例系數(shù);Ti為積分時(shí)間常數(shù);TD為微分時(shí)間常數(shù);e(t)為控制系統(tǒng)的偏差信號(hào),e(t)=r(t)-y(t)。此外,控制規(guī)律還可寫成傳遞函數(shù)的形式:Gs=UsEs=KP(1+1T1S+TDS) QUOTE Gs=UsEs=KP(1+1T1S+TDS) (4.2)

51、圖中KP、KI和KD分別為比例、積分和微分系數(shù),由式(4.2)可知,KI=KP/TI,KD=KPTD 。傳統(tǒng)的PID控制系統(tǒng)原理框圖如圖所示,系統(tǒng)由PID控制器和被控對(duì)像組成。 圖4.5 傳統(tǒng)的模擬PID控制系統(tǒng)原理框圖這三種基本控制環(huán)節(jié)各具特點(diǎn):(1) P比例控制:成比例的反映控制系統(tǒng)的誤差信號(hào),偏差一旦產(chǎn)生,控制器立即產(chǎn)生控制作用,以減小偏差。比例控制器在信號(hào)變換時(shí),只改變信號(hào)的幅值而不改變信號(hào)的相位,采用比例控制可以提高系統(tǒng)的開環(huán)增益,是系統(tǒng)的主要控制部分。需要注意的是,過大的比例系數(shù)會(huì)使系統(tǒng)產(chǎn)生比較大的超調(diào),并產(chǎn)生振蕩,使穩(wěn)定性變壞。(2) I積分控制:積分控制主要用于消除靜差,提高系

52、統(tǒng)的無差度,但是會(huì)使系統(tǒng)的震蕩加劇,超調(diào)增大,損害動(dòng)態(tài)性能,一般不單獨(dú)作用,而是與PD 控制相結(jié)合。積分作用的強(qiáng)弱取決于積分時(shí)間常數(shù)TI,時(shí)間常數(shù)越大,積分作用就越弱,反之則越強(qiáng)。(3) D微分控制:反映誤差信號(hào)的變化趨勢(shì)(變化速率),并能在誤差信號(hào)變得太大之前,在系統(tǒng)中引入一個(gè)有效的早期修下信號(hào),從而加快系統(tǒng)的運(yùn)作速度,減少調(diào)節(jié)時(shí)間。微分控制可以預(yù)測(cè)系統(tǒng)的變化,增大系統(tǒng)的阻尼,提高相角裕度,起到改善系統(tǒng)動(dòng)態(tài)性能的作用,但是微分對(duì)干擾有很大的放大作用,過大的微分會(huì)使系統(tǒng)震蕩加劇,降低系統(tǒng)信噪比。為了實(shí)現(xiàn)控制目的和達(dá)到控制指標(biāo),需要選擇適宜的控制算法。常用的控制方法有反饋控制、順饋控制、P 控制

53、、PD 控制、PI 控制、PID 控制等,其中PID控制是應(yīng)用最為廣泛的控制方法之一。PID的復(fù)合控制,可以綜合這幾種控制規(guī)律的各自特點(diǎn),使系統(tǒng)同時(shí)獲得很好的動(dòng)態(tài)和穩(wěn)態(tài)性能4.2.2數(shù)字式PID控制隨著計(jì)算機(jī)技術(shù)和電子設(shè)備的發(fā)展,控制技術(shù)已經(jīng)從模擬控制逐步轉(zhuǎn)變成數(shù)字控制。使得控制速度和精度都得到了大大的提高。數(shù)字PID就是對(duì)上面講述的模擬PID控制的離散化,通常數(shù)字PID控制分為位置式PID控制算法和增量式PID控制算法。在數(shù)字控制器中,控制量是通過采樣方式,根據(jù)采樣時(shí)刻的偏差值計(jì)算控制量,故對(duì)式(4.1)中的積分和微分項(xiàng)不能直接使用,需要對(duì)其進(jìn)行離散化處理。按模擬PID控制算法的算式(4.1

54、),現(xiàn)以一系列的采樣時(shí)刻點(diǎn)kT代表連續(xù)時(shí)間t,以和式代替積分,以增量代替微分,則可以作如下的近似變換: 0tetdtTj=0kejT=Tj=0ke(j) t=kT(k=0,1,2,) de(t)dtekT-e(k-1)TT=ek-e(k-1)T QUOTE de(t)dtekT-e(k-1)TT=ek-e(k-1)T (4.3)式中,T-采樣周期。uk=KPek+TTij=0kej+TDTek-e(k-1) (4.4)在離散化過程中,采樣周期T的取值必須滿足采樣定理,即采樣周期T必須小于信號(hào)頻率的一半。只有滿足這個(gè)條件才能準(zhǔn)確的反映信號(hào)的特點(diǎn)。同時(shí)為了書寫方便和便于理解,將e(kT)簡(jiǎn)化表示成

55、e(k)。然后再將式(4.2)代入式(4.1),可以得到離散的PID表達(dá)式為:或 uk=KPek+Ktj=0ke(j)+KDek-e(k-1) (4.5)式中,k-采樣序號(hào),k= 0,1,2,.;u(k)-第k次采樣時(shí)刻的被控對(duì)象輸出值,即反饋量;e(k)-第k次采樣時(shí)刻輸入的偏差值;e(k-1)-第(k-1)次采樣時(shí)刻輸入的偏差值;Ki積分系數(shù), Ki=Kp*T/TiKd微分系數(shù),Kd=Kp*Td/T由z變換的性質(zhì)。Ze(k-1)=Z-1E(z)Zj=0ke(j)=E(z)1-z-1得到式(4.5)的z變換式為:Uz=KPEz+KiE(z)1-z-1+KDEz-z-1E(z) (4.6) 從

56、而可以得到數(shù)字PID控制器的Z傳遞函數(shù)為:GZ=U(z)E(z)=KP+Ki1-z-1+KD1-z-1 (4.7)我們常稱式(4.4)或式(4.5)為位置式PID控制算法。對(duì)于位置式PID控制算法來說,由于是全量輸出,所以每次輸出均與過去的狀態(tài)有關(guān),計(jì)算時(shí)要對(duì)誤差進(jìn)行累加,所以運(yùn)算工作量大。而且如果執(zhí)行器一一計(jì)算機(jī)出現(xiàn)故障,則會(huì)引起執(zhí)行機(jī)構(gòu)位置的大幅度變化,而這種情況是生產(chǎn)場(chǎng)合不允許的,因而產(chǎn)生了增量式PID控制算法。所謂增量式PID是指數(shù)字控制器的輸出只是控制量的增量u(k)。當(dāng)執(zhí)行機(jī)構(gòu)需要的是控制量的增量時(shí),可以由式(4.5)導(dǎo)出提供增量的PID控制算式。根據(jù)遞推原理可得:uk-1=KPe

57、k-1+Kij=0k=1e(j)+KDek-1-e(k-2) (4.8)用式(4.5)減去式(4.8),可得 uk=KPek-ek-1+Kiek+KDek-2ek-1+ek-2 =KPek+Kiek+KDek-e(k-1) (4.9)式中:ek=ek-e(k-1)式(4.9)稱為增量式PID控制算法。增量式控制與位置式控制相比,雖然只是算法上作了一些改進(jìn),卻帶來了不少優(yōu)點(diǎn):(1)位置式PID控制的輸出與整個(gè)過去的狀態(tài)有關(guān),用到了誤差的累加值;而增量式PID的輸出只與當(dāng)前拍和前兩拍的誤差有關(guān),因此位置式PID控制的累積誤差相對(duì)更大;(2)增量式PID控制輸出的是控制量增量,并無積分作用,因此該方

58、法適用于執(zhí)行機(jī)構(gòu)帶積分部件的對(duì)象,如步進(jìn)電機(jī)等,而位置式PID適用于執(zhí)行機(jī)構(gòu)不帶積分部件的對(duì)象,如電液伺服閥。(3)由于增量式PID輸出的是控制量增量,如果計(jì)算機(jī)出現(xiàn)故障,誤動(dòng)作影響較小,而執(zhí)行機(jī)構(gòu)本身有記憶功能,可仍保持原位,不會(huì)嚴(yán)重影響系統(tǒng)的工作,而位置式的輸出直接對(duì)應(yīng)對(duì)象的輸出,因此對(duì)系統(tǒng)影響較大。4.3PID控制器的參數(shù)整定PID控制器的參數(shù)整定方法一般包括比例系數(shù)KP、積分時(shí)間TI和微分時(shí)間TD3個(gè)參數(shù)的整定,三個(gè)參數(shù)的選取是PID控制器控制質(zhì)量好壞的關(guān)鍵。因而準(zhǔn)確選取3個(gè)參數(shù)尤為重要。1 理論計(jì)算法理論計(jì)算的方法是在獲取廣義對(duì)象數(shù)學(xué)模型的基礎(chǔ)上,并根據(jù)控制質(zhì)量的要求,通過理論計(jì)算出

59、控制器的最佳參數(shù)方法,經(jīng)典的方法有頻率響應(yīng)法、極點(diǎn)配置法和零級(jí)相消法,借助于計(jì)算機(jī),利用優(yōu)化方法或線性二次型指標(biāo),找出控制指標(biāo)下的PID控制參數(shù)最優(yōu)值。這種方法工作量大,比較繁瑣,有時(shí)會(huì)因優(yōu)化算法無解析性而以失敗。2 臨界比例度法這是一種目前使用較多的方法。在閉環(huán)的控制系統(tǒng)中,先將控制器變?yōu)榧儽壤饔?,即將TI放大“”位置上,TD放在“0”位置上。在干擾作用下,從大到小地逐漸改變控制器的比例度,直至系統(tǒng)產(chǎn)生等幅振蕩(即臨界振蕩),得到臨界增益和臨界振蕩周期,由此得到P,PI,PID三種情況的參數(shù)整定值。另外,繼電反饋方法通過繼電控制使過程產(chǎn)生極限環(huán)振蕩,從而獲得所需要的臨界值?;诶^電自動(dòng)整定

60、法避免了ZN法整定時(shí)間長(zhǎng)、臨界穩(wěn)定等問題,保留了簡(jiǎn)單的特點(diǎn)。3衰減曲線法衰減曲線法通過使系統(tǒng)產(chǎn)生衰減振蕩;來整定PID參數(shù)。具體方法為:在閉環(huán)的控制系統(tǒng)中,先將控制器變?yōu)榧儽壤饔?,并將比例度預(yù)置在較大的數(shù)值上。在系統(tǒng)達(dá)到穩(wěn)定后,用改變給定值的辦法加入階躍干擾,觀察被控變量記錄曲線的衰減比,然后從大到小改變比例度,直至出現(xiàn)4:1衰減比為止,得到衰減比例度,記下此時(shí)的比例度和衰減周期,求出控制器的PID參數(shù)。4基于模糊控制的PID整定法根據(jù)比例系數(shù)、積分時(shí)間和微分時(shí)間對(duì)誤差及誤差變化的不同作用,由誤差及誤差變化來編制模糊控制規(guī)則,在線調(diào)整PID參數(shù)或者根據(jù)響應(yīng)在不同時(shí)段3個(gè)參數(shù)所起的不同作用來調(diào)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論