作者:Andrei Cozma and Eric Cigan
電機廣泛用于工業、汽車和商業應用,由驅動器控制,驅動器改變電輸入功率以控制扭矩、速度和位置。高性能電機驅動器可以提高效率并提供更快、更準確的控制。先進的電機控制系統結合了控制算法、工業網絡和用戶界面,因此它們需要額外的處理能力來實時執行所有任務。多芯片架構通常用于實現現代電機控制系統:數字信號處理器(DSP)執行電機控制算法,FPGA實現高速I/O和網絡協議,微處理器處理執行控制。
隨著片上系統 (SoC) 器件的出現,例如 Xilinx Zynq 全可編程 SoC,它結合了 CPU 的多功能性和 FPGA 的處理能力,設計人員能夠將電機控制功能和附加處理任務整合到單個器件中。控制算法、網絡和其他處理密集型任務被卸載到可編程邏輯中,而監控、系統監控和診斷、用戶界面和調試則由處理單元處理。可編程邏輯可以包括多個并聯運行的控制內核,以實現多軸機器或多個控制系統。在單個芯片上集成完整的控制器可以使硬件設計更簡單、更可靠、更便宜。
近年來,軟件建模和仿真工具(如 MathWorks 的 Simulink)使基于模型的設計能夠演變為從模型創建到實現的完整設計流程。??2基于模型的設計改變了工程師和科學家的工作方式,正在將設計任務從實驗室和現場轉移到桌面。現在,可以對整個系統(包括工廠和控制器)進行建模,使工程師能夠在現場部署控制器之前調整控制器的行為。這降低了損壞的風險,加快了系統集成,并減少了對設備可用性的依賴。控制模型完成后,Simulink 環境可以將其自動轉換為控制系統運行的 C 和 HDL 代碼,從而節省時間并避免手動編碼錯誤。通過將系統模型與快速原型設計環境相關聯,可以觀察控制器在實際條件下的運行方式,從而進一步降低風險。
Xilinx 的 Zynq SoC 用于實現控制器,MathWorks 的 Simulink 用于基于模型的設計和自動代碼生成,ADI公司的智能驅動器套件用于驅動系統的快速原型設計,從而實現更高的電機控制性能的完整開發環境。
賽靈思 FPGA 和 SoC 電機控制解決方案
先進的電機控制系統必須執行控制、通信和用戶界面任務的組合,每個任務都有不同的處理帶寬要求和實時限制。選擇用于實現此類控制系統的硬件平臺必須具有穩健性和可擴展性,同時允許未來的系統改進和擴展。Zynq 全可編程 SoC 通過將高性能處理系統與可編程邏輯相結合來滿足這些要求,如圖 1 所示。這種組合提供了卓越的并行處理能力、實時性能、快速計算和多功能連接。該 SoC 集成了兩個 Xilinx 模數轉換器 (XADC),用于監控系統或外部模擬傳感器。
圖1.賽靈思 Zynq SoC 框圖。
Zynq 的處理端由雙核 ARM Cortex-A9 處理器、霓虹燈協處理器和加速軟件執行的浮點擴展組成。該處理系統可處理非常適合軟件實施的監控、運動控制、系統管理、用戶界面和遠程維護功能等任務。可以部署嵌入式 Linux 或實時操作系統以利用系統的功能。無需配置可編程邏輯即可使用獨立處理器。這允許軟件開發人員與設計FPGA結構的硬件工程師并行編寫代碼。
在可編程邏輯方面,該器件具有多達 444,000 個邏輯單元和 2200 個 DSP 切片,可提供大量處理帶寬。FPGA 架構具有可擴展性,因此用戶可以選擇具有 28,000 個邏輯單元的小型器件,也可以選擇高端器件,后者可以應對最具挑戰性的信號處理應用。五個 AMBA-4 AXI 高速互連將可編程邏輯與處理系統緊密耦合,提供相當于 3000 多個引腳的有效帶寬。可編程邏輯適用于實現時間關鍵型、處理密集型任務,如實時工業以太網協議,并且可以容納多個并聯運行的多軸機器或多個控制系統的控制內核。
Xilinx 全可編程 SoC 解決方案和平臺可滿足當今磁場定向控制 (FOC) 等復雜控制算法和再生脈沖頻率調制器等復雜調制方案所帶來的關鍵時序和性能要求3由Xilinx和Qdesys設計。
使用 MathWorks 的 Simulink 進行基于模型的設計
Simulink 是一種用于多域仿真和基于模型的設計的框圖環境,非常適合仿真包含控制算法和工廠模型的系統。電機控制算法調節速度、扭矩和其他參數,通常用于精確定位。在進行昂貴的硬件測試之前,使用仿真評估控制算法是確定電機控制設計的適用性并減少算法開發的時間和成本的有效方法。圖2描述了設計電機控制算法的高效工作流程:
構建精確的控制器和工廠模型,通常來自電機、驅動電子設備、傳感器和負載庫
模擬系統行為以驗證控制器是否按預期運行
生成用于實時測試和實施的 C 代碼和 HDL
使用原型硬件測試控制算法
一旦通過原型硬件上的仿真和測試證明控制系統令人滿意,將控制器部署到最終生產系統上
圖2.電機控制算法設計的工作流程。
MathWorks 產品(包括 Control System Toolbox、SimPowerSystems ? 和 Simscape?)提供行業標準算法和應用程序,用于系統地分析、設計和調整線性控制系統,以及用于對跨越機械、電氣、?液壓和其他物理領域的系統進行建模和仿真的組件庫和分析工具。這些工具提供了創建高保真工廠和控制器模型的方法,這些模型可以在進入物理實施之前驗證控制系統的行為和性能。仿真環境是驗證功能極端情況和極端操作條件的理想場所,以確保控制器為此類情況做好準備,并且其實際操作對設備和操作人員都是安全的。
一旦使用嵌入式編碼器和HDL編碼器工具在仿真環境中對控制系統進行了全面驗證,就可以將其轉換為C代碼和HDL,并部署到原型硬件上進行測試,然后部署到最終生產系統中。此時,指定了軟件和硬件實現,例如定點和定時行為要求。自動代碼生成有助于減少從概念到實際系統實現所需的時間,消除編碼錯誤,并確保實際實現與模型匹配。圖 3 描述了在 Simulink 中對電機控制器進行建模并將其傳輸到最終生產系統所需的實際步驟。
圖3.從模擬到生產的路徑。
第一步是在 Simulink 中對控制器和工廠進行建模和仿真。在此階段,控制器算法被劃分為將在軟件中實現的塊和將在可編程邏輯中實現的塊。分區和仿真完成后,使用嵌入式編碼器和 HDL 編碼器將控制器模型轉換為 C 代碼和 HDL。基于 Zynq 的原型系統可驗證控制算法的性能,并幫助在進入生產階段之前進一步調整控制器模型。在生產階段,自動生成的C代碼和HDL被集成到復雜的生產系統框架中。該工作流程確保一旦控制算法進入生產階段,它就會得到充分的驗證和測試,從而為系統的魯棒性提供高度的信心。
使用ADI公司智能驅動器套件進行快速原型設計
選擇正確的原型硬件是設計過程中的重要一步。ADI公司的智能驅動器套件可實現快速、高效的原型設計。安富利Zynq-7000全可編程SoC ARM雙核Cortex-A9 + 28 nm可編程邏輯與最新一代ADI公司的高精度數據轉換器和數字隔離相結合,安富利Zynq-7000全可編程SoC/ADI智能驅動器套件可實現高性能電機控制和雙千兆以太網工業網絡連接。該套件配有安富利ZedBoard 7020基板和ADI公司的AD-FMCMOTCON1-EBZ模塊,這是一個完整的驅動系統,可為多種電機類型提供高效控制。此外,該套件還可以通過ADI公司的AD-DYNO1-EBZ測功機驅動系統進行擴展,該系統是一種動態可調負載,可用于測試實時電機控制性能。AD-FMCMOTCON1-EBZ模塊由控制器和驅動板組成,如圖4所示。
圖4.AD-FMCMOTCON1-EBZ框圖。
該控制器板是一款混合信號 FPGA 夾層卡 (FMC),設計用于連接任何具有低引腳數 (LPC) 或高引腳數 (HPC) FMC 連接器的 Xilinx FPGA 或 SoC 平臺。它的特點是:
使用隔離式ADC測量電流和電壓
隔離式賽靈思 XADC 接口
完全隔離的數字控制和反饋信號
霍爾、差分霍爾、編碼器和旋轉變壓器接口
2 Gb 以太網 PHY,支持高速工業通信協議,如 EtherCAT、ProfiNET、Ethernet/IP 或 Powerlink
FMC信號電壓自適應接口,可在所有FMC電壓電平上無縫運行
隔離是任何電機控制系統的一個關鍵方面,需要保護控制器和用戶。控制器板上模擬和數字信號的完全隔離可確保FPGA平臺始終受到保護,免受電機驅動側可能出現的危險電壓的影響。
驅動板包含驅動電機所需的所有電力電子設備以及電流和電壓檢測和保護電路。該板具有以下特點:
驅動 12V 至 48V 范圍內的 BLDC(無刷直流)/PMSM(永磁同步電機)/有刷直流/步進電機,最大電流為 18A
動態制動功能以及集成的過流和反向電壓保護
使用隔離式ADC進行相電流測量;可編程增益放大器最大化電流測量輸入范圍
向控制器板提供直流母線電壓、相電流和總電流反饋信號
集成 BEMF 過零檢測,用于永磁同步電機或 BLDC 電機的無傳感器控制
測功機是一種動態可調負載,可用于測試實時電機控制性能,由兩個通過剛性連接直接耦合的 BLDC 電機組成。其中一個 BLDC 電機充當負載,由測功機的嵌入式控制系統控制;第二個電機由ADI智能驅動套件驅動,如圖5所示。該系統配備了一個用戶界面,顯示有關負載電流和速度的信息,允許設置不同的負載曲線。外部控制可以通過使用模擬發現USB示波器直接從MATLAB使用MathWorks儀器控制工具箱進行負載信號捕獲和控制來實現。 ??
圖5.測功機驅動系統。
任何電機控制系統的性能都受到電機電流和電壓測量質量的極大影響。通過使用高性能模擬信號調理元件和ADC,ADI智能驅動套件可提供精確的電流和電壓測量。測量路徑在控制器和驅動板之間劃分,如圖6所示。
圖6.相電流信號鏈。
通過測量分流電阻兩端的電壓來檢測相電流。兩種可能的測量路徑旨在獲得最佳測量精度,具體取決于ADC是否靠近分流電阻。當ADC靠近分流電阻時,信號路徑非常短,不易發生噪聲耦合。分流電阻上的小差分電壓由隔離式Σ-Δ調制器AD7401直接測量,無需額外的接口和信號調理電路。當ADC遠離分流電阻時,信號路徑很長,容易產生噪聲耦合,特別是電源開關噪聲和電機噪聲。必須特別注意確保ADC和分流電阻之間的PCB走線和信號調理電路得到適當屏蔽。分流電阻上的小差分電壓通過差動放大器AD8207放大到驅動板上,該差動放大器靠近分流電阻以避免噪聲耦合。信號從±125 mV滿量程輸入范圍放大到±2.5 V范圍,以最大限度地降低耦合噪聲的影響。放大后的信號使用可編程增益儀表放大器(PGIA)AD8251經過另一個放大級,確保ADC始終接收到適當調整以適應輸入范圍的輸入信號。放大的模擬信號通過連接器到達控制器板。該連接器包括對每個模擬信號的屏蔽,以減輕噪聲耦合。來自驅動板的模擬信號使用運算放大器ADA4084-2移回AD7401輸入范圍。
電流和電壓反饋信號鏈中最重要的部分是二階隔離式Σ-Δ調制器AD7401A。這款高性能 ADC 具有無失碼的 16 位分辨率、13.3 有效位數 (ENOB) 和 83dB SNR。2線數字接口包括一個20 MHz時鐘輸入和一個1位數字比特流輸出。ADC輸出使用sinc重建3數字濾波器。數據手冊中提供了16位輸出和78 kHz采樣速率的濾波器模型和HDL實現方案。輸出分辨率和采樣率可以通過改變濾波器模型和抽取來控制。雖然 78kHz 采樣速率對于許多應用來說可能已經足夠好了,但在某些情況下需要更高的采樣率。在這些情況下,濾波器組(如圖7所示)可用于將系統的采樣速率提高到10 MSPS,處理真正的16位數據。濾波器組包含 n 個 sinc。3采樣時鐘延遲 T 倍數的濾波器,即 sinc。3濾波器傳播時間除以 n。數據選擇器以等于T的周期輸出ADC代碼。
圖7.過濾器組。
相電流測量也可以由 Zynq XADC 執行。XADC信號測量鏈使用常規測量鏈的整個路徑,并在AD7401 Σ-Δ調制器之后添加一個Sallen-Key模擬重建濾波器。該濾波器使用AD8646運算放大器在控制器板上實現,如圖8所示。隔離式Σ-Δ調制器和模擬重建濾波器的組合提供了一種方便、低成本的方法,可以在不影響測量質量的情況下實現XADC輸入信號的模擬隔離。
圖8.XADC 信號測量鏈。
ADI公司的智能驅動套件隨附一套Simulink控制器模型、完整的Xilinx Vivado框架和ADI Linux基礎設施,允許用戶完成設計電機控制系統所需的所有步驟,從仿真開始,經過原型設計,最后到生產系統實施。
兩種控制器型號(六步控制器和 PMSM 磁場定向控制器)可用于啟動設計過程。圖 9 顯示了這兩個控制器的頂級視圖。六步控制器實現了用于 BLDC 電機的梯形控制器;FOC 控制器提供用于集成控制系統的 FOC 內核。
圖9.同步控制器模型。
在仿真階段創建工廠和控制器模型,并對整個系統的行為進行仿真,以驗證控制器是否按預期運行。控制器模型被劃分為將在 C 代碼和 HDL 中實現的組件,并指定了時序、定點實現、采樣速率和循環時間等約束,以確保控制器模型的行為與硬件實現中的行為相同。圖 10 顯示了六步控制器在軟件和 HDL 之間的分區。
圖 10.C 代碼和 HDL 中的控制器分區。
一旦控制器在仿真中得到充分驗證,下一步就是在硬件平臺上對其進行原型設計。Zynq SoC 引導式工作流程從 Simulink 模型生成 C 代碼和 HDL,該模型劃分為面向 ARM 內核和可編程邏輯的子系統。通過此工作流,HDL 編碼器生成面向可編程邏輯的 HDL,而嵌入式編碼器生成面向 ARM 的 C 代碼。MathWorks Zynq 支持包支持生成 ARM 可執行文件,該可執行文件由模型的算法 C 代碼組成,該代碼與 AXI 總線接口,以及由來自模型的 HDL 代碼組成的比特流生成,該模型與可編程邏輯引腳和 AXI 總線接口。圖11顯示了控制器實現以及與ADI智能驅動硬件的關系。
圖 11.原型系統上的控制器實現。
一旦將比特流和可執行文件加載到硬件中,就可以開始控制器的操作測試。硬件在環 (HIL) 測試是使用 Simulink 和運行開源 Linux 操作系統的嵌入式系統之間的以太網鏈路執行的。 可以在 Simulink 中捕獲軸速度等電機參數,并與仿真結果進行比較,以確保物理系統實現與模型匹配。控制算法測試完成后,控制器可以轉移到生產系統。
ADI公司與智能驅動器套件一起提供了完整的Vivado框架和Linux基礎架構,可用于原型設計和最終生產。圖 12 顯示了支持智能驅動器套件的 Zynq 基礎架構。此高級圖表顯示了 ADI 參考設計如何在 Xilinx Zynq SoC 上進行分區。可編程邏輯實現IP核,用于與ADC、位置傳感器和電機驅動級接口。HDL編碼器生成的HDL表示電機控制算法,集成到ADI公司的IP中。所有 IP 都具有用于配置和控制的低速 AXI-Lite 接口,以及允許它們通過 DMA 通道將實時數據傳輸到軟件級別的高速 AXI-Streaming 接口。高速以太網接口可以使用 ARM 處理系統的硬 MAC 外設或可編程邏輯中的 Xilinx 以太網 IP 來實現。
ARM Cortex A9處理系統運行由ADI公司提供的Ubuntu Linux。這包括與ADI公司智能驅動硬件接口所需的Linux IIO驅動程序、用于監測和控制的IIO示波器(示波器)用戶空間應用程序、允許對TCP進行實時數據采集和系統控制的libiio服務器、在遠程計算機上運行的客戶端,以及包含嵌入式編碼器生成的C代碼的可選用戶應用程序。
圖 12.ADI Linux 基礎架構。
所有ADI Linux驅動程序都基于Linux工業I/O(IIO)子系統,該子系統現在包含在所有主線Linux內核中。IIO Scope是由ADI公司開發的開源Linux應用,運行在Xilinx Zynq內部的雙ARM Cortex A9s上,能夠顯示從連接到Xilinx Zynq平臺的任何ADI公司FMC卡獲取的實時數據。數據可以顯示在時域、頻域或星座圖中。支持不同的流行文件格式,例如逗號分隔值或 .mat Matlab 文件,以保存捕獲的數據以供進一步分析。IIO示波器提供圖形用戶界面,用于更改或回讀ADI公司FMC卡的配置。
libiio服務器允許對TCP以及遠程計算機上運行的客戶端進行實時數據采集和系統控制。服務器在 Linux 下的嵌入式目標上運行,并通過 TCP 管理目標和遠程客戶端之間的實時數據交換。IIO 客戶端可作為系統對象集成到本機 MATLAB 和 Simulink 應用程序中。HDMI輸出用于在顯示器上顯示Linux接口,而鍵盤和鼠標可以通過USB 2.0端口連接到系統。
ADI為智能驅動器套件提供的Linux軟件和HDL基礎設施,以及MathWorks和Xilinx提供的工具,是電機控制應用原型設計的理想選擇。它們還包含可集成到最終控制系統中的生產就緒組件,從而有助于減少從概念到生產所需的時間和成本。
結論
本文闡述了支持FPGA的現代電機控制系統的要求和趨勢,以及MathWorks、Xilinx和ADI公司為滿足這些限制并幫助推動更高效、更精確的電機控制解決方案而推向市場的工具和系統。通過將 MathWorks 基于模型的設計和自動代碼生成工具與功能強大的 Xilinx Zynq SoC 以及 ADI 公司的隔離、電源、信號調理和測量解決方案相結合,電機驅動系統的設計、驗證、測試和實施可以比以往更加有效,從而提高電機控制性能并縮短上市時間。ADI公司的智能驅動器套件與安富利Zynq-7000全可編程SoC配合使用,為使用MathWorks的Simulink設計的電機控制算法提供了出色的原型設計環境。智能驅動器套件附帶一組參考設計4旨在為任何想要評估系統并幫助啟動任何新電機控制項目的人提供一個起點。
審核編輯:郭婷
-
FPGA
+關注
關注
1630文章
21796瀏覽量
605996 -
驅動器
+關注
關注
53文章
8271瀏覽量
147058 -
soc
+關注
關注
38文章
4204瀏覽量
219091
發布評論請先 登錄
相關推薦
評論