工業(yè)設(shè)計(jì)人員可望借助快速建立原形技術(shù)和模塊基礎(chǔ)設(shè)計(jì),將馬達(dá)控制算法移至FPGA SoC環(huán)境中,藉此開發(fā)出以FPGA SoC為核心的馬達(dá)驅(qū)動(dòng)系統(tǒng),從而大幅減少組件數(shù)量與設(shè)計(jì)復(fù)雜性,同時(shí)降低系統(tǒng)成本并提高性能與穩(wěn)定性。
自90年代以來,馬達(dá)驅(qū)動(dòng)開發(fā)人員一直采用多芯片架構(gòu)執(zhí)行馬達(dá)電機(jī)控制與需求處理。在此架構(gòu)中,散離數(shù)字訊號處理(DSP)芯片負(fù)責(zé)執(zhí)行馬達(dá)控制算法、現(xiàn)場可編程門陣列(FPGA)執(zhí)行高速輸入輸出(I/O)與網(wǎng)絡(luò)協(xié)議,而離散型處理器則處理執(zhí)行控制。隨著FPGA SoC的推出,設(shè)計(jì)人員找到將這些功能合并至單一組件,并整合其他處理工作的方法。組件數(shù)量與復(fù)雜性的減少,不僅可以降低系統(tǒng)成本,還能提升系統(tǒng)效能與穩(wěn)定性。
但馬達(dá)驅(qū)動(dòng)開發(fā)人員應(yīng)如何才能改變既有的設(shè)計(jì)方法,轉(zhuǎn)而采用FPGA SoC呢?
長期以來,工業(yè)設(shè)計(jì)人員一直采用模型化基礎(chǔ)設(shè)計(jì),透過模擬和C代碼的產(chǎn)生,在數(shù)字信號處理器芯片上研發(fā)馬達(dá)控制算法。如今,賽靈思(Xilinx)與數(shù)學(xué)運(yùn)算軟件開發(fā)商MathWorks合作開發(fā)全新工作流程,能將模型化基礎(chǔ)設(shè)計(jì)擴(kuò)展至可支持處理系統(tǒng)與可編程邏輯的FPGA SoC--Zynq-7000 All Programmable SoC。
具備更高處理效能 FPGA SoC適用于馬達(dá)控制
當(dāng)前先進(jìn)的馬達(dá)控制系統(tǒng)都屬于控制算法與工業(yè)網(wǎng)絡(luò)的結(jié)合,包括EtherCAT、Profinet、Powerlink以及Sercos III,皆能從運(yùn)算資源中處理帶寬。此外,馬達(dá)控制系統(tǒng)現(xiàn)可結(jié)合包括運(yùn)動(dòng)控制層、可編程邏輯控制器(PLC)層、診斷層及用戶接口等其他需求,進(jìn)行節(jié)能和維修或遠(yuǎn)程監(jiān)控。這些需求能將適合處理系統(tǒng)的組件轉(zhuǎn)化為邏輯分割區(qū)與實(shí)體分割區(qū),而其他組件則適合于硬件輔助卸除與加速。
馬達(dá)開發(fā)人員所選擇的硬件平臺應(yīng)提供穩(wěn)健的可擴(kuò)展系統(tǒng)。FPGA SoC能滿足以上需求,同時(shí)搭配高效能處理系統(tǒng),以支持連網(wǎng)、動(dòng)態(tài)、軟PLC、診斷、遠(yuǎn)程維護(hù)等功能,與可編程設(shè)計(jì)邏輯結(jié)合,加速硬件中關(guān)鍵效能的功能。
在處理方面,F(xiàn)PGA SoC與內(nèi)建NEON協(xié)處理器和浮點(diǎn)擴(kuò)展的安謀國際(ARM)Cortex-A9雙核心處理系統(tǒng)相結(jié)合,可加速軟件執(zhí)行速度。在可編程設(shè)計(jì)邏輯組件方面,則搭配超過44.4萬個(gè)邏輯單元和二千二百個(gè)DSP48區(qū)間,能處理大量帶寬。利用五個(gè)高吞吐量AMBA-4 AXI高速互連,加上可編程設(shè)計(jì)邏輯與處理系統(tǒng)的緊密結(jié)合,相當(dāng)于三千多個(gè)PIN的有效帶寬。
運(yùn)用Simulink/控制系統(tǒng)工具箱 裝置與馬達(dá)模型開發(fā)完成
現(xiàn)代控制算法須跨越多個(gè)系統(tǒng)時(shí)間與系統(tǒng)變量,造成硬、軟件分割成為一項(xiàng)嚴(yán)峻、耗時(shí)且重復(fù)的任務(wù)。一個(gè)典型的馬達(dá)驅(qū)動(dòng),電源頻率通常為50~60Hz,經(jīng)過整流后,形成連續(xù)直流(DC)電壓。該直流電壓轉(zhuǎn)換成變頻電壓,可控制馬達(dá)端子所需的功率。此外,控制器必須讀取馬達(dá)基本變量,包括電流和電壓。控制器同樣須讀取或制定馬達(dá)軸心位置,包括軸心轉(zhuǎn)速和處理來自通訊網(wǎng)絡(luò)或監(jiān)視控制器的處理命令。
Simulink提供多域系統(tǒng)仿真和模型基礎(chǔ)設(shè)計(jì)的方塊圖環(huán)境,適用于具有控制算法和裝置模型的仿真系統(tǒng)。MathWorks的控制系統(tǒng)工具箱(Control Systems Toolbox)基于Simulink對控制系統(tǒng)建模常用之系統(tǒng)分析、設(shè)計(jì)與微調(diào)的方法,提供多種 「應(yīng)用」工具。利用Simulink執(zhí)行系統(tǒng)建模,可加快馬達(dá)控制系統(tǒng)的開發(fā)速度,同時(shí)在以下幾個(gè)方面降低風(fēng)險(xiǎn):
.降低受損風(fēng)險(xiǎn)
仿真法有助于全新控制系統(tǒng)算法的檢驗(yàn),可降低生產(chǎn)硬件測試前,損壞驅(qū)動(dòng)電子組件、馬達(dá)及系統(tǒng)其他組件的風(fēng)險(xiǎn)。
.加速系統(tǒng)整合
支持人員必須將控制系統(tǒng)新算法整合至生產(chǎn)系統(tǒng),這意味著部署新控制器會花費(fèi)他們已經(jīng)有限的時(shí)間,部署過程也可能變得冗長。
.減少對設(shè)備的依賴
生產(chǎn)環(huán)境在某些情況下,可能不能使用,例如客制化的驅(qū)動(dòng)電子組件或馬達(dá)驅(qū)動(dòng)方案尚在開發(fā)階段,或并不在控制系統(tǒng)設(shè)計(jì)人員可以取得的地方。
基于上列因素,仿真法是進(jìn)行生產(chǎn)硬件測試的最佳替代方案。Simulink等模擬環(huán)境可從既有的馬達(dá)電機(jī)組件構(gòu)建模塊庫,提供創(chuàng)建裝置模型框架,利用該裝置模型對新的控制系統(tǒng)架構(gòu)進(jìn)行評估。
將系統(tǒng)模型與快速成型環(huán)境及最終生產(chǎn)系統(tǒng)相連接,可進(jìn)一步降低時(shí)程風(fēng)險(xiǎn)。快速成型工作流程幫助算法開發(fā)人員在不依賴硬件設(shè)計(jì)人員的情況下,進(jìn)行原型設(shè)計(jì)。算法研究人員可在高度自動(dòng)化過程中采用特定平臺支持套件,將系統(tǒng)硬件和軟件組件部署到可編譯為特定硬件開發(fā)平臺的設(shè)計(jì)模板。硬件與軟件設(shè)計(jì)團(tuán)隊(duì)可將這些相同的硬件和軟件組件,重新應(yīng)用于最終生產(chǎn)系統(tǒng)之中,毋須做出任何修改,即可加速研發(fā)過程并減少失誤。
? ? ? ?
設(shè)計(jì)人員可將Zynq-7000 All Programmable SoC/模擬組件智能驅(qū)動(dòng)套件與Simulink及Zynq SoC工作流程相結(jié)合,實(shí)現(xiàn)馬達(dá)控制應(yīng)用的全套快速成型系統(tǒng)。該套件結(jié)合Zynq SoC與亞德諾(ADI)最新一代高精度數(shù)據(jù)轉(zhuǎn)換器及數(shù)字隔離器。
梯形馬達(dá)控制實(shí)例介紹
現(xiàn)在讓我們透過Simulink仿真將上述工作流程應(yīng)用于圖1中的馬達(dá)梯形控制系統(tǒng)。藉由仿真裝置評估控制器,采用智能驅(qū)動(dòng)套件對該控制器進(jìn)行原型設(shè)計(jì)。最后,利用硬件測試的結(jié)果來對Simulink模型進(jìn)行驗(yàn)證。
?
圖1 針對FPGA SoC的MathWorks工作流程,采用C代碼與HDL代碼生成。
在此實(shí)例中,我們使用智能驅(qū)動(dòng)套件驅(qū)動(dòng)以鋁盤形式存在的慣性載荷,搭配基礎(chǔ)梯形控制器。該控制器的主要組件如下:
.霍爾效應(yīng)傳感器
檢測馬達(dá)位置。
.速度預(yù)測器
根據(jù)傳感器訊號計(jì)算馬達(dá)轉(zhuǎn)子轉(zhuǎn)速。
.六步換向器
根據(jù)馬達(dá)轉(zhuǎn)子位置與轉(zhuǎn)速計(jì)算相位電壓與變頻器所產(chǎn)生的訊號。
.脈波寬度調(diào)變(PWM)
透過驅(qū)動(dòng)電路驅(qū)動(dòng)控制器輸出。
我們采用適用于控制回路分析的系統(tǒng)行為、控制回路模型。首先,利用仿真對模型進(jìn)行評估,透過脈波測試,指令設(shè)定為150轉(zhuǎn)/秒的轉(zhuǎn)速旋轉(zhuǎn),持續(xù)2秒,然后停止。透過調(diào)節(jié)控制回路的比例積分(PI)控制器,達(dá)到1.2秒的穩(wěn)定時(shí)間,將過沖忽略不計(jì)(圖2中A標(biāo)示即為控制回路模擬結(jié)果)。
?
圖2 根據(jù)硬件與軟件仿真模型驗(yàn)證硬件測試結(jié)果
設(shè)置好控制回路之后,可將控制器置于更加精準(zhǔn)的系統(tǒng)模型上進(jìn)行測試。與控制回路模型相比,系統(tǒng)模型內(nèi)含更加細(xì)化的驅(qū)動(dòng)電子系統(tǒng)模型,更重要的是,系統(tǒng)模型所包含的細(xì)化模型可采特定控制器與接口設(shè)備執(zhí)行,包括PWM與霍爾效應(yīng)傳感器處理過程中所使用的準(zhǔn)確時(shí)序模型。
我們已針對Zynq SoC分割控制器,搭配以1kHz頻率在ARM核心上運(yùn)行的速度控制器與速度預(yù)測器、換向器、霍爾傳感器,以及PWM均在Zynq SoC可編程設(shè)計(jì)邏輯上運(yùn)行。
我們可以對比控制回路和系統(tǒng)模型的仿真結(jié)果(圖2中B標(biāo)示即為系統(tǒng)模型結(jié)果)。一般來說,兩個(gè)波形間的相似度非常高,除了馬達(dá)速率趨進(jìn)于零時(shí)例外。此時(shí),霍爾傳感器的粗糙度非常明顯,馬達(dá)軸每次轉(zhuǎn)動(dòng)只有六個(gè)指標(biāo)的脈沖。這種高保真系統(tǒng)模型7分鐘內(nèi)即可運(yùn)行一次為時(shí)4秒的模擬,對于保真較低的控制回路模型而言,只能運(yùn)行一次為時(shí)7秒的模擬。
上述仿真結(jié)果可讓控制系統(tǒng)設(shè)計(jì)人員堅(jiān)信,控制回路模型對于進(jìn)一步評估控制器替代方案的準(zhǔn)確度高,毋須使用系統(tǒng)模型進(jìn)行硬件測試,即可驗(yàn)證替代方案。
有了這些發(fā)現(xiàn),我們即可利用智能驅(qū)動(dòng)套件設(shè)計(jì)出控制器的原型。透過FPGA SoC引導(dǎo)工作流程,利用Simulink模型產(chǎn)生的C與HDL代碼,分割成數(shù)個(gè)針對ARM核心及可編程設(shè)計(jì)邏輯的子系統(tǒng)(圖3)。
?
圖3 分割后的Simulink模型所產(chǎn)生的C與HDL代碼
我們按照上述工作流程,使用MathWorks的HDL代碼生成器產(chǎn)生將在Zynq SoC組件的可編程設(shè)計(jì)邏輯中運(yùn)行的IP核,以在ARM核心上執(zhí)行程序運(yùn)行,并在ARM核心與可執(zhí)行程序之間建立AXI總線接口。
將比特流加載可編程設(shè)計(jì)邏輯及在ARM核心上執(zhí)行程序運(yùn)行后,可進(jìn)行硬件回路測試。對此測試,我們移除驅(qū)動(dòng)電子系統(tǒng)、馬達(dá)及傳感器之Simulink改良測試平臺模型,因?yàn)椴捎糜布芈啡〈环抡娴难b置模型。
為了方便檢查測試結(jié)果,與模擬結(jié)果進(jìn)行對比,可將Zynq SoC設(shè)置成可儲存馬達(dá)軸速度量測及其他在ARM核心內(nèi)存中的數(shù)據(jù)(圖3中C標(biāo)示即為硬件測試結(jié)果)。這樣一來,透過運(yùn)用脈波輸入于測試平臺即可在測試結(jié)束時(shí),將結(jié)果上傳至MATLAB處理與可視區(qū),即可在硬件上執(zhí)行與仿真時(shí)相同的測試。原型設(shè)計(jì)的測試結(jié)果與模擬結(jié)果非常接近,其中包括因霍爾傳感器導(dǎo)致的馬達(dá)速度實(shí)測值中斷。
本文簡述FPGA SoC的MathWorks工作流程如何利用模型基礎(chǔ)設(shè)計(jì),實(shí)現(xiàn)仿真和原型設(shè)計(jì)。如繼續(xù)延伸至生產(chǎn)程序,設(shè)計(jì)人員可將產(chǎn)生的C和HDL代碼導(dǎo)入Vivado設(shè)計(jì)套件,進(jìn)而將這些代碼與執(zhí)行程序、聯(lián)網(wǎng)IP及完整系統(tǒng)執(zhí)行所需的設(shè)計(jì)組件進(jìn)行整合。
評論
查看更多