劉寰
摘要:本文設計了基于單片機的電梯控制系統,實現了電梯樓層顯示、運行方向顯示以及電梯內外樓層選擇功能。同時對電梯控制系統運行的精度和穩定性方面起到了很大的改善作用,有效縮短了電梯的運行時間,該系統簡單可靠且易于升級維護。
關鍵詞:電氣控制器;單片機;控制系統
中圖分類號:TP273 文獻標識碼:A 文章編號:1007-9416(2017)06-0172-03
隨著高層建筑的飛速發展及廣泛應用,電梯已經成為日常生活中重要的代步工具。在電梯的運行中最核心的部件就是控制器,通過控制器的合理選擇可以大大提高電梯的運行效率以及舒適度。目前的電梯控制器大多采用繼電器或者PLC的控制方式,普遍存在成本較高以及維護困難的問題[1]。因此設計了一個基于單片機的電梯控制器,在擁有體積小、成本低等優勢的同時,還具有易升級維護等特點,具有良好的推廣價值。
1 電梯控制器硬件設計
本設計以6層電梯為例,選用了MCS-51單片機中的AT89C51作為系統的核心部件,配以適當的接口作為輸入輸出通道,實現了對電梯的運行控制[2]。系統整體電路的設置有4大部分組成:單片機最小系統電路、樓層選擇模塊、LED樓層顯示電路以及延時電路等。單片機最小系統又主要包括兩部分,復位電路和時鐘電路。當電路復位以后,會在 LED顯示電路中顯示數字“1”,表示電梯此時的狀態,停靠在一樓。通過AT89C51來控制8位數碼管實時顯示,來完成顯示電路,通過延時電路控制的電梯的停靠位置。因為考慮到高層建筑的應用,所以延時電路包括2秒延時和5秒延時,表示電梯每上升或下降一層將會經歷2秒的時間,在保證電梯的運行速度的同時,確保電梯的安全性。5秒延時表示電梯的開門時間,當電梯開門后,會持續5秒時間,然后關門繼續運行。通過3個發光二極管來表示電梯的運行狀態。其中L1亮表示電器停止,L2亮則表示電梯正在向上運行,L3亮則表示電梯正在向下運行。系統結構圖如圖1所示。
1.1 樓層選擇模塊
樓層選擇模塊由4×4鍵盤矩陣電路組成,共16個按鍵。S1~S6依次代表電梯內部的樓層選擇按鍵,S7~S16分別表示每個樓層內部的上下選擇按鍵。矩陣電路接在主控芯片的P1.0~P1.3口上。當有按鍵按下時,對應的引腳將會檢測到低電平,實現對呼叫樓層的判斷以及電梯內部的開關判斷。鍵盤矩陣電路如圖2所示。
1.2 樓層顯示模塊
樓層顯示電路采用一個8位數碼管,電梯所達到的樓層數以及電梯的運行狀態是由單片機的P2.0—P2.7來控制8位數碼管所完成的。其中如果數碼管中的8腳(dp)被點亮時,則表示此時電梯是向上運行,如果數碼管中的8腳不亮時,則表示電梯在此時是向下運行,樓層顯示電路如圖3所示。
2 電梯控制器軟件設計
本設計采用了模塊化設計方法,大大簡化了設計、調試與維護過程,同時也對程序代碼的優化提供了極大的便利[3]。以控制器的功能為單位,分別進行編寫和調試,保證各個子模塊程序的獨立性,在完成所有子模塊的程序調試之后,再將各個模塊進行聯合調試,最后將所有的子程序模塊進行鏈接從而構成單片機軟件系統[4]。整個軟件系統由兩部分組成:系統主程序和任務子程序。分別具有不同的作用,系統主程序主要用來分配各個任務,以及協調任務的執行順序,而任務子程序通過一系列的函數語句,來完成系統各個相互獨立子模塊的功能。主程序在完成系統初始化后,按照系統要求,執行各子模塊的程序,最終任務結束。
本設計電梯控制器的子程序模塊主要由以下三部分組成:初始化子程序、鍵盤掃描子程序、樓層顯示子程序。軟件主要實現功能:(1)對程序的初始化從而實現對各個子程序的調用;(2)鍵盤讀取數據功能;(3)用數碼管對電梯的運行和所在的樓層進行實時顯示,直觀易見。
2.1 主程序設計
主程序的設計至關重要,它的正確與否對整個設計都會產生重要影響,是整個程序的核心部分。通過調用相對獨立的子程序,來完成各項控制命令,從而滿足整個系統的功能。包括軟件控制語句的調用、函數數據結構以及全局變量的控制設定等。通過以上過程,將所設計的子程序鏈接起來,支撐起了整個軟件框架。主要實現的功能有:
(1)當乘客進入電梯后按下樓層選擇鍵之后,根據輸出的信號進行樓層判斷,從而控制電梯的運行方向;(2)通過進行不斷的鍵盤掃描,來確保在電梯的運行過程中,系統能夠準確無誤的捕捉到各個樓層的呼叫請求;(3)電梯在運行的過程中優先同方向的呼叫請求,確保順序原則;(4)通過LED屏幕,同步顯示任意時刻電梯所處樓層的位置;(5)通過一定的延時來保證乘客有充分的時間進出電梯;主程序流程圖如圖4所示。
2.2 鍵盤掃描子程序
識別鍵盤的按鍵是否按下主要依靠軟件的方法來實現,通過滿足系統對應功能的鍵盤掃描程序來完成。采用了編程掃描工作的方式來判斷按鍵是否按下[5]。當主程序開始運行,就會對按鍵的使用情況進行判斷,看是否滿足相應的條件,每循環一次就會進行一次判斷,當查詢到有按鍵按下時,程序將按照以下方法進行處理:首先在第一次檢測到有鍵按下時先執行一段延時子程序,延時時間設定為5ms,之后重新讀取鍵值。如果和第一次結果一致,那么則判斷有按鍵按下,否則將會放棄此鍵值。當確認有按鍵按下時,通過掃描方式讀取鍵值,然后根椐不同的鍵值轉向不同功能的按鍵處理程序,按鍵每閉合一次就進行一次按鍵功能操作。如果已經有按鍵按下,那么則引發了相應的按鍵程序。鍵盤掃描程序流程圖如圖5所示。
2.3 樓層顯示子程序
樓層顯示子程序主要完成顯示電梯當前所在的樓層。顯示電路采用的是七段數碼管顯示。采用了動態掃描的方法來完成數碼管功能的實現,通過對子程序的調用來完成數碼管的顯示。樓層顯示程序流程圖如圖6所示。
3 結語
本文設計的6層電器控制器,根據電梯運行提出系統控制要求,將控制器的控制功能分為若干模塊,結合了外圍的鍵盤輸入、LED顯示電路、延時電路等電路模塊,對電梯控制器的工作原理進行研究和設計。電路結構簡單,功能完善,可升級性強,滿足不同建筑對電梯要求,具有良好的應用價值。
參考文獻
[1]徐正坤.基于AT89C52單片機的電梯控制系統[J].電子制作,2014,(18):4-5.
[2]梁曉明.簡易4層電梯控制電路[J].計算機光盤軟件與應用,2013,(3):32-33.
[3]朱曉鋒.基于STM32的污水處理pH值控制系統的設計[D].上海:東華大學,2012.
[4]張澤根,周洪,夏明曄.基于單片機的油量數據采集與監測系統設計[J].微計算機信息,2011,(1):11-12.
[5]閆飛.基于CAN總線的煤礦監測監控系統[D].西安:西安科技大學,2009.endprint