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