◇武漢輕工大學電氣與電子工程學院 陶云軒 李素芬 張祥武 楊文卓
使用FPGA器件作為主控制芯片,Quartus II作為編程軟件,使用DE10-NANO作為編程后的硬件板子,設計一個基于DE10-NANO板的電梯控制系統,便于實現更多層電梯控制,有較強的靈活性。
電梯在生活中隨處可見,大型的商城中、高檔的酒店內都少不了電梯的身影。現階段,電梯控制系統硬件由轎廂操縱盤、廳門信號、PLC、變頻器、調速系統構成,變頻器只完成調速功能,而邏輯控制部分是由PLC完成的。PLC負責處理各種信號的邏輯關系,從而向變頻器發出起停信號,同時變頻器也將本身的工作狀態輸送給PLC,形成雙向聯絡關系[1-2]。
FPGA,其實是一種開發者在短時間內利用個人PC就可以在實現多次重寫的廉價設備,是高密度可編程邏輯器件的主流產品[3],具有運行效率高,操作簡易,易于實現大規模系統和二次開發的系統。
Quartus II 是Altera公司的綜合性CPLD/FPGA開發軟件,原理圖、VHDL、VerilogHDL以及AHDL(Altera Hardware 支持DescriptionLanguage)等多種設計輸入形式,內嵌自有的綜合器以及仿真器,可以完成從設計輸入到硬件配置的完整PLD設計流程[4]。
本研究將使用FPGA器件作為主控制芯片,Quartus II作為編程軟件,設計一個基于DE10-NANO板五層電梯控制系統。
(1)該電梯五層,除第一、五層,每層都設有上下鍵,一層設有上鍵,五層設有下鍵。
(2)電梯內有防超重系統、緊急呼叫按鈕、故障指示燈、報警系統和樓層按鈕等。
(3)電梯到達指定樓層后,過2秒后電梯門打開,開門4s電梯開始關閉,再經過6s電梯開始上下行。
(4)電梯沒有接到指令時,在3樓待命。
電梯控制器主要由指令請求模塊、電梯運行狀態模塊、顯示模塊、開關門模塊、超重報警模塊這五個模塊組成。以下為這五個模塊的功能。
(1)指令請求模塊。

表1 指令請求模塊信號
電梯在運行的過程中,并不是簡單的按照順序優先邏輯,而是按照最佳方案來運行的,例如:當電梯在1樓時,同時收到4樓和5樓的下降請求信號,則電梯首先上升到5樓,然后再下降到4樓,這樣可以最大化的節省電能。在沒有請求時,電梯會自動到3樓待機。
(2)電梯運行狀態模塊。
電梯運行狀態分為上升、下降、預上升、預下降、停止。
當電梯沒有收到請求信號時,電梯自動回到3樓,進入待機狀態,或者說是預上升狀態,此時電梯只能接收到上升信號。
當電梯在2、3、4樓時,如果沒有收到信號,則返回3樓進入待機狀態;如果收到上升信號,則進入預上升狀態,準備上升;若收到下降信號,則進入預下降狀態,準備下降。
當電梯在5樓時,此時電梯只能接收到下降信號。若沒有請求信號,則自動返回3樓待機;若收到下降信號,則進入預下降狀態,準備下降。
進一步分析,當電梯處于停滯狀態,如果有樓層上升信號(out_upi,i為2至5)產生時,電梯就會進入預上升狀態(pre_up),電梯門處于關閉狀態(door<=2'b00),過6s后電梯進入上升狀態(up<=1'b1);如果有樓層下降(out_dowi,i為2至5)信號產生時,電梯就會進入預下降狀態(pre_dow),電梯門處于關閉狀態(door<=2'b00),過6s后電梯進入下降狀態(down<=1'b1)。

表2 運行狀態模塊信號
(3)顯示模塊。
顯示模塊包括以下兩部分:
a、用七段數碼表示的電梯樓層顯示。如用display<=7'b011 0000表示電梯到達1樓,display<=7'b1101101表示電梯到達2,display<=7'b1111001表示電梯到達3樓,display<=7'b0110011表示電梯到達4樓display<=7'b1011111表示電梯到達5樓。其原理為:當電梯在某樓時,其中一部分接上正電源,此時數碼管將顯示該樓層的數字。
b、電梯超重報警(alarm)。

表3 顯示模塊信號
(4)開關門模塊。
該模塊用來控制電梯門的開關。當電梯到達指定樓層時,電梯門為打開狀態(door<=2'b10),經過4s后,電梯開始關門(close<=2'b10),再經過6s,電梯開始進行向上(up)或向下(down)操作。還可以在電梯關門期間中斷關門(stop<=2'b10)和電梯處于開門期間提前關門(close<=2'b10)。
并且,在出現電梯超載的情況下,電梯門不會關閉(close<=2'b00),直到電梯處于安全狀態,才關閉電梯門。

表4 開關門模塊信號
(5)超重報警模塊。
本模塊用來防止電梯超重。當電梯超重(full)時,電梯接到超載警告信號(alarm),電梯門會處于打開狀態(door<=2'b10),當電梯不再超載時,清除警報(sys),電梯進入關門狀態。

表5 超重報警模塊信號
當電梯在1樓(att_floor1)時,5樓產生了向下的請求信號(out_dow5),于是電梯進入預上升狀態,電梯門(door)關閉。在判斷無超載信號(full)產生后,電梯進入上升狀態(up)。電梯經過2樓(att_floor2)、3樓(att_floor3)、4樓(att_floor4)后抵達5樓(att_floor5),電梯停止上升,電梯門(door)打開,電梯進入停止狀態(stop)。

圖1 接收到向下的請求信號
當電梯抵達5樓(att_floor5)后,電梯接收到電梯內部到2樓的指令請求(out_ord2),但此時電梯接受到超載信號(full),于是發出警報(alar),電梯門(door)處于打開狀態,電梯處于停止狀態。等到超重狀態解除時時,電梯門關閉(door),電梯進入預下降狀態,隨后電梯開始下降(down)。電梯經過4樓(att_floor4)、3樓(att_floor3)后抵達2樓(att_floor5),電梯門打開(door)。

圖2 電梯內部收到向2樓的指令請求
本文基于FPGA,運用Quartus II軟件設計了一個五層電梯,詳細介紹了電梯控制系統的模塊設計(包括了指令請求模塊、電梯運行狀態模塊、顯示模塊、開關門模塊、超重報警模塊這五個模塊)。并且本設計在追求電路簡單化、性能穩定、運行安全可靠、操作便捷的同時,也能及時查找出問題,便于修改和升級,以實現更多層電梯控制。