仇維斌,陳 輝,嚴 巖
(1.今創(chuàng)集團股份有限公司,常州213102;2.江蘇科技大學(xué),鎮(zhèn)江212003;3.今創(chuàng)集團股份有限公司,常州213102)
近年來,高速鐵路在我國得到了高速度發(fā)展,隨著其速度穩(wěn)步提升,出行有了更好選擇??紤]到乘客乘坐的舒適感,目前運營高速列車的座椅朝向均與列車行駛方向一致。由于部分列車到站時需要反向行駛,因此座椅朝向也需實時調(diào)整180°,從而使得朝向一致。而目前均是在列車到站時由人工旋轉(zhuǎn)其朝向,故需一定的人力成本,并且效率較低。為此,設(shè)計開發(fā)了一套座椅控制系統(tǒng)。高速列車座椅控制系統(tǒng)是由多個部分組成的復(fù)雜控制系統(tǒng),其中包括司機室主控制屏、無刷直流電動機、座椅控制器(以下簡稱SCU)、控制器局域網(wǎng)(以下簡稱CAN)、多功能車輛總線(以下簡稱MVB)及列車控制和管理系統(tǒng)(以下簡稱TCMS)等。司機室主控制屏可實現(xiàn)對所有座椅實時控制與狀態(tài)監(jiān)視[1-3]。SCU在本系統(tǒng)中主要接收司機室傳達的座椅旋轉(zhuǎn)控制命令,并且根據(jù)命令驅(qū)動電機執(zhí)行相應(yīng)的動作,同時可將座椅的故障及狀態(tài)信息通過總線反饋至主控制屏。SCU在主控制屏與座椅之間起著重要的橋梁作用,直接關(guān)系到整個座椅控制系統(tǒng)的正常運行。因此,為了提高系統(tǒng)的安全運行,本設(shè)計在軟件及硬件方面均做出優(yōu)化處理。
SCU需具有以下主要功能:
(1)座椅正反旋轉(zhuǎn)180°時間在10~20 s范圍內(nèi)可調(diào);執(zhí)行正反旋轉(zhuǎn)時,SCU可按預(yù)設(shè)的速度曲線做出相應(yīng)動作。
(2)通信功能,通過CAN網(wǎng)絡(luò)實現(xiàn)整節(jié)車廂SCU通信功能,并通過MVB總線實現(xiàn)與司機室的通信,將座椅狀態(tài)、故障信息的上傳同時接收控制命令。
(3)串口下載應(yīng)用程序功能。
(4)通過電流、位移/速度兩種方法進行障礙物檢測,并可根據(jù)實際情況通過便攜式測試設(shè)備(以下簡稱PTE)適當(dāng)調(diào)整開閉延遲時間及障礙物循環(huán)次數(shù)等參數(shù)。
系統(tǒng)以STM32F407芯片為核心部件,ADC、集成SPI、數(shù)字 IO、CAP口捕獲、MVB通信、CAN 通信等功能。圖1所示為主、備用SCU硬件整體框架圖,其中從SCU在硬件上沒有MVB模塊。
圖1 系統(tǒng)整體架構(gòu)圖
CPU模塊:根據(jù)系統(tǒng)需求選用高性能控制芯片STM32F407作為控制器主芯片,時鐘頻率最高可達168 MHz,具有高速的數(shù)據(jù)處理能力,并具有32位浮點處理單元,其有兩個高級定時器可以同時產(chǎn)生多達7路的PWM輸出[4]。
RS232模塊:實現(xiàn)與 PTE的通信,可通過PTE適當(dāng)調(diào)整開閉延遲時間及障礙物循環(huán)次數(shù)等參數(shù)。
MVB模塊:此模塊與TCMS系統(tǒng)連接,可將座椅狀態(tài)、故障信息上傳到TCMS同時接收TCMS發(fā)送的控制命令[5-6]。
CAN模塊:可實現(xiàn)主 SCU與從 SCU的通信。主SCU將司機室發(fā)出的控制信號通過CAN總線發(fā)送到從SCU,同時從SCU將狀態(tài)信息、故障信號通過CAN總線上傳至主SCU。
數(shù)字I/O口:接收限位開關(guān)傳遞的輸入信號,同時根據(jù)座椅執(zhí)行相應(yīng)動作而產(chǎn)生輸出信號,實現(xiàn)對電磁閥通斷控制控制信號。
CAP模塊:電機HALL捕獲口,實現(xiàn)對HALL信號的捕獲。
ADC模塊:實時檢測電機母線電壓及三相電流,用于矢量控制電流環(huán)閉環(huán)運算及障礙物判斷。
SPI模塊:故障信息存入EEPROM。
撥碼開關(guān):通過設(shè)置撥碼開關(guān)確定每個座椅控制器的CAN地址。
電機驅(qū)動模塊:包括電機驅(qū)動信號PWM發(fā)出及霍爾信號采集,其中驅(qū)動功率部分采用智能功率模塊,與MOS管相比具有明顯的體積優(yōu)勢及更優(yōu)的保護性能。當(dāng)故障發(fā)生時,可迅速將信號送至CPU,從而關(guān)斷功率模塊,有著很好的保護性能。
本系統(tǒng)主要完成對座椅狀態(tài)信息采集、座椅自動旋轉(zhuǎn)邏輯分析、座椅驅(qū)動控制、座椅故障記錄與處理;CAN總線實現(xiàn)主SCU與從SCU的通訊;通過MVB接口可實現(xiàn)與TCMS的通訊;并通過PTE可實現(xiàn)參數(shù)設(shè)置、數(shù)據(jù)顯示及故障下載等功能。
SCU軟件設(shè)計部分由邏輯部分、通信部分及電機控制構(gòu)成。其中邏輯控制單元主要完成對外部座椅狀態(tài)開關(guān)量信號采集、座椅旋轉(zhuǎn)方向判斷與控制、障礙物檢測及故障記錄等功能。通信部分主要實現(xiàn)SCU與司機室的通信,實現(xiàn)控制命令的接收及故障信息的上傳,同時實現(xiàn)與本節(jié)車廂從SCU的數(shù)據(jù)交換。電機驅(qū)動部分主要完成對電機的運動控制,實現(xiàn)座椅的正反旋轉(zhuǎn)。
3.1.1 邏輯控制單元設(shè)計
邏輯控制單元如圖2所示,系統(tǒng)結(jié)合當(dāng)前狀態(tài)及輸入信號判斷是否進入下一狀態(tài)。其中圖2中F為故障狀態(tài)。
圖2 邏輯控制單元流程框圖
3.1.2邏輯控制單元時間片設(shè)計
本單元軟件設(shè)計流程如圖3所示,由運動狀態(tài)監(jiān)控、速度監(jiān)控等子程序構(gòu)成高優(yōu)先級任務(wù),由CAN數(shù)據(jù)處理、RS232數(shù)據(jù)處理等子程序構(gòu)成低優(yōu)先級任務(wù),最后由CAN數(shù)據(jù)發(fā)送、RS232數(shù)據(jù)發(fā)送、MVB數(shù)據(jù)發(fā)送、故障記錄存入EEPROM構(gòu)成空閑任務(wù)[7]。系統(tǒng)設(shè)有2 ms定時周期中斷,各不同等級任務(wù)按照圖3循環(huán)運行。同時,不定時執(zhí)行中斷任務(wù)和空閑任務(wù)[8]。
圖3 時間片分配圖
空閑任務(wù)執(zhí)行中檢測當(dāng)前數(shù)據(jù)是否正在發(fā)送,若是,則執(zhí)行下一個任務(wù),若不是,則寫入一個字節(jié)到緩沖區(qū)。
中斷任務(wù)主要執(zhí)行當(dāng)前產(chǎn)生的中斷事件,包括完成定時器中斷處理及多種通信中斷接收。
3.1.3障礙物檢測軟件設(shè)計
障礙檢測斷子程序主要判斷座椅旋轉(zhuǎn)過程中有無遇到障礙物。本系統(tǒng)采用位移、速度及電流法對是否有障礙物判斷。在旋轉(zhuǎn)過程中每2 ms執(zhí)行一次障礙物判斷,其程序框圖如圖4所示。在座椅旋轉(zhuǎn)過程中,若連續(xù)多次檢測到電流超閾值或位移、速度小于設(shè)定值,則判斷有障礙物,并進行邏輯切換。
圖4 障礙物檢測流程圖
本設(shè)計根據(jù)實際需求采用了無刷直流電動機。常用的無刷直流電動機方波驅(qū)動方式使得電機運行較容易實現(xiàn),占用CPU資源少,但是其控制效率較低。因而本設(shè)計采用了矢量控制方法,以提高其控制效率。其控制框圖如圖5所示,本設(shè)計采用id=0的矢量控制方法。
圖5 矢量控制框圖
電機驅(qū)動控制程序主要在ADC中斷中完成,電流、電壓等信號采集定位在PWM發(fā)生定時器上溢出點。如圖6所示,中斷子程序主要完成相電流采樣與轉(zhuǎn)換,同時實時獲取當(dāng)前轉(zhuǎn)速信息,以實現(xiàn)d,q軸電流解耦,最后通過2個電流環(huán)PI調(diào)節(jié)輸出當(dāng)前控制量并送入SVPWM進行PWM輸出計算。
圖6 ADC中斷子程序
3.3.1 MVB通信模塊程序設(shè)計
MVB通信模塊可實現(xiàn)TCMS與SCU之間的數(shù)據(jù)通信。其接收TCMS的控制命令和設(shè)定的系統(tǒng)參數(shù),同時將座椅系統(tǒng)的相關(guān)數(shù)據(jù)發(fā)送給TCMS。本設(shè)計中MVB數(shù)據(jù)通信采用“數(shù)據(jù)收發(fā)緩沖池”的方式實現(xiàn),如圖7所示。即將需要發(fā)送的數(shù)據(jù)及接收的數(shù)據(jù)存入緩沖區(qū)中,等到時間片無任務(wù)執(zhí)行時再進行相應(yīng)的處理,從而避免了數(shù)據(jù)通信與其它任務(wù)爭奪CPU時鐘周期[9]的問題。
圖7 MVB通信模塊數(shù)據(jù)處理框圖
3.3.2 CAN通信模塊程序設(shè)計
CAN通信程序主要由數(shù)據(jù)發(fā)送、接收及處理構(gòu)成。定時中斷CAN發(fā)送子程序主要實現(xiàn)SCU中故障與狀態(tài)信息的定時發(fā)送,CAN中斷接收子程序主要實現(xiàn)故障與狀態(tài)信息的接收。
圖8 CAN通信的數(shù)據(jù)發(fā)送與接收框圖
圖8 為主SCU與備用SCU之間CAN通信方式以及CAN通信的發(fā)送與接收處理。主、從SCU內(nèi)部均開設(shè)數(shù)據(jù)發(fā)送及接收緩沖區(qū),從SCU的主程序不停對狀態(tài)數(shù)據(jù)進行刷新,并每隔500 ms發(fā)送一次信息,同時接收來自主SCU的控制命令。主SCU將接收到的狀態(tài)信息匯總后發(fā)送給TCMS[10],同時接收來自TCMS的命令并轉(zhuǎn)發(fā)到本車廂內(nèi)其它SCU。
本設(shè)計中選用的電機定子電壓為直流110 V,功率120 W,磁極對數(shù)5。圖9為所設(shè)計的自動旋轉(zhuǎn)座椅實物圖,其中SCU位于座椅下方。圖10為系統(tǒng)正常工作時的線電壓,其范圍為-110~110 V。
圖9 座椅實物圖
圖10 線電壓波形(截圖)
本設(shè)計中需要實時檢測相電流波形,從而對障礙物信號判斷。當(dāng)座椅正常旋轉(zhuǎn)時的電流為正弦波,電流幅值為1.8 A,如圖11所示,當(dāng)遇到障礙物時電流幅值會突增,最大可達5 A,如圖12所示。由此可以檢測出是否有障礙物發(fā)生。
圖11 座椅正常旋轉(zhuǎn)時相電流(截圖)
圖12 座椅旋轉(zhuǎn)遇遇障礙物時相電流(截圖)
本文詳細介紹了一種基于STM32F407的高速列車自動旋轉(zhuǎn)座椅控制器硬件及軟件設(shè)計。目前,該產(chǎn)品已順利完成研發(fā),并且均通過功能試驗、沖擊振動試驗及EMC試驗等,試驗結(jié)果表明此座椅控制器可滿足高速列車的運行需求。
[1] 朱書娟,徐剛,陳勇勝,等.淺談高速動車組車門通信系統(tǒng)[J].中國科技博覽,2013(24):464-464.
[2] 關(guān)和寧.城軌車輛列車監(jiān)控系統(tǒng)的設(shè)計及應(yīng)用[D].北京:北京交通大學(xué)研究生院,2008.
[3] 朱琴躍,謝維達,譚喜堂.MVB協(xié)議一致性測試研究與實現(xiàn)[J].鐵道學(xué)報,2007,29(4):115 -120.
[4] 廖義奎.ARM Cortex-M4嵌入式實戰(zhàn)開發(fā)精解 -基于STM32F4[M].北京:北京航空航天大學(xué)出版社,2013.
[5] 宋佳璟,劉志剛.基于CANopen列車通信網(wǎng)絡(luò)的地鐵門控系統(tǒng)設(shè)計[J].機電控制技術(shù),2008.37(8):25 -29.
[6] International Electrotechnical Commission.Electric Railway Equipment-Train Bus-Part 1:Train Communication Network(IEC61375-1) [S].1999.
[7] 仇維斌,嚴巖,黃巧亮,等.基于MC56F8346控制器的塞拉門控器研究[J].機電設(shè)備,2015(1):7 -11.
[8] 仇維斌,歐紅香.一種基于TMS320LF2407A的地鐵屏蔽門門機控制器設(shè)計[J].微電機,2009,42(9):37 -39.
[9] 陳鐵軍,謝春萍.PC機與RS485總線多機串行通信的軟硬件設(shè)計[J].現(xiàn)代電子技術(shù),2007,30(5),103 -105.
[10] 高松,高燕,王吉華.SAE J1939協(xié)議在車輛上的應(yīng)用[J].拖拉機與農(nóng)用運輸車.2007,33(6):1-2.