【正文】
完成 10 層樓 的 載客服務(wù)控制 ; ( 2) 電梯初始位置為第一層; ( 3) 電梯運(yùn)行時(shí)顯示電梯的運(yùn)行方向和所在的樓層 ; ( 4) 當(dāng)電梯到達(dá)選擇的樓層時(shí),電梯自動(dòng)開門 ; ( 5)當(dāng)電梯到達(dá)本層時(shí),清除請(qǐng)求; ( 6)具有提前關(guān)電梯門和延時(shí)關(guān)電梯門的功能 ; ( 7)電梯處于等待狀態(tài)時(shí),上升和下降請(qǐng)求都響應(yīng) ; ( 8)電梯處于上升狀態(tài)時(shí),有上升請(qǐng)求的分控制器所在樓層數(shù)大于電梯所在的樓層數(shù)。 ( 9)電梯處于下降狀態(tài)時(shí),有下降請(qǐng)求的分控制器 所在樓層數(shù)小于電梯所在的樓層數(shù)。[2] 系統(tǒng)方框圖如圖 。如果壓力傳感器連續(xù)采集到 3 次關(guān)門中斷信號(hào) ,則啟動(dòng)電梯故障信號(hào) ,除非人為對(duì)故障進(jìn)行清除 ,否則電梯將保持開門狀態(tài)并不進(jìn)行任何操作。如果壓力傳感器采集到電梯超載 ,電梯將報(bào)警 ,并保持開門狀態(tài)不進(jìn)行任何操作 ,直到壓力傳感器采集到電梯不再超載。電梯打開后 ,如果用戶不進(jìn)行任何操作 ,電梯 3 秒后將自動(dòng)關(guān)門 ,如果用第 9 頁 共 41 頁 戶按提前關(guān)門鍵 ,電梯將立即響應(yīng)關(guān)門指令??刂破髂K對(duì)電梯內(nèi)及電梯外用戶的上升和下降請(qǐng)求進(jìn)行處理 ,處理結(jié)果并置后存入信號(hào)存儲(chǔ)模塊。電梯在運(yùn)行過程中 ,每到 達(dá)一層將通過控制器模塊 ,對(duì)信號(hào)存儲(chǔ)模塊的存儲(chǔ)指令進(jìn)行比對(duì) ,以判斷是否需要停止 ,并通過光敏采集到的信號(hào)來判斷電梯所到達(dá)的樓層 , 并通過顯示模塊進(jìn)行顯示。 [1] 1 2 3 4 5 6ABCD654321DCBAT i t l eN um be r R e vi s i o nS iz eBD a t e : 19 M a y 2 01 0 S h e e t of F il e : F : \ 學(xué)習(xí) \ 通信原理 \ 小玲 \ M y D e s i g b D r a w n B y:系統(tǒng)時(shí)鐘樓層請(qǐng)求故障清除關(guān)門中斷超 載提前關(guān)門狀態(tài)存儲(chǔ)控制器模塊分頻器電梯升、降、停門開、關(guān)、停樓層顯示請(qǐng)求信號(hào)顯示超載、故障報(bào)警信號(hào)存儲(chǔ)F P G A 圖 電梯方向優(yōu)先控制方式控制器系統(tǒng)方框圖 第 4 章 電梯控制系統(tǒng)的硬件設(shè)計(jì) 外部數(shù)據(jù)高速采集模塊設(shè)計(jì) 有效的對(duì)外部信號(hào)采集、處理要求電梯控制器:對(duì)外部請(qǐng)求信號(hào)的實(shí)時(shí)、準(zhǔn)確采集;準(zhǔn)確、實(shí)時(shí)的捕捉樓層到達(dá)信號(hào);有效防止樓層到達(dá)信號(hào)、外部請(qǐng)求信號(hào)的誤判。 第 10 頁 共 41 頁 控制器采用 FPGA作為系統(tǒng)控制的核心,系統(tǒng)時(shí)鐘頻率是 32MHz,完全可以滿足實(shí)時(shí)采集數(shù)據(jù)的要求。由于電路中毛刺現(xiàn)象的存在,信號(hào)的純凈度降低,單個(gè)的毛刺往往被誤作為系統(tǒng)狀態(tài)轉(zhuǎn)換的觸發(fā)信號(hào),嚴(yán)重影響電梯的正常工作??梢圆捎枚啻螜z測(cè)的方法解決這個(gè)問題,對(duì)一個(gè)信號(hào)進(jìn)行多次采樣以保證信號(hào)的可信度。 外部請(qǐng)求信號(hào)的輸入形式為按鍵輸入,到達(dá)樓層信號(hào)來自光敏傳感器,關(guān)門中斷信號(hào)及超載信號(hào)則產(chǎn)生于壓力傳感器。 鍵盤輸入 外部請(qǐng)求信號(hào)輸入采用鍵盤輸入,用帶有 I/O口的線組成行列結(jié)構(gòu),按鍵設(shè)置在行列的交點(diǎn)上。本題目采用 5 6的行列結(jié)構(gòu)可以構(gòu)成 30個(gè)鍵盤,實(shí)際使用 30個(gè)。按鍵設(shè)置在行列線交叉點(diǎn),行、 列線分別連接到按鍵開關(guān)的兩端。列線通過上拉電阻接+ 5V的電壓,即列線的輸出被鉗位到高電平狀態(tài)。 判斷鍵盤中有無按鍵按下時(shí)通過行線送入掃描信號(hào),然后從列線讀取狀態(tài)得到的。其方法是依次給行線送低電平,檢查列線的輸入。如果列線信號(hào)全為高電平,則代表低電平信號(hào)所在的行中無按鍵按下;如果列線有輸入為低電平,則低電平信號(hào)所在的行和出現(xiàn)低電平的列的交點(diǎn)處有按鍵按下,電路圖如圖 。 第 11 頁 共 41 頁 1 2 3 4 5 6ABCD654321DCBAT i t l eN um be r R e vi s i o nS iz eBD a t e : 6 M a y 20 10 S h e e t of F il e : F :\ by\ M yD e s i g db D r a w n B y:R1R E S 2R2R E S 2R3R E S 2R4R E S 2R5R E S 2R6R E S 2V C C 圖 鍵盤輸入電路 信號(hào)存儲(chǔ)模塊 電梯控制器的請(qǐng)求輸入信號(hào)有 30個(gè)(電梯外有 9個(gè)上升請(qǐng)求和 9個(gè)下降請(qǐng)求的用戶輸入端口 ,電梯內(nèi)有 10個(gè)請(qǐng)求用戶輸入端口 ,一個(gè)提前關(guān)門 quick,一個(gè)清楚報(bào)警信號(hào) clr),由于系統(tǒng)對(duì)內(nèi)、外請(qǐng)求沒有設(shè)置優(yōu)先級(jí),各樓層的內(nèi)、外請(qǐng)求信號(hào)被采集后可先進(jìn)行運(yùn)算,再存到存儲(chǔ)器內(nèi)。 電梯運(yùn)行過程中,由于用戶的請(qǐng)求信號(hào)的輸入是離散的,而且系統(tǒng)對(duì)請(qǐng)求的響應(yīng)也是離散的,因此請(qǐng)求信號(hào)的存儲(chǔ)要求新的請(qǐng)求信號(hào)不能覆蓋原來的請(qǐng)求信號(hào),只有響應(yīng)動(dòng)作完成后才能清除存儲(chǔ)器內(nèi)對(duì)應(yīng)的請(qǐng)求信號(hào)位。對(duì)應(yīng)某一樓層的請(qǐng)求信號(hào)的存儲(chǔ)、清除電路如圖 。 第 12 頁 共 41 頁 圖 請(qǐng)求信號(hào)操作電路 基于 FPGA 的控制器模塊 控制器模塊是系統(tǒng) 的核心,通過對(duì)存儲(chǔ)的數(shù)據(jù)(含請(qǐng)求、到達(dá)樓層等信號(hào))進(jìn)行比較、判斷以驅(qū)動(dòng)系統(tǒng)狀態(tài)的流轉(zhuǎn)。電梯工作過程中共有 9種狀態(tài):等待、上升、下降、開門、關(guān)門、停止、休眠、超載報(bào)警以及故障報(bào)警狀態(tài)。一般情況下,電梯工作起始點(diǎn)是第一層,起始狀態(tài)是等待狀態(tài),啟動(dòng)條件是收到上升請(qǐng)求。 控制器模塊采用 FPGA芯片,編寫控制程序后下載到芯片內(nèi),實(shí)現(xiàn)對(duì)電梯系統(tǒng)的控制。其使用的芯片是 Xilinx公司 Spartan II系列的 XC2S155CS144C芯片。 Spartan II器件的集成度可以達(dá)到 15萬門,系統(tǒng)速度可達(dá)到 200MHz,能 達(dá)到 ASIC的性價(jià)比。 Spartan II 可編程們 Spartan II器件的工作電壓為 ,采用 m/ m CMOS工藝, 6層金屬連線制造。 信號(hào)的輸出、顯示模塊 本系統(tǒng)的輸出信號(hào)有三種:一種是電機(jī)的升降控制信號(hào)(兩位)和開門 /關(guān)門控制信號(hào);一種是面向用戶的提示信號(hào)(含樓層顯示、方向顯示、已接受請(qǐng)求顯示等);一種是對(duì)于超載、故障的報(bào)警信號(hào)。 電機(jī)的控制信號(hào)一般需要兩位,本系統(tǒng)中電機(jī)有 3種工作狀態(tài):正轉(zhuǎn)、反轉(zhuǎn)和停轉(zhuǎn)狀態(tài)。兩位控制信號(hào)作為一個(gè)三路開關(guān)選通信號(hào),此三路開關(guān) 選用模擬電子開關(guān)。 系統(tǒng)的顯示輸出包括數(shù)碼管請(qǐng)求信號(hào)顯示、數(shù)碼管樓層顯示。電路圖如圖 , 所示。 第 13 頁 共 41 頁 1 2 3 4 5 6ABCD654321DCBAT i t l eN um be r R e vi s i o nS iz eBD a t e : 6 M a y 20 10 S h e e t of F il e : F :\ by\ M yD e s i g db D r a w n B y:R1R E S 2R2R E S 2R3R E S 2R4R E S 2R5R E S 2R6R E S 2R7R E S 2R8R E S 2R9R E S 2R 10R E S 2R 11R E S 2R 12R E S 2R 13R E S 2R 14R E S 2R 15R E S 2R 16R E S 2R 17R E S 2R 18R E S 2R 19R E S 2R 20R E S 2R 21R E S 2R 22R E S 2R 23R E S 2R 24R E S 2R 25R E S 2R 26R E S 2R 27R E S 2R 28R E S 2c _ u1L E Dc _ u2L E Dc _ u3L E Dc _ u4L E Dc _ u5L E Dc _ u6L E Dc _ u7L E Dc _ u8L E Dc _ u9L E Dc _ d2L E Dc _ d3L E Dc _ d4L E Dc _ d5L E Dc _ d6L E Dc _ d7L E Dc _ d8L E Dc _ d9L E Dc _ d1 0L E Dd1L E Dd2L E Dd3L E Dd4L E Dd5L E Dd6L E Dd7L E Dd8L E Dd9L E Dd1 0L E DG N D 圖 電梯內(nèi)、外請(qǐng)求信號(hào)顯示電路圖 圖 數(shù)碼管樓層顯示電路圖 本系統(tǒng)具有請(qǐng)求信號(hào)顯示功能,結(jié)合方向顯示,可以減少用戶對(duì)同一請(qǐng)求的輸入次數(shù),這樣就延長了電梯按鍵的使用壽命。假如電梯處于向上運(yùn)動(dòng)狀態(tài),初始位置是底層,初始請(qǐng)求是 10樓, 2樓時(shí)進(jìn)入一人,如果他的目的地是 10樓,他看到初始請(qǐng)求是 10樓,就可以不再按鍵。同時(shí),電梯外部的人也可以根據(jù)請(qǐng)求信號(hào)顯示(上升請(qǐng)求、下降請(qǐng)求、無請(qǐng)求),就可以 避免沒必要的重復(fù)請(qǐng)求信號(hào)輸入。電梯使用時(shí),系統(tǒng)結(jié)合相應(yīng)的電梯使用第 14 頁 共 41 頁 規(guī)范完全可以滿足人們的需要,而且效率比較高。 圖 報(bào)警輸出電路圖 報(bào)警輸出電路圖主要由頻率放大器構(gòu)成。當(dāng)電梯內(nèi)超載時(shí),壓力傳感器輸出的電壓超出范圍時(shí),雙限比較器輸出低電平,觸發(fā)了報(bào)警電路,發(fā)出報(bào)警信號(hào)。 第 15 頁 共 41 頁 第 5 章 電梯控制系統(tǒng)軟件設(shè)計(jì)及仿真 鍵盤輸入軟件設(shè)計(jì) 鍵盤掃描模塊 鍵盤掃描電路是用于產(chǎn)生 keydrv4 到 keydrv0 信號(hào),其變化的順序依次為 11110→11101→ 11011→ 10111→ 01111→??周而復(fù)始地掃描。其停留在每個(gè)狀態(tài)的時(shí)間大約為,因?yàn)槿税存I的時(shí)間大約為 10ms,不可能有更快的按鍵動(dòng)作發(fā)生;另外,更短的停留時(shí)間還容易采集到抖動(dòng)信號(hào),會(huì)干擾判斷。而太長的停留時(shí)間則容易丟失某些較快的按鍵動(dòng)作。 鍵盤掃描電路的外部接口如圖 所示。其中 clk_scan 是周期為 10ms 的掃描時(shí)鐘,keydrv 為輸出到鍵盤的掃描信號(hào),寬度為 5 位。 鍵盤掃描電路程序: library IEEE。 use 。 entity keysan is port(clk_scan:in std_logic。 掃描時(shí)鐘,周期 10ms keydrv:out std_logic_vector(4downto 0))。 輸出掃描信號(hào) end keysan。 architecture behavior of keysan is constant s0:std_logic_vector(4 downto 0):=11110。 定義狀態(tài)機(jī)編碼 constant s1:std_logic_vector(4 downto 0):=11101。 constant s2:std_logic_vector(4 downto 0):=11011。 constant s3:std_logic_vector(4 downto 0):=10111。 constant s4:std_logic_vector(4 downto 0):=01111。 signal present_state:std_logic_vector(4downto 0)。 狀態(tài)機(jī) 現(xiàn)態(tài) 第 16 頁 共 41 頁 signal next_state:std_logic_vector(4 downto 0)。 狀態(tài)機(jī)次態(tài) begin process(clk_scan) 狀態(tài)更新進(jìn)程 begin if(clk_scan39。event and clk_scan=39。139。) then present_state=next_state。 end if 。 end process。 process(present_state) 狀態(tài)譯碼 begin case present_state is when s0=next_state=s1。 when s1=next_state=s2。 when s2=next_state=s3。 when s3=next_state=s4。 when s4=next_state=s0。 when others=next_state=s0。 多余態(tài)處理 end case。 end process。 keydrv=present_state。 輸出譯碼 end behavior。 以上程序采用一個(gè)狀態(tài)機(jī)來實(shí)現(xiàn)掃描電路。該狀態(tài)機(jī)是一個(gè) onehot 狀態(tài)機(jī),并且輸出值就是狀態(tài)機(jī)的狀態(tài),沒有通過一個(gè)邏輯電路來做輸出譯碼。這樣做的好處是 得到的輸出信號(hào)比較“干凈”,沒有毛刺。圖 為外部接口圖,圖 為波形仿真圖。 第 17 頁 共 41 頁