後電氣化時代,你的馬達夠「強勁」嗎?
手指在屏幕上輕輕一點,無人機穿越山谷拍攝美景。坐在車裡喝著咖啡,電車自動駕駛到達終點。大型馬達遠離了城市的喧囂,智能馬達與日常生活密切相聯。一切動起來的機器,都需要馬達提供動力。馬達是機器的心臟,驅動是系統的神經。如何在短時間設計出完美的馬達驅動,是電子工程師撬動創新產品的支點。
為了幫助工程師加快創新腳步,AMD推出了馬達驅動開發套件EDDP,該套件為三相馬達驅動提供了完整的開發和評估環境,包括全套硬體、硬體邏輯參考工程、OS驅動、OS鏡像和網絡UI。與其他設計方式相比,這個完整的開發套件提供了核心控制單元FOC(Field Oriented Control)的C++源代碼及理論模型,可幫助電動汽車、工業生產線、機器人、機械臂、無人機、雲台等各種應用以及與FOC原理相通的領域開發馬達驅動產品。
EDDP全套硬體方面
EDDP全套硬體包括控制板Arty Z7-10、適配板TEC0053、連接板TEC0060以及馬達BLRW-111D-24V-10000-1000-SI。其中,控制板的核心是Zynq-7000,Zynq-7000是AMD的28nm自適應SoC,集成了ARM®處理器的軟體可編程性與FPGA的硬體可編程性,可實現軟體計算和硬體加速。在單個器件上實現了CPU、DSP、FPGA以及混合信號功能。控制板通過以太網與PC相連,用戶可在PC端通過UI向控制板發送控制指令,並實時顯示馬達的轉速、相位、電流等。
EDDP全套軟體方面
軟件方面,AMD為工程師提供了HLS工具。 HLS(high level synthesis)是一種高級邏輯綜合工具,它提供了一種高層次的開發方法,可以把C、C++、System C代碼轉換成HDL代碼。傳統的RTL設計,需要在實現細節上花費大量的時間,而對高層的算法設計、功能驗證往往不夠充分。 HLS工具則允許設計者將精力集中在算法和驗證上,RTL代碼則由工具自動生成。即使不熟悉硬體描述語言的工程師也能快速上手開發設計。
借助此完整套件可充分發揮Zynq SoC軟硬結合的優勢,評估和開發高性能馬達控制應用。工程師可以在C++代碼基礎上完善自己的設計,仿真驗證自己的設想,並採用HLS(high level synthesis)將C++代碼輸出為硬體高效的RTL(VHDL,Verilog)IP,從而有效提高開發驗證效率和硬體資源利用效率。
馬達設計參考的算法結構
上面的圖片展示了馬達設計參考的算法結構,工程師使用HLS實現了FOC算法,包括了Clark變換模組、Park變換模組、PI控制器模組等。每一個模組都由C++描述。
下面以PI控制和Park變換為例
PI控制器:
它在此設計中起到濾波器的作用,可以濾除高頻噪聲,使系統消除穩態誤差,提高無差度。
使用HLS實現PI的細節如圖:
使用HLS實現PI控制的結果如下:
Park變換:
同步馬達定子的a、b、c三相電流投影到隨著轉子旋轉的直軸(d軸),交軸(q軸)與垂直於dq平面的零軸(0軸)。從數學角度,Park變換實現了一種坐標變換。
使用HLS實現Park變換的細節:
使用HLS實現Park變換的結果如下:
HLS數學庫提供了豐富的數學函數,支持的數據類型包括自定義定點、半精度浮點、單精度浮點和雙精度浮點,函數類型包括三角函數、指數函數等,可以為工業設計提供強大的支持。在具體操作時,用戶可以下載具體的工程文件、源代碼和技術文檔,根據需要自由地修改代碼,快速完成定制化設計。
閱讀原文 |