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