用單片機實現(xiàn)光照度的PID調(diào)節(jié)_第1頁
用單片機實現(xiàn)光照度的PID調(diào)節(jié)_第2頁
用單片機實現(xiàn)光照度的PID調(diào)節(jié)_第3頁
用單片機實現(xiàn)光照度的PID調(diào)節(jié)_第4頁
用單片機實現(xiàn)光照度的PID調(diào)節(jié)_第5頁
已閱讀5頁,還剩56頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

天津職業(yè)技術(shù)師范大學(xué)2010屆本科生畢業(yè)設(shè)計(論文)目錄1引言 11.1單片機的組成及應(yīng)用領(lǐng)域 11.2有線通信技術(shù) 31.3無線數(shù)據(jù)傳輸技術(shù) 31.4PID調(diào)節(jié)技術(shù) 31.5本章小結(jié) 42光照度調(diào)節(jié)系統(tǒng)的設(shè)計框架和性能 42.1系統(tǒng)設(shè)計步驟 42.2系統(tǒng)功能及技術(shù)要求 52.3系統(tǒng)總體設(shè)計結(jié)構(gòu) 52.4本章小結(jié) 73硬件電路設(shè)計 83.1以51單片機為核心的主控制器電路設(shè)計 83.1.1LED數(shù)碼顯示的設(shè)計 83.1.2鍵盤的設(shè)計 93.1.3看門狗電路的設(shè)計 93.2以51單片機為核心的分控制器電路設(shè)計 93.2.1時鐘芯片的設(shè)計 103.2.2驅(qū)動電路的設(shè)計 113.3RS485通信電路的設(shè)計 123.4無線數(shù)傳電路的設(shè)計 133.4.1無線數(shù)傳電路的連接 143.4.2SRWF-1模塊 143.5本章小結(jié) 164軟件設(shè)計 174.1人機交互程序設(shè)計 174.1.1鍵盤掃描程序設(shè)計 184.1.2LED數(shù)碼顯示程序設(shè)計 194.2啟停控制程序設(shè)計 204.2.1全部啟??刂瞥绦蛟O(shè)計 204.2.2單獨啟停控制程序設(shè)計 224.3光照強度PID調(diào)節(jié)程序設(shè)計 244.3.1全部光照度PID調(diào)節(jié)程序設(shè)計 254.3.2單獨光照度PID調(diào)節(jié)程序設(shè)計 264.4照明定時控制程序設(shè)計 274.4.1全部定時控制程序設(shè)計 274.4.2單獨定時控制程序設(shè)計 284.5RS485通信程序設(shè)計 294.5.1主機部分通信程序設(shè)計 304.5.2從機部分通信程序設(shè)計 314.6無線數(shù)傳通信程序設(shè)計 324.7本章小結(jié) 335數(shù)字PID及其算法的改進 335.1PID控制基本原理 345.2三個基本參數(shù)Kp,Ti,Td在實際控制中的作用研究 345.3數(shù)字PID控制算法 355.4PID算法的改進,“飽和”作用的抑制 375.5PID控制算法的單片機程序?qū)崿F(xiàn) 375.6PWM信號的單片機程序?qū)崿F(xiàn) 386仿真及總結(jié) 38致謝 40參考文獻 40附錄 41A串行通信程序 41B光照度調(diào)節(jié)程序 47英文文獻及中文翻譯 51用單片機實現(xiàn)光照度的PID調(diào)節(jié)1引言近些年來,隨著我國城市建設(shè)的快速發(fā)展,樓宇照明也相應(yīng)飛速發(fā)展。在樓宇的照明數(shù)量與質(zhì)量兩個方面均有顯著的變化與提高,特別是隨著人民生活水平進入小康水平,樓宇照明水平提高很快,追求人工照明光環(huán)境的舒適性、個性化、安全、節(jié)能等方面日見突出。樓宇中人工光環(huán)境對于滿足人們的生活、學(xué)習(xí)、娛樂以及工作方面有著重要的意義。照明光照度調(diào)節(jié)系統(tǒng)傳統(tǒng)是以照明配電箱通過手動開關(guān)來控制照明燈具的通斷,或通過回路中串入接觸器,實現(xiàn)遠距離控制。而今出現(xiàn)的樓宇自控系統(tǒng),是以電氣觸點來實現(xiàn)區(qū)域控制、定時通斷、中央監(jiān)控等功能。由于照明控制系統(tǒng)在樓宇自控系統(tǒng)中并非獨立,同時控制功能簡單,因此使用上有一定的局限性。故當(dāng)樓宇自控系統(tǒng)出現(xiàn)故障時,照明系統(tǒng)亦受到影響。隨著微電子技術(shù)與數(shù)字化技術(shù)的發(fā)展,開發(fā)出了智能化水平更高的專業(yè)照明控制的獨立系統(tǒng),從而能節(jié)約能源、延長燈具壽命、提高照明質(zhì)量。根據(jù)使用客戶的經(jīng)驗,不僅使照明管理與設(shè)備維修簡單及降低費用外,還對環(huán)境改善、提高工作效率都有著顯著的效果。本系統(tǒng)是以單片機為控制器的核心,其中上位機是以AT89C51為基礎(chǔ),下位機是以AT89C2051為基礎(chǔ),再連接外圍電路,通過現(xiàn)場總線RS485通信方式,采用數(shù)字PID算法實現(xiàn)照明燈具光照度的智能調(diào)節(jié),也可以通過無線數(shù)傳模塊實現(xiàn)無線通信,從而達到照明燈具的智能控制。1.1單片機的組成及應(yīng)用領(lǐng)域單片機(單片微型計算機)就是將中央處理單元、存儲器、定時/計數(shù)器和多種接口都集成到一塊集成電路芯片上的微型計算機。因此一塊芯片就構(gòu)成了一臺計算機。它已成為工業(yè)控制領(lǐng)域、智能儀器儀表、尖端武器、日常生活中最廣泛使用的計算機。單片機由硬件系統(tǒng)與軟件系統(tǒng)組成。硬件系統(tǒng)是指構(gòu)成微機系統(tǒng)的實體與裝置,通常由運算器、控制器、存儲器、輸入接口電路和輸入設(shè)備、輸出接口電路和輸出設(shè)備等組成。其中運算器和控制器一般做在一個集成芯片上,統(tǒng)稱中央處理單元(CentralProcessingUnit),簡稱CPU,是微機的核心部件。CPU配上存放程序和數(shù)據(jù)的存儲器、輸入/輸出(Input/Output,簡稱I/O)接口電路以及外部設(shè)備即構(gòu)成單片機的硬件系統(tǒng)。軟件系統(tǒng)是微機系統(tǒng)所使用的各種程序的總稱,人們通過它對微機進行控制并與微機系統(tǒng)進行信息交換,使微機按照人的意圖完成預(yù)定的任務(wù)。軟件系統(tǒng)與硬件系統(tǒng)共同構(gòu)成完整的單片微型計算機系統(tǒng),兩者相輔相成,缺一不可。目前單片機滲透到我們生活的各個領(lǐng)域,幾乎很難找到哪個領(lǐng)域沒有單片機的蹤跡。導(dǎo)彈的導(dǎo)航裝置,飛機上各種儀表的控制,計算機的網(wǎng)絡(luò)通訊與數(shù)據(jù)傳輸,工業(yè)自動化過程的實時控制和數(shù)據(jù)處理,廣泛使用的各種智能IC卡,民用豪華轎車的安全保障系統(tǒng),錄像機、攝像機、全自動洗衣機的控制,以及程控玩具、電子寵物等等,這些都離不開單片機。更不用說自動控制領(lǐng)域的機器人、智能儀表、醫(yī)療器械了。單片機廣泛應(yīng)用于儀器儀表、家用電器、醫(yī)用設(shè)備、航空航天、專用設(shè)備的智能化管理及過程控制等領(lǐng)域,大致可分如下幾個范疇:1. 在智能儀器儀表上的應(yīng)用單片機具有體積小、功耗低、控制功能強、擴展靈活、微型化和使用方便等優(yōu)點,廣泛應(yīng)用于儀器儀表中,結(jié)合不同類型的傳感器,可實現(xiàn)諸如電壓、功率、頻率、濕度、溫度、流量、速度、厚度、角度、長度、硬度、元素、壓力等物理量的測量。采用單片機控制使得儀器儀表數(shù)字化、智能化、微型化,且功能比起采用電子或數(shù)字電路更加強大。例如精密的測量設(shè)備(功率計,示波器,各種分析儀)。2.在工業(yè)控制中的應(yīng)用用單片機可以構(gòu)成形式多樣的控制系統(tǒng)、數(shù)據(jù)采集系統(tǒng)。例如工廠流水線的智能化管芯片理,電梯智能化控制、各種報警系統(tǒng),與計算機聯(lián)網(wǎng)構(gòu)成二級控制系統(tǒng)等。3.在家用電器中的應(yīng)用可以這樣說,現(xiàn)在的家用電器基本上都采用了單片機控制,從電飯褒、洗衣機、電冰箱、空調(diào)機、彩電、其他音響視頻器材、再到電子秤量設(shè)備,五花八門,無所不在。4.在計算機網(wǎng)絡(luò)和通信領(lǐng)域中的應(yīng)用現(xiàn)代的單片機普遍具備通信接口,可以很方便地與計算機進行數(shù)據(jù)通信,為在計算機網(wǎng)絡(luò)和通信設(shè)備間的應(yīng)用提供了極好的物質(zhì)條件,現(xiàn)在的通信設(shè)備基本上都實現(xiàn)了單片機智能控制,從手機,電話機、小型程控交換機、樓宇自動通信呼叫系統(tǒng)、列車無線通信、再到日常工作中隨處可見的移動電話,集群移動通信,無線電對講機等。5.單片機在醫(yī)用設(shè)備領(lǐng)域中的應(yīng)用單片機在醫(yī)用設(shè)備中的用途亦相當(dāng)廣泛,例如醫(yī)用呼吸機,各種分析儀,監(jiān)護儀,超聲診斷設(shè)備及病床呼叫系統(tǒng)等等。6.在各種大型電器中的模塊化應(yīng)用某些專用單片機設(shè)計用于實現(xiàn)特定功能,從而在各種電路中進行模塊化應(yīng)用,而不要求使用人員了解其內(nèi)部結(jié)構(gòu)。如音樂集成單片機,看似簡單的功能,微縮在純電子芯片中(有別于磁帶機的原理),就需要復(fù)雜的類似于計算機的原理。如:音樂信號以數(shù)字的形式存于存儲器中(類似于ROM),由微控制器讀出,轉(zhuǎn)化為模擬音樂電信號(類似于聲卡)。在大型電路中,這種模塊化應(yīng)用極大地縮小了體積,簡化了電路,降低了損壞、錯誤率,也方便于更換。7.單片機在汽車設(shè)備領(lǐng)域中的應(yīng)用單片機在汽車電子中的應(yīng)用非常廣泛,例如汽車中的發(fā)動機控制器,基于CAN總線的汽車發(fā)動機智能電子控制器,GPS導(dǎo)航系統(tǒng),abs防抱死系統(tǒng),制動系統(tǒng)等等。此外,單片機在工商,金融,科研、教育,國防航空航天等領(lǐng)域都有著十分廣泛的用途。1.2有線通信技術(shù)在數(shù)據(jù)通信、計算機網(wǎng)絡(luò)以及工業(yè)上的分布式控制系統(tǒng)中,經(jīng)常需要采用串行通信來達到遠程信息交換的目的。目前,有多種接口標(biāo)準(zhǔn)可用于串行通信,最常用的接口有RS-232、RS-422、RS-485。RS232是最早的串行接口標(biāo)準(zhǔn),在短距離、較低波特率串行通信中得到了廣泛應(yīng)用。其后發(fā)展起來的RS-422、RS-485是平衡傳送的電氣標(biāo)準(zhǔn),比起RS-232非平衡的傳送方式在電氣指標(biāo)上有了大幅度的提高。但總的來說,RS-232、RS-422與RS-485最初都是由電子工業(yè)協(xié)會(EIA)制訂并發(fā)布的,EIA于1983年在RS-422基礎(chǔ)上制定了RS-485標(biāo)準(zhǔn),增加了多點、雙向通信能力,即允許多個發(fā)送器連接到同一條總線上,同時增加了發(fā)送器的驅(qū)動能力和沖突保護特性,擴展了總線共模范圍,后命名為TIA/EIA-485-A標(biāo)準(zhǔn)。RS-232、RS-422與RS-485標(biāo)準(zhǔn)只對接口的電氣特性做出規(guī)定,而不涉及接插件、電纜或協(xié)議,在此基礎(chǔ)上用戶可以建立自己的高層通信協(xié)議。正因為RS-485的遠距離、多節(jié)點(32個)、受干擾較小、可靠性強、保密性強、可以自行定義協(xié)議以及傳輸線成本低的特性,使得EIARS-485成為工業(yè)應(yīng)用中數(shù)據(jù)傳輸?shù)氖走x標(biāo)準(zhǔn)。1.3無線數(shù)據(jù)傳輸技術(shù)有線傳輸?shù)姆绞诫m然使用非常廣泛且可靠性較高,但由于各方面的局限性,已經(jīng)在眾多方面被無線傳輸方式所取代。無線數(shù)字傳輸技術(shù)日益完善,其重要性也被人們所認(rèn)識,相應(yīng)的基于無線數(shù)字傳輸?shù)漠a(chǎn)品也隨處可見。無線數(shù)字傳輸系統(tǒng)安裝簡便、使用效率高,可應(yīng)用于各個領(lǐng)域,例如,無線數(shù)據(jù)傳輸、無線數(shù)據(jù)采集、無線抄表、工業(yè)遙控、樓宇自動化、高檔玩具等等。無線數(shù)傳技術(shù)是通過單片機的串口與無線數(shù)傳模塊連接,將要發(fā)送的數(shù)據(jù)由無線數(shù)傳模塊向空中發(fā)出,然后由另一個終端設(shè)備的無線數(shù)傳模塊從空中接收數(shù)據(jù),這樣就實現(xiàn)了預(yù)期的任務(wù)。1.4PID調(diào)節(jié)技術(shù)在自動控制中,按偏差的比例(P)、積分(I)和微分(D)進行控制的PID控制器(亦稱PID調(diào)節(jié)器)是應(yīng)用最為廣泛的一種自動控制器。它具有原理簡單,易于實現(xiàn),適用面廣,控制參數(shù)相互獨立,參數(shù)的選定比較簡單等優(yōu)點;而且在理論上可以證明,對于過程控制的典型對象──“一階滯后+純滯后”與“二階滯后+純滯后”的控制對象,PID控制器是一種最優(yōu)控制。PID調(diào)節(jié)規(guī)律是連續(xù)系統(tǒng)動態(tài)品質(zhì)校正的一種有效方法,它的參數(shù)整定方式簡便,結(jié)構(gòu)改變靈活(PI、PD、…)。1.5本章小結(jié)本章介紹了照明光照度調(diào)節(jié)系統(tǒng)在智能樓宇中的應(yīng)用、發(fā)展以及所使用的主要專業(yè)技術(shù)。它從傳統(tǒng)的方式逐步發(fā)展到能夠?qū)崿F(xiàn)智能化控制,使用戶使用起來更加方便、舒適。本文所研究的光照度調(diào)節(jié)系統(tǒng)主要使用了單片機技術(shù)、有線通信技術(shù)、無線數(shù)傳技術(shù)和PID調(diào)節(jié)技術(shù)。2光照度調(diào)節(jié)系統(tǒng)的設(shè)計框架和性能2.1系統(tǒng)設(shè)計步驟系統(tǒng)設(shè)計主要包括硬件和軟件兩大部分,依據(jù)控制系統(tǒng)的工作原理和技術(shù)性能,將硬件和軟件分開設(shè)計。硬件設(shè)計部分包括電路原理圖、合理選擇元器件、繪制線路圖,然后對硬件進行調(diào)試、測試,以達到設(shè)計要求。軟件設(shè)計部分,首先在總體設(shè)計中完成系統(tǒng)總框圖和各模塊的功能設(shè)計,;然后進行具體設(shè)計,包括各模塊的流程圖,選擇合適的編程語言和工具,進行代碼設(shè)計等;最后是對軟件進行調(diào)試、測試,達到所需功能要求。在系統(tǒng)設(shè)計中設(shè)計方法的選用是系統(tǒng)設(shè)計能否成功的關(guān)鍵。硬件電路是采用結(jié)構(gòu)化系統(tǒng)設(shè)計方法,該方法保證設(shè)計電路的標(biāo)準(zhǔn)化、模塊化。硬件電路的設(shè)計最重要的選擇用于控制的單片機,并確定與之配套的外圍芯片,使所設(shè)計的系統(tǒng)既經(jīng)濟又高性能。硬件電路設(shè)計還包括輸入輸出接口設(shè)計,畫出詳細電路圖,標(biāo)出芯片的型號、器件參數(shù)值,根據(jù)電路圖在仿真軟件上進行調(diào)試,發(fā)現(xiàn)設(shè)計不當(dāng)及時修改,最終達到設(shè)計目的。軟件設(shè)計的方法與開發(fā)環(huán)境的選取有著直接的關(guān)系,本系統(tǒng)由于是采用51系列單片機,因此使用KeilC語言進行開發(fā)。此編程工具相比匯編語言具有結(jié)構(gòu)化、適用范圍大、可移植性好等特點。本系統(tǒng)軟件設(shè)計采用模塊化系統(tǒng)設(shè)計方法,先編寫各個功能模塊子程序,然后進行組合與調(diào)整,經(jīng)過調(diào)試后,達到設(shè)計功能要求。設(shè)計的任務(wù)流程圖如圖所示。圖任務(wù)流程2.2系統(tǒng)功能及技術(shù)要求1照明啟??刂迫_全關(guān)單獨開單獨關(guān)2光照度調(diào)節(jié)全部光照度調(diào)節(jié)單獨光照度調(diào)節(jié)3定時控制對全部照明燈進行定時控制對每個照明燈進行定時控制2.3系統(tǒng)總體設(shè)計結(jié)構(gòu)系統(tǒng)的結(jié)構(gòu)主要由三部分組成:(1)上位機系統(tǒng);(2)下位機系統(tǒng);(3)通信系統(tǒng)。這三部分共同完成了主控制器通過有線、無線通信方式與分控制器進行信息交換,達到控制照明燈具的目的。有線通信系統(tǒng)的結(jié)構(gòu)框圖如圖所示。圖有線通信系統(tǒng)結(jié)構(gòu)框圖該多機通信系統(tǒng)采用RS-485半雙工主從式通信系統(tǒng),主機可以發(fā)送數(shù)據(jù)或命令到從機,從機主要負(fù)責(zé)對分布的照明燈具進行控制,用中斷的方式接收主機發(fā)來的命令或數(shù)據(jù)并做出回應(yīng)。無線數(shù)據(jù)傳輸系統(tǒng)也是由主控制器和分控制器兩部分組成,系統(tǒng)結(jié)構(gòu)框圖如圖所示。主控制器是發(fā)送遙控指令、發(fā)送數(shù)據(jù)信息、接收應(yīng)答信息等,分控制器接收數(shù)據(jù)與遙控指令,完成對照明燈具的控制。圖無線數(shù)傳系統(tǒng)結(jié)構(gòu)框圖系統(tǒng)的主控制器通過RS-485總線或無線數(shù)傳模塊將數(shù)據(jù)或命令發(fā)送給分控制器,同時將信息送給數(shù)碼顯示單元進行顯示,并有看門狗電路對運行程序進行有效監(jiān)視。主控制器硬件電路結(jié)構(gòu)如圖所示。圖主控制器硬件電路結(jié)構(gòu)框圖分控制器接收主控制器的發(fā)來的數(shù)據(jù)和命令,通過可控硅電路對照明燈具進行開關(guān)、光照強度調(diào)節(jié),并且利用實時時鐘芯片對照明燈具進行定時開關(guān)控制。分控制器硬件電路結(jié)構(gòu)如圖所示。圖分控制器硬件電路結(jié)構(gòu)框圖系統(tǒng)在單片機的控制之下完成數(shù)據(jù)的通信、顯示,同時能夠控制照明燈具,其硬件電路只是系統(tǒng)的實施工具,大量的工作是由軟件來完成的。這些程序是系統(tǒng)的靈魂,是負(fù)責(zé)完成硬件電路實現(xiàn)功能和與用戶交互的橋梁,是維護系統(tǒng)正常工作的工具。2.4本章小結(jié)本章主要從系統(tǒng)設(shè)計步驟、系統(tǒng)功能及技術(shù)要求、系統(tǒng)的總體設(shè)計結(jié)構(gòu)三方面對所研究的光照度調(diào)節(jié)系統(tǒng)的設(shè)計框架和性能進行了闡述,該系統(tǒng)由一個主控制器與若干個分控制器組成,系統(tǒng)的設(shè)計首先要從硬件方面著手,在繪制出正確的電路圖后,再按功能要求編制出相應(yīng)的軟件程序,最終要達到所要求的功能指標(biāo)。3硬件電路設(shè)計3.1以51單片機為核心的主控制器電路設(shè)計主控制器采用AT89C51單片機作為微處理器,AT89C51是美國ATMEL公司生產(chǎn)的低電壓、高性能CMOS8位單片機,片內(nèi)含4Kbytes的可反復(fù)擦寫的Flash只讀程序存儲器和128bytes的隨機存取數(shù)據(jù)存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器(CPU)和Flash存儲單元。主控制器系統(tǒng)的外圍接口電路由鍵盤、數(shù)碼顯示及驅(qū)動電路、晶振、看門狗電路、通信接口電路等幾部分組成。主控制器系統(tǒng)的硬件電路原理圖如圖所示。圖主控制器系統(tǒng)的硬件電路原理圖3.1.1LED數(shù)碼顯示的設(shè)計數(shù)碼顯示與驅(qū)動電路由74LS138譯碼器、7447TTLBCD-7段高有效譯碼器/驅(qū)動器、4個數(shù)碼管以及5個A1015三極管組成。由單片機的P0.0~P0.3口輸出的四位BCD碼,經(jīng)7447芯片后,翻譯成7段數(shù)碼管a、b、c、d、e、f、g相應(yīng)的段,并輸出點亮數(shù)碼管相應(yīng)的段。單片機的P0.4、P0.5口輸出的信號經(jīng)74LS138譯碼器后產(chǎn)生的高電平信號加在A1015三極管的基極,控制三極管的導(dǎo)通,從而起到對相應(yīng)數(shù)碼管的選通作用。4個7段數(shù)碼管都被接成共陽極方式。3.1.2鍵盤的設(shè)計鍵盤的結(jié)構(gòu)形式有兩種,即獨立式按鍵和矩陣式鍵盤。本系統(tǒng)使用的是4×4矩陣式鍵盤,第一行從左到右為1、2、3、4,第二行為5、6、7、8,第三行為9、0、開、關(guān),第四行為增值、減值、定時、確認(rèn)。該形式的鍵盤,每個按鍵開關(guān)位于行列的交叉處,采用逐行掃描的方法識別鍵碼。矩陣鍵盤的列線從左到右分別與單片機的P1.0、P1.1、P1.2、P1.3相連,矩陣鍵盤的行線從上到下分別與P1.4、P1.5、P1.6、P1.7相連。每當(dāng)按下一個鍵時,對應(yīng)的行線與列線就會連通,這樣單片機就能檢測出信號,并通過鍵盤掃描程序?qū)︽I盤進行掃描,以識別被按鍵的行、列位置。3.1.3看門狗電路的設(shè)計本系統(tǒng)采用MAXIM公司的低成本微處理器監(jiān)控芯片MAX813L構(gòu)成硬件狗,與AT89C51的接口電路如圖所示。MR與WDO經(jīng)過一個二極管連接起來,WDI接單片機的P2.7口,RESET接單片機的復(fù)位輸入腳RESET,MR經(jīng)過一個復(fù)位按鈕接地。該監(jiān)控電路的主要功能如下:(1)系統(tǒng)正常上電復(fù)位:電源上電時,當(dāng)電源電壓超過復(fù)位門限電壓4.65V,RESET端輸出200ms的復(fù)位信號,使系統(tǒng)復(fù)位。(2)對+5V電源進行監(jiān)視:當(dāng)+5V電源正常時,RESET為低電平,單片機正常工作;當(dāng)+5V電源電壓降至+4.65V以下時,RESET輸出高電平,對單片機進行復(fù)位。(3)看門狗定時器被清零,WDO維持高電平;當(dāng)程序跑飛或死機時,CPU不能在1.6s內(nèi)給出“喂狗”信號,WDO跳變?yōu)榈碗娖?,由于MR端有一個內(nèi)部250mA的上拉電流,D導(dǎo)通MR獲得有效低電平,RESET端輸出復(fù)位脈沖,單片機復(fù)位,看門狗定時器清零,WDO又恢復(fù)成高電平。(4)手動復(fù)位:如果需要對系統(tǒng)進行手動復(fù)位,只要按下手動復(fù)位按鈕,就能對系統(tǒng)進行有效的復(fù)位。3.2以51單片機為核心的分控制器電路設(shè)計分控制器采用低檔型的AT89C2051單片機作為微處理器,AT89C2051也是美國ATMEL公司生產(chǎn)的低電壓、高性能CMOS8位單片機,片內(nèi)含2Kbytes的可反復(fù)擦寫的Flash只讀程序存儲器和128bytes的隨機存取數(shù)據(jù)存儲器(RAM),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),具有15線可編程I/O口,該單片機具有體積小、成本低、結(jié)構(gòu)簡單、性價比較高等特點。分控制器系統(tǒng)的外圍接口電路由晶振、實時時鐘芯片、可控硅控制電路、零點檢測電路、看門狗電路、通信接口電路等組成。分控制器系統(tǒng)的硬件電路原理圖如圖所示。圖分控制器系統(tǒng)的硬件電路原理圖3.2.1時鐘芯片的設(shè)計本系統(tǒng)利用單片機89C2051和時鐘芯片DS1302進行串行數(shù)據(jù)通信,讀取和寫入實時數(shù)據(jù),用于定時控制照明燈具的啟停。DS1302是美國Dallas公司推出的一種高性能、低功耗的實時時鐘芯片,附加31字節(jié)靜態(tài)RAM,采用SPI三線接口與CPU進行同步通信,并可采用突發(fā)方式一次傳送多個字節(jié)的時鐘信號或RAM數(shù)據(jù)。實時時鐘可提供秒、分、時、日、星期、月和年,一個月小于31日時可自動調(diào)整。DS1302與單片機的連接僅需要3根線,即SCLK、I/O、RST。RST接在P1.7上,此引腳為高電平時,選中該芯片,可對其進行操作。串行數(shù)據(jù)線I/O與串行時鐘線SCLK分別接在P1.5和P1.6上,所有的單片機地址、命令及數(shù)據(jù)均通過這兩條線傳輸。在本系統(tǒng)中,89C2051為主器件,DS1302為從器件,主器件在總線上產(chǎn)生時鐘脈沖、尋址信號、數(shù)據(jù)信號等,而從器件則相應(yīng)接收數(shù)據(jù)、送出數(shù)據(jù)。對DS1302的每一次讀寫需16個時鐘脈沖,前8個脈沖輸入操作地址和讀寫命令。其中位7必須為1;位0為0時向芯片寫入數(shù)據(jù),為1時從芯片讀出數(shù)據(jù);位6~位1選定芯片中的地址。后8個脈沖寫入或讀出數(shù)據(jù)。DS1302采用雙電源系統(tǒng)供電,VCC1在雙電源系統(tǒng)中提供主電源,在這種運用方式下VCC2連接到備份電源,以便在沒有主電源的情況下能保存時間信息以及數(shù)據(jù)。DS1302由兩者中的較大者供電。當(dāng)VCC1大于VCC2+0.2V時,VCC1給DS1302供電。當(dāng)VCC1小于VCC2時,DS1302由VCC2供電。3.2.2驅(qū)動電路的設(shè)計這部分電路的設(shè)計采用單片機的I/O口灌電流的方法控制可控硅實現(xiàn)開關(guān)與調(diào)光控制,用光電耦合器M0C3021作為可控硅的驅(qū)動器,同時實現(xiàn)強、弱電的隔離。光電耦合器M0C3021通過一個非門與89C2051的P3.7口連接,當(dāng)此腳輸出高電平時,將會封鎖住MOC3021,使雙向可控硅BT131不導(dǎo)通,這樣就會使照明燈關(guān)閉;當(dāng)P3.7腳輸出低電平時,使光電耦合器MOC3021打開驅(qū)動雙向可控硅,從而將雙向可控硅觸發(fā)導(dǎo)通,這樣就開啟了所要控制的照明燈。對于照明燈的光照強度調(diào)節(jié),這里采用PWM(PulseWidthModulation)方式,即脈沖寬度調(diào)制的簡稱,PWM是一種周期一定而高低電平的占空比可以調(diào)制的方波信號,當(dāng)輸出脈沖周期一定時,輸出脈沖的占空比越大相對應(yīng)的輸出有效電壓越大。在一個周期內(nèi)的脈沖寬度(導(dǎo)通時間)為T1,周期為T,波形如圖所示。圖脈沖波形圖則輸出電壓的平均值為:U=VCC×T1/T=αVCC其中α=T1/T(正脈沖的持續(xù)時間與脈沖周期的比值)稱為占空比,α的變化范圍為0≤α≤1,VCC為電源電壓。當(dāng)電源電壓VCC不變的情況下,輸出電壓的平均值U取決與占空比α的大小,改變α的大小就可以改變輸出電壓的平均值,這就是PWM的工作原理。燈泡的光照強度與加在燈泡兩端的電壓成比例,而燈泡兩端的電壓與可控硅的導(dǎo)通角成比例,這樣通過調(diào)節(jié)PWM信號的占空比來控制可控硅的導(dǎo)通角。因此占空比越大,燈泡就越亮,當(dāng)占空比α=1時,燈泡的光照強度最高。由于89C2051單片機沒有PWM信號輸出功能,所以在這里采用單片機定時器配合軟件的方法來實現(xiàn)PWM信號的輸出。使用PWM方法進行可控硅控制時,調(diào)制頻率不能低于市電頻率,因為當(dāng)頻率低于50Hz時,超過了人眼視覺暫留效應(yīng),用于調(diào)光將產(chǎn)生閃爍的現(xiàn)象。當(dāng)調(diào)制頻率大于市電頻率,可控硅將處于連續(xù)導(dǎo)通狀態(tài)而不能達到調(diào)壓的目的,因此必須使用過零檢測作為觸發(fā)可控硅的基點。本系統(tǒng)中所使用的過零檢測電路先由一個變壓器將市電電壓轉(zhuǎn)換成10V左右的電壓,經(jīng)過整流、穩(wěn)壓后可作為系統(tǒng)工作電源,同時將變壓器次級的同名端引出一根線連接到比較器LM311的正輸入端,用以檢測交流電的過零點,然后將過零信號送給單片機的P1.3口上。當(dāng)檢測到交流電的過零點時,就去觸發(fā)雙向可控硅,同時通過PWM信號的輸出控制雙向可控硅的導(dǎo)通時間,最終達到控制燈泡光照強度的目的。3.3RS485通信電路的設(shè)計系統(tǒng)的有線通信方式采用RS485總線進行通信,RS485標(biāo)準(zhǔn)支持半雙工通信,只需三根線就可以進行數(shù)據(jù)的發(fā)送和接收,同時具有抑制共模干擾的能力,接收靈敏度可達±200mV,大大提高了通信距離,在100Kbps速率下通信距離可達1200m,如果通信距離縮短,最大速率可達10Mbps。在這里使用的是主從式通信方式,主機由主控制器充當(dāng),從機為分控制器。主機處于主導(dǎo)和支配地位,從機以中斷方式接收和發(fā)送數(shù)據(jù),主機發(fā)送的信息可以傳送到所有的從機或指定的從機,從機發(fā)送的信息只能為主機接收,從機之間不能直接通信。主機與從機的通信電路圖分別如圖與圖所示。圖主機通信電路圖圖從機通信電路圖主機與從機選用的RS485通信收發(fā)器芯片為MAX485,它是MAXIM公司生產(chǎn)的用于RS485通信的低功率收發(fā)器件,采用單一電源+5V工作,額定電流為300μA,采用半雙工通信方式。它完成將TTL電平轉(zhuǎn)換為RS485電平的功能。MAX485芯片內(nèi)部含有一個驅(qū)動器和接收器。RO和DI端分別為接收器的輸出和驅(qū)動器的輸入端,與單片機連接時只需分別與單片機的RXD和TXD相連即可;RE和DE端分別為接收和發(fā)送的使能端,當(dāng)RE端為邏輯0時,器件處于接收狀態(tài);當(dāng)DE端為邏輯1時,器件處于發(fā)送狀態(tài),因為MAX485工作在半雙工狀態(tài),所以只需用單片機的一個管腳控制這兩個引腳即可,主機與從機分別使用P2.6與P1.0腳進行控制;A端和B端分別為接收和發(fā)送的差分信號端,當(dāng)A引腳的電平高于B時,代表發(fā)送的數(shù)據(jù)為1;當(dāng)A的電平低于B端時,代表發(fā)送的數(shù)據(jù)為0。在進行通信時只需要一個信號控制MAX485的接收和發(fā)送即可。同時將A和B端之間加匹配電阻,這里選用120Ω的電阻。為了提高系統(tǒng)的抗干擾能力,采用光電耦合器TLP521對通信系統(tǒng)進行光電隔離。從機使用單片機的P1.0控制通信收發(fā)器MAX485的工作狀態(tài),平時置P1.0為低電平,使從機串行口處于偵聽狀態(tài)。當(dāng)有串行中斷產(chǎn)生時判別是否是本機號,若為本機地址則置P1.0為高電平,發(fā)送應(yīng)答信息,然后再置P1.0為低電平接收控制指令,繼續(xù)保持P1.0為低電平,使串行收發(fā)器處于接收狀態(tài);若不是本機地址,使P1.0為低電平,使串行收發(fā)器處于接收偵聽狀態(tài)。3.4無線數(shù)傳電路的設(shè)計無線數(shù)據(jù)傳輸需要通過無線數(shù)傳模塊來實現(xiàn)。本系統(tǒng)選用的是上海桑銳電子科技有限公司生產(chǎn)的SRWF-1型微功率無線數(shù)傳模塊。該模塊的通信信道是半雙工的,最適合點對多點的通信方式。單片機與無線數(shù)傳模塊之間可以進行信息的傳送與回饋,即所謂的雙向通信。3.4.1無線數(shù)傳電路的連接主控制器與分控制器各使用一個無線數(shù)傳模塊,形成發(fā)送與接收的無線通信通道。模塊的數(shù)據(jù)輸入和輸出端與單片機的串行口連接,即模塊的串行數(shù)據(jù)發(fā)射端TXD與單片機的串行數(shù)據(jù)輸入端RXD連接;模塊的串行數(shù)據(jù)接收端RXD與單片機的串行數(shù)據(jù)輸出端TXD連接。單片機與無線數(shù)傳模塊SRWF-1的電路連接如圖所示。圖單片機與無線數(shù)傳模塊的連接3.4.2SRWF-1模塊SRWF-1型微功率無線數(shù)傳模塊(如圖所示)是上海桑銳電子科技有限公司采用高效FEC前向糾錯技術(shù)結(jié)合高性能的無線射頻IC,以及高速微處理器相結(jié)合開發(fā)出的一款無線通信模塊,該無線通信模塊具有很強的抗干擾能力,全透明傳輸,體積小,功耗低傳輸距離遠的特點,客戶使用時不需要任何編碼技術(shù)。圖SRWF-1型微功率無線數(shù)傳模塊1該模塊主要特性:(1)微發(fā)射功率:最大10dbm(10mW)的發(fā)射功率。(2)ISM頻段工作頻率,無需申請頻點。載頻頻率429-438MHz,也可提供315/868/915MHz等載頻。(3)高抗干擾能力和低誤碼率。基于FSK的調(diào)制方式,采用高效無線通信協(xié)議,在信道誤碼率為10-2時,可得到實際誤碼率10-5~10-6。(4)完善的通訊協(xié)議。(5)傳輸距離遠。在視距情況下,天線高度>3米,可靠傳輸距離>300m。(6)透明的數(shù)據(jù)傳輸。提供透明的數(shù)據(jù)接口,能適應(yīng)任何標(biāo)準(zhǔn)或非標(biāo)準(zhǔn)的用戶協(xié)議。自動過濾掉空中產(chǎn)生的噪音信號及假數(shù)據(jù)(所發(fā)即所收)。(7)多信道,多速率。SRWF-1型模塊標(biāo)準(zhǔn)配置提供8個信道,根據(jù)用戶需要,可擴展到16/32信道,滿足用戶多種通信組合方式的需求。SRWF-1型模塊可提供1200bps、2400bps、4800bps、9600bps、19200bps等多種通信波特率,并且無線傳輸速率與接口波特率成正比,以滿足客戶設(shè)備對多種波特率的需要。(8)雙串口,3種接口方式。SRWF-1型模塊提供2個串口3種接口方式,COM1為TTL電平UART接口。COM2由用戶自定義為標(biāo)準(zhǔn)的RS-232/RS-485接口(用戶只需要拔/插短路器再上電即可改變接口類型)。(9)高速無線通訊和大的數(shù)據(jù)緩沖區(qū)???次傳輸無限長度的數(shù)據(jù),用戶編程更加靈活。(10)智能數(shù)據(jù)控制,用戶無需編制多余的程序。即使是半雙工通信,用戶也無需編制多余的程序,只要從接口收/發(fā)數(shù)據(jù)即可,其它如空中收/發(fā)轉(zhuǎn)換,網(wǎng)絡(luò)連接,控制等操作,SRWF-1型模塊能夠自動完成。(11)低功耗及休眠功能。接收電流<20mA,發(fā)射電流<40mA,休眠時電流僅為<20uA。(12)高可靠性,體積小、重量輕。采用高性能單片處理器ATMega8L,外圍電路少,可靠性高,故障率低。(13)兩種接口收發(fā)等待時間??稍O(shè)置的接口等待時間使模塊既能用于高速用戶設(shè)備(如DSP系統(tǒng))也可適用低速系統(tǒng)(如51系統(tǒng))。(14)看門狗實時監(jiān)控。ATMega8L的看門狗監(jiān)控內(nèi)部功能,改變了傳統(tǒng)產(chǎn)品的組織結(jié)構(gòu),提高了產(chǎn)品的可靠性。2該模塊引腳說明:1GND電源模擬地2電源DC+3.6V…+5.0V3RXD/TTL串行數(shù)據(jù)接收端TTLTXD4TXD/TTL串行數(shù)據(jù)發(fā)射端TTLRXD5SGND信號地模擬地可與電源地相連6A(TX)A(RX)RS-485的ARS-232的TX7B(RX)B(TX)RS-485的BRS-232的RX8SLP休眠控制(輸入)TTL休眠信號低有效t>15ms9RESET復(fù)位(輸出)TTL喚醒信號負(fù)脈沖喚醒>1ms3該模塊使用條件說明:中心頻率433MHZ頻率范圍420~460MHZ信道數(shù)8/16/32信道可選調(diào)制方式FSK通信距離(開放環(huán)境)300米功能雙向半雙工通信波特率1200/2400/4800/9600/19200bps接口方式TTL串口/RS232/RS485發(fā)射功率+10dbm接收靈敏度-105dbm通信數(shù)據(jù)格式8N1/8E1/8O1可調(diào)工作電壓+3.6~+5.5V發(fā)射電流<40mA接收電流<20mA休眠電流<20uA工作溫度-25℃~80℃工作濕度10%~90%相對濕度無冷凝3.5本章小結(jié)本章詳細地闡述了系統(tǒng)硬件部分的設(shè)計過程,從系統(tǒng)主控制器的硬件電路設(shè)計到分控制器的硬件電路設(shè)計,然后是RS485通信電路設(shè)計與無線數(shù)傳模塊的電路連接。系統(tǒng)的主控制器和分控制器分別是以AT89C51與AT89C2051單片機為基礎(chǔ),按照所要求的功能配上相應(yīng)的外圍電路。主控制器的外圍電路主要有鍵盤接口、LED數(shù)碼顯示接口、看門狗接口、RS485通信接口、無線數(shù)傳接口以及晶振等。分控制器的外圍電路主要有時鐘芯片接口、零點檢測電路、可控硅控制電路、RS485通信電路、無線數(shù)傳電路以及看門狗與晶振等。主控制器通過串口使用RS485通信方式或者無線數(shù)傳方式向分控制器發(fā)出信號實現(xiàn)對照明燈的啟停、光照強度調(diào)節(jié)、定時控制等功能。4軟件設(shè)計軟件是計算機系統(tǒng)的靈魂,沒有軟件計算機不能充分發(fā)揮其功能,這是軟件在計算機中的地位,而在計算機控制系統(tǒng)中,軟件也是非常重要的。在照明控制系統(tǒng)中,硬件設(shè)備的功能是由軟件來定義的,如系統(tǒng)要控制分布的照明燈具,通過有線與無線串行通信程序來完成控制功能,通過軟件定義鍵盤功能,通過編程完成LED數(shù)碼顯示等等,由此可見,軟件是控制系統(tǒng)中的一個重要組成部分。該照明控制系統(tǒng)的軟件程序包括:照明啟??刂瞥绦?、光照強度調(diào)節(jié)程序、照明定時控制程序、人機交互程序以及RS485串行通信與無線數(shù)傳通信程序等。本著軟件設(shè)計的基本方法,照明控制程序的軟件設(shè)計方法是利用傳統(tǒng)的結(jié)構(gòu)化分析與設(shè)計方法來完成的。結(jié)構(gòu)化程序設(shè)計方法雖然是早期的程序設(shè)計方法,但該方法還一直被廣泛地使用。結(jié)構(gòu)化系統(tǒng)分析與設(shè)計貫穿整個軟件設(shè)計過程,遵循“自頂向下,逐步求精”的基本原則。本照明控制系統(tǒng)軟件程序總體結(jié)構(gòu)如圖所示。圖光照度調(diào)節(jié)系統(tǒng)軟件程序總體結(jié)構(gòu)圖4.1人機交互程序設(shè)計系統(tǒng)的人機交互程序設(shè)計,主要是解決按鍵的掃描與信息的顯示,讓操作者能夠靈活地控制系統(tǒng)工作。鍵盤用來輸入指令,發(fā)光數(shù)碼管用來顯示單片機的狀態(tài),這是一個比較簡單的人機交互形式。4.1.1鍵盤掃描程序設(shè)計本系統(tǒng)的鍵盤采用的是4×4矩陣式鍵盤,矩陣式鍵盤由行線和列線組成,按鍵位于行、列線的交叉點上。一個4×4的行、列結(jié)構(gòu)可以構(gòu)成一個含有16個按鍵的鍵盤,顯然,在按鍵數(shù)量較多時,矩陣式鍵盤較之獨立式按鍵鍵盤要節(jié)省很多I/O口。矩陣式鍵盤中,行、列線分別連接到按鍵開關(guān)的兩端,在進行鍵盤掃描時,首先把矩陣鍵盤列線的第一根線置高,然后分別再檢測矩陣鍵盤行線是否有高電平的信號,如果有信號,那么就證明這根行線與第一根列線相交處的按鍵被按下了,單片機就讀入這個鍵值。如果所有的四根行線都沒有信號,那么就把第一根列線置低,把第二根列線置高,再一次檢測行線有沒有信號,然后依次類推。由于鍵盤掃描的速度很快,而人按鍵總會持續(xù)一定的時間,因此只要單片機處在等待輸入的狀態(tài),這個鍵盤掃描程序基本上不會錯過任何一個按鍵信號。由于一般人按鍵會有抖動,抖動信號造成鍵盤掃描時會出現(xiàn)一些錯誤的信號,要不就是掃描不進數(shù)據(jù),要不就是重復(fù)輸入很多次數(shù)據(jù),因此需要有一個消除抖動的程序。讓單片機不響應(yīng)一些相關(guān)的抖動信號,而只響應(yīng)一次確實存在的按鍵信號。消抖動程序是這樣實現(xiàn)的,當(dāng)檢測到一個脈沖信號時,并不立即認(rèn)為是一次按鍵,而是延時一段時間以后再進行檢測,如果三次檢測都有信號,那么就認(rèn)為有一次按鍵動作發(fā)生了。延時的選擇非常重要,太快了,起不到消除抖動的效果,太慢了又讓鍵盤太不靈活,錯過較多的按鍵信號。鍵盤掃描程序的流程圖如圖所示。系統(tǒng)的按鍵定義除了基本的數(shù)字鍵(0~9)外,將其它的鍵依次定義為開、關(guān)、增值、減值、定時、確認(rèn)六個命令鍵,其控制的基本功能是:(1)通過數(shù)字鍵、確認(rèn)鍵輸入分控制器的地址以及定時功能的時間設(shè)置。(2)利用開、關(guān)鍵控制照明燈具的啟停。(3)利用增值、減值鍵控制照明燈具的光照強度。(4)通過定時鍵來對照明燈具進行定時控制的設(shè)置。系統(tǒng)通過軟件方法實現(xiàn)該功能,即定義開、關(guān)、增值、減值、定時、確認(rèn)等命令鍵,利用鍵盤掃描程序獲取對應(yīng)命令鍵的鍵值,然后執(zhí)行相應(yīng)的子程序,實現(xiàn)所要求的控制功能。圖鍵盤掃描程序流程圖4.1.2LED數(shù)碼顯示程序設(shè)計本系統(tǒng)采用了四位共陽極七段數(shù)碼管,共陽極數(shù)碼管的8個發(fā)光二極管的陽極(二極管正端)連接在一起,通常,公共陽極接高電平(一般接電源),其它管腳接段驅(qū)動電路輸出端。當(dāng)某段驅(qū)動電路的輸出端為低電平時,則該端所連接的字段導(dǎo)通并點亮,根據(jù)發(fā)光字段的不同組合可顯示出各種數(shù)字或字符。此時,要求段驅(qū)動電路能吸收額定的段導(dǎo)通電流,還需根據(jù)外接電源及額定段導(dǎo)通電流來確定相應(yīng)的限流電阻,這里的限流電阻選為100Ω。這里選用的7447芯片是從BCD碼到SEG7段碼的轉(zhuǎn)換器,而74LS138是一個地址譯碼器,通過74LS138選通某個數(shù)碼管,然后根據(jù)7447傳送過來的SEG7段碼的數(shù)據(jù)進行顯示,而在非選通的時候,數(shù)碼管能夠保持原有的顯示數(shù)據(jù)。LED數(shù)碼顯示程序的流程圖如圖所示。圖LED數(shù)碼顯示程序流程圖4.2啟??刂瞥绦蛟O(shè)計照明的啟??刂浦饕怯芍骺刂破靼l(fā)出指令,通過RS485通信方式或無線數(shù)傳方式控制全部或部分分控制器所控制照明燈具的啟停,因此照明啟??刂瞥绦蛴蓛刹糠纸M成,即全部啟??刂婆c單獨啟??刂苾刹糠?。4.2.1全部啟??刂瞥绦蛟O(shè)計全部照明啟??刂葡到y(tǒng)是利用主控制器上的開、關(guān)按鍵來控制全部照明燈的啟停,控制命令是通過串口通信方式傳達到分控制器,分控制器再依據(jù)命令向P3.7口輸出高低電平,來達到控制燈泡亮和滅的目的。在這個多機系統(tǒng)中采用的是主從式通信方式,主機即主控制器處于主導(dǎo)和支配地位,從機即分控制器一般以中斷方式來接收和發(fā)送數(shù)據(jù)。在主從式多機系統(tǒng)中主機發(fā)送的信息可以傳送到所有的從機或指定的從機,在這里是要發(fā)送給所有的從機,來控制照明燈的啟停。在本系統(tǒng)中采用廣播式命令,不需要從機返回信息,從機之間也不能直接通信。主機由AT89C51單片機充當(dāng),從機為AT89C2051單片機。主機與從機的數(shù)據(jù)通信波特率定為9600波特,每個從機都有唯一的地址號,用來區(qū)分各從機。單片機的數(shù)據(jù)通信由串口完成,定時器T1為波特發(fā)生器,數(shù)據(jù)傳送格式為1位起始位,8位數(shù)據(jù)位,1位停止位,1位可編程位(TB8)。工作方式:定時器T1設(shè)置為方式2,串口設(shè)置為工作方式3。本系統(tǒng)的通信原理為:從機在建立與主機通信之前所有分機的SM2都置1,即隨時處于對通信線路監(jiān)聽的狀態(tài),只能收到主機發(fā)送來的機號信息。主機向從機發(fā)送廣播地址信息時,廣播地址為00H,所有分機都接收到廣播地址信息,然后進入正常通信狀態(tài),清除SM2位,開始接收主機發(fā)送來的命令。從機收到的命令是開燈時,向P3.7口輸出高電平,打開MOC3021驅(qū)動雙向可控硅,從而就點亮了燈泡;同理,如果收到的命令是關(guān)燈時,向P3.7口輸出低電平,封閉MOC3021使雙向可控硅截止,也就達到了關(guān)閉燈泡的目的。該系統(tǒng)的主機和從機的控制程序流程圖如圖和圖所示。圖全部啟??刂浦鳈C程序流程圖圖全部啟??刂茝臋C程序流程圖4.2.2單獨啟??刂瞥绦蛟O(shè)計單獨照明啟??刂葡到y(tǒng)是通過主機發(fā)送給指定的從機命令信息,來實現(xiàn)照明燈的啟??刂?。主機首先發(fā)送從機地址,被叫到的從機向主機發(fā)送本機地址,然后主機向從機傳送數(shù)據(jù),從機根據(jù)接收的數(shù)據(jù)信息執(zhí)行相應(yīng)的命令。單片機的工作方式同全部照明啟??刂葡到y(tǒng)。其具體的工作過程是:所有的從機在通信之前都把SM2位置1,隨時處于偵聽狀態(tài)。當(dāng)主機發(fā)送從機的地址信息時,每幀數(shù)據(jù)的第9位都為1,所有從機都接收到地址信息,然后判斷主機是否呼叫本機。如果呼叫本機則進入正式通信狀態(tài),清除SM2,并把本機地址號發(fā)送給主機作為應(yīng)答,然后才開始接收主機發(fā)送來的信息。而其它從機由于地址號不符,他們的SM2位仍然為1,仍處于偵聽狀態(tài),無法接收主機發(fā)送來的數(shù)據(jù)信息。主機收到從機發(fā)送來的回應(yīng)信息后,比較主機已發(fā)送的地址號與剛接收的地址號是否相符,如果不符,則發(fā)出錯誤信息;如果相符,則正式發(fā)送數(shù)據(jù)信息,這時發(fā)送的每幀的第9位都為0。只有SM2=0的從機才能接收到主機發(fā)送的信息。從機根據(jù)命令執(zhí)行相應(yīng)的動作,如果為打開命令,則輸出高電平驅(qū)動可控硅動作,開啟照明燈;如果為關(guān)閉命令,則輸出低電平使可控硅截止,停掉照明燈。該系統(tǒng)的主機和從機控制程序流程圖分別如圖與圖所示。圖單獨啟??刂浦鳈C程序流程圖圖單獨啟??刂茝臋C程序流程圖4.3光照強度PID調(diào)節(jié)程序設(shè)計光照強度調(diào)節(jié)系統(tǒng)是利用主控制器鍵盤上的增值與減值鍵,通過串口通信方式來控制分控制器所控制的照明燈的光照強度。在這里對于燈泡光照強度的調(diào)節(jié)是通過PWM方式來進行的,分控制器選用的是AT89C2051單片機,這種單片機本身沒有PWM輸出,只能通過軟件方法實現(xiàn)。在一定頻率的方波中,調(diào)整高電平和低電平的占空比,即可實現(xiàn)。假設(shè)把一個周期分為10個時間等份,如果方波中的高低電平占空比是1:9,這時就是一個比較暗的光照強度,如果占空比是5:5,就是一個中間光照強度,如果高低電平占空比是9:1,這時就是一個比較亮的光照強度,高低電平占空比為0:10時,燈泡是滅的,高低電平占空比為10:0時,燈泡最亮。在進行實驗中,將定時器1的溢出定為1/20000秒,每10次脈沖輸出一個2KHz頻率。這每10次脈沖再用來控制高低電平的10個比值。這樣,在每個1/2000秒的方波周期中,都可以改變方波的輸出占空比,從而控制燈泡的10個光照強度級別。在主控制器鍵盤上每次按增值與減值鍵改變占空比的值就可以控制燈泡的光照強度。4.3.1全部光照度PID調(diào)節(jié)程序設(shè)計全部照明光照強度調(diào)節(jié)系統(tǒng)就是主機向從機發(fā)送廣播地址,所有從機都接收主機發(fā)送來的數(shù)據(jù)信息,然后根據(jù)命令是調(diào)亮還是調(diào)暗來進行相應(yīng)的燈泡光照強度控制。該系統(tǒng)的主機控制程序流程圖同圖4.4所示,從機控制程序流程圖如圖所示。圖全部光照強度調(diào)節(jié)從機程序流程圖4.3.2單獨光照度PID調(diào)節(jié)程序設(shè)計單獨照明光照強度調(diào)節(jié)系統(tǒng)通信原理基本上與單獨照明啟??刂葡到y(tǒng)相同,也是開始時所有從機處于監(jiān)聽狀態(tài),等待主機的呼叫,當(dāng)主機發(fā)出某一從機的地址時,所有從機將接收到的地址與本機地址相比較,如果相符,說明主機在呼叫自己,然后發(fā)回應(yīng)答信號,表示準(zhǔn)備好開始接收后面的命令,否則不予理睬,繼續(xù)監(jiān)聽呼叫地址。主機收到從機的應(yīng)答后,則開始一次通信,通信完畢,從機繼續(xù)處于監(jiān)聽狀態(tài),等待呼叫。從機在收到調(diào)亮或調(diào)暗的命令后,利用零點檢測電路檢測電源過零點,一旦單片機的P1.3口檢測到過零點脈沖,就會向P1.3口輸出PWM信號以調(diào)高或調(diào)低燈泡的光照強度。該系統(tǒng)的主機控制程序流程圖同圖4.6所示,從機控制程序流程圖如圖所示。圖單獨光照強度調(diào)節(jié)從機程序流程圖4.4照明定時控制程序設(shè)計照明定時控制系統(tǒng)是利用從機即單片機AT89C2051和時鐘芯片DS1302進行數(shù)據(jù)通信,讀取和寫入實時數(shù)據(jù),主機采用串口通信方式對從機進行定時時間的設(shè)置,從機然后根據(jù)設(shè)定的時間進行照明燈的啟??刂?。DS1302的控制字節(jié)的最高有效位(位7)必須是邏輯1,如果它為0,則不能把數(shù)據(jù)寫入到DS1302中;位6如果為0,則表示存取日歷時鐘數(shù)據(jù),為1表示存取RAM數(shù)據(jù);位5~位1指示操作單元的地址;最低有效位(位0)如為0表示要進行寫操作,為1表示進行讀操作,控制字節(jié)總是從最低位開始輸出。DA1302的控制字如表所示。在DS1302芯片中,通過把RST輸入驅(qū)動置高電平來啟動所有的數(shù)據(jù)傳送。RST輸入有兩種功能:首先,RST接通控制邏輯,允許地址/命令序列送入移位寄存器;其次,RST提供了終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。當(dāng)RST為高電平時,所有的數(shù)據(jù)傳送被初始化,允許對DS1302進行操作。如果在傳送過程中置RST為低電平,則會終止此次數(shù)據(jù)傳送,并且I/O引腳變?yōu)楦咦钁B(tài)。在控制指令字輸入后的下一個SCLK時鐘的上升沿時數(shù)據(jù)被寫入DS1302,數(shù)據(jù)輸入從低位即位0開始。同樣,在緊跟8位的控制指令字后的下一個SCLK脈沖的下降沿讀出DS1302的數(shù)據(jù),讀出數(shù)據(jù)時從低位0位至高位7。4.4.1全部定時控制程序設(shè)計在全部定時控制系統(tǒng)中是通過主控制器向所有的分控制器發(fā)送廣播地址,分控制器在收到廣播地址后,使自己處于接收數(shù)據(jù)狀態(tài),然后主控制器向網(wǎng)絡(luò)中發(fā)送時間數(shù)據(jù)信息,分控制器在收到時間數(shù)據(jù)后寫入DS1302芯片,等到設(shè)定時間到達后,單片機發(fā)出命令關(guān)閉照明燈。該系統(tǒng)的主機控制流程圖同圖4.4所示,從機的控制流程圖如圖所示。圖全部定時控制從機程序流程圖4.4.2單獨定時控制程序設(shè)計主控制器使用鍵盤輸入被呼叫分控制器的地址,并通過網(wǎng)絡(luò)向所有分控制器傳送,在分控制器將該地址與本機地址進行比較后,判斷是否是呼叫自己,如果是呼叫本機,就將本機地址傳送給主控制器,進一步接收傳送的數(shù)據(jù),然后分控制器就將數(shù)據(jù)寫入DS1302芯片,等到設(shè)定的時間到達時就執(zhí)行關(guān)閉照明燈的命令。單獨定時控制的主機程序流程圖同圖4.6所示,從機程序流程圖如圖所示。圖單獨定時控制從機控制程序流程圖4.5RS485通信程序設(shè)計由于RS485總線是異步半雙工的通信總線,在某一個時刻總線只可能呈現(xiàn)一種狀態(tài),所以這種方式一般適用于主機對從機的查詢方式通信。在通信中,主機與各個從機進行通信,必須能對各個從機進行識別,這一識別功能是利用串口控制寄存器SCON的SM2位實現(xiàn)的。當(dāng)串口以方式3工作時,發(fā)送和接收的每一幀信息都是11位,其中第9位數(shù)據(jù)位是可編程的,通過對SCON寄存器的TB8位置1或置0,以區(qū)別發(fā)送的是地址幀還是數(shù)據(jù)幀(規(guī)定地址幀的第9位為1,數(shù)據(jù)幀的第9位為0)。若從機的控制位SM2被設(shè)為1,則當(dāng)接收的是地址幀時,數(shù)據(jù)裝入SBUF,并置RI=1,向CPU發(fā)出中斷申請,若接收的是數(shù)據(jù)幀,則不產(chǎn)生中斷,信息被拋棄。若SM2被設(shè)為0,則無論是地址幀還是數(shù)據(jù)幀都將產(chǎn)生RI=1中斷標(biāo)志,數(shù)據(jù)裝入SBUF。利用這一功能,可以按照如下步驟進行數(shù)據(jù)通信:(1)將所有SM2位置1,使其處于只接收地址幀的狀態(tài)。(2)主機發(fā)送一幀地址信息,其中前8位數(shù)據(jù)位表示通信的從機地址,第9位為1,表示當(dāng)前幀為地址幀。(3)從機接收到地址幀后,如果是廣播地址幀,則所有從機都將其SM2位置0,準(zhǔn)備接收主機發(fā)送的數(shù)據(jù)或命令;如果不是廣播地址幀,則將本機地址與幀中地址進行比較。如果地址相同,則將其SM2位置0,并發(fā)送本機地址幀,然后準(zhǔn)備接收數(shù)據(jù)。如果地址不同,則丟棄當(dāng)前數(shù)據(jù),SM2位不變。(4)主機發(fā)送數(shù)據(jù)幀,相應(yīng)的從機接收,其他從機則不受影響。(5)當(dāng)主機需要與其他從機通信時,可以再次發(fā)出地址幀尋呼從機,重復(fù)這一過程。主機在發(fā)送數(shù)據(jù)時,按照表4-2的數(shù)據(jù)格式進行傳輸。在程序中,第9位發(fā)送數(shù)據(jù)位SCON中的TB8位,第9位接收數(shù)據(jù)位為SCON的RB8位,因此,發(fā)送數(shù)據(jù)前,可以通過對TB8位置1或0來確定要發(fā)送的是地址幀還是數(shù)據(jù)幀。而接收數(shù)據(jù)時,對地址幀的判斷則是通過讀取RB8位來獲得的,RB8=1,當(dāng)前幀為地址幀,RB8=0,當(dāng)前幀為數(shù)據(jù)幀。單片機的串口工作在方式3下,其波特率由定時器1(T1)的溢出率決定,計算公式為:定時器T1的溢出率的計算公式為:則波特率的公式變?yōu)椋合到y(tǒng)所采用的晶振頻率為11.0592MHz,T1工作在模式3下,波特率=9600b/s。4.5.1主機部分通信程序設(shè)計系統(tǒng)中的主機通信程序分為4個部分,分別為預(yù)定義及全局變量部分、程序初始化部分、數(shù)據(jù)通信流程和發(fā)送數(shù)據(jù)部分。主機的數(shù)據(jù)通信的基本流程如下:(1)主機首先向所有從機發(fā)送地址幀對要通信的從機進行呼叫,發(fā)送地址幀時需將TB8位置1。(2)發(fā)送地址幀后,如果發(fā)送的是廣播地址幀,則不需要從機應(yīng)答,待延遲一段時間后,調(diào)用發(fā)送函數(shù)發(fā)送數(shù)據(jù);如果發(fā)送的是非廣播地址幀,主機則要接收應(yīng)答,若應(yīng)答信號中的地址與前面發(fā)送的地址并不相同,主機將重新發(fā)送地址幀呼叫,否則調(diào)用發(fā)送函數(shù)發(fā)送數(shù)據(jù)。(3)發(fā)送完數(shù)據(jù)后,主機等待從機的校驗信號,如果接收到0X0F數(shù)據(jù),表示發(fā)送成功,通信結(jié)束,否則主機將重新發(fā)送數(shù)據(jù),直至發(fā)送成功。該部分程序?qū)?yīng)的流程圖如圖所示。圖主機數(shù)據(jù)通信流程圖4.5.2從機部分通信程序設(shè)計從機通信程序也被分為預(yù)定義及全局變量部分、程序初始化部分、數(shù)據(jù)通信流程和接收數(shù)據(jù)部分4個部分。從機部分的數(shù)據(jù)通信過程受主機控制,其基本的流程如下:(1)初始化完成后,從機設(shè)置SM2位為1,串口只接收第9位數(shù)據(jù)位為1的地址幀,數(shù)據(jù)幀將被直接拋棄。(2)如果串口有數(shù)據(jù)接收(收到地址幀),則從機會將該幀中的地址信息先與廣播地址進行比較,如果是廣播地址,則做好接收數(shù)據(jù)的準(zhǔn)備,如果是其它地址,則與本機地址比較,如果相同,則發(fā)送應(yīng)答信息,應(yīng)答信息內(nèi)容應(yīng)為本機地址,否則丟棄當(dāng)前數(shù)據(jù),從機繼續(xù)處于等待呼叫狀態(tài)。(3)程序調(diào)用接收函數(shù)接收主機發(fā)送的數(shù)據(jù)部分并作出應(yīng)答,接收到的數(shù)據(jù)保存至Buf指向的緩沖區(qū)中。如果接收函數(shù)返回0xff,表示數(shù)據(jù)校驗失敗,程序等待主機重新發(fā)送數(shù)據(jù)。如果函數(shù)返回值為0xfe,表示從機在數(shù)據(jù)接收過程中發(fā)現(xiàn)主機發(fā)送地址幀,程序?qū)⒎艞壆?dāng)前接收過程,將SM2位重新置1,開始下一通信過程。如果函數(shù)返回0,表示數(shù)據(jù)被成功接收,向主機發(fā)送成功信號,隨后,程序?qū)M2位置1,重新開始下一個數(shù)據(jù)通信流程。該部分程序?qū)?yīng)的流程圖如圖所示。圖從機數(shù)據(jù)通信流程圖4.6無線數(shù)傳通信程序設(shè)計這里所設(shè)計的無線數(shù)據(jù)傳輸系統(tǒng)是采用主從式通信方式,主控制器設(shè)為主站,所有分控制器設(shè)為從站,所有從站都編一個唯一的地址。通信的協(xié)調(diào)完全由主站控制,主站先發(fā)送地址幀,所有從站都接收,如果是接收的是廣播地址碼,則所有從站都做好接收主機發(fā)送數(shù)據(jù)或命令的準(zhǔn)備,然后主機發(fā)送數(shù)據(jù)或命令;如果接收的是其它地址碼,則從站將接收到的地址幀與本地地址碼相比較,若不同則將數(shù)據(jù)全部丟掉,不做任何響應(yīng);若地址碼相同,則證明是呼叫本站,從站將自己的地址碼發(fā)送回去,主站收到自己剛發(fā)出去的地址碼后,接著發(fā)送數(shù)據(jù)或命令。這些工作都需要通信協(xié)議來完成,可保證在任何一個瞬間,通信網(wǎng)中只有一個模塊處于發(fā)送狀態(tài),避免相互干擾。SRWF-1模塊在使用之前要進行無線信道、接口類型、接口速率、接口參數(shù)等的設(shè)定,在設(shè)置完成后便可以進行數(shù)據(jù)傳輸,當(dāng)模塊收到單片機發(fā)來的第一個數(shù)據(jù)后自動進行無線網(wǎng)絡(luò)連接、數(shù)據(jù)同步等工作,因此第一個數(shù)據(jù)將在5個字節(jié)時間延遲后從接收方串口輸出。如要傳送1個數(shù)據(jù)幀,此時間延遲將逐漸減少。當(dāng)最后一個數(shù)據(jù)被發(fā)送后,模塊將處于等待狀態(tài)直到模塊所設(shè)置的接收等待時間延遲之后,模塊將自動通知所有接收設(shè)備斷開無線網(wǎng)絡(luò)連接、轉(zhuǎn)入空閑狀態(tài)。當(dāng)發(fā)送方最后一個數(shù)據(jù)被發(fā)送后需延遲6-8個字節(jié)才能接收空中其他模塊的數(shù)據(jù)。其他模塊在此時間內(nèi)也不能向空中發(fā)射數(shù)據(jù),即使有用戶數(shù)據(jù)輸入也是被緩沖在模塊中,而沒有發(fā)送到無線鏈路中,以避免引起數(shù)據(jù)通訊混亂。無線數(shù)傳的通信協(xié)議與流程基本上與RS485通信程序相同,因此主機和從機的數(shù)據(jù)通信程序流程圖分別如圖4.12與4.13所示。4.7本章小結(jié)本章主要闡述了照明控制系統(tǒng)的軟件設(shè)計,該系統(tǒng)的軟件程序主要由照明啟??刂瞥绦?、光照強度調(diào)節(jié)程序、照明定時控制程序、人機交互程序、串行通信程序等組成。而照明啟??刂?、光照強度調(diào)節(jié)以及定時控制程序又分為全部控制和單獨控制兩部分,人機交互程序由鍵盤掃描程序與LED顯示程序組成,而串行通信程序由RS485通信程序和無線數(shù)傳程序組成。在這里分別對每個子程序的工作流程、工作原理以及過程都做了詳細的論述。5數(shù)字PID及其算法的改進PID控制器是一種基于偏差在“過去、現(xiàn)在和將來”信息估計的有效而簡單的控制算法。而采用PID控制器的控制系統(tǒng)其控制品質(zhì)的優(yōu)劣在很大程度上取決于PID控制器參數(shù)的整定。PID控制器參數(shù)整定,是指在控制器規(guī)律己經(jīng)確定為PID形式的情況下,通過調(diào)整PID控制器的參數(shù),使得由被控對象、控制器等組成的控制回路的動態(tài)特性滿足期望的指標(biāo)要求,達到理想的控制目標(biāo)。對于PID這樣簡單的控制器,能夠適用于廣泛的工業(yè)與民用對象,并仍以很高的性價比在市場中占據(jù)著重要地位,充分地反映了PID控制器的良好品質(zhì)。概括地講,PID控制的優(yōu)點主要體現(xiàn)在以下兩個方面:原理簡單、結(jié)構(gòu)簡明、實現(xiàn)方便,是一種能夠滿足大多數(shù)實際需要的基本控制器;控制器適用于多種截然不同的對象,算法在結(jié)構(gòu)上具有較強的魯棒性,確切地說,在很多情況下其控制品質(zhì)對被控對象的結(jié)構(gòu)或參數(shù)攝動不敏感。但從另一方面來講,控制算法的普及性也反映了PID控制器在控制品質(zhì)上的局限性。具體分析,其局限性主要來自以下幾個方面:算法結(jié)構(gòu)的簡單性決定了PID控制比較適用于單輸入單輸出最小相位系統(tǒng),在處理大時滯、開環(huán)不穩(wěn)定過程等受控對象時,需要通過多個PID控制器或與其他控制器的組合,才能得到較好的控制效果;算法結(jié)構(gòu)的簡單性同時決定了PID控制只能確定閉環(huán)系統(tǒng)的少數(shù)主要零極點,閉環(huán)特性從根本上只是基于動態(tài)特性的低階近似假定的;出于同樣的原因,決定了單一PID控制器無法同時滿足對假定設(shè)定值控制和伺服跟蹤控制的不同性能要求。如何更好地整定PID控制器的參數(shù)一直是PID控制器設(shè)計的主要課題。從實際需要出發(fā),一種好的PID控制器參數(shù)整定方法,不僅可以減少操作人員的負(fù)擔(dān),還可以使系統(tǒng)處于最佳運行狀態(tài)。傳統(tǒng)的PID控制算法或是依賴于對象模型,或是易于陷入局部極小,因此存在一定的應(yīng)用局限性,且難以實現(xiàn)高性能的整定效果,常常超調(diào)較大、調(diào)整時間較長、誤差指標(biāo)過大等。常規(guī)的控制系統(tǒng)主要針對有確切模型的線性過程,其PID參數(shù)一經(jīng)確定就無法調(diào)整,而實際上大多數(shù)工業(yè)對象都不同程度地存在非線性、時變、干擾等特性,隨著環(huán)境變化對象的參數(shù)甚至是結(jié)構(gòu)都會發(fā)生變化。自Ziegler和Nichols提出PID參數(shù)經(jīng)驗公式法起,有很多方法已經(jīng)用于PID控制器的參數(shù)整定。這些方法按照發(fā)展階段,可分為常規(guī)PID控制器參數(shù)整定方法和智能PID控制器參數(shù)整定方法。按照PID的控制方式又分為模擬PID控制算法和數(shù)字PID控制算法。5.1PID控制基本原理 PID控制即比例(Proportional)、積分(Integrating)、微分(Differentiation)控制。在PID控制系統(tǒng)中,完成PID控制規(guī)律的部分稱為PID控制器。它是一種線形控制器,用輸出y(t)和給定量r(t)之間的誤差的時間函數(shù)e(t)=r(t)-y(t).PID控制器框圖如圖所示。RR(t)KpKi/SKd·S控制對象C(t)+++U(t)+-E(t)圖PID控制算法框圖實際應(yīng)用中,可以根據(jù)受控對象的特性和控制的性能要求,靈活地采用不同的控制組合,如:P\PI\PID\PD調(diào)節(jié)器。5.2三個基本參數(shù)Kp,Ti,Td在實際控制中的作用研究 通過使用MATLAB軟件中SIMULINK的系統(tǒng)仿真功能對PID算法進行仿真,現(xiàn)將結(jié)果作以下概括。比例調(diào)節(jié)作用:是按比例反映系統(tǒng)的偏差,系統(tǒng)一旦出現(xiàn)了偏差,比例調(diào)節(jié)立即產(chǎn)生調(diào)節(jié)作用用以減少偏差,屬于“即時”型調(diào)節(jié)控制。比例作用大,可以加快調(diào)節(jié),減少誤差,但是過大的比例,使系統(tǒng)的穩(wěn)定性下降甚至造成系統(tǒng)的不穩(wěn)定。積分調(diào)節(jié)作用:使系統(tǒng)消除靜態(tài)誤差,提高無誤差度。因為有誤差,積分調(diào)節(jié)就進行,直至無誤差,積分調(diào)節(jié)停止,積分調(diào)節(jié)輸出一常值,屬于“歷史積累”型調(diào)節(jié)控制。積分作用的強弱取決與積分時間常數(shù)Ti,Ti越小,積分作用就越強。反之Ti大則積分作用弱,加入積分調(diào)節(jié)可使系統(tǒng)穩(wěn)定性下降,動態(tài)響應(yīng)變慢。積分作用常與另兩種調(diào)節(jié)規(guī)律結(jié)合,組成PI調(diào)節(jié)器或PID調(diào)節(jié)器。微分調(diào)節(jié)作用:微分作用反映系統(tǒng)偏差信號的變化率,具有預(yù)見性,能預(yù)見偏差的變化趨勢,因此能產(chǎn)生超前的控制作用,在偏差還沒有形成之前,以被微分調(diào)節(jié)作用消除,因此屬于“超前或未來”型調(diào)節(jié)控制。因此,可以改善系統(tǒng)的動態(tài)性能。在微分時間選擇合適的情況下,可以減少超調(diào),減少調(diào)節(jié)時間。微分作用對噪聲干擾有放大作用,因此過強的加微分調(diào)節(jié),對系統(tǒng)抗干擾不利。此外,微分反映的是變化率,而當(dāng)輸入沒有變化時,微分作用輸出為零。微分作用不能單獨使用,需要與另外兩種調(diào)節(jié)規(guī)律相結(jié)合,組成PD或PID控制器。5.3數(shù)字PID控制算法數(shù)字PID控制算法通常分為位置式HD控制算法和增量式PID控制算法。位置式PID控制算法:由于計算機控制是一種采樣控制,它只能根據(jù)采樣時刻的偏差值計算控制量,故對式5-1中的積分和微分項不能直接使用,需要進行離散化處理。按模擬PID控制算法的算式(2-1),現(xiàn)以一系列的采樣時刻點kT代表連續(xù)時間t,以和式代替積分,以增量代替微分,則可以作如下的近似變換:(5-1)顯然,上述離散化過程中,采樣周期T必須足夠短,才能保證有足夠的精度。為了書寫方便,將e(kT)簡化表示成e(k)等,即省去T??梢缘玫诫x散的PID表達式為:(5-2)中式:k—采樣序列號;u(k)—第k次采樣時刻的計算機輸出值;e(k)—第k次采樣時刻輸入的偏差值;e(k-1)—第k-1次采樣時刻輸入的偏差值;Keq\o(\s\up5(),\s\do2(I))—積分系數(shù),Keq\o(\s\up5(),\s\do2(I))=Keq\o(\s\up5(),\s\do2(P))T/Teq\o(\s\up5(),\s\do2(I))Keq\o(\s\up5(),\s\do2(D))—微分系數(shù),Keq\o(\s\up5(),\s\do2(D))Teq\o(\s\up5(),\s\do2(D))/T。我們常稱式(5-2)為位置式PID控制算法。對于位置式PID控制算法來說,位置式PID控制算法示意圖如圖所示,由于全量輸出,所以每次輸出均與過去的狀態(tài)有關(guān),計算時要對誤差進行累加,所以運算工作量大。而且如果執(zhí)行器(計算機)出現(xiàn)故障,則會引起執(zhí)行機構(gòu)位置的大幅度變化,而這種情況在生產(chǎn)場合不允許的,因而產(chǎn)生了增量式PID控制算法。++-r(t)e(t)uc(t)PID位置算法調(diào)節(jié)閥被控對象圖位置型控制示意圖++-r(t)e(t)Δuc(t)PID增量算法步進電機被控對象圖增量型控制示意圖增量式PID控制算法:所謂增量式PID是指數(shù)字控制器的輸出只是控制量的增量Δ(k)。增量式PID控制系統(tǒng)框圖如圖2-3所示。當(dāng)執(zhí)行機構(gòu)需要的是控制量的增量時,可以由式(2-4)導(dǎo)出提供增量的PID控制算式。根據(jù)遞推原理可得:(5-3)用式(5-1)減去式(5-2),可得:(5-4)式(5-4)稱為增量式PID控制算法。增量式控制算法的優(yōu)點是誤動作小,便于實現(xiàn)無擾動切換。當(dāng)計算機出現(xiàn)故障時,可以保持原值,比較容易通過加權(quán)處理獲得比較好的控制效果。但是由于其積分截斷效應(yīng)大,有靜態(tài)誤差,溢出影響大。綜合兩種算法,本設(shè)計是產(chǎn)生一個PWM信號去控制燈泡的光照強度,PWM信號的高電平持續(xù)時間對應(yīng)的控制量是一個絕對值,而不是一個控制量的增量。但是如果采用“位置PID算法”則需要考慮控制量的基值u0,即Kp=0時的控制量,而直接用增量式PID算法只能計算出控制量的增量。所以,設(shè)計中,先采用增量式控制控制算法計算出控制量的增量,然后加上上一次的控制量即可以得到本次的控制量。綜合來說,本系統(tǒng)的PID算法是以增量式算法實現(xiàn)“位置PID算法”的結(jié)果,使控制得到簡化、容易實現(xiàn)。5.4PID算法的改進,“飽和”作用的抑制抑制PID算法的“飽和”作用,通常有兩種方法。一種算法是遇限削弱積分法,其基本思想是:一旦控制變量進入飽和區(qū),將只執(zhí)行削弱積分項的運算而停止進行增大積分項的運算。具體地說,在計算u(k)時,將判斷上一時刻的控制量u(k)是否已超出限制范圍,如果已超出,那么將根據(jù)偏差的符號,判斷系統(tǒng)輸出是否在超調(diào)區(qū)域,由此決定是否將相應(yīng)偏差計入積分項。另一種算法是積分分離法。減小積分飽和的關(guān)鍵在于不能使積分項累積過大。第一種修正方法是一開始就積分,但進入限制范圍后即停止累積。后者介紹的積分分離法正好與其相反,它在開始時不進行積分,直到偏差達到一定的閥值后才進行積分累計。由于本系統(tǒng)的控制對象是一個具有慣性或稱其為滯后特性的光源,一方面要求控制要盡可能高的反映速度,另一方面也要盡可能減少超調(diào)。因此,積分分離法比較適合本系統(tǒng)。綜合上面關(guān)于PID算法的研究,已經(jīng)得出一個針對本系統(tǒng)的PID算法——“增量式積分分離PID控制算法”。在此控制算法中,誤差較大時采用的是PD算法控制。5.5PID控制算法的單片機程序?qū)崿F(xiàn) 要編寫一個已知算法的單片機程序,首先要考慮的就是數(shù)據(jù)的結(jié)構(gòu)和存儲方式了。因為它直接影響到系統(tǒng)的控制精度,以及PID算法的實現(xiàn)質(zhì)量。本系統(tǒng)之所以專門采用一片單

溫馨提示

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

評論

0/150

提交評論