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