董飛 魏文軒 王慶紅
(中國艦船研究設計中心,武漢 430064)
近年來,電機設計軟件越來越多,設計環境也是種類各異。然而,部分軟件出于版權考慮,采用封裝程序的方式屏蔽了用戶與源程序之間的聯系。如此一來,電機設計就只剩下輸入和輸出參數,中間的設計過程完全成了黑匣子。這樣不僅不利于新手熟悉設計流程,而且老手的經驗優勢也體現不出來。于是,現在很多電機設計人員都傾向于手工設計,但其工作量大且過程繁瑣。MathCAD以其強大的表格處理、數值計算以及繪圖等功能,可以很好地解決這個難題。
MathCAD是美國數學軟件公司(MathSoft)研制開發的一個支撐環境,該環境用獨特的方法處理表格、數值計算、繪圖等任務,其功能可以與專業數學軟件媲美,同時還是一個非常容易掌握和使用的文本編輯系統[1]。
MathCAD最引人注目之處是它所生成的命令、函數、圖形都是“活”的,命令中任何參數的變化都會使相應的結果發生變化。電機設計時,需要實時修改的對象數目非常龐大。利用MathCAD程序,用戶可以自主地根據經驗來設定和修改這些參數,并且修改后可以立刻得出計算結果,以檢驗參數的合理性,很大程度上提高了電機設計的質量和效率。除此之外,MathCAD程序的通用性比較好,其他類型的電機設計只需要修改其中的部分語句就可以實現。
參照文獻[5],將整個設計程序分為六部分:(1)主要尺寸計算;(2)定子繞組和定子鐵芯設計;(3)轉子鐵芯和籠型繞組設計;(4)磁路計算;(5)參數計算;(6)性能計算。下面選擇其中幾個比較典型的算法作一些介紹(關于電機設計的參數定義和基本流程請讀者參閱相關書籍,本文僅給出MathCAD編程算法)。
定轉子開槽是電機設計中的重點和難點之一,這里僅列舉定子開槽算法,其 MathCAD程序如圖1所示。

圖1 定子開槽的MathCAD程序
該算法采用二重循環,即定子齒部磁密 Bz1和軛部磁密Ba1在允許范圍內變化,要求磁路不飽和。在第二重循環內部計算與磁密相關的槽形參數rs1、rs2以及hs1,并對槽面積se進行核算。最后將所有滿足條件的槽形參數賦值給矩陣 PP后輸出,輸出矩陣的每一行向量對應一組槽形參數。因此通過輸出矩陣的方式可以得到多種槽型設計方案,以便在性能核算時重選槽參數。
電機設計過程中需要查閱很多表格和曲線,因為MathCAD與數據庫接口比較麻煩,所以筆者選擇自行編制查詢程序。查詢程序包括:(1)導線最大外徑查詢程序;(2)功率因數查詢程序;(3)磁化曲線查詢程序;(4)損耗曲線查詢程序;(5)轉子梯形槽比漏磁導查詢程序;(6)籠型轉子諧波比漏磁導系數查詢程序;(7)計及飽和影響的系數K查詢程序;(8)特殊系數Kz、Kr、Kx查詢程序。
3.2.1 表格的查詢算法
查詢程序(1)、(2)、(3)和(4)都屬于表格類查詢,這里僅列舉損耗曲線的查詢算法,其MathCAD程序如圖2所示。

圖2 損耗曲線查詢的MathCAD程序
該算法首先根據損耗曲線的查詢表格定義二維參數矩陣,然后采用二次循環進行垂直交叉查找,根據行列坐標Ci和Cj就可以非常輕松地找到對應鐵芯損耗值。這一算法利用了二維矩陣的元素特征,巧妙地解決了繁瑣的查表問題。
3.2.2 規則曲線的查詢算法
查詢程序(5)、(6)和(7)都屬于規則曲線查詢,這里僅列舉系數 K的查詢算法,其MathCAD程序如圖3所示。
該算法中,矩陣curve和curve1存儲了目標曲線描點的橫坐標和縱坐標,因描點量比較龐大,不便顯示,此處僅以空矩陣代替。首先通過return命令分別處理查詢點是描點以及不是描點的情況,如果查詢點不是描點,則通過線性插值函數linterp進行插值,如此可以省去查圖的繁瑣過程,如果描點數量適當,還可以降低讀圖誤差。除此之外,對于電機手冊上沒有畫出的曲線,還可以通過矩陣curve和curve1的縱向插值找到相應的系數K,過程快捷且精度較高,大大降低了設計人員的工作量。
3.2.3 不規則曲線的查詢算法
特殊系數Kz、Kr、Kx的查詢程序都屬于不規則曲線的查詢算法,其中比較有難度的是系數Kr和Kx的查詢算法,這兩個系數均為多條不規則曲線,查詢過程相對比較復雜,這里僅列舉Kr的查詢算法,其MathCAD程序如圖4所示。
該算法的主線是分段插值,并巧妙地運用了雙重嵌套的子程序調用。F和G分別為調用子程序模塊,功能是完成橫向和縱向的線性插值,限于篇幅,這里未給出其算法,可參考規則曲線的查詢算法中的插值環節。與規則曲線的查詢算法類似,該算法可以查詢不是描點的點以及電機手冊上沒有畫出的曲線參數。同樣地,因描點量會比較龐大,為便于顯示,上圖僅以空矩陣curve1~curve6以及curve15代替。
除了上文描述的幾個典型算法,交流異步電機的 MathCAD程序設計還包括參數錄入、公式錄入以及機械特性曲線的繪制程序等基礎程序,限于篇幅,這里不再一一列出。
筆者基于 MathCAD軟件學習和異步起動機的手工分析經驗,編制了 MathCAD環境下交流異步電機的分析設計程序。該程序充分發揮了MathCAD的文本編程特點,無論是參數輸入、傳遞還是輸出,矩陣的巧妙使用都大大簡化了程序編制的工作量;線性插值函數的使用在一定程度上增加了查表查圖的范圍;二維圖形的繪制使得參數分析更加形象直觀。
當然,該設計程序還有不少需要改進的地方,比如槽型設計的算法還需要優化,最好能和阻抗計算部分聯系起來,等等。換句話說,MathCAD設計程序還要加強各個設計部分之間的聯系和信息互通,在發揮其靈活和直觀的特點之余,盡可能降低手工調整參數的工作量。

圖3 系數K查詢的MathCAD程序

圖4 系數Kr查詢的MathCAD程序
[1]蘇宏宇,莫力. MathCAD2000數據處理應用與實例[M]. 北京:國防工業出版社, 2001.
[2]袁長迎等. 掌握和精通MathCAD2000[M]. 北京:機械工業出版社,2001.4.
[3]精銳創作組編著. MathCAD2001數學運算完整解決方案[M]. 北京: 人民郵電出版社, 2001.
[4]季杏法. 小型三相異步電動機技術手冊[S]. 北京:機械工業出版社, 1987.
[5]陳世坤. 電機設計[M]上海: 機械工業出版社,1982.
[6]電機工程手冊編輯委員會. 電機工程手冊[M]上海:機械工業出版社, 1987.12.
[7]上海電器科學研究所《中小型電機設計手冊》編寫組. 中小型電機設計手冊[S]. 北京: 機械工業出版社, 1994.