基于VHDL的電梯控制系統(tǒng)設計_第1頁
基于VHDL的電梯控制系統(tǒng)設計_第2頁
基于VHDL的電梯控制系統(tǒng)設計_第3頁
基于VHDL的電梯控制系統(tǒng)設計_第4頁
基于VHDL的電梯控制系統(tǒng)設計_第5頁
已閱讀5頁,還剩10頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、VHDL數(shù)字系統(tǒng)設計與測試實驗報告基于VHD啲電梯控制系統(tǒng)設計一、設計背景及說明隨著高層建筑的不斷涌現(xiàn), 對電梯的需求也與日俱增, 電梯已經(jīng)成為我們?nèi)粘I钪?不可缺少的部分, 穩(wěn)定可靠性高的電梯系統(tǒng)成為了電梯領域的新需求。 現(xiàn)在基于 VHDL 硬 件描述語言,用 FPGA 為控制芯片控制完成一個簡單的 6層樓的電梯控制系統(tǒng)設計。我們常見的電梯控制系統(tǒng)功能都包括: 上升請求、下降請求、 電梯門控、樓層顯示燈、 電梯運動方向顯示、超載、報警、電梯內(nèi)請求信號等。根據(jù)這些常用的信號設計一個電梯 系統(tǒng),實現(xiàn)所要求的功能。控制方式的選擇:1)內(nèi)部請求優(yōu)先控制方式內(nèi)部請求控制方式類似于出租車的工作方式,先

2、將車上的人送至目地,再去載客。作 為通用型電梯應該服務于大多數(shù)人,必須考慮電梯對內(nèi)外請求的響應。在內(nèi)部請求優(yōu)先控 制方式中,當電梯外部人的請求和電梯內(nèi)部人的請求沖突時,外部人的請求信號可能被長 時間忽略,因為它不能作為通用型電梯的設計方案。2)單層層??刂品桨竼螌訉油?刂品绞降韧诨疖囘\行方式,遇到站即停止、開門。這種方案保證所有的人的請求都能得到響應。然而這樣對電梯的效率產(chǎn)生了消極的影響:不必要的等待消耗了大量時間,而且電梯的運作與用戶的請求無關,當無請求時電梯也照常跑空車,浪費了大量的電能。對于用戶而言這種控制方式的請求響應時間也不是很快,因而也不是理想的電 梯控制設計方案3)方向優(yōu)先控制

3、式方式方案方向優(yōu)先控制是指電梯運行到某一層樓時,先考慮這一層樓是否有請求:有則停止; 無則繼續(xù)上升或者下降。 停止后再啟動時, 考慮上方或者下方是否有請求, 有則繼續(xù)前進, 無則停止。檢測后方是否有請求,有請求則轉(zhuǎn)向運行,無請求則維持停止狀態(tài)。這種運作 方式下,電梯對用戶的請求相應率為 100%,而且響應的時間較短。方向優(yōu)先控制方式的效率遠遠大于單向?qū)訉油5瓤刂品绞降男?。而且,方向控制?式下,電梯在維持停止狀態(tài)的時候可以進入省電模式,又能節(jié)省大量的電能。在本設計中 采用方向優(yōu)先控制方式。電梯的輸入信號分析 電梯的輸入信號分析主要包括外部輸入信號和內(nèi)部輸入信息的分析。對于電梯外部輸 入信號:

4、每一層電梯門外需要有上升請求按鈕和下降請求按鈕,其中一樓電梯門外只有上 升請求按鈕, 6 樓電梯門外只有下降請求按鈕。電梯內(nèi)部輸入信號包括 6 個前往樓層按鈕、 提前關門按鈕、延時關門按鈕、電梯異常求救按鈕,另外還有超重等警告信號輸入。電梯的輸出信號分析:電梯的輸出信號分析也主要包括外部輸出信號和內(nèi)部輸出信息的分析。對于電梯外部 信號包括上升請求按鈕和下降請求按鈕是否被按下指示信號燈、電梯當前所在樓層指示信 號、電梯運行方向指示信號。電梯內(nèi)部輸出信號包括 6 個前往樓層按鈕是否被按下指示信 號、是否超重等告警指示信號、 電梯當前所在樓層指示信號、 以及電梯運行方向指示信號。電梯運行規(guī)則分析:當

5、電梯處于上升模式時, 只響應比電梯所在位置更高的上樓信號, 由下至上依次執(zhí)行, 直到最后一個上樓請求執(zhí)行完畢,如果高層有下樓請求時,則直接升到有下降請求的最高 樓,然后進入下降模式,電梯處于下降模式時,則與上升模式相反。電梯系統(tǒng)框圖如下圖所示:按鍵輸入乘坐電梯者所想要去的樓層,控制電梯門的開關,可編程邏輯芯片接收到信號后進行處理,發(fā)送信號給控制電機系統(tǒng)來控制電梯的上升下降等狀態(tài),同時通過LED數(shù)碼管顯示所在的樓層,以及電梯的運動狀態(tài)。該控制器完成 6 層電梯的載客服務,而且遵循方向優(yōu)先原則,并能相應提前關門、延 時關門,并且有超載報警和故障報警。同時指示電梯的運行情況以及電梯內(nèi)外請求信息。二、

6、設計框圖及模塊說明設計電梯系統(tǒng)框圖如下圖所示:電梯系統(tǒng)大致包括 4 個模塊:1)外部數(shù)據(jù)采集模塊 對外部信號采集、處理要求電梯控制器:實現(xiàn)對外部請求信號的實時、準確采集;準確實時地捕捉達到樓層的信號; 有效防止樓層到達信號、 外部請求信號的誤判。 采用 FPGA 為系統(tǒng)控制核心,系統(tǒng)時鐘頻率足夠滿足此系統(tǒng)實時采集數(shù)據(jù)的要求。外部請求信號的輸 入形式為按鍵輸入,到達樓層信號來自光敏傳感器,關門中斷信號及超載信號則產(chǎn)生于壓 力傳感器。2)信號存儲模塊電梯控制系統(tǒng)的請求輸入信號有 18個(電梯外有 6 個上升請求和 6個下降請求的用戶 輸入端口, 電梯內(nèi)有 6個請求用戶輸入端口) ,由于系統(tǒng)對內(nèi)外請

7、求沒有設置優(yōu)先級, 各樓 層的內(nèi)外請求信號被采集后可先進行運算, 再存到存儲器內(nèi)。 要注意的是電梯運行過程中, 由于用戶的請求信號的輸入是離散的,而且系統(tǒng)對請求的響應也是離散的,因此請求信號 的存儲要新的請求信號不能覆蓋原來的請求信號,只有響應動作完成后才能清除存儲器內(nèi) 對應的請求信號位。3)基于 FPGA 的中央處理器模塊中央數(shù)據(jù)處理模塊是系統(tǒng)的核心,通過對存儲的數(shù)據(jù)(含請求、到達樓層等信號)進 行比較、判斷以驅(qū)動系統(tǒng)狀態(tài)的流轉(zhuǎn)。電梯工作過程中共有 9 種狀態(tài):等待、上升、下降、 開門、關門、停止、休眠、超載報警及故障報警狀態(tài)。一般情況下電梯的工作始點是第一層,起始狀態(tài)是等待狀態(tài),啟動條件是

8、接受上升請求。超載狀態(tài)時電梯關門動作取消,同 時發(fā)出警報,直到警報被清除(看門狗信號有效的條件是一層樓連續(xù)發(fā)生關門中斷情況超 過 3 次)。本系統(tǒng)由請求信號啟動, 運行中每檢測到一個到達樓層信號, 再參考原方向信號 來決定是否停止,轉(zhuǎn)向等動作。系統(tǒng)狀態(tài)流程圖如下圖所示:4)信號的輸出、顯示模塊 本系統(tǒng)的輸出信號有兩種:一種是電機的升降控制信號(兩位)和開門 / 關門控制信 號;另一種是面向用戶的提示信號(含樓層顯示、方向顯示、已接受請求顯示等) 。電機控制信號一般需要兩位, 本系統(tǒng)中電機有 3種工作狀態(tài): 正轉(zhuǎn)、反轉(zhuǎn)和停轉(zhuǎn)狀態(tài)。兩位控制信號作為一個三路開關的選通信號,此三路開關選用模擬電子開關

9、。 系統(tǒng)的顯示輸出包括數(shù)碼管樓層顯示、數(shù)碼管請求信號顯示和表征運動方向箭頭指示 燈的開關信號。 LED 七段數(shù)碼管顯示部分在前面的作業(yè)中已經(jīng)做了詳細的介紹及說明, 在 本系統(tǒng)中省略。本系統(tǒng)具有請求信號顯示功能, 結(jié)合方向顯示, 可以減少用戶對同一請求的輸入次數(shù), 這樣就延長了電梯按鍵的壽命。三、電梯控制程序設計源代碼及端口說明輸入端口信號說明:elk :時鐘信號,2Hz;clr :清除警報信號,高有效,清除故障報警;e_u1、c_u2、c_u3 c_u4 c_u5:電梯外人的上升請求; c_d2、c_d3、c_d4 c_d5 c_d6:電梯外人的下降請求; deng:關門中斷,用于在需要等待時

10、,讓電梯門一直打開,停止運動;di、d2、d3、d4、d5、d6:電梯內(nèi)人的請求信號;full :超載信號,高時表示電梯內(nèi)的人過多,超載報警;g1、g2、g3、g4 g5、g6:到達樓層信號,數(shù)碼管LED將顯示其值;quick:提前關門信號,高有效,當為高時,電梯門馬上關閉;輸出端口信號說明:door1:0:電梯門控信號;led6:0:電梯所在樓層顯示;led_c_u5:0:電梯外人上升請求信號顯示;led_c_d5:0:電梯外人下降請求信號顯示;led_d5:0J電梯內(nèi)請求信號顯示;alarm 超載警告信號;up 電梯運動狀態(tài)顯示,高時表示上升;down 電梯運動狀態(tài)顯示,高時表示為下降;u

11、d 電機控制信號,控制電梯的上升下降, “1”表示為上升,“0”表示為下降; wawawa 看門狗報警信號,高時表示故障報警。源代碼如下所示library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity dianti isport ( clk : in std_logic;-時鐘信號(頻率為 2Hz)full,deng,quick,clr : in std_logic;-超載、關門中斷、提前關門清除報警信號c_u1,c_u2,c_u3,c_u

12、4,c_u5: in std_logic;-電梯外人的上升請求信號c_d2,c_d3,c_d4,c_d5,c_d6 : in std_logic;-電梯外人的下降請求信號d1,d2,d3,d4,d5,d6 : in std_logic;-電梯內(nèi)人的請求信號g1,g2,g3,g4,g5,g6 : in std_logic;-到達樓層信號door : out std_logic_vector(1 downto 0);-電梯門控制信號led : out std_logic_vector(6 downto 0);-電梯所在樓層顯示led_c_u:out std_logic_vector(5 downt

13、o 0);-電梯外人上升請求信號顯示led_c_d:out std_logic_vector(5 downto 0); -電梯外人下降請求信號顯示led_d : out std_logic_vector(5 downto 0);-電梯內(nèi)請求信號顯示wahaha : out std_logic;-看門狗報警信號ud,alarm : out std_logic;-電梯運動方向顯示,超載警告信號up,down : out std_logic );-電機控制信號和電梯運動end dianti;architecture behav of dianti issignal d11,d22,d33,d44,d

14、55,d66:std_logic; -電梯內(nèi)人請求信號寄存信號signal c_u11,c_u22,c_u33,c_u44,c_u55:std_logic;-電梯外人上升請求信號寄存信號signal c_d22,c_d33,c_d44,c_d55,c_d66:std_logic;-電梯外人下降請求信號寄存信號signal q:integer range 0 to 1;-分頻信號signal q1:integer range 0 to 6;-關門延時計數(shù)器signal q2:integer range 0 to 9;-看門狗計數(shù)器signal dd,cc_u,cc_d,dd_cc:std_log

15、ic_vector(5 downto 0)電; -梯- 內(nèi)外請求信號寄存器-開門使能信號-電梯運動方向信號寄存器-預備上升、預備下降預操作使能信號-清除故障報-超載報警signal opendoor:std_logic;signal updown:std_logic;signal en_up,en_dw:std_logic;begincom:process(clk)beginif clkevent and clk=1 thenif clr=1 then q1=0;q2=0;wahaha=0; 警警elsif full=1 then alarm=1; q1=3 then door=10;else

16、 door=00;end if;elsif q=1 then q=0;alarm=0;if q2=3 then wahaha=1;-故障報警elseif opendoor=1 then door=10;q1=0;q2=0;up=0;down=0;-開門操作elsif en_up=1 then-上升預操作if deng=1 then door=10;q1=0;q2=q2+1;-關門中斷 elsif q1=6 then door=00;updown=1;up=1; - 關門完畢, 電梯進入上升狀態(tài)-電梯進入等待狀-下降預操作else q1=q1+1;door=00;end if;elsif en_

17、dw=1 thenif deng=1 then door=10;q1=0;q2=q2+1;elsif quick=1 then q1=3;elsif q1=6 then door=00;updown=0;down=3 then door=01;q1=q1+1;else q1=q1+1;door=00;end if;end if;if g1=1 then led=1001111;-電梯到達 1 樓,數(shù)碼管顯示if d11=1 or c_u11=1 then d11=0; c_u11=0;opendoor000001 then en_up=1; opendoor=0;-有上升請求,則電梯進入預備上

18、升狀if updown=1 then-電梯前一運動狀態(tài)位上升if d22=1 or c_u22=1 then d22=0; c_u22=0; opendoor000011 then en_up=1; opendoor=0;-有上升請求,則電梯進入預備上升狀 態(tài)elsif dd_cc000010 then en_dw=1; opendoor=0;-有下降請求,則電梯進入預備下降狀 態(tài)end if;-電梯前一運動狀態(tài)為下降elsif d22=1 or c_d22=1 then d22=0; c_d22=0;opendoor=1;-有當前層的請求,則電梯進入開門狀 態(tài)elsif dd_cc00001

19、0 then en_dw=1; opendoor=0;-有下降請求,則電梯進入預備下降狀 態(tài)-有上升請求,則電梯進入預備上升狀end if;if updown=1 thenif d33=1 or c_u33=1 then d33=0; c_u33=0;opendoor000111 then en_up=1; opendoor=0;elsif dd_cc000100 then en_dw=1; opendoor=0;end if;elsif d33=1 or c_d33=1 then d33=0; c_d33=0; opendoor=1;elsif dd_cc000100 then en_dw=

20、1; opendoor000111 then en_up=1; opendoor=0;end if;elsif g4=1 then led=1001100;-電梯到達 4 樓,數(shù)碼管顯示4if updown=1 thenif d44=1 or c_u44=1 then d44=0; c_u44=0; opendoor001111 then en_up=1; opendoor=0;elsif dd_cc001000 then en_dw=1; opendoor=0;end if;elsif d44=1 or c_d44=1 then d44=0; c_d44=0; opendoor=1;elsi

21、f dd_cc001000 then en_dw=1; opendoor001111 then en_up=1; opendoor=0;elsif g5=1 then led=0100100;-電梯到達 5 樓,數(shù)碼管顯示 5if updown=1 thenif d55=1 or c_u55=1 then d55=0; c_u55=0;opendoor011111 then en_up=1;opendoor=0;elsif dd_cc010000 then en_dw=1;opendoor=0;end if;elsif d55=1 or c_d55=1 then d55=0; c_d55=0;

22、opendoor=1;elsif dd_cc010000 then en_dw=1; opendoor011111 then en_up=1; opendoor=0;end if;elsif g6=1 then led=0100000;-電梯到達 6 樓,數(shù)碼管顯示6if d66=1 or c_d66=1 then d66=0; c_d66=0;opendoor=1;elsif dd_cc100000 then en_dw=1; opendoor=0;end if;else en_up=0;en_dw=0; -電梯進入上升或下降狀態(tài)end if;end if;else q=1;alarm=0;

23、 -清除超載報警if d1=1 or d1=0 then d11=d1;-對電梯內(nèi)人請求信號進行檢測和寄存elsif d2=1 or d2=0 then d22=d2;elsif d3=1 or d3=0 then d33=d3;elsif d4=1 or d4=0 then d44=d4;elsif d6=1 or d6=0 then d66=d6;end if;if c_u1=1 or c_u1=0 then c_u11=c_u1;-對電梯外人上升請求信號進行檢測和寄存elsif c_u2=1 or c_u2=0 then c_u22=c_u2;elsif c_u3=1 or c_u3=0

24、 then c_u33=c_u3;elsif c_u4=1 or c_u4=0 then c_u44=c_u4;elsif c_u5=1 or c_u5=0 then c_u55=c_u5;end if;if c_d2=1 or c_d2=0 then c_d22=c_d2;-對電梯外人下降請求信號進行檢測和寄存elsif c_d3=1 or c_d3=0 then c_d33=c_d3;elsif c_d4=1 or c_d4=0 then c_d44=c_d4;elsif c_d5=1 or c_d5=0 then c_d55=c_d5;elsif c_d6=1 or c_d6=0 the

25、n c_d66=c_d6;end if;dd=d66&d55&d44&d33&d22&d11;-電梯內(nèi)人請求信號并置cc_u=0&c_u55&c_u44&c_u33&c_u22&c_u11; -電梯外人上升請求信號并置 cc_d=c_d66&c_d55&c_d44&c_d33&c_d22&0; -電梯外人下降請求信號并置 dd_cc=dd or cc_u or cc_d;-電梯內(nèi)、外人請求信號進行綜ud=updown;-電梯運動狀態(tài)顯示led_d=dd;-電梯內(nèi)人請求信號顯示led_c_u=cc_u;-電梯外人上升請求信號顯示led_c_d=cc_d;-電梯外人下降請求信號顯示end if;e

26、nd process;end behav;此次電梯控制系統(tǒng)設計使用的是 Altera 公司的 MAX-II ,由下資源使用情況圖可見這 款芯片足夠滿足本次設計需求。四、仿真結(jié)果及說明假設電梯初始狀態(tài)在一樓,此時 2、3樓電梯外有人要下樓, 4 樓電梯外有人要上樓, 在此后輸入等待、快速關門、超載等信號,觀察仿真圖得出結(jié)論:電梯控制程序仿真全圖注:實際使用時電梯的時鐘為2Hz,為了仿真時便于觀察我們在仿真時,將頻率加倍為25MHz。電梯控制程序仿真局部放大圖 -1注:1.電梯停在一樓時,接受到請求信號 c_d3、c_d2、c_u4和d6,并把請求信號寫入相 應的寄存器。 led 顯示電梯所在樓層; led_d 、 led-c_u 和 led_c_d 顯示用戶的請求。2. 電梯經(jīng)過準備上升狀態(tài)后,進入上升狀態(tài),到達 2 樓、 3 樓時,由于 2、 3 樓的乘 客要求的是下降,所以不停繼續(xù)前進。3. 電梯上升到4樓時,響應請求(c_u4),開門載客;載客時電梯的門狀態(tài) door先 由 10(電梯門打開)跳到 00(等待)再跳到 01(電梯門關閉),完成乘客的進入;此后進入預備上升狀態(tài)電梯控制程序仿真局部放大圖 -2注:1. 電梯上升到

溫馨提示

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

最新文檔

評論

0/150

提交評論