王子旋,黎向鋒,肖一秦鵬,胡嘉琨,徐禮林,左敦穩(wěn)
(1.南京航空航天大學(xué) 機電學(xué)院,南京 210016;2.南京機電液壓工程研究中心,南京 211106;3 航空機電系統(tǒng)綜合航空科技重點實驗室,南京 211106)
混合式直線力電機電磁計算公式繁多,公式中內(nèi)嵌有循環(huán),需要在多種不同參數(shù)組合下完成計算,這種復(fù)雜計算是手工計算難以完成的。目前,混合式直線力電機的設(shè)計主要采用Ansoft對電機磁場進(jìn)行有限元仿真,再根據(jù)仿真結(jié)果修改Ansoft中的電機結(jié)構(gòu),直到獲得理想的結(jié)構(gòu)參數(shù)[1]。這種方法異常繁瑣,亟待對電機結(jié)構(gòu)參數(shù)模型進(jìn)行封裝,開發(fā)出操作簡便、計算快速的混合式直線力電機參數(shù)化設(shè)計系統(tǒng),以縮短電機的研發(fā)周期。
國內(nèi)外學(xué)者已經(jīng)對電機參數(shù)化設(shè)計軟件進(jìn)行了研究。文獻(xiàn)[2]開發(fā)了基于VB與MATLAB混合編程的永磁同步電動機電磁設(shè)計軟件,實現(xiàn)了可視化輸入數(shù)據(jù)、快速計算電機輸出量,并且具有友好的界面和表格導(dǎo)出功能。以一臺15 kW、4極永磁同步電機為例,驗證了該軟件的設(shè)計便捷性。文獻(xiàn)[3]開發(fā)了一套基于Ansoft的永磁同步電機電磁設(shè)計系統(tǒng),通過VB和Ansoft的無縫連接實現(xiàn)了電機結(jié)構(gòu)參數(shù)的輸入、電機模型分析以及結(jié)果導(dǎo)出功能,輔助電機設(shè)計人員的工作。文獻(xiàn)[4]使用Python開發(fā)了針對永磁同步電機的自動化軟件,相比于前兩篇文獻(xiàn)擁有更高的自動化程度。軟件包括以下模塊:Machine Winding Creator模塊負(fù)責(zé)電機繞組的自動生成,Machine Design Creator模塊負(fù)責(zé)創(chuàng)建二維Ansoft電機仿真模型,Machine Design Analysis模塊負(fù)責(zé)計算電機性能,Machine Design Optimization模塊用于電機結(jié)構(gòu)優(yōu)化,Machine Design Visualization模塊用于電機結(jié)構(gòu)可視化。目前針對混合式直線力電機的自動化設(shè)計軟件的研究仍很少,且混合式直線力電機的快速迭代設(shè)計仍需人工操作,異常繁瑣。
Ansoft仿真軟件只支持Python與VB腳本錄制與執(zhí)行[5]。Python語言具有簡潔的語法、豐富的科學(xué)計算和圖形開發(fā)庫,便于自動化設(shè)計軟件的開發(fā)。本文以Python為系統(tǒng)主體開發(fā)語言,通過Python與Ansoft軟件的交互,實現(xiàn)混合式直線力電機的參數(shù)化建模,自動計算電機的驅(qū)動力與線性度,通過采樣分析找到結(jié)構(gòu)參數(shù)對驅(qū)動力和線性度影響趨勢,代替繁瑣的手動迭代設(shè)計過程。
參數(shù)化建模軟件的常見編程方法有程序驅(qū)動和尺寸驅(qū)動兩種[6]。第一種方法是開發(fā)者通過調(diào)用API函數(shù)進(jìn)行完整建模,一般用于開發(fā)具有復(fù)雜形狀零件的參數(shù)化建模,操作難度較大,建模過程耗時較長,編程復(fù)雜度高并且執(zhí)行效率較低。第二種方法是將關(guān)鍵尺寸參數(shù)從目標(biāo)模型中提取出來,不改變其結(jié)構(gòu)特征,通過改變關(guān)鍵尺寸參數(shù)來得到外形結(jié)構(gòu)相同但是尺寸不同的目標(biāo)模型。尺寸驅(qū)動法運用關(guān)鍵結(jié)構(gòu)參數(shù)替代完整建模過程,能夠更有效率地完成零件設(shè)計工作[7]。
如圖1所示,混合式直線力電機主要由端蓋、軸承、軸、銜鐵、外套等部件及密封圈、螺母、螺釘?shù)葮?biāo)準(zhǔn)件組成,其中左支撐架、外套、線圈骨架、線圈、右支撐架、磁鋼、導(dǎo)磁環(huán)及銜鐵是其核心零件[8],它們的相對位置以及形狀是不會改變的。如果使用程序驅(qū)動法,每次微調(diào)電機結(jié)構(gòu)都需要重新建立電機模型,時間復(fù)雜度較高,且造成了不必要的計算資源浪費;如果使用尺寸驅(qū)動法,每次只需要改變電機的幾個特定零件的尺寸和位置,時間復(fù)雜度較低,所以本文使用尺寸驅(qū)動法作為參數(shù)化設(shè)計系統(tǒng)的編程準(zhǔn)則。
圖1 混合式直線力電機結(jié)構(gòu)簡圖
打開關(guān)閉Ansoft軟件、改變坐標(biāo)點值、改變邊界條件、分配材料屬性、輸出仿真結(jié)果等所有手動操作均可以通過腳本功能自動完成[9]。Python是一種面向?qū)ο蟮?、動態(tài)的、解釋型的程序設(shè)計語言[10],適用于參數(shù)化設(shè)計系統(tǒng)的敏捷開發(fā)。
Python通過PyWin32模塊來訪問Windows操作系統(tǒng)應(yīng)用程序接口(Windows API),與VB調(diào)用Ansoft的方式相同,Python自動化接口把Ansoft作為RPC服務(wù)器來傳遞控制信息[11]。Python通過執(zhí)行以下代碼直接操作Ansoft,實現(xiàn)模型修改以及仿真結(jié)果的實時觀測和分析。
# 打開一個自動客戶端對象
ansoft_app =
client.DispatchEx('AnsoftMaxwell.MaxwellScript Interface')
# 獲得 Ansoft 桌面對象
desktop = ansoft_app.GetAppDesktop()desktop.RestoreWindow()
# 打開 Ansoft 仿真文件
desktop.OpenProject('path of ansoft file')
projector = desktop.SetActiveProject('XC21')
designer = projector.SetActiveDesign('MaxwelDesign1')
editor = designer.SetActiveEditor('3D Modeler')
# 獲得 Optimetrics 模塊對象
op_module = designer.GetModule("Optimetrics")
# 獲得 ReportSetup 模塊對象
report_module = designer.GetModule("ReportSetup")
混合式直線力電機結(jié)構(gòu)較復(fù)雜,Ansoft內(nèi)置的參數(shù)掃描功能無法定義其結(jié)構(gòu)參數(shù)的變動規(guī)則,所以參數(shù)化設(shè)計系統(tǒng)增加了一些特殊的約束和特征。如圖2所示,參數(shù)化系統(tǒng)由Ansoft通信模塊、圖形管理模塊、結(jié)構(gòu)參數(shù)管理模塊和交互界面這4個部分組成。配置文件里記錄結(jié)構(gòu)參數(shù)的取值范圍與Ansoft仿真文件的地址。
圖2中箭頭有兩種不同的方向,第一個方向是從Ansoft模型端流向用戶端,作用是讀取不同初始尺寸的Ansoft電磁仿真模型,記錄電機所有零件的位置和尺寸。數(shù)據(jù)在流動過程中經(jīng)過以下處理步驟:
(1)Ansoft通信模塊使用Python程序直接和Ansoft軟件進(jìn)行交互,讀取電機磁場有限元仿真模型中的所有坐標(biāo)點值以及圖形的名稱和屬性。
(2)圖形管理模塊對Ansoft通信模塊中讀取到的坐標(biāo)點值和圖形屬性進(jìn)行分解計算,轉(zhuǎn)化為多個不同的圖形和圖形特征,包括角度特征、拉伸特征、斜線拉伸特征等。
(3)結(jié)構(gòu)參數(shù)管理模塊對圖形管理模塊中提取到的特征圖形進(jìn)行組合計算,轉(zhuǎn)化7個電機結(jié)構(gòu)參數(shù),包括線圈匝數(shù)、氣隙角度、氣隙軸向?qū)挾取⒋配搶挾?、?dǎo)磁環(huán)寬度、磁鋼厚度以及銜鐵厚度。
(4)交互界面用于顯示電機結(jié)構(gòu)參數(shù)值,提供電機驅(qū)動力和驅(qū)動力線性度的計算功能、解析各結(jié)構(gòu)參數(shù)對驅(qū)動力以及線性度影響趨勢的采樣分析功能。
第二個方向是從用戶端流向Ansoft端。用戶在交互界面上改變電機結(jié)構(gòu)參數(shù),從而改變實際的電機仿真模型。數(shù)據(jù)在流動過程中經(jīng)過以下處理步驟:
(1)用戶通過交互界面改變電機結(jié)構(gòu)參數(shù)的數(shù)值。
(2)結(jié)構(gòu)參數(shù)管理模塊讀取系統(tǒng)交互界面中的電機結(jié)構(gòu)參數(shù),通過內(nèi)部設(shè)定的變動邏輯,將單個結(jié)構(gòu)參數(shù)的變動,分解為多個圖形特征的變動邏輯。
(3)圖形管理模塊讀取結(jié)構(gòu)參數(shù)模塊中的圖形特征變動邏輯,并轉(zhuǎn)化為具體坐標(biāo)點的變化。
(4)Ansoft通信模塊讀取圖形管理模塊中的變動坐標(biāo)點,并封裝為通信代碼發(fā)送給Ansoft,改變磁場仿真模型。
圖2 混合式直線力電機參數(shù)化設(shè)計系統(tǒng)框架圖
Ansoft通信模塊基于PyWin32庫開發(fā),使用Python程序直接與Ansoft進(jìn)程進(jìn)行通信,從而控制Ansoft的行為操作。由于采用尺寸驅(qū)動法的設(shè)計準(zhǔn)則,所以開發(fā)過程中不用將整個電機仿真模型的建模過程及步驟錄制下來,而是完成混合式直線力電機初始設(shè)計后,只錄制7個電機結(jié)構(gòu)參數(shù)變動操作的程序代碼并加以封裝。
Ansoft通信模塊封裝了常用的Ansoft軟件操作,是整個軟件體系中唯一與Ansoft進(jìn)程進(jìn)行直接通信的模塊,也是最基礎(chǔ)的模塊。
圖形管理模塊將磁場有限元模型切分成多個不同的特征圖形。圖3展示了封裝后的圖形及特征的層級關(guān)系,分別是簡單的基本圖形和矩形、以及具有復(fù)雜特征的特征圖形。其中,基本圖形只實現(xiàn)了平移變換,矩形在基本圖形的基礎(chǔ)上實現(xiàn)了長寬的改變。特征圖形用于處理不規(guī)則圖形,具有拉伸特征、角度特征以及斜向拉伸特征。
圖3 圖形層級關(guān)系
以銜鐵部件為例,這是一個梯形的部件,涉及到以下三個電機結(jié)構(gòu)參數(shù):
(1)氣隙軸向?qū)挾龋簹庀遁S向?qū)挾葏?shù)的改變,即對銜鐵部件的兩腰進(jìn)行水平拉伸或者收縮。如圖4所示,銜鐵部件上的拉伸特征將右側(cè)腰進(jìn)行水平拉伸了距離e,實際變動是將點p3與點p2的橫坐標(biāo)分別增加e,最終移動到點p′2與點p′3位置。
圖4 拉伸特征
(2)氣隙角度:氣隙角度參數(shù)的改變,即增加或者減少銜鐵部件的兩腰角度。如圖5所示,銜鐵部件上的角度特征將左側(cè)腰角度由α增加為α′,實際變動是點p1的橫坐標(biāo)發(fā)生變化,最終移動到p′1位置。
圖5 角度特征
(3)銜鐵厚度:銜鐵厚度參數(shù)的改變,即保持兩側(cè)腰的角度不變的情況下,垂直移動銜鐵部件的上底面。如圖6所示,銜鐵部件上的斜向拉伸特征將上底面上移了垂直距離h,實際變動是將點p3與點p0的縱坐標(biāo)分別增加h,同時橫坐標(biāo)根據(jù)兩側(cè)腰的角度也進(jìn)行了改變,最終移動到點p′0與點p′3位置。
圖6 斜向拉伸特征
圖形管理模塊將對特征圖形的變動轉(zhuǎn)化成坐標(biāo)點的改變,并且向下傳遞到Ansoft通信模塊,最終改變磁場有限元仿真模型。圖形管理模塊是連接參數(shù)管理模塊和Ansoft通信模塊的中間模塊,彌補了Ansoft對幾何圖形處理能力不足的缺點。
結(jié)構(gòu)參數(shù)管理模塊規(guī)定了電機結(jié)構(gòu)參數(shù)的變化與特征圖形的關(guān)系,系統(tǒng)內(nèi)實現(xiàn)了線圈匝數(shù)、氣隙角度、磁鋼寬度、氣隙寬度、導(dǎo)磁環(huán)寬度、銜鐵厚度、磁鋼及導(dǎo)磁環(huán)厚度這些基本結(jié)構(gòu)參數(shù)?;赑ython面向?qū)ο蟮奶匦?,使用類定義每個電機結(jié)構(gòu)參數(shù),類名表示結(jié)構(gòu)參數(shù)的名稱,包含以下兩個方法:
(1)value方法:讀取結(jié)構(gòu)參數(shù)值,改變圖形管理模塊中的特征值。
(2)read_value方法:讀取圖形管理模塊中的特征值,返回計算得到的結(jié)構(gòu)參數(shù)值。
以氣隙軸向?qū)挾冉Y(jié)構(gòu)參數(shù)為例,說明結(jié)構(gòu)參數(shù)模塊的工作原理。如圖7所示,EndCover_left表示左支撐架的名稱,EndCover_right表示右支撐架的名稱,Armature表示銜鐵的名稱。銜鐵在圖形管理模塊中注冊為特征圖形,左側(cè)腰添加了拉伸特征strength_left表示將點0和點1向左拉伸,右側(cè)腰添加了拉伸特征strength_right表示將點2和點3向右拉伸。
圖7 氣隙軸向?qū)挾茸兓唸D
在value方法中,Armature圖形的拉伸特征strength_left向右拉伸delta距離并且strength_right拉伸特征向左拉伸delta距離。如圖7所示,銜鐵分別向左右兩側(cè)拉伸了delta距離,即氣隙軸向?qū)挾葴p小了delta。在read_value方法中,計算EndCover_left圖形的點1橫坐標(biāo)與銜鐵圖形的點0橫坐標(biāo)的差值,即氣隙軸向?qū)挾葦?shù)值。
本系統(tǒng)共包含仿真和采樣兩個選項卡。如圖8所示,仿真計算選項卡包含7個電機結(jié)構(gòu)參數(shù)的輸入框、仿真計算結(jié)果欄以及電機結(jié)構(gòu)預(yù)覽顯示框。此外,該選項卡還包括預(yù)覽(改變電機結(jié)構(gòu)預(yù)覽顯示結(jié)果)、應(yīng)用(改變電機仿真模型文件)、計算驅(qū)動力以及計算線性度4個功能按鈕。
圖8 仿真計算界面
如圖9所示,采樣分析選項卡包含電機結(jié)構(gòu)參數(shù)的下拉框、采樣個數(shù)輸入框以及采樣結(jié)果圖表。系統(tǒng)以下拉框選擇的結(jié)構(gòu)參數(shù)為自變量,在其取值范圍內(nèi),均勻采樣用戶指定個數(shù)的樣本點。此外,該選項卡還包括開始采樣驅(qū)動力、開始采樣線性度、導(dǎo)出(以csv格式導(dǎo)出當(dāng)前采樣結(jié)果)3個功能按鈕。其中導(dǎo)出數(shù)據(jù)使用excel打開如圖10所示。
圖9 采樣分析界面
圖10 導(dǎo)出數(shù)據(jù)格式
本文應(yīng)用開發(fā)的混合式直線力電機參數(shù)化設(shè)計系統(tǒng),對電機進(jìn)行優(yōu)化設(shè)計。根據(jù)文獻(xiàn)[8]的工作,使用Ansoft建立混合式直線力電機磁場有限元仿真模型,利用其靜磁場求解器可以獲得電機驅(qū)動力和線性度。本文研究的混合式直線力電機行程在±0.5 mm,使用零位時施加極限電流(2 A)的電磁綜合力表征最大碎片剪切力;使用±0.1 mm,±0.2 mm,±0.3 mm,±0.4 mm處的電磁綜合力關(guān)于工作電流(-1 A~1 A)的線性度最大值表征整體的線性度??紤]直驅(qū)式電液伺服閥對混合式直線力電機的碎片剪切功能和控制特性的要求,需要在保證線性度K<0.05的情況下,改變電機結(jié)構(gòu)尺寸,盡可能最大化電機驅(qū)動力。
為獲得更優(yōu)的電機結(jié)構(gòu)參數(shù),需要探究不同電機結(jié)構(gòu)參數(shù)對電機驅(qū)動力及其線性度的影響。使用參數(shù)化設(shè)計系統(tǒng)的采樣分析功能,分別采集氣隙軸向?qū)挾?、銜鐵厚度、氣隙角度、磁鋼及導(dǎo)磁環(huán)厚度、磁鋼寬度、導(dǎo)磁環(huán)寬度以及線圈匝數(shù)這7個結(jié)構(gòu)參數(shù)在不同數(shù)值下的驅(qū)動力和線性度數(shù)據(jù)。采樣策略為均勻采樣,在其選取范圍之內(nèi)間隔均勻地取6個采樣點。采集到的數(shù)據(jù)導(dǎo)出后如圖11所示,每個結(jié)構(gòu)參數(shù)分別按照優(yōu)化規(guī)則(K<0.05且盡可能最大化驅(qū)動力)選取,即:線圈匝數(shù)為400,氣隙角度為90°,磁鋼寬度為15 mm,銜鐵厚度為14 mm,磁鋼及導(dǎo)磁環(huán)厚度為22.5 mm,氣隙軸向?qū)挾葹?.5 mm以及導(dǎo)磁環(huán)寬度為12.5 mm時,每個結(jié)構(gòu)參數(shù)都分別能取到其最優(yōu)值。
采用該參數(shù)化設(shè)計系統(tǒng)得到的電機優(yōu)化參數(shù)及驅(qū)動力和線性度結(jié)果如表1所示。表1中,序號1為初始電機結(jié)構(gòu)參數(shù)調(diào)用磁場有限元仿真得到的計算結(jié)果,序號2是電機結(jié)構(gòu)參數(shù)單因素優(yōu)化后得到的參數(shù)組合對應(yīng)的有限元仿真結(jié)果。由表1可知,單因素優(yōu)化后的驅(qū)動力提升了45%。
圖11 電機結(jié)構(gòu)參數(shù)對電機驅(qū)動力及其線性度的影響分析
表1 優(yōu)化結(jié)果對比
本文基于Ansoft軟件平臺,運用Python腳本語言開發(fā)了混合式直線力電機參數(shù)化設(shè)計系統(tǒng),實現(xiàn)電機有限元模型的快速改變以及電機結(jié)構(gòu)的快速優(yōu)化。本文研究內(nèi)容及結(jié)論如下:
首先,對混合式直線力參數(shù)化設(shè)計系統(tǒng)的設(shè)計準(zhǔn)則進(jìn)行分析,使用尺寸驅(qū)動法作為系統(tǒng)的編程準(zhǔn)則。
其次,對系統(tǒng)功能模塊進(jìn)行設(shè)計及開發(fā),包括Ansoft通信模塊、圖形管理模塊、結(jié)構(gòu)參數(shù)管理模塊、交互界面這4個模塊,完成自上而下的混合式直線力電機模型自動建模與快速計算。
結(jié)果表明,開發(fā)的參數(shù)化系統(tǒng)整體操作簡便,可以提高電機電磁設(shè)計工作的效率。與初始結(jié)構(gòu)電機的驅(qū)動力比較,混合式直線力電機參數(shù)化設(shè)計系統(tǒng)可以將初始結(jié)構(gòu)參數(shù)的電機驅(qū)動力通過單因素優(yōu)化提升45%。
后續(xù),擬通過深度神經(jīng)網(wǎng)絡(luò)建立電機驅(qū)動力和線性度預(yù)測模型,采用如布谷鳥搜索等智能優(yōu)化算法,對電機結(jié)構(gòu)參數(shù)進(jìn)行全局優(yōu)化,相信該電機驅(qū)動力還有進(jìn)一步的提升空間。