設(shè)計人員可將Zynq-7000 All Programmable SoC/模擬組件智能驅(qū)動套件與Simulink及Zynq SoC工作流程相結(jié)合,實現(xiàn)馬達(dá)控制應(yīng)用的全套快速成型系統(tǒng)。該套件結(jié)合Zynq SoC與亞德諾(ADI)最新一代高精度數(shù)據(jù)轉(zhuǎn)換器及數(shù)字隔離器。
梯形馬達(dá)控制實例介紹
現(xiàn)在讓我們透過Simulink仿真將上述工作流程應(yīng)用于圖1中的馬達(dá)梯形控制系統(tǒng)。藉由仿真裝置評估控制器,采用智能驅(qū)動套件對該控制器進(jìn)行原型設(shè)計。最后,利用硬件測試的結(jié)果來對Simulink模型進(jìn)行驗證。
?
圖1 針對FPGA SoC的MathWorks工作流程,采用C代碼與HDL代碼生成。
在此實例中,我們使用智能驅(qū)動套件驅(qū)動以鋁盤形式存在的慣性載荷,搭配基礎(chǔ)梯形控制器。該控制器的主要組件如下:
.霍爾效應(yīng)傳感器
檢測馬達(dá)位置。
.速度預(yù)測器
根據(jù)傳感器訊號計算馬達(dá)轉(zhuǎn)子轉(zhuǎn)速。
.六步換向器
根據(jù)馬達(dá)轉(zhuǎn)子位置與轉(zhuǎn)速計算相位電壓與變頻器所產(chǎn)生的訊號。
.脈波寬度調(diào)變(PWM)
透過驅(qū)動電路驅(qū)動控制器輸出。
我們采用適用于控制回路分析的系統(tǒng)行為、控制回路模型。首先,利用仿真對模型進(jìn)行評估,透過脈波測試,指令設(shè)定為150轉(zhuǎn)/秒的轉(zhuǎn)速旋轉(zhuǎn),持續(xù)2秒,然后停止。透過調(diào)節(jié)控制回路的比例積分(PI)控制器,達(dá)到1.2秒的穩(wěn)定時間,將過沖忽略不計(圖2中A標(biāo)示即為控制回路模擬結(jié)果)。
?
圖2 根據(jù)硬件與軟件仿真模型驗證硬件測試結(jié)果
設(shè)置好控制回路之后,可將控制器置于更加精準(zhǔn)的系統(tǒng)模型上進(jìn)行測試。與控制回路模型相比,系統(tǒng)模型內(nèi)含更加細(xì)化的驅(qū)動電子系統(tǒng)模型,更重要的是,系統(tǒng)模型所包含的細(xì)化模型可采特定控制器與接口設(shè)備執(zhí)行,包括PWM與霍爾效應(yīng)傳感器處理過程中所使用的準(zhǔn)確時序模型。
我們已針對Zynq SoC分割控制器,搭配以1kHz頻率在ARM核心上運(yùn)行的速度控制器與速度預(yù)測器、換向器、霍爾傳感器,以及PWM均在Zynq SoC可編程設(shè)計邏輯上運(yùn)行。
我們可以對比控制回路和系統(tǒng)模型的仿真結(jié)果(圖2中B標(biāo)示即為系統(tǒng)模型結(jié)果)。一般來說,兩個波形間的相似度非常高,除了馬達(dá)速率趨進(jìn)于零時例外。此時,霍爾傳感器的粗糙度非常明顯,馬達(dá)軸每次轉(zhuǎn)動只有六個指標(biāo)的脈沖。這種高保真系統(tǒng)模型7分鐘內(nèi)即可運(yùn)行一次為時4秒的模擬,對于保真較低的控制回路模型而言,只能運(yùn)行一次為時7秒的模擬。
上述仿真結(jié)果可讓控制系統(tǒng)設(shè)計人員堅信,控制回路模型對于進(jìn)一步評估控制器替代方案的準(zhǔn)確度高,毋須使用系統(tǒng)模型進(jìn)行硬件測試,即可驗證替代方案。
有了這些發(fā)現(xiàn),我們即可利用智能驅(qū)動套件設(shè)計出控制器的原型。透過FPGA SoC引導(dǎo)工作流程,利用Simulink模型產(chǎn)生的C與HDL代碼,分割成數(shù)個針對ARM核心及可編程設(shè)計邏輯的子系統(tǒng)(圖3)。
?
圖3 分割后的Simulink模型所產(chǎn)生的C與HDL代碼
我們按照上述工作流程,使用MathWorks的HDL代碼生成器產(chǎn)生將在Zynq SoC組件的可編程設(shè)計邏輯中運(yùn)行的IP核,以在ARM核心上執(zhí)行程序運(yùn)行,并在ARM核心與可執(zhí)行程序之間建立AXI總線接口。
將比特流加載可編程設(shè)計邏輯及在ARM核心上執(zhí)行程序運(yùn)行后,可進(jìn)行硬件回路測試。對此測試,我們移除驅(qū)動電子系統(tǒng)、馬達(dá)及傳感器之Simulink改良測試平臺模型,因為采用硬件回路取代被仿真的裝置模型。
為了方便檢查測試結(jié)果,與模擬結(jié)果進(jìn)行對比,可將Zynq SoC設(shè)置成可儲存馬達(dá)軸速度量測及其他在ARM核心內(nèi)存中的數(shù)據(jù)(圖3中C標(biāo)示即為硬件測試結(jié)果)。這樣一來,透過運(yùn)用脈波輸入于測試平臺即可在測試結(jié)束時,將結(jié)果上傳至MATLAB處理與可視區(qū),即可在硬件上執(zhí)行與仿真時相同的測試。原型設(shè)計的測試結(jié)果與模擬結(jié)果非常接近,其中包括因霍爾傳感器導(dǎo)致的馬達(dá)速度實測值中斷。
本文簡述FPGA SoC的MathWorks工作流程如何利用模型基礎(chǔ)設(shè)計,實現(xiàn)仿真和原型設(shè)計。如繼續(xù)延伸至生產(chǎn)程序,設(shè)計人員可將產(chǎn)生的C和HDL代碼導(dǎo)入Vivado設(shè)計套件,進(jìn)而將這些代碼與執(zhí)行程序、聯(lián)網(wǎng)IP及完整系統(tǒng)執(zhí)行所需的設(shè)計組件進(jìn)行整合。
評論
查看更多