韓改寧,李永鋒,任康
(1.咸陽師范學院計算機學院,咸陽712000;2.西北機電研究所,咸陽712000)
電梯作為我們生活中出行的一部分,人們的出行已經離不開它,在這個科技迅速發展的時代,各種技術的不斷創新,電梯的更新換代是一個必然趨勢。所以在一定程度上,我們的關注點聚焦在電梯的安全性、舒適性和美觀性,給人們提供更好的服務。綠色化、降低耗能、智能化是未來電梯發展的主旋律。傳統的電梯控制系統采用繼電器邏輯控制線路,具有接觸點繁多,多功能性和靈活性差,接線復雜,這種線路容易出故障、維護不便、壽命短等缺點,給后期維修帶來了很大的挑戰[1]。
可編程邏輯控制器(Program Logic Control,PLC)和微機組成的電梯邏輯控制系統快速發展[2],PLC采取大量的抗干擾措施,不但易于使用而且易于擴展,但PLC的針對性強,從而導致PLC和設備都是一一對應的,從而導致價格比較昂貴,得不到廣泛應用。由于單片機有功能強大,易于擴展,價格便宜等的優點,所以由單片機設計的控制系統可以隨著設備的更新而不斷完善,實現設備的升級會滿足對控制系統的各種要求[3]。由于其在價格上面相比可編程邏輯控制器而言,具有很大的優勢,將意味著電梯可以大量的應用于任何地方,為人們的生活帶來很大的便利。
基于51單片機的電梯控制系統采用STC89C52單片機作為控制器,采用28BYJ-48永磁式步電機控制電梯的上下運行,8×8的點陣作為顯示模塊,采用按鍵組成鍵盤模塊,采用Speak蜂鳴器與緊急按鍵組成報警模塊,USB移動電源作為供電裝置。總體構成框圖如圖1所示。

圖1 系統功能框圖
(1)控制器模塊
單控制器選擇STC89C52是一種帶8K字節閃爍可編程可擦除只讀存儲器[4]。該單片機具有輸入輸出接口、定時中斷器等資源,可以滿足本設計的要求。
(2)顯示模塊
LED點陣顯示屏由大量的半導體發光二極管為像素點排列組成。具有低功耗、超高密度、視角大、引腳少、可靠性強、耐濕、耐冷熱、混色好、耐腐蝕、通透性高等特點。它按組成的發光二極管的個數可分為4×4、4×4、5×7、5×8、8×8、16×16、24×24、40×40 等,本設計顯示模塊選擇了8×8的LED點陣顯示,該顯示器用來接收單片機發送的數據信息,根據相應的顯示當前樓層和電梯運行方向等提示信息。
(3)電源模塊
將室壓220V的電壓轉化為開發板可用的5V電壓,從而用來給所需的硬件設備供電力。
(4)電機控制模塊
本設計采用步進電機來實現電梯的上升和下降控制。步進電動機用脈沖信號進行控制,以通過控制脈沖數來控制角位移量實現精確定位[5]。脈沖頻率決定步距角和轉速,不受其他因素的影響。
(5)鍵盤模塊
本設計實現一個六層控制電梯,按鍵數量少,所以采用獨立式鍵盤,即每個按鍵單獨占用一根I/O口,I/O口反映的信號即對應按鍵的狀態,獨立優點就是編程簡單,可以利用軟件識別功能來處理各種鍵的請求。
基于MCU的多層電梯控制系統設計與開發,硬件部分主要包括控制器、顯示電路、電機驅動電路、按鍵模塊電路、應急報警模塊電路等。
通過市場調研,考慮性價比的前提下,在本次設計中選擇的元件型號為:
(1)主控模塊:MCS-51。
STC89C52是MCS-51系列的一款。如圖2所示,單片機主要由中央處理器、ROM、RAM、定時器/計數器I/O等部件組成[4]。其內部框圖如圖2所示。

圖2 STC89C52原理圖
(2)顯示模塊
本設計采用8×8的點陣顯示,因為它的功耗低,性能穩定,使用起來非常方便。內部結構如圖3所示,圖3中所示晶格中的每個LED都放置在行和列線的交點處。當相應的列被設置為一個級別并且一行被設置為0時,對應的二極管被點亮。外觀如圖3(b)所示,引腳如圖 3(c)所示。

圖3 8×8LED點陣圖
本設計中,LED點陣與STC89C52單片機的引腳連接參考文獻[6]。8×8點陣引腳點陣的背面引腳圖3(c)所示,共兩排各8個引腳,數字0-7代表著點陣的行線,0表示第一行的8個發個二極管;A-H代表著點陣的列線,A表示第一列的8個發光二極管。STC89C52單片機P0口與LED點陣的行連接,P2口與51單片機的列連接。
(3)電機控制模塊:28BYJ-48永磁步進電機。
STC89C52不能直接驅動步進電機,因此需要由功率電路來擴展輸出電流以滿足被控元件的電流、電壓。ULN2003達林頓晶體管屬于可控大功率器件。它是一個7路反向器電路,即當輸入端為高電平時,ULN2003輸出端為低電平,當輸入端為低電平時ULN2003輸出端為高電平。本設計通過P3.0、P3.3控制每個線圈的開啟和關閉,打開時P3.0和P3.3均為高電平,將P3.0和P3.2(或P3.1和P3.3反轉)可切換至低電平,以達到驅動步進電機運行。電梯上行電機正轉,電梯下行電機反轉,電機每轉一圈電梯移動一層。本系統電機控制電路如圖4所示。

圖4 電機控制電路圖
(4)按鍵模塊電路
本設計采用獨立式鍵盤,6個樓層設計6個獨立按鍵,分別連接到P1口的P1.2-P1.7的6個引腳上。工作原理:未按下,對應端口為高電平;按下鍵,對應端口為低電平。

表1 按鍵表
只有(P1)≠0FFH,則有按鍵按下,或者將(P1)的值取反(CPL),則只有(P1)≠00H,則有按鍵按下。JZ rel或者JNZ rel指令即可實現判斷。
(5)應急報警模塊電路
本設計采用蜂鳴器作為報警系統,方便又簡單。如果電梯在運行過程中遇到緊急情況,用戶可以按下按鍵進行報警[6]。同時電梯還會停在最近的樓層,并禁止用戶對電梯按鍵操作上下樓,以免電梯再次出現意外。等救援人員到達,并修復故障后,按下復位按鍵,電梯恢復正常運行。蜂鳴器連接著三極管的發射極,三極管能以基極電流微小的變化量來控制集電極電流較大的變化量,從未體現了三極管具有放大電流的功能。集電極接電源,排母接插口和電源,三極管的基極接一個1K的電阻過去再接單片機的P3.6。電路如圖5所示。

圖5 應急報警圖
采用MCS-51系列STC89C52單片機作為控制器,步進電機用于電梯控制,8×8 LED點陣作為顯示模塊,在Protues下設計各個模塊之間的原理圖如圖6所示。
硬件整體連接將STC89C52單片機、28BYJ-48永磁式步電機、8×8 LED點陣顯示屏模塊、SPEAK蜂鳴器等組合到一塊,焊接實物如圖7所示。

圖6 STC89C52單片機電梯控制電路原理圖

圖7 硬件整體連接
本系統的控制,以C語言實現的控制程序,按模塊儲存在STC89C52單片機的內部存儲器中,無需單片機擴展存儲器接口,簡化了系統硬件結構,減低了成本,同時又提高了系統的穩定性。
基于多層電梯控制系統,包括鍵盤輸入模塊、LED點陣顯示模塊、電機控制模塊和應急報警模塊。電梯控制過程分為兩部分,電梯外的面板控制和電梯廂內的面板控制。電梯內外控制原理及流程相同,在實際進行電梯控制是兩個控制是嵌套融合的。本設計模擬電梯控制,由于按鍵數量有限,分別單獨對內外面板進行控制設計??刂七^程:系統初始狀態或者復位后,電梯設置在1樓(LED點陣顯示“1”)。當按下樓層按鍵,如果目標樓層高于當前樓層時,控制器判斷處于上樓狀態,控制LED點陣顯示“↑”,同時LED點陣顯示電梯所處樓層數;如果目標樓層低于當前樓層時,控制器判斷處于下樓狀態,控制LED點陣顯示“↓”,同時LED點陣顯示電梯所處樓層數。通過控制步進電機的正反轉來控制電梯的上下運行,電梯正轉一圈,電梯上一層,否則,電梯下一層樓。如果有緊急情況則可啟動緊急按鍵進行報警進行應急,無論電梯處于何種狀態,緊急按鍵優先級最高,實現應急報警。電梯內、外的軟件流程圖如圖8所示。

圖8 軟件流程圖
整個系統運行過程設計為:當啟動電梯后,判斷是否呼梯,如果有,判斷是否梯外按鍵,如果不是,再判斷是否梯內按鍵,如果有按鍵,直接計算目標樓層與當前樓層,如果目標樓層與當前樓層相同,打開電梯門,如果目標樓層高于當前樓層,電梯上升,如果目標樓層低于當前樓層,線條下降,電梯再運行過程中,不斷判斷進行樓層檢查,直到到達目標樓層,電梯停止,打開電梯門,最后判斷電梯是否運行,如果運行繼續返回檢查按鍵,如果不運行就結束。流程如圖9所示。

圖9 電梯總體控制流程
應急報警模塊設計流程,該模塊采用外部中斷控制,外部中斷優先級高,當有按鍵請求,立即中斷響應,蜂鳴器發聲,報警指示燈亮,電梯無論上升還是下降,選擇最近樓層停止運行。控制流程如圖10所示。

圖10 電梯應急報警控制流程
仿真測試中,電路通過Proteus設計,控制程序通過Keil C設計,整個仿真測試結果如圖11所示。

圖11 仿真運行效果圖
將Keil C下編寫好的控制程序編譯生成.hex文件,然后根據前面選型的芯片及元器件,按照原圖了進行焊接,再將各個模塊連接好,最后將.hex文件燒寫到STC89C52單片機中。運行效果如圖12所示。

圖12 實物電路測試圖
本設計的電梯控制系統只單獨針對電梯外的控制或者電梯內的控制,后續將其電路及控制系統擴展為多功能的室內外電梯控制系統。
針對多層和高層上下樓問題,利用STC89C52單片機設計的電梯控制系統,采用步進電機控制電梯上升和下降,LED點陣顯示技術、鍵盤及應急報警控制等,實現了從輸入到控制和顯示的過程,該系統成本低、操作簡單方便。電梯的安全性是電梯控制系統至關重要的,利用單片機控制,電路原理簡單,后期維護與故障檢測容易,降低人力成本;同時該系統可以應用于其他需要電機控制的電梯廂場所。