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