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