張銀龍,陳 浩,李華峰
(南京航空航天大學(xué) 機(jī)械結(jié)構(gòu)力學(xué)及控制國(guó)家重點(diǎn)實(shí)驗(yàn)室,南京 210016)
隨著航空科技的快速發(fā)展,人類對(duì)飛行器的性能提出了更高的要求,研發(fā)人員也不斷嘗試各種方法以提高飛行器的綜合性能[1]。
對(duì)于飛機(jī)而言,機(jī)翼是其升力和操縱力的主要來(lái)源。人們通過(guò)控制機(jī)翼各剛體間的相對(duì)運(yùn)動(dòng)來(lái)進(jìn)行機(jī)翼的伸縮、折疊、扭轉(zhuǎn)和彎曲等變形。按照機(jī)翼不同的變形方式可以分為伸縮機(jī)翼技術(shù)、折疊機(jī)翼技術(shù)、可變后掠翼技術(shù)、主動(dòng)柔性機(jī)翼技術(shù)、主動(dòng)彈性機(jī)翼技術(shù)等[2]。
變形機(jī)翼內(nèi)的變形作動(dòng)器將電能轉(zhuǎn)化為機(jī)械能,是變形結(jié)構(gòu)的動(dòng)力來(lái)源,采用低能耗、高輸出的作動(dòng)器可以有效提高變形效率。傳統(tǒng)的變形機(jī)翼動(dòng)力來(lái)源于自液壓作動(dòng)器,其體積質(zhì)量消耗較大[3]。超聲波電動(dòng)機(jī)以其獨(dú)特的優(yōu)良特性占據(jù)了重要的一席之地,其具有體積小、質(zhì)量輕、響應(yīng)快和斷電自鎖的特點(diǎn),非常適合用于變形機(jī)翼的變形機(jī)構(gòu)作動(dòng)。
本文旨在研究變形機(jī)翼的驅(qū)動(dòng)控制系統(tǒng),機(jī)翼由10個(gè)單一的蜂窩結(jié)構(gòu)構(gòu)成,每個(gè)結(jié)構(gòu)通過(guò)減速器與超聲波電動(dòng)機(jī)連接進(jìn)行變形。通過(guò)CANOpen協(xié)議控制每臺(tái)超聲波電動(dòng)機(jī)的旋轉(zhuǎn)方向和角度,可對(duì)機(jī)翼的變形做出精確控制。
變形機(jī)翼的控制系統(tǒng)由上位機(jī)、協(xié)議轉(zhuǎn)換器和超聲波電動(dòng)機(jī)驅(qū)動(dòng)控制器等組成。系統(tǒng)設(shè)計(jì)框圖如圖1所示。
圖1 系統(tǒng)總體框圖
上位機(jī)通過(guò)RS232總線與協(xié)議轉(zhuǎn)換器進(jìn)行串口通信,完成控制指令的下發(fā)和機(jī)翼運(yùn)行參數(shù)的可視化。上位機(jī)接收的參數(shù)主要包括:超聲波電動(dòng)機(jī)驅(qū)動(dòng)器是否在線、10臺(tái)超聲波電動(dòng)機(jī)的當(dāng)前位置;發(fā)送的指令參數(shù)主要包括:各個(gè)超聲波電動(dòng)機(jī)的起動(dòng)、目標(biāo)位置、急停、復(fù)位和置零等。本文上位機(jī)軟件基于Qt進(jìn)行開(kāi)發(fā),其軟件界面如圖2所示,右邊界面顯示各個(gè)電機(jī)的位置曲線。
圖2 上位機(jī)界面
協(xié)議轉(zhuǎn)換器是上位機(jī)和驅(qū)動(dòng)器之間信息傳遞的中繼,向上作為下位機(jī),將驅(qū)動(dòng)器發(fā)送過(guò)來(lái)的CAN信息解析為RS232信息發(fā)送至上位機(jī),向下作為CANOpen主站,將上位機(jī)發(fā)送的RS232指令解析為CAN信息發(fā)送至各個(gè)驅(qū)動(dòng)器。
超聲波電動(dòng)機(jī)驅(qū)動(dòng)器完成的是接收協(xié)議轉(zhuǎn)換器發(fā)來(lái)的控制指令,按要求對(duì)超聲波電動(dòng)機(jī)進(jìn)行控制,并實(shí)時(shí)上傳超聲波電動(dòng)機(jī)位置信息。
變形機(jī)翼控制系統(tǒng)的硬件包括協(xié)議轉(zhuǎn)換器和超聲波電動(dòng)機(jī)驅(qū)動(dòng)器,它們都是以STM32F103為控制核心,以RS232和CAN總線作為信息傳輸?shù)木W(wǎng)絡(luò)。系統(tǒng)總體的硬件設(shè)計(jì)方案如圖3所示。
圖3 系統(tǒng)硬件設(shè)計(jì)
超聲波電動(dòng)機(jī)驅(qū)動(dòng)器和協(xié)議轉(zhuǎn)換器的輸入電壓皆為DC28 V。STM32單片機(jī)使用DC3.3 V電壓,其產(chǎn)生的PWM波電壓無(wú)法直接驅(qū)動(dòng)MOSFET,需要通過(guò)IR2101S將PWM波電壓升高至DC12 V,故通過(guò)LM2576將DC28 V轉(zhuǎn)換為DC12 V供給至IR2101S。由于編碼器驅(qū)動(dòng)電壓為DC5 V,所以通過(guò)REG1175-5將DC12 V轉(zhuǎn)換為DC5 V供給編碼器,再通過(guò)REG1175-3.3將DC5 V轉(zhuǎn)換為DC3.3 V供給至STM32使用。整個(gè)電路的電壓轉(zhuǎn)換如圖4所示。
圖4 電壓轉(zhuǎn)換
超聲波電動(dòng)機(jī)需要兩路頻率相同、電壓幅值相同、相位差為90°的高頻正弦交流電信號(hào)驅(qū)動(dòng)。通過(guò)改變信號(hào)的頻率對(duì)超聲波電動(dòng)機(jī)進(jìn)行速度控制,通過(guò)改變兩相信號(hào)的相位差進(jìn)行轉(zhuǎn)向控制。
根據(jù)設(shè)計(jì)需求,超聲波電動(dòng)機(jī)的設(shè)定速度為120 r/min,超聲波電動(dòng)機(jī)驅(qū)動(dòng)器通過(guò)編碼器電路實(shí)時(shí)采集電機(jī)的當(dāng)前速度并輸入到STM32內(nèi)部的PID調(diào)速任務(wù)當(dāng)中。通過(guò)PID調(diào)速,將速度誤差控制在±1.5 r/min,以達(dá)到10臺(tái)超聲波電動(dòng)機(jī)的步調(diào)一致性目標(biāo)。
由STM32產(chǎn)生的4路PWM信號(hào)驅(qū)動(dòng),如圖5所示的推挽逆變電路,將28 V直流電轉(zhuǎn)化為峰值500 V以上的交流電。超聲波電動(dòng)機(jī)驅(qū)動(dòng)器的實(shí)物圖如圖6所示。
圖5 推挽逆變電路圖
圖6 超聲波電動(dòng)機(jī)驅(qū)動(dòng)器
協(xié)議轉(zhuǎn)換器用于RS232串口與CAN間的協(xié)議轉(zhuǎn)換,因此協(xié)議轉(zhuǎn)換器電路較為簡(jiǎn)單,只需要電源模塊、RS232通訊模塊、CAN網(wǎng)絡(luò)模塊。CAN網(wǎng)絡(luò)電路通過(guò)TJA1050將消息發(fā)送到CAN網(wǎng)絡(luò)和接收到STM32內(nèi),CAN網(wǎng)絡(luò)電路如圖7所示,協(xié)議轉(zhuǎn)換器的實(shí)物圖如圖8所示。
圖7 CAN網(wǎng)絡(luò)電路圖
圖8 協(xié)議轉(zhuǎn)換器電路圖
所有超聲波電動(dòng)機(jī)驅(qū)動(dòng)器與協(xié)議轉(zhuǎn)換器的連接通過(guò)CAN通信網(wǎng)絡(luò)。將協(xié)議轉(zhuǎn)換器作為主站,驅(qū)動(dòng)器作為從站,以CAN網(wǎng)絡(luò)作為硬件層,CANOpen作為軟件層進(jìn)行通信。
CANOpen是一種基于CAN總線的應(yīng)用層協(xié)議,是具有高度靈活配置能力的標(biāo)準(zhǔn)化嵌入式網(wǎng)絡(luò)協(xié)議。CAN的數(shù)據(jù)鏈層提供具有標(biāo)識(shí)符的報(bào)文廣播,通過(guò)CAN報(bào)文攜帶的ID幀決定是否接收通信對(duì)象所攜帶的數(shù)據(jù)[5],CANOpen就是基于此硬件層完成各個(gè)站點(diǎn)的相互通信。
CANOpen協(xié)議包括設(shè)備模型、通信模式和對(duì)象字典等三大部分,對(duì)象字典在CANOpen最為重要[6]。
CANOpen對(duì)象字典包含了4種不同類型的通訊對(duì)象,分別為網(wǎng)絡(luò)管理對(duì)象NMT、過(guò)程數(shù)據(jù)對(duì)象PDO、服務(wù)數(shù)據(jù)對(duì)象SDO和特殊功能對(duì)象[7]。對(duì)象字典的配置通過(guò)如圖9所示的CanFestival對(duì)象字典生成工具進(jìn)行直接配置,提高了開(kāi)發(fā)的便利性,減少了開(kāi)發(fā)時(shí)間。
圖9 對(duì)象字典生成工具界面
NMT主要用于管理和監(jiān)控CAN網(wǎng)絡(luò)當(dāng)中的各個(gè)節(jié)點(diǎn)狀態(tài)[8]。PDO和SDO均是用來(lái)數(shù)據(jù)傳輸?shù)模煌氖荘DO用于實(shí)時(shí)數(shù)據(jù)傳輸,SDO用于應(yīng)答傳輸。PDO又分為TPDO和RPDO,TPDO按照預(yù)定義的內(nèi)容進(jìn)行實(shí)時(shí)數(shù)據(jù)的發(fā)送,RPDO按照預(yù)定義的節(jié)點(diǎn)ID、索引、子索引和數(shù)據(jù)類型判斷TPDO的數(shù)據(jù)是否與自己相匹配[8]。PDO的發(fā)送不需要節(jié)點(diǎn)回復(fù),只需要發(fā)送即可,因此具有高效傳輸效率。SDO則需要節(jié)點(diǎn)進(jìn)行應(yīng)答,SDO通過(guò)節(jié)點(diǎn)ID、索引、子索引和數(shù)據(jù)類型傳輸,SDO發(fā)送后必須等待節(jié)點(diǎn)應(yīng)答,應(yīng)答內(nèi)容與發(fā)送內(nèi)容相同。
變形機(jī)翼將協(xié)議轉(zhuǎn)換器作為CANOpen的主站、超聲波電動(dòng)機(jī)驅(qū)動(dòng)器作為CANOpen的從站。CANOpen的主從站通過(guò)CAN_id進(jìn)行設(shè)置,主站為0x00,從站為0x00~0x7f,通過(guò)撥動(dòng)超聲波電動(dòng)機(jī)驅(qū)動(dòng)器上面的撥碼開(kāi)關(guān)進(jìn)行設(shè)置驅(qū)動(dòng)器的CAN_id。
SDO發(fā)送的是命令,協(xié)議轉(zhuǎn)換器獲取上位機(jī)發(fā)送的命令,然后通過(guò)SDO將命令發(fā)送出去。發(fā)送的命令包括超聲波電動(dòng)機(jī)的起動(dòng)電機(jī)、目標(biāo)位置、急停、位置置零、復(fù)位電機(jī)位置等。SDO的發(fā)送通過(guò)調(diào)用函數(shù)writeNetworkDict()發(fā)送。
SDO發(fā)送完成后必須將發(fā)送通道關(guān)閉,否則將一直占用SDO的發(fā)送通道,導(dǎo)致系統(tǒng)無(wú)法發(fā)送下一個(gè)SDO,關(guān)閉通道的函數(shù)為closeSDOtransfer()。
TPDO用于驅(qū)動(dòng)器上傳超聲波電動(dòng)機(jī)的當(dāng)前位置。根據(jù)預(yù)先設(shè)計(jì)定義的PDO參數(shù),將電機(jī)的位置實(shí)時(shí)地上傳到協(xié)議轉(zhuǎn)換器,最后解析上傳到上位機(jī)當(dāng)中。從站配置TPDO、主站配置RPDO,形成一對(duì)一模式。
在實(shí)驗(yàn)測(cè)試過(guò)程中,將10個(gè)驅(qū)動(dòng)器的節(jié)點(diǎn)ID通過(guò)撥碼開(kāi)關(guān)分別設(shè)為0x01、0x02,……,0x0a。通過(guò)圖10的ECANTools軟件界面觀測(cè)到整個(gè)CAN網(wǎng)絡(luò)的狀態(tài)??梢钥吹?,每隔1 ms,驅(qū)動(dòng)器的心跳數(shù)據(jù)會(huì)通過(guò)CAN網(wǎng)絡(luò)發(fā)送,協(xié)議轉(zhuǎn)換器根據(jù)是否及時(shí)收到心跳數(shù)據(jù)來(lái)判斷驅(qū)動(dòng)器是否在線。上位機(jī)通過(guò)SDO發(fā)送位置信息,驅(qū)動(dòng)器同樣也返回位置信息,說(shuō)明SDO發(fā)送成功,與我們?cè)O(shè)計(jì)的協(xié)議相符合。圖11和圖12分別為機(jī)翼變形前和變形后的狀態(tài),可以明顯地看到,機(jī)翼完成了相應(yīng)的變形動(dòng)作。
圖10 ECANTool實(shí)驗(yàn)數(shù)據(jù)信息
圖12 機(jī)翼變形后狀態(tài)
本文以CAN網(wǎng)絡(luò)作為硬件層,CANOpen為軟件層,設(shè)計(jì)了變形機(jī)翼的控制系統(tǒng)。首先介紹了變形機(jī)翼的控制系統(tǒng)組成,之后設(shè)計(jì)了硬件電路,并具體地介紹了如何配置CANOpen協(xié)議的主站和從站,以及CANOpen數(shù)據(jù)的配置方法等。本文描述的內(nèi)容可方便用戶配置CANOpen主從站,大大減輕用戶配置負(fù)擔(dān),提高了控制系統(tǒng)的開(kāi)發(fā)效率。