Why use program to design motor
- Save labor cost - program 具有自動化的好處,重複的步驟只要編寫一次,之後只需要執行程式就好
- Code represent design concept and step - 當設計變成code,並且利用的是好理解且通用的 code structure ,人員轉換造成的工作問題就會下降,因為所有人只要能看懂code,就能看懂設計步驟,進而理解設計。
How to represent motor design concept and step
專注在兩個非常重要卻又簡單的東西 data & function。
Input & Output Data
先思考 input 與 ouput的data是什麼
- input data - 規格
- output data - 定子外徑、馬達長度、匝數、BEMP(@1000rpm)、操作點數據(torque data, average torque, speed, torque ripple, current, current density, line voltage, coreloss, copperloss)
Design function and data
- 手算一次將 規格 轉換成 馬達模型數據 與 電氣數據。
- 將中間所有的 步驟,以及當中用到的 數據名稱 記錄下來。
- 將 數據名稱 根據 步驟 的概念分類 (定轉子、磁石、電氣…等)。使用
dict 這個 data structure將其收起來,還不知道的值就先給None,用專案中馬達設計的部分呈現如下。
|
|
- 將步驟拆成小的function,專案中馬達設計的部分如下
|
|
- 將 3. 的數值dict貫穿 4. 的所有function (3.的
motor_cal_params放在ctx[params]中)
|
|
- Ansys maxwell 的溝通部分也是用同樣的方式,可參考 這裡
Conclusion
使用上述的方法,是不是很單純,且很直觀就能看懂設計的過程,debug也非常容易,執行程式時將total_cal_params 印出來看就好。
當整個程式設計完成後,接下來就是去優化每一個 function & data 讓它們更容易被看懂,更能直觀的對應馬達設計。
更詳細可參考我的設計,未來還會持續的優化設計。