基于單片機(jī)的電梯控制系統(tǒng).doc
《基于單片機(jī)的電梯控制系統(tǒng).doc》由會員分享,可在線閱讀,更多相關(guān)《基于單片機(jī)的電梯控制系統(tǒng).doc(16頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1 課題概述1.1課題的主要研究內(nèi)容及設(shè)計步驟本課題的主要任務(wù)是完成一個電梯系統(tǒng)的調(diào)度模塊,即根據(jù)每個樓層不同顧客的按鍵需求,讓電梯做出合理的判斷,正確高效地知道電梯完成各項載客任務(wù)。根據(jù)此任務(wù),本課題需要研究的內(nèi)容有:1、根據(jù)系統(tǒng)的技術(shù)要求,進(jìn)行系統(tǒng)硬件的總體方案設(shè)計;2、學(xué)習(xí)單片機(jī)的相關(guān)知識,并且加以運(yùn)用;3、選擇恰當(dāng)?shù)男酒?,并對其?nèi)部協(xié)議有所掌握,便于應(yīng)用。4、研究C語言編程,并且規(guī)定電梯的工作規(guī)則,用C語言加以實現(xiàn);5、對軟件和硬件進(jìn)行調(diào)試,讓其協(xié)調(diào)工作,完成指定任務(wù)。結(jié)合以上內(nèi)容,本課題的設(shè)計方案步驟如下:關(guān)于硬件部分:首先,對實際的電梯系統(tǒng)進(jìn)行模擬,一般情況下,一個電梯應(yīng)該具備相關(guān)按鍵、顯示二極管、數(shù)碼管等,由于這是一個調(diào)度模塊,故沒有設(shè)計具體的轎廂等機(jī)械部分。然后,結(jié)合這些實物,選擇恰當(dāng)?shù)男酒⒎殖扇舾赡K,安排好各自之間的關(guān)系。接著,要完成電路圖的設(shè)計,畫出PCB板,焊接相關(guān)器件后進(jìn)行硬件調(diào)試,看是否好用并加以適當(dāng)?shù)母?。關(guān)于軟件部分:關(guān)于電梯調(diào)度時所遵循的原則作出規(guī)定,其必須基于高效與人性化兩個原則。最后是使用C語言將規(guī)定程序化,以便電梯真正的運(yùn)作。當(dāng)然,二者的關(guān)系并不是分離的,它們是相輔相成,硬件依據(jù)軟件來驗證,軟件依據(jù)硬件來調(diào)試。經(jīng)過一個個的發(fā)現(xiàn)問題、一個個的解決問題,最終做出完美的電梯調(diào)度模塊。1.2課題的開發(fā)環(huán)境簡介 1.2.1電路圖制作軟件proteus 7.2Proteus是目前最好的模擬單片機(jī)外圍器件的工具,因此在仿真和程序調(diào)試時,關(guān)心的不再是某些語句執(zhí)行時單片機(jī)寄存器和存儲器內(nèi)容的改變,而是從工程的角度直接看程序運(yùn)行和電路工作的過程和結(jié)果。對于這樣的仿真實驗,從某種意義上講,是彌補(bǔ)了實驗和工程應(yīng)用間脫節(jié)的矛盾和現(xiàn)象。1.2.2C51的程序開發(fā)軟件KeilKeil C51 軟件是眾多單片機(jī)應(yīng)用開發(fā)的優(yōu)秀軟件之一,它集編輯,編譯,仿真于一體,支持匯編,PLM 語言和 C 語言的程序設(shè)計,界面友好,易學(xué)易用。2 方案論證2.1 設(shè)計功能要求本設(shè)計是為一六層電梯設(shè)計一調(diào)度系統(tǒng),即使電梯能夠合理高效地運(yùn)行,完成各樓層顧客的接送任務(wù)。形象地說,就是要應(yīng)對不同樓層顧客的不同需求,作出合理高效的判斷,使所有顧客在整體運(yùn)用時間最短的條件下將其運(yùn)往各自的目的地。這個設(shè)計的成品應(yīng)該可以作為真實電梯的控制系統(tǒng)一樣,遵守以下兩個原則:一是高效性,二是人性化。而實際電梯所面臨的情況無比復(fù)雜,故本設(shè)計的難點除了硬件上面外,還有對這些復(fù)雜的情況歸類化,分為若干個基本情況,另外是用恰當(dāng)?shù)腃語言描述來表達(dá)這些復(fù)雜的邏輯。核心處兩個步驟:第一判斷電梯是上行還是下行;第二,判斷是去接人還是去送人。2.2 系統(tǒng)的結(jié)構(gòu)框圖圖2-1 系統(tǒng)的結(jié)構(gòu)框圖如上圖2-1所示,樓層電梯呼叫按鍵就是樓層外面的上行、下行按鍵,有需求時即可按下;電梯內(nèi)呼叫按鍵就是電梯內(nèi)部的數(shù)字按鍵,它是內(nèi)部按鍵需求的輸入;單片機(jī)就是整個系統(tǒng)的核心,接收輸入信息,經(jīng)過處理后輸出信息;樓層顯示數(shù)碼管就是接收單片機(jī)處理的信息,顯示此時的樓層數(shù);電梯狀態(tài)指示燈就是接收單片機(jī)處理的信息,顯示電梯的狀態(tài):上升、下降、停止。電動機(jī)的驅(qū)動和控制就是接收單片機(jī)的PWM脈沖信號來控制驅(qū)動器,進(jìn)而控制電動機(jī)的正反轉(zhuǎn),使電動機(jī)牽引電梯做上下運(yùn)動。3 系統(tǒng)的硬件設(shè)計 電梯最底層為1樓,因此在1樓僅有上升按鍵,而電梯最高層為6樓,因此6樓應(yīng)僅有下降按鍵。其他樓層則既有上升按鍵,也有下降按鍵。在電梯內(nèi)部按鍵設(shè)置方面,則應(yīng)有16樓的各層選擇按鍵。按鍵的一端接地,另一端通過集成電路芯片連至單片機(jī)引腳。這里,由于按鍵數(shù)量很多,又要求電梯控制系統(tǒng)能以最快速度響應(yīng)按鍵的需求,因此,所有按鍵通過與門連接單片機(jī)。用五片雙4輸入與門74LS21即可實現(xiàn)16個按鍵對象的集體與運(yùn)算的最終結(jié)果,按鍵動作最終是送到單片機(jī)的端。即:(P1.0*P1.1*P1.2*P1.3)*(P1.4*P1.5*P1.6*P1.7)*(P3.0*P3.1*P2.0*P3.3)*(P3.4*P3.5*P2.1*P2.2)無論哪一個按鍵有動作,低電平信號就會送到端,從而引發(fā)外部中斷0服務(wù)子程序運(yùn)行。當(dāng)定時器0中斷時,單片機(jī)向電動機(jī)發(fā)送PWM脈沖信號,電動機(jī)接到脈沖信號后,經(jīng)過驅(qū)動器的驅(qū)動,電動機(jī)便牽引電梯上下運(yùn)動。電梯的樓層顯示用七段數(shù)碼管完成顯示。本設(shè)計電梯只有6層,因此用七段數(shù)碼管即可,數(shù)碼管的顯示數(shù)據(jù)通過單片機(jī)的P0口來進(jìn)行傳送。設(shè)計中要求數(shù)碼管隨著電梯的位置變化而變化,即數(shù)碼管顯示數(shù)據(jù)要與樓層數(shù)同步,因此數(shù)碼管的片選線直接連接地,而不需要再選擇。電梯升降的狀態(tài)用上升和下降指示燈來進(jìn)行顯示,通過單片機(jī)的P3.7和P3.6引腳分別連接上升和下降指示燈的負(fù)極,其正極均連接至系統(tǒng)正電源處。3.1單片機(jī)最小系統(tǒng)模塊在本設(shè)計中,最小系統(tǒng)應(yīng)該包括:單片機(jī)、晶振電路、復(fù)位電路。如圖3-1所示,晶振電路由C3與C2和晶振組成。C3與C2是兩個30pF的瓷片電容接地用來削減偕波對電路的穩(wěn)定性的影響。復(fù)位電路采取的為手動按鍵復(fù)位電路,由電容C13,電阻R1、C1和開關(guān)RESET組成,當(dāng)單片機(jī)的復(fù)位引腳RESET出現(xiàn)2個機(jī)器周期以上的高電平時,單片機(jī)就執(zhí)行復(fù)位操作。圖3-1 單片機(jī)的最小系統(tǒng)3.2電動機(jī)的選擇我們選用三相異步電動機(jī)來做電梯的動力裝置,因為國產(chǎn)Y系列的電動機(jī)具有高效、節(jié)能、特性好及低噪聲等優(yōu)點,我們將選用國內(nèi)最先進(jìn)的Y系列異步電動機(jī)。這里我們選用Y100L24三相異步電動機(jī),因為它還具有性能好、壽命長、可靠性高、維護(hù)方便、啟動轉(zhuǎn)矩大等優(yōu)點,其功能參數(shù)為額定電壓380V,額定頻率50HZ,額定功率3000W,額定轉(zhuǎn)速1400轉(zhuǎn)/分。如圖3-2,在PROTEUS中,我們選用的普通的MOTOR-BCD代替進(jìn)行仿真。圖3-2電動機(jī)正反控制電路3.3中斷電路圖3-3 中斷電路圖中斷電路如上圖3-3所示。圖中外部0中斷與74LS21與門相接,低電平有效,所以當(dāng)單片機(jī)接電源后,P1.0P1.3引腳此時為高電平,當(dāng)任一按鍵按下后,相應(yīng)的中斷輸入口直接與地相接,高電平變?yōu)榈碗娖?,外?中斷立即響應(yīng),單片機(jī)系統(tǒng)進(jìn)入中斷控制子程序系統(tǒng),在中斷服務(wù)子程序中做出相應(yīng)的執(zhí)行指令。3.4 數(shù)碼管顯示模塊 圖3-4 數(shù)碼管顯示電路七段數(shù)碼管外形如圖3-4所示,即左邊的7個引腳跟單片機(jī)P0口相接,下邊的引腳連接地。樓層內(nèi)外分別用一個7段數(shù)碼管顯示,可以共用一個P0口。3.5 按鈕控制電路模塊圖3-5電梯不同樓層的按鈕如圖3-5所示,按鍵顯示電路模塊包括電梯內(nèi)部的按鈕和每層樓的上下按鈕,這些按鈕一端與地相接,一端又與單片機(jī)和與門74LS21相接,外部0中斷低電平有效,這樣可以實現(xiàn)模擬按鍵的自如操作。3.6 報警電路如圖3-6所示,電梯內(nèi)添加手動報警電路,假若電梯發(fā)生故障,電梯內(nèi)的人可自行發(fā)出報警信號,向外界求救。該電路接在單片機(jī)的P2.7口。圖3-6電梯不同樓層的按鈕3.7 模擬電路圖如下圖3-7所示,電路原理圖包括狀態(tài)指示燈模塊、內(nèi)外按鍵模塊、中斷電路模塊、單片機(jī)的主要外圍模塊、數(shù)碼管顯示模塊和電動機(jī)驅(qū)動控制模塊、報警模塊。P0口的P0.1P0.6引腳與數(shù)碼管模塊相接,P2口的P2.4P2.7引腳與電動機(jī)驅(qū)動控制模塊相接,P3口的P3.2引腳與中段電路模塊相接,P1口的P1.0P1.7引腳、P3.0P3.1引腳、P3.3P3.5引腳分別與對應(yīng)的內(nèi)外按鍵模塊相接,P3.6P3.7引腳與狀態(tài)指示燈模塊相接。圖3-7 模擬電路原理圖4系統(tǒng)的軟件設(shè)計從程序功能上來分,本設(shè)計的高層軟件程序大概可以分為以下幾類:一、運(yùn)行與決策函數(shù);二、中斷處理函數(shù);三、置位各狀態(tài)變量函數(shù);其中,第一類函數(shù)起作用于按鍵按下的時刻,當(dāng)有按鍵按下時,通過74LS21以中斷的方式發(fā)送給單片機(jī),此時,單片機(jī)即對程序中所用到的各個狀態(tài)變量進(jìn)行置位并且點亮相關(guān)發(fā)光二極管,如置位按鍵所對應(yīng)的去向變量等,方便決策函數(shù)使用。第二類函數(shù)起作用于電梯到達(dá)目標(biāo)樓層時,這時函數(shù)負(fù)責(zé)把相關(guān)發(fā)光二極管熄滅,并且及時清除相關(guān)狀態(tài)位,以免影響判別函數(shù)作出正確判斷。第三類函數(shù)是程序的核心。它直接負(fù)責(zé)管理電梯下一次所要到達(dá)的樓層,并且要基于短時間、高效率、人性化等原則。每當(dāng)電梯經(jīng)過一樓層時,此函數(shù)即會被調(diào)用,然后返回一個變量名為aim的值,它即為下一個電梯要停留的目標(biāo)樓層值。4.1單片機(jī)中斷處理函數(shù)本設(shè)計主要用到了單片機(jī)的中斷系統(tǒng)。當(dāng)有按鍵按下時,利用函數(shù)將鍵值存儲起來,并在單片機(jī)引腳輸出高電平發(fā)出中斷進(jìn)行相關(guān)處理。中斷的相關(guān)設(shè)置以及中斷處理如圖4.1所示。圖4.1 中斷處理中的相關(guān)操作4.2電梯判決函數(shù)在電梯經(jīng)過一個樓層時,就會自動調(diào)用該函數(shù)。其流程如圖4.2所示。 圖4-2 電梯判決流程圖由圖可知,程序中將實際情況分為四種情況來判斷:電梯上行且是去送人、電梯上行且是去接人、電梯下行且是去送人、電梯下行且是去接人。電梯各情況下所對應(yīng)的處理方法,以電梯上行的兩種狀態(tài)為例:在實際應(yīng)用中,最簡單的情況莫過于電梯當(dāng)前為閑置狀態(tài),然后有一人按下按鍵呼叫,然后電梯便響應(yīng)呼叫。但是,實際情況往往比這復(fù)雜的多,往往會有多人呼叫電梯。那么就必須得為電梯規(guī)定好一個特定的優(yōu)先級規(guī)則,以免亂作一團(tuán)。若電梯處于上行狀態(tài),則在該過程中響應(yīng)不同顧客的優(yōu)先級為:高層呼叫上行顧客高層呼叫下行顧客底層呼叫下行顧客底層呼叫上行顧客。若上行,且是送人,比如電梯當(dāng)前在二層,六樓有人呼叫上樓,那么它就要響應(yīng)這一呼叫,從而把自己的目標(biāo)樓層鎖定為六樓并向上運(yùn)行,而在六樓呼叫后不久,五樓也有人呼叫上樓(且電梯此刻還未運(yùn)行到五樓),那么在電梯運(yùn)行中,每經(jīng)過一個樓層,會做一次判決,因為五樓也有人呼叫,所以正常情況下,它應(yīng)該在判決后將目標(biāo)樓層定位五樓。而若五樓的顧客按下的是下行鍵,或者二樓的人按下呼叫鍵,電梯此時都會暫時不予理會。在程序中,當(dāng)五樓有上行鍵呼叫時,狀態(tài)變量f5up便會被置位,程序走到判別if(f5up=0)|(present5)時,里面的內(nèi)容即為假,則不再繼續(xù)向下判斷,而轉(zhuǎn)向else語句中,里面又有一個判斷,當(dāng)確定此時確實有鍵按下且電梯當(dāng)前所處樓層小于五樓時,目標(biāo)樓層就會被變更到五樓,程序最終返回一個aim值。由于程序中沒有下行鍵的出現(xiàn),故下行鍵的狀態(tài)是不會影響到該程序的判決的。此時程序的檢測依據(jù)兩個標(biāo)準(zhǔn):第一,由低層像高層開始檢查;第二,對于電梯已經(jīng)過的樓層和按下下行鍵所發(fā)出的請求,電梯暫時是不予理會的。這也是很明顯的,因為上行送人狀態(tài)中,低層的優(yōu)先權(quán)大于高層的。程序就是靠著上面這些if語句的嵌套,來完成這種優(yōu)先級設(shè)置的。至于上行接人狀態(tài)時,所堅持的標(biāo)準(zhǔn)是由高層到底層的順序進(jìn)行排查,而對于上行鍵的呼叫暫時不予理會。下行的狀態(tài),恰好與上行相反,在此不再贅述。4.3電梯運(yùn)行函數(shù)該函數(shù)直接控制電梯的上行與下行、運(yùn)行與停止。起關(guān)鍵作用的還是判決函數(shù)給它提供的目標(biāo)樓層值。其具體的流程如圖4.3所示。它的功能就是判斷目標(biāo)樓層與當(dāng)前樓層間的關(guān)系:若前者大于后者,則上行;若前者小于后者,則下行;若相等,則停止片刻把門打開。當(dāng)然,之后它還要做一次判斷,因為可能還有其他的樓層需要呼叫,此時程序會自動裝入合適的目標(biāo)樓層值,指揮電梯繼續(xù)運(yùn)行下去,直到所有的呼叫都完成為止。圖4.3 運(yùn)行函數(shù)流程圖4.5 主函數(shù)之所以把主函數(shù)放于最后才說,是因為它最為簡單,它之上把上面所有的函數(shù)按照恰當(dāng)?shù)捻樞蚺帕衅饋?,便于相互調(diào)用而已。首先,各按鍵按下的信息是通過中斷來告知單片機(jī)的,故我們要對單片機(jī)中斷有相應(yīng)的程序語句加以說明,如開總中斷,開外部中斷0以及其觸發(fā)方式等等。最后就是一個大的死循環(huán)了,當(dāng)電梯運(yùn)行到這里的時候,就一直執(zhí)行判決函數(shù),檢測有目標(biāo)樓層有無改變,如果有,就開始調(diào)用運(yùn)行函數(shù),而運(yùn)行函數(shù)沒當(dāng)經(jīng)過一個樓層又會再次調(diào)用判決函數(shù)等等。而當(dāng)有中斷發(fā)生時,單片機(jī)又可以轉(zhuǎn)而處理相應(yīng)的中斷。就這樣,各子函數(shù)間通過主函數(shù)形成了一個統(tǒng)一的整體,使得整個系統(tǒng)得以完美運(yùn)行。5 電路仿真及調(diào)試在畫好電路圖和將程序?qū)雴纹瑱C(jī)中后,進(jìn)行仿真,部分結(jié)果如下圖5-1 電梯默認(rèn)停在一樓解析:如上圖5-1所示,電梯沒有其他響應(yīng)時,默認(rèn)停在一樓,數(shù)碼管顯示1樓。此時各內(nèi)外按鍵接地的一側(cè)全部為低電平,接單片和74LS21與門一側(cè)全部為高電平,電動機(jī)處于停止?fàn)顟B(tài)。圖5-2 高處5樓呼叫電梯,上行指示燈亮解析:如上圖5-2所示,電梯在1樓,電梯內(nèi)有上升到5樓的指令,電梯上行,經(jīng)過四樓且上行指示燈亮,而到一到五樓,五樓按鍵和指示燈另一側(cè)馬上轉(zhuǎn)為高電平,指示燈熄滅,因此截上升到四樓的圖。圖5-3 電梯下行要去2樓,經(jīng)過三樓,此時外部按下6樓下的指令解析:如上圖5-3所示,電梯在接到下行指令要去2樓,經(jīng)過三樓時,此時6樓外有人呼叫電梯,由于電梯內(nèi)依然有人,電梯依舊處于下行中,此時電梯內(nèi)2樓和電梯外6樓指示燈都亮,且電梯下行指示燈也亮,先不理會6樓的向下指令,到達(dá)2樓后,直接前往6樓,到達(dá)六樓時,六樓指示燈也會立即熄滅。在這個過程中電動機(jī)先反轉(zhuǎn)到2樓,然后正轉(zhuǎn)到6樓。總 結(jié)本文對電梯控制系統(tǒng)這一課程設(shè)計做了詳細(xì)的報告與總結(jié),其中包括硬件部分與軟件部分兩大模塊,而且對其中各個重要的子模塊加以了重點詳細(xì)地說明。經(jīng)驗證,本設(shè)計所設(shè)計的電梯完全符合當(dāng)初的預(yù)想,該電梯的調(diào)度完全符合高效、省時、人性化的特點。運(yùn)行結(jié)果完美無誤,可以作為真實電梯的調(diào)度系統(tǒng)使用。本畢設(shè)的主導(dǎo)思想是:當(dāng)有顧客按下按鍵呼叫電梯時,運(yùn)用單片機(jī)的中斷,將該信息傳遞給單片機(jī),從而單片機(jī)置位相關(guān)的狀態(tài)參量,為電梯判決函數(shù)的判斷提供依據(jù),然后單片機(jī)再實時地點亮或者熄滅相關(guān)發(fā)光二極管。其中,單片機(jī)中斷系統(tǒng)是基礎(chǔ),電梯運(yùn)行函數(shù)為主導(dǎo),電梯目標(biāo)樓層判決函數(shù)為關(guān)鍵與核心??偟膩碚f,由于精心設(shè)計與調(diào)試,課設(shè)的成品還是很成功的,而且本程序的編寫不僅僅是為了應(yīng)對六層樓的電梯,更多層的電梯也可以實現(xiàn),比如使用矩陣鍵盤就可以實現(xiàn)十幾層電梯的需求。當(dāng)然,如果更高層的電梯,就會受到單片機(jī)管腳資源的限制了。而程序本身的思想本身是可以支持更多層電梯的運(yùn)行調(diào)度的,如果用其他管腳多的處理器的話(如ARM型處理器),則這一設(shè)想完全可以實現(xiàn)。當(dāng)然,本設(shè)計還是有些不足之處的,比如這只是單個電梯在運(yùn)行,如果某些大樓載客量過多時,當(dāng)然無法滿足需求,故我想以后可以設(shè)計出兩個轎廂的電梯,這樣兩者相互補(bǔ)充,可以滿足更多要求,使顧客更方便。當(dāng)然難度也是有的,它們之間需要共同維護(hù)一些變量,都會帶來一些未知的麻煩等等,但我想只要去思考,總會可以找到解決之路的。- 1.請仔細(xì)閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 基于 單片機(jī) 電梯 控制系統(tǒng)
鏈接地址:http://m.appdesigncorp.com/p-6620745.html