基于CAN總線的電梯主控系統(tǒng)
摘 要:為了升級(jí)現(xiàn)有電梯控制系統(tǒng),給出了一種以LPC2294 為主控芯片的電梯主控系統(tǒng)的設(shè)計(jì)。軟件上以搶占式多任務(wù)實(shí)時(shí)操作系統(tǒng)μC/OS 為平臺(tái),實(shí)現(xiàn)了電梯主控系統(tǒng)中的輸入采集、調(diào)度分配、CAN 通信、菜單輸出等任務(wù);硬件建立在LPC2294 基礎(chǔ)上,實(shí)現(xiàn)了與變頻器互聯(lián)互通、編碼器脈沖反饋的采集、井道開(kāi)關(guān)量的輸入輸出等。
1 引言
隨著城市化建設(shè)事業(yè)飛速發(fā)展,高層建筑和智能建筑大量涌現(xiàn)對(duì)電梯控制提出了許多新的要求,與此同時(shí)MCU 與現(xiàn)場(chǎng)總線技術(shù)的發(fā)展為電梯控制系統(tǒng)不斷完善提供條件。由于現(xiàn)代電梯控制系統(tǒng)在安全性、穩(wěn)定性、人性化的要求不斷提高,對(duì)原有系統(tǒng)在通信方式和電機(jī)控制方式等方面進(jìn)行升級(jí)也顯得尤為必要。
在通信方式上,CAN 總線技術(shù)的引入改變了RS485 總線在電梯控制上只能構(gòu)造主從結(jié)構(gòu)的通信網(wǎng)絡(luò)、缺少總線仲裁與實(shí)時(shí)響應(yīng)效果不理想等方面的缺點(diǎn),這也使得在現(xiàn)代電梯控制系統(tǒng)的設(shè)計(jì)時(shí),可以把一些井道開(kāi)關(guān)量信號(hào)轎廂控制器來(lái)采集,然后通過(guò)CAN 通信把有效信號(hào)直接傳輸給主控系統(tǒng),這樣就減少主控系統(tǒng)的負(fù)擔(dān),增加系統(tǒng)的安全性;在電機(jī)控制上,電梯控制系統(tǒng)經(jīng)歷了雙速系統(tǒng)、多段速系統(tǒng)與當(dāng)前采用的模擬量控制系統(tǒng)三個(gè)階段,使得乘客在乘坐電梯時(shí)舒適感逐步完美,電梯控制系統(tǒng)也得到了不斷改變并趨完善。
2 系統(tǒng)簡(jiǎn)介
現(xiàn)代電梯電氣系統(tǒng)由電力驅(qū)動(dòng)系統(tǒng)、電氣控制系統(tǒng)和安全保護(hù)系統(tǒng)組成(如圖1)。其中電力驅(qū)動(dòng)系統(tǒng)由曳引電動(dòng)機(jī)、速度反饋裝置(旋轉(zhuǎn)編碼器)、電動(dòng)機(jī)調(diào)速裝置(變頻器)和電源系統(tǒng)等部分組成;電氣控制系統(tǒng)又由電梯主控系統(tǒng)、外呼控制系統(tǒng)、轎廂顯示、門(mén)控制系統(tǒng)和外召系統(tǒng)等部分組成;安全保護(hù)系統(tǒng)由光幕、急停、門(mén)鎖、安全窗等組成。
圖1 電梯控制系統(tǒng)結(jié)構(gòu)圖
電氣控制系統(tǒng)中電梯主控系統(tǒng)主要收集電梯井道限位信號(hào)和電梯外呼內(nèi)叫的呼梯信號(hào),然后根據(jù)系統(tǒng)參數(shù)和系統(tǒng)的當(dāng)前狀態(tài),與門(mén)控制系統(tǒng)和電力驅(qū)動(dòng)系統(tǒng)交互完成整個(gè)電梯的運(yùn)行控制。其在電梯的電氣控制系統(tǒng)中扮演了舉足輕重的作用。
2 控制系統(tǒng)硬件設(shè)計(jì)
主控系統(tǒng)的硬件設(shè)計(jì)主要包括微控制器、CAN 通信模塊、光耦輸入、繼電器輸出、存儲(chǔ)器模塊、液晶顯示模塊、按鍵電路、電源模塊、復(fù)位模塊和JTAG模塊等。其硬件框圖如圖2 所示。
圖2 主控系統(tǒng)的模塊。
在主控系統(tǒng)中,外接了4 路CAN 總線收發(fā)器,分別連接到電梯外呼采集板、轎廂采集板、電動(dòng)機(jī)調(diào)速裝置(變頻器)、以及群控電梯板。主控系統(tǒng)與電梯電氣系統(tǒng)的其余子系統(tǒng)之間的通信。光耦輸入、繼電器輸出電路的功能主要是讓電梯主控系統(tǒng)采集井道限位信號(hào)和輸出井道限位;液晶顯示模塊和按鍵電路則是給電梯調(diào)試人員設(shè)計(jì)的調(diào)試接口,用來(lái)查看系統(tǒng)運(yùn)行參數(shù)和改變系統(tǒng)運(yùn)行參數(shù);而鐵電存儲(chǔ)器用來(lái)保存系統(tǒng)參數(shù)運(yùn)行參數(shù)。
2.1 微控制器模塊
LPC2294 是基于一個(gè)支持在線仿真和跟蹤的16/32 位ARM7TDMI-STM CPU,并帶有16KB 的SRAM 和256 KB 板級(jí)高速Flash 存儲(chǔ)器。128 位寬度的存儲(chǔ)器接口和獨(dú)特的加速結(jié)構(gòu)使32 位代碼能夠在最大時(shí)鐘速率下運(yùn)行。對(duì)代碼規(guī)模有嚴(yán)格控制的應(yīng)用可使用16 位Thumb 模式將代碼規(guī)模降低超過(guò)30%,而性能的損失卻很小。
由于LPC2294 的144 腳封裝、極低的功耗、多個(gè)32 位定時(shí)器、8 路10 位ADC、4 路CAN、PWM 通道以及多達(dá)9 個(gè)外部中斷使它們適用于汽車、工業(yè)控制應(yīng)用以及醫(yī)療系統(tǒng)和容錯(cuò)維護(hù)總線。LPC2294 包含至少76(使用了外部存儲(chǔ)器)~至多112(單片)個(gè)GPIO口。由于內(nèi)置了高速的串行通信接口,它們也非常適合于通信網(wǎng)關(guān)、協(xié)議轉(zhuǎn)換器以及其它各種類型的應(yīng)用。
2.2 CAN 模塊電路
在電梯控制系統(tǒng)中,往往是一棟大樓中使用多臺(tái)電梯構(gòu)建一個(gè)由多臺(tái)電梯組成的群控系統(tǒng)。在一臺(tái)電梯控制系統(tǒng)內(nèi)部主控系統(tǒng)要與轎廂板、外召板之間進(jìn)行通信;在各電梯之間由群控板負(fù)責(zé)收集各臺(tái)電梯運(yùn)行狀態(tài)和電梯負(fù)載量然后根據(jù)相應(yīng)的算法進(jìn)行派梯,這樣就使得控制系統(tǒng)中的通信壓力較大。由于LPC2294 內(nèi)部帶有4 路CAN 控制器,使得該處理器很適合應(yīng)用于電梯控制系統(tǒng)中。
各路CAN模塊電路基本一致,從微控制器中CAN控制器上引出輸入/輸出引腳RD/TD 到CAN 收發(fā)器TJA1050 相應(yīng)的管腳上。為了減少終端反射對(duì)系統(tǒng)的影響,需要在每路CAN 總線的兩最遠(yuǎn)端各加上120Ω的終端電阻。從通信角度看,電梯控制系統(tǒng)的設(shè)計(jì)是以主控系統(tǒng)為中心的CAN 通信系統(tǒng)的設(shè)計(jì),因而在主控系統(tǒng)在設(shè)計(jì)的時(shí),給每條CAN 總線的CANH 和CANL 之間添加上了120Ω的終端電阻是必要的。另外由于系統(tǒng)中的供電采用的是24V 的標(biāo)準(zhǔn)工業(yè)用電,而這非電子元器件的承受電壓范圍,因而避免在工程施工中接線錯(cuò)誤對(duì)系統(tǒng)致命破壞,設(shè)計(jì)的時(shí)候在CANH 和CANL 口線上添加了TVS 管。如圖3 所示。
圖3 CAN 模塊電路。
CANH 和CANL 輸出到GND 的匹配電容C1 和C2 經(jīng)常被用于提高抗電磁干擾的性能。相應(yīng)噪聲源的阻抗和CANH 和CANL 對(duì)地的電容組成了一個(gè)RC低通濾波器,在抗干擾的性能的問(wèn)題上電容的值應(yīng)該盡可能大,才能獲得低的角頻率。另一方面輸出級(jí)的整個(gè)電容負(fù)載和阻抗為數(shù)據(jù)信號(hào)建立了一個(gè)低通濾波器。因此相關(guān)的角頻率要比數(shù)據(jù)傳輸頻率高。這使電容值必須由節(jié)點(diǎn)的數(shù)量和數(shù)據(jù)傳輸頻率決定。當(dāng)TJA1050 的輸出級(jí)阻抗大約是20Ω,總線系統(tǒng)有10個(gè)節(jié)點(diǎn),速度是500kbit/s 則電容的值不應(yīng)該超過(guò)470pF.
2.3 光耦輸入電路
在電梯電氣控制系統(tǒng)中主控系統(tǒng)為了電梯不發(fā)生安全事故,安全穩(wěn)定地運(yùn)行,因此要實(shí)時(shí)地從電梯安全保護(hù)系統(tǒng)中采集電梯井道信號(hào)。對(duì)于實(shí)時(shí)性要求非常高的輸入開(kāi)關(guān)量直接通過(guò)光耦輸入到主控系統(tǒng),如開(kāi)/關(guān)門(mén)限位、上/下強(qiáng)減、上/下限位、光幕、門(mén)鎖、抱閘反饋等開(kāi)關(guān)量信號(hào)。另外為了減小輸入信號(hào)對(duì)微控制器的影響,在微控制器端對(duì)這些開(kāi)關(guān)量信號(hào),采用了光耦隔離其電路原理圖如圖4 所示。[!--empirenews.page--]
圖4 光耦輸入電路。
當(dāng)然部分的對(duì)實(shí)時(shí)信號(hào)要求不是特別高的輸入信號(hào)如消防、鎖梯、直駛、滿載、超載等,可以通過(guò)轎廂板或者外召板以同樣的方式采集,然后通過(guò)CAN 總線傳遞給主控制系統(tǒng)。
2.4 繼電器輸出電路
在電梯的輸出模塊中,為了減小外部電路對(duì)微控制器系統(tǒng)的影響,采用了以2803 驅(qū)動(dòng)繼電器的開(kāi)關(guān)量輸出形式。如主輸出、開(kāi)/關(guān)門(mén)輸出、抱閘輸出、蜂鳴器、到站鐘、電源管理、鎖梯輔助、消防基站、超載指示、上行/下行指示。對(duì)于電梯中輸出信號(hào),與輸入信號(hào)類似可以通過(guò)CAN 總線把信號(hào)傳遞給轎廂板或者外召板,然后采用以相同繼電器輸出形式輸出。
2.5 其他模塊
電源模塊:采用24V 供電, 經(jīng)LM2576 和AS1117-3.3 產(chǎn)生 5V 與3.3V 電壓,用于系統(tǒng)的不同模塊。復(fù)位模塊:為使系統(tǒng)能夠穩(wěn)定可靠工作,復(fù)位電路是必不可少的,主控系統(tǒng)采用的是MAX708,其是具有比較器、手動(dòng)復(fù)位輸入、兩組電平輸出的微控制器芯片。液晶顯示與按鍵模塊:采用經(jīng)典的四按鍵與12864點(diǎn)陣液晶的設(shè)計(jì),能夠?qū)︼@示菜單比較合理的操作,在系統(tǒng)中用GPIO 控制。存儲(chǔ)模塊:主要用來(lái)保存用戶參數(shù)的和系統(tǒng)的運(yùn)行參數(shù)(比如用戶密碼、操作員管理密碼、從變頻器采集到的脈沖數(shù)等)。存儲(chǔ)芯片選用了基于鐵電技術(shù)的64K 位非易失性鐵電存儲(chǔ)器FM24CL64,與微控制器采用的是標(biāo)準(zhǔn)兩線I2C 的接口,這樣能夠較好地與LPC2294 連接。
圖5 繼電器輸出電路。
3 控制系統(tǒng)軟件設(shè)計(jì)
控制系統(tǒng)軟件設(shè)計(jì)時(shí)采用了當(dāng)前主流的keil 集成開(kāi)發(fā)環(huán)境。軟件設(shè)計(jì)以搶占式多任務(wù)實(shí)時(shí)操作系統(tǒng)μC/OS 為平臺(tái)實(shí)現(xiàn)[5]了電梯主控系統(tǒng)的調(diào)度分配、CAN通信、液晶顯示三個(gè)任務(wù),如圖6 所示。
圖6 系統(tǒng)控制通信圖。
任務(wù)之間通信以消息隊(duì)列和郵箱方式進(jìn)行通信。
在與硬件接口上根據(jù)LPC2294 芯片手冊(cè)和應(yīng)用的需要,完成了CAN 模塊的驅(qū)動(dòng)、I2C 的總線模塊的驅(qū)動(dòng)、和GPIO 的模式的按鍵和12864 點(diǎn)陣液晶驅(qū)動(dòng),這樣使得在μC/OS 的任務(wù)中無(wú)需關(guān)注LPC2294 芯片板上資源的具體使用,而只需要調(diào)用相應(yīng)的接口函數(shù),方便了系統(tǒng)軟件的升級(jí)和改動(dòng)。
3.1 主控調(diào)度任務(wù)
在主控調(diào)度任務(wù)中完成當(dāng)前梯呼梯信號(hào)的整合,然后再根據(jù)當(dāng)前收集到的群控正常等輸入信號(hào)判斷當(dāng)前梯的運(yùn)行狀態(tài)(如自動(dòng)狀態(tài)、消防狀態(tài)、鎖梯狀態(tài)等),做出當(dāng)前狀態(tài)的處理;在電梯處在可調(diào)度的狀態(tài)下,根據(jù)相應(yīng)的調(diào)度算法完成對(duì)電梯的呼梯的合理配置;并通過(guò)消息隊(duì)列和郵箱與CAN 通信任務(wù)、液晶顯示任務(wù)進(jìn)行任務(wù)間通信,完成數(shù)據(jù)的交互。
3.2 CAN 通信任務(wù)
原則上對(duì)4 路CAN 控制器的資源分配為:CAN0外呼通信、CAN1 內(nèi)召通信、CAN2 變頻器通信、CAN3群控子系統(tǒng)通信[7].但系統(tǒng)中可以在軟件上進(jìn)行相應(yīng)的配置,然后使得任意CAN 控制器可以與任意的外部子系統(tǒng)相連,這樣就增加了系統(tǒng)的靈活性,也給操作人員帶來(lái)了方便。在CAN 通信任務(wù)調(diào)用之前,需要調(diào)用相應(yīng)的CAN 控制器初始化函數(shù),對(duì)CAN 控制器中斷、波特率、驗(yàn)收過(guò)濾器等進(jìn)行相關(guān)的設(shè)置。在CAN通信任務(wù)中,一方面需要完成4 路CAN 控制器通過(guò)中斷方式接收到緩沖區(qū)中的數(shù)據(jù)再驗(yàn)證無(wú)誤后交付給主控調(diào)度任務(wù),令一方面需把主控會(huì)把給群控調(diào)度器、變頻器、內(nèi)召板、轎廂板發(fā)送的信號(hào)或者命令交付給CAN 通信任務(wù)。CAN 通信任務(wù)再接收到主控的數(shù)據(jù)做相應(yīng)的驗(yàn)證,封裝成相應(yīng)的協(xié)議格式的幀,然后發(fā)送給相應(yīng)的子系統(tǒng)。
在CAN 通信中,發(fā)送數(shù)據(jù)的封裝和接收數(shù)據(jù)的解封遵循的格式除了變頻器部分參考第三方提供的CAN 總線通信協(xié)議,其他模塊與主控系統(tǒng)的通信完全依靠下述自定義協(xié)議。在電梯控制系統(tǒng)中,CAN 通信全部采用CAN2.0 所規(guī)定的擴(kuò)展數(shù)據(jù)幀[5-7],其格式如表1 所示。傳輸?shù)膸?9 位ID 按下表劃分(全0 或者全1 將被舍棄)。
表1 擴(kuò)展幀ID 格式
在表1 中,主控部分的子設(shè)備dev 有外呼、內(nèi)召、群控、變頻器,以序號(hào)001、010、011、100 等;"-"部分是在設(shè)計(jì)協(xié)議中沒(méi)有用到的數(shù)據(jù)位,程序中用0填充;cmd 表示發(fā)送方給接收方發(fā)送的命令字(如相應(yīng)信號(hào)登記命令、相應(yīng)信號(hào)清除命令);data 部分表示發(fā)送方給接收方發(fā)送的信號(hào)數(shù)據(jù),由于在系統(tǒng)設(shè)計(jì)的時(shí)候考慮的最高樓層為64,因此數(shù)據(jù)部分在傳輸?shù)臅r(shí)候,每次主控給與外呼、內(nèi)召通信的時(shí)只需要一幀就可以完成,其數(shù)據(jù)字節(jié)bye1 的BIT0 表示第1 樓信號(hào),byte8的BIT8 表示第64 樓信號(hào)。
3.3 液晶顯示任務(wù)
從任務(wù)間通信角度,液晶顯示任務(wù)主要接收主控任務(wù)以消息隊(duì)列方式傳入的相關(guān)系統(tǒng)參數(shù)(如上/下行、當(dāng)前樓層、目標(biāo)樓層等),然后通過(guò)調(diào)用12864 點(diǎn)陣液晶驅(qū)動(dòng)函數(shù)和查詢用戶按鍵的輸入狀態(tài),提供給用戶相應(yīng)的顯示菜單,以現(xiàn)實(shí)相關(guān)的系統(tǒng)參數(shù)。
當(dāng)然該任務(wù),也得提供給用戶相關(guān)系統(tǒng)參數(shù)設(shè)置的接口, 然后把相關(guān)參數(shù)保存在鐵電存儲(chǔ)器FM24CL64 中。
4 結(jié)束語(yǔ)
本文設(shè)計(jì)的基于CAN 總線的電梯主控制系統(tǒng)具有成本低,工作穩(wěn)定等特點(diǎn),完全能夠滿足國(guó)標(biāo)GB7588-2003 對(duì)電梯控制系統(tǒng)的各項(xiàng)指標(biāo)。由于篇幅的限制,本文沒(méi)有給出相應(yīng)的外召板、內(nèi)叫板,群控板的設(shè)計(jì)及其具體的實(shí)現(xiàn),另外與變頻器的接口完全按照變頻器第三方基于CAN 總線的具體通信協(xié)議。