基于單片機的電梯控制系統_第1頁
基于單片機的電梯控制系統_第2頁
基于單片機的電梯控制系統_第3頁
基于單片機的電梯控制系統_第4頁
基于單片機的電梯控制系統_第5頁
已閱讀5頁,還剩11頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、精選優質文檔-傾情為你奉上1 課題概述1.1課題的主要研究內容及設計步驟本課題的主要任務是完成一個電梯系統的調度模塊,即根據每個樓層不同顧客的按鍵需求,讓電梯做出合理的判斷,正確高效地知道電梯完成各項載客任務。根據此任務,本課題需要研究的內容有:1、根據系統的技術要求,進行系統硬件的總體方案設計;2、學習單片機的相關知識,并且加以運用;3、選擇恰當的芯片,并對其內部協議有所掌握,便于應用。4、研究C語言編程,并且規定電梯的工作規則,用C語言加以實現;5、對軟件和硬件進行調試,讓其協調工作,完成指定任務。結合以上內容,本課題的設計方案步驟如下:關于硬件部分:首先,對實際的電梯系統進行模擬,一般情

2、況下,一個電梯應該具備相關按鍵、顯示二極管、數碼管等,由于這是一個調度模塊,故沒有設計具體的轎廂等機械部分。然后,結合這些實物,選擇恰當的芯片,并分成若干模塊,安排好各自之間的關系。接著,要完成電路圖的設計,畫出PCB板,焊接相關器件后進行硬件調試,看是否好用并加以適當的更正。關于軟件部分:關于電梯調度時所遵循的原則作出規定,其必須基于高效與人性化兩個原則。最后是使用C語言將規定程序化,以便電梯真正的運作。當然,二者的關系并不是分離的,它們是相輔相成,硬件依據軟件來驗證,軟件依據硬件來調試。經過一個個的發現問題、一個個的解決問題,最終做出完美的電梯調度模塊。1.2課題的開發環境簡介 1.2.1

3、電路圖制作軟件proteus 7.2Proteus是目前最好的模擬單片機外圍器件的工具,因此在仿真和程序調試時,關心的不再是某些語句執行時單片機寄存器和存儲器內容的改變,而是從工程的角度直接看程序運行和電路工作的過程和結果。對于這樣的仿真實驗,從某種意義上講,是彌補了實驗和工程應用間脫節的矛盾和現象。1.2.2C51的程序開發軟件KeilKeil C51 軟件是眾多單片機應用開發的優秀軟件之一,它集編輯,編譯,仿真于一體,支持匯編,PLM 語言和 C 語言的程序設計,界面友好,易學易用。2 方案論證2.1 設計功能要求本設計是為一六層電梯設計一調度系統,即使電梯能夠合理高效地運行,完成各樓層顧

4、客的接送任務。形象地說,就是要應對不同樓層顧客的不同需求,作出合理高效的判斷,使所有顧客在整體運用時間最短的條件下將其運往各自的目的地。這個設計的成品應該可以作為真實電梯的控制系統一樣,遵守以下兩個原則:一是高效性,二是人性化。而實際電梯所面臨的情況無比復雜,故本設計的難點除了硬件上面外,還有對這些復雜的情況歸類化,分為若干個基本情況,另外是用恰當的C語言描述來表達這些復雜的邏輯。核心處兩個步驟:第一判斷電梯是上行還是下行;第二,判斷是去接人還是去送人。2.2 系統的結構框圖圖2-1 系統的結構框圖如上圖2-1所示,樓層電梯呼叫按鍵就是樓層外面的上行、下行按鍵,有需求時即可按下;電梯內呼叫按鍵

5、就是電梯內部的數字按鍵,它是內部按鍵需求的輸入;單片機就是整個系統的核心,接收輸入信息,經過處理后輸出信息;樓層顯示數碼管就是接收單片機處理的信息,顯示此時的樓層數;電梯狀態指示燈就是接收單片機處理的信息,顯示電梯的狀態:上升、下降、停止。電動機的驅動和控制就是接收單片機的PWM脈沖信號來控制驅動器,進而控制電動機的正反轉,使電動機牽引電梯做上下運動。3 系統的硬件設計 電梯最底層為1樓,因此在1樓僅有上升按鍵,而電梯最高層為6樓,因此6樓應僅有下降按鍵。其他樓層則既有上升按鍵,也有下降按鍵。在電梯內部按鍵設置方面,則應有16樓的各層選擇按鍵。按鍵的一端接地,另一端通過集成電路芯片連至單片機引

6、腳。這里,由于按鍵數量很多,又要求電梯控制系統能以最快速度響應按鍵的需求,因此,所有按鍵通過與門連接單片機。用五片雙4輸入與門74LS21即可實現16個按鍵對象的集體與運算的最終結果,按鍵動作最終是送到單片機的端。即:(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)無論哪一個按鍵有動作,低電平信號就會送到端,從而引發外部中斷0服務子程序運行。當定時器0中斷時,單片機向電動機發送PWM脈沖信號,電動機接到脈沖信號后,經過驅動器的驅動,電動機便牽引電梯上下運動。電梯的樓層顯

7、示用七段數碼管完成顯示。本設計電梯只有6層,因此用七段數碼管即可,數碼管的顯示數據通過單片機的P0口來進行傳送。設計中要求數碼管隨著電梯的位置變化而變化,即數碼管顯示數據要與樓層數同步,因此數碼管的片選線直接連接地,而不需要再選擇。電梯升降的狀態用上升和下降指示燈來進行顯示,通過單片機的P3.7和P3.6引腳分別連接上升和下降指示燈的負極,其正極均連接至系統正電源處。3.1單片機最小系統模塊在本設計中,最小系統應該包括:單片機、晶振電路、復位電路。如圖3-1所示,晶振電路由C3與C2和晶振組成。C3與C2是兩個30pF的瓷片電容接地用來削減偕波對電路的穩定性的影響。復位電路采取的為手動按鍵復位

8、電路,由電容C13,電阻R1、C1和開關RESET組成,當單片機的復位引腳RESET出現2個機器周期以上的高電平時,單片機就執行復位操作。圖3-1 單片機的最小系統3.2電動機的選擇我們選用三相異步電動機來做電梯的動力裝置,因為國產Y系列的電動機具有高效、節能、特性好及低噪聲等優點,我們將選用國內最先進的Y系列異步電動機。這里我們選用Y100L24三相異步電動機,因為它還具有性能好、壽命長、可靠性高、維護方便、啟動轉矩大等優點,其功能參數為額定電壓380V,額定頻率50HZ,額定功率3000W,額定轉速1400轉/分。如圖3-2,在PROTEUS中,我們選用的普通的MOTOR-BCD代替進行仿

9、真。圖3-2電動機正反控制電路3.3中斷電路圖3-3 中斷電路圖中斷電路如上圖3-3所示。圖中外部0中斷與74LS21與門相接,低電平有效,所以當單片機接電源后,P1.0P1.3引腳此時為高電平,當任一按鍵按下后,相應的中斷輸入口直接與地相接,高電平變為低電平,外部0中斷立即響應,單片機系統進入中斷控制子程序系統,在中斷服務子程序中做出相應的執行指令。3.4 數碼管顯示模塊 圖3-4 數碼管顯示電路七段數碼管外形如圖3-4所示,即左邊的7個引腳跟單片機P0口相接,下邊的引腳連接地。樓層內外分別用一個7段數碼管顯示,可以共用一個P0口。3.5 按鈕控制電路模塊圖3-5電梯不同樓層的按鈕如圖3-5

10、所示,按鍵顯示電路模塊包括電梯內部的按鈕和每層樓的上下按鈕,這些按鈕一端與地相接,一端又與單片機和與門74LS21相接,外部0中斷低電平有效,這樣可以實現模擬按鍵的自如操作。3.6 報警電路如圖3-6所示,電梯內添加手動報警電路,假若電梯發生故障,電梯內的人可自行發出報警信號,向外界求救。該電路接在單片機的P2.7口。圖3-6電梯不同樓層的按鈕3.7 模擬電路圖如下圖3-7所示,電路原理圖包括狀態指示燈模塊、內外按鍵模塊、中斷電路模塊、單片機的主要外圍模塊、數碼管顯示模塊和電動機驅動控制模塊、報警模塊。P0口的P0.1P0.6引腳與數碼管模塊相接,P2口的P2.4P2.7引腳與電動機驅動控制模

11、塊相接,P3口的P3.2引腳與中段電路模塊相接,P1口的P1.0P1.7引腳、P3.0P3.1引腳、P3.3P3.5引腳分別與對應的內外按鍵模塊相接,P3.6P3.7引腳與狀態指示燈模塊相接。圖3-7 模擬電路原理圖4系統的軟件設計從程序功能上來分,本設計的高層軟件程序大概可以分為以下幾類:一、運行與決策函數;二、中斷處理函數;三、置位各狀態變量函數;其中,第一類函數起作用于按鍵按下的時刻,當有按鍵按下時,通過74LS21以中斷的方式發送給單片機,此時,單片機即對程序中所用到的各個狀態變量進行置位并且點亮相關發光二極管,如置位按鍵所對應的去向變量等,方便決策函數使用。第二類函數起作用于電梯到達

12、目標樓層時,這時函數負責把相關發光二極管熄滅,并且及時清除相關狀態位,以免影響判別函數作出正確判斷。第三類函數是程序的核心。它直接負責管理電梯下一次所要到達的樓層,并且要基于短時間、高效率、人性化等原則。每當電梯經過一樓層時,此函數即會被調用,然后返回一個變量名為aim的值,它即為下一個電梯要停留的目標樓層值。4.1單片機中斷處理函數本設計主要用到了單片機的中斷系統。當有按鍵按下時,利用函數將鍵值存儲起來,并在單片機引腳輸出高電平發出中斷進行相關處理。中斷的相關設置以及中斷處理如圖4.1所示。圖4.1 中斷處理中的相關操作4.2電梯判決函數在電梯經過一個樓層時,就會自動調用該函數。其流程如圖4

13、.2所示。 圖4-2 電梯判決流程圖由圖可知,程序中將實際情況分為四種情況來判斷:電梯上行且是去送人、電梯上行且是去接人、電梯下行且是去送人、電梯下行且是去接人。電梯各情況下所對應的處理方法,以電梯上行的兩種狀態為例:在實際應用中,最簡單的情況莫過于電梯當前為閑置狀態,然后有一人按下按鍵呼叫,然后電梯便響應呼叫。但是,實際情況往往比這復雜的多,往往會有多人呼叫電梯。那么就必須得為電梯規定好一個特定的優先級規則,以免亂作一團。若電梯處于上行狀態,則在該過程中響應不同顧客的優先級為:高層呼叫上行顧客>高層呼叫下行顧客>底層呼叫下行顧客>底層呼叫上行顧客。若上行,且是送人,比如電梯

14、當前在二層,六樓有人呼叫上樓,那么它就要響應這一呼叫,從而把自己的目標樓層鎖定為六樓并向上運行,而在六樓呼叫后不久,五樓也有人呼叫上樓(且電梯此刻還未運行到五樓),那么在電梯運行中,每經過一個樓層,會做一次判決,因為五樓也有人呼叫,所以正常情況下,它應該在判決后將目標樓層定位五樓。而若五樓的顧客按下的是下行鍵,或者二樓的人按下呼叫鍵,電梯此時都會暫時不予理會。在程序中,當五樓有上行鍵呼叫時,狀態變量f5up便會被置位,程序走到判別if(f5up=0)|(present>5)時,里面的內容即為假,則不再繼續向下判斷,而轉向else語句中,里面又有一個判斷,當確定此時確實有鍵按下且電梯當前所

15、處樓層小于五樓時,目標樓層就會被變更到五樓,程序最終返回一個aim值。由于程序中沒有下行鍵的出現,故下行鍵的狀態是不會影響到該程序的判決的。此時程序的檢測依據兩個標準:第一,由低層像高層開始檢查;第二,對于電梯已經過的樓層和按下下行鍵所發出的請求,電梯暫時是不予理會的。這也是很明顯的,因為上行送人狀態中,低層的優先權大于高層的。程序就是靠著上面這些if語句的嵌套,來完成這種優先級設置的。至于上行接人狀態時,所堅持的標準是由高層到底層的順序進行排查,而對于上行鍵的呼叫暫時不予理會。下行的狀態,恰好與上行相反,在此不再贅述。4.3電梯運行函數該函數直接控制電梯的上行與下行、運行與停止。起關鍵作用的

16、還是判決函數給它提供的目標樓層值。其具體的流程如圖4.3所示。它的功能就是判斷目標樓層與當前樓層間的關系:若前者大于后者,則上行;若前者小于后者,則下行;若相等,則停止片刻把門打開。當然,之后它還要做一次判斷,因為可能還有其他的樓層需要呼叫,此時程序會自動裝入合適的目標樓層值,指揮電梯繼續運行下去,直到所有的呼叫都完成為止。圖4.3 運行函數流程圖4.5 主函數之所以把主函數放于最后才說,是因為它最為簡單,它之上把上面所有的函數按照恰當的順序排列起來,便于相互調用而已。首先,各按鍵按下的信息是通過中斷來告知單片機的,故我們要對單片機中斷有相應的程序語句加以說明,如開總中斷,開外部中斷0以及其觸

17、發方式等等。最后就是一個大的死循環了,當電梯運行到這里的時候,就一直執行判決函數,檢測有目標樓層有無改變,如果有,就開始調用運行函數,而運行函數沒當經過一個樓層又會再次調用判決函數等等。而當有中斷發生時,單片機又可以轉而處理相應的中斷。就這樣,各子函數間通過主函數形成了一個統一的整體,使得整個系統得以完美運行。5 電路仿真及調試在畫好電路圖和將程序導入單片機中后,進行仿真,部分結果如下圖5-1 電梯默認停在一樓解析:如上圖5-1所示,電梯沒有其他響應時,默認停在一樓,數碼管顯示1樓。此時各內外按鍵接地的一側全部為低電平,接單片和74LS21與門一側全部為高電平,電動機處于停止狀態。圖5-2 高

18、處5樓呼叫電梯,上行指示燈亮解析:如上圖5-2所示,電梯在1樓,電梯內有上升到5樓的指令,電梯上行,經過四樓且上行指示燈亮,而到一到五樓,五樓按鍵和指示燈另一側馬上轉為高電平,指示燈熄滅,因此截上升到四樓的圖。圖5-3 電梯下行要去2樓,經過三樓,此時外部按下6樓下的指令解析:如上圖5-3所示,電梯在接到下行指令要去2樓,經過三樓時,此時6樓外有人呼叫電梯,由于電梯內依然有人,電梯依舊處于下行中,此時電梯內2樓和電梯外6樓指示燈都亮,且電梯下行指示燈也亮,先不理會6樓的向下指令,到達2樓后,直接前往6樓,到達六樓時,六樓指示燈也會立即熄滅。在這個過程中電動機先反轉到2樓,然后正轉到6樓???結本文對電梯控制系統這一課程

溫馨提示

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

評論

0/150

提交評論