基于USB單片機的模擬電梯設計與實現(xiàn)
摘要:為了更好地認識電梯、驗證個人編制的電梯調(diào)度算法及控制程序,開發(fā)一套基于USB單片機(CY7C680013A)的模擬電梯平臺,配合下位機軟件及上位機軟件,實現(xiàn)電梯的部分功能如:轎廂內(nèi)呼梯、轎廂外呼梯、電梯故障報警、電梯狀態(tài)信息顯示、電梯在線調(diào)試等。
本文引用地址:http://www.2s4d.com/article/201610/308071.htm電梯是近代物質(zhì)文明發(fā)展的產(chǎn)物,是科技進步的結晶。作為一種垂直運輸工具,電梯已經(jīng)融入到了人們?nèi)粘I町斨?。截止?010年底我國在運行電梯近170萬臺,從事與電梯有關工作人員近百萬。電梯是一套復雜的機電一體化產(chǎn)品,其涉及到機械工程技術、電力電子技術、嵌入式技術、網(wǎng)絡技術、軟件技術以及土建工程等多個學科領域。如此復雜的系統(tǒng)對于一個初學者來說具有很大的困難,因此有必要開發(fā)出一套簡易仿真系統(tǒng)來激發(fā)學生的興趣,發(fā)揮其主觀能動性,進一步深化其對于電梯的認識。本文通過搭建模擬電梯硬件平臺,開發(fā)下位機軟件及上位機應用程序來實現(xiàn)電梯的各種功能。
1 硬件電路設計
本系統(tǒng)采用CYPRESS公司的USB控制器CY7C680013A作為主控制器,該芯片是一款低功耗、高集成度符合USB 2.0規(guī)范的集成51核的微處理器芯片。通過步進電機的正轉(zhuǎn)、反轉(zhuǎn)和停止來代表電梯的上升、下降和暫停;用液晶顯示屏來顯示系統(tǒng)狀態(tài)信息,如當前電梯樓層、系統(tǒng)時間、診斷信息、調(diào)試信息等;利用蜂鳴器來模擬電梯開關門的提示聲。系統(tǒng)結構圖如圖1所示。

1.1 CY7C680013A的介紹
CYPRESS的EZ-USB FX2LP (CY7C680013A/14/15/16A)是一款低功耗,高集成度符合USB2.0規(guī)范的單片機。
FX2LP具有可以自定義功能的通用可編程接口(GPIF),其主要特點包括高集成度:集成USB 2.0收發(fā)器,增強型8051微處理器以及16KB的片上程序/數(shù)據(jù)存儲器;接口豐富:具有I2C/USART/GPIF等,其功能結構圖如圖2所示。

1.2 供電及復位電路
為了滿足系統(tǒng)低功耗的要求,該51單片機采用3.3 V的供電電壓。由于系統(tǒng)無外接電源,故需對來自USB總線的5 V電壓進行轉(zhuǎn)換。系統(tǒng)采用ANALOG DEVICES公司的ADP3309線性電壓轉(zhuǎn)換芯片進行電壓變換,其接口電路如圖3所示。

本系統(tǒng)通過RC網(wǎng)絡直接連接到CY7C680013A的RESET引腳上進行復位操作,如圖4所示。須保證復位時間常數(shù)>5 ms。根據(jù)RC濾波電路時間常數(shù)計算公式t=R*C,可得t=R*C=10 E3*1.0E-6=10.0E-3=10 ms>5 ms,滿足系統(tǒng)復位操作要求。

1.3 LCD接口電路
本系統(tǒng)LCD顯示采用了3.3 V供電的液晶模塊。串行接口使得對處理器的端口要求大大降低,犧牲的僅僅是少量的系統(tǒng)占用時間,但對要求不是很高的場合這種占用可以忽略不計。液晶的接口引腳包括了供電、I2C接口以及背光接口。如圖5示為液晶接口電路。

圖5中的符號CS、SCL、SDA、LED分別表示片選信號、時鐘信號、數(shù)據(jù)和背光開關。從圖中可以看出,液晶占用了很少的IO資源,緩解了單片機資源緊張的狀況。所有的控制時序均由軟件模擬產(chǎn)生。
1.4 步進電機電路
步進電機是一種能夠?qū)㈦娒}沖信號轉(zhuǎn)換成角位移或線位移的開環(huán)控制組件。在非超載的情況下,電機的轉(zhuǎn)速和停止的位置只取決于脈沖信號的頻率和脈沖個數(shù),而不受負載變化的影響,非常適合于微機的控制。當步進電機接收到一個脈沖信號,它就旋轉(zhuǎn)一個固定的角度,此角度被稱為“步距角”,其旋轉(zhuǎn)方向與繞組的通電方向有關??刂泼}沖個數(shù)來決定電機的角位移量,以達到精確定位的目的;同時控制脈沖頻率來決定電機的速度,以達到調(diào)速的目的。控制器與步進電機的接口使用了專用的電機驅(qū)動器,因此連接簡單,編程調(diào)試方便。
2 下位機軟件設計
系統(tǒng)下位機軟件的開發(fā)環(huán)境為Keil C51,為簡化程序開發(fā),提高程序的易讀性和可移植性,采用C語言為開發(fā)語言,并采用結構化編程進行模塊化設計。本系統(tǒng)將整個軟件劃分為六個模塊,其中包括:系統(tǒng)初始化模塊、硬件驅(qū)動模塊、USB數(shù)據(jù)傳輸模塊、用戶自定義命令解析模塊、系統(tǒng)監(jiān)控模塊以及電梯調(diào)度算法模塊。
系統(tǒng)初始化模塊的作用是初始化系統(tǒng)的內(nèi)部資源和外部資源,內(nèi)部資源包括時鐘頻率的設定、I2C總線的設定、GPIF功能定義等,外部資源主要包括LCD模塊的配置、步進電機驅(qū)動器的配置等。通過系統(tǒng)初始化模塊的功能定義,保證系統(tǒng)運行在設定狀態(tài)。
硬件驅(qū)動模塊屬于驅(qū)動程序的范疇,本固件依據(jù)芯片廠商提供范例編寫,在大大簡化了編程難度的同時提高了程序的可讀性和移植性。
USB數(shù)據(jù)傳輸模塊屬于程序的通信范疇,除了對于USB模塊的功能配置外,該模塊還包含USB數(shù)據(jù)幀傳輸?shù)亩x、USB命令的解析及實現(xiàn)、USB傳輸異常的處理及數(shù)據(jù)重發(fā)機制的實現(xiàn)等。
用戶自定義命令解析模塊的主要功能是解析來自于上位機的命令,如“電梯上升到某層”、“電梯下降到某層”、“電梯停止運行”等。該模塊輪詢上位機用戶命令,并且查詢設備狀態(tài)及用戶命令優(yōu)先級,在滿足該命令執(zhí)行的條件后執(zhí)行該命令,并將運行狀態(tài)及結果反饋給上位機,或者將錯誤信息反饋給上位機。
系統(tǒng)監(jiān)控模塊屬于系統(tǒng)資源管理模塊的范疇,包括看門狗的復位,定時器的復位,模擬電梯系統(tǒng)運行狀態(tài)的更新等。
電梯調(diào)度算法是本系統(tǒng)的核心。由于核心目的是實現(xiàn)電梯的調(diào)度,該算法只考慮電梯主體功能,忽略超重檢測、防夾檢測、用戶權限識別等功能,但是在固件中預留該功能的調(diào)用,以便日后完善。調(diào)度算法兼顧公平性和電梯的運行效率,要求電梯遵循時間優(yōu)先、順向優(yōu)先和最遠反向截梯控制原則。
3 上位機應用軟件設計
上位機采用VS2010為開發(fā)工具,C++為開發(fā)語言,采用了面向?qū)ο蟮木幊谭绞竭M行編程。為了進一步簡化編程和提高編程效率,沒有采用直接調(diào)用Windows API的模式進行代碼調(diào)用而是采用了MFC(Microsoft Foundation Classes)庫進行編程。MFC是一個微軟公司提供的類庫,以C++類的形式封裝了Windows API,并且包含一個應用程序框架,以減少應用程序開發(fā)人員的工作量。其中包含的類包含大量Windows句柄封裝類和很多Windows的內(nèi)建控件和組件的封裝類。MFC的主要優(yōu)點是可以用面向?qū)ο蟮姆椒▉碚{(diào)用Windows API,以及應用程序開發(fā)的便捷。
上位機模塊的主要功能是模擬真實電梯轎廂內(nèi)、外的按鍵,用戶點擊相應樓層按鈕后,下位機解析用戶命令并通過電梯的正、反轉(zhuǎn)轉(zhuǎn)動及液晶顯示屏等來顯示用戶命令執(zhí)行情況,同時將狀態(tài)及結果等反饋到上位機中。上位機的軟件運行界面如圖6所示。

4 結論
本文設計了一種實用的電梯模擬系統(tǒng),該系統(tǒng)采用CY7C680013A作為主控制器,外擴液晶顯示模塊、步進電機和蜂鳴器,可以模擬電梯的各種狀態(tài),下位機軟件實現(xiàn)了電梯硬件資源的控制及調(diào)度。上位機采用VC2010開發(fā),顯示電梯樓層按鍵、電梯運行狀態(tài)、系統(tǒng)診斷信息等。本系統(tǒng)可以實現(xiàn)大部分電梯的功能,便于初學者掌握電梯的相關知識,通過學生的動手實踐,提高其軟件編制能力和故障診斷能力,為其將來的發(fā)展打堅實基礎。
評論