基于FPGA高速硬件在環(huán)仿真器實現(xiàn)電機控制器測試
介紹
電機在現(xiàn)代生活中扮演著重要角色。出于對安全、成本及效率的考慮,工程師——尤其是混合電動力汽車(HEV)工程師——往往希望在特定的真實環(huán)境下通過仿真電機模型對電機控制器進行測試。
由于在經(jīng)濟及環(huán)境等方面展現(xiàn)出的優(yōu)勢,HEV受到了廣泛的關注,而電機正是HEV的核心部件。尤其是考慮到HEV的電機及電力電子器件體積大, 成本高; 在讓控制器去控制這些實際的部件前, 先用硬件在環(huán)仿真的方法來測試和驗證控制器的性能是非常必要的.
本文討論基于FPGA而設計的高速HIL仿真器來實現(xiàn)電機控制器測試。下圖為HIL測試系統(tǒng)。
電機驅(qū)動仿真器包括DC電壓源、逆變器橋路以及電機。我們支持永磁同步電機(PMSM)及無刷DC電機(BLDC).
為何需要基于FPGA的硬件在環(huán)仿真器
現(xiàn)代電機驅(qū)動系統(tǒng)通常由脈沖寬度調(diào)制(PWM)所驅(qū)動。下圖描述了PWM的基本概念。
電機控制器將參考波形與三角載波相比較,從而確定門控制信號的狀態(tài)。
當時,上面一個電力電子器件的門極控制信號為高, 下面的器件的控制信號為低
當時,上面一個電力電子器件的門極控制信號為低, 下面的器件的控制信號為高
準確檢測門信號的開關時刻對仿真器正確產(chǎn)生仿真信號來說非常重要。否則仿真器可能產(chǎn)生抖動、非特征諧波等不準確結果,甚至變得不穩(wěn)定。下圖為PMSM電機驅(qū)動的電流波形仿真結果。
PWM頻率為10 kHz??梢钥吹?,50 kHz的仿真循環(huán)速率還不足以讓仿真器及時地檢測出開關時刻
因此不能獲得精確結果。檢測結果中包含了不想要的諧波分量,使結果與期望值偏差很大。而在200 kHz的循環(huán)速率下,檢測結果就好了很多。
為了獲得精確結果,仿真器的采樣間隔必須比控制器的PWM周期小很多。如此高循環(huán)速率的應用使基于FPGA的方案成為理想選擇。我們的定點PMSM模型及定點BLDC模型均能在40個FPGA時鐘周期內(nèi)完成一次更新運算。
提示:有時,期望仿真循環(huán)速率可能超過模擬了I/O所能夠達到的速率。一般此時無需更新模擬I/O(扭矩輸入、電流輸出等)來匹配仿真循環(huán)率,用戶可使用多頻編程來保持數(shù)字I/O及仿真循環(huán)處于高速率,從而用于門信號開關時刻的精確檢測,而將模擬I/O設置于另一個循環(huán)狀態(tài),之后再通過FIFO在兩個不同頻率的循環(huán)間傳輸數(shù)據(jù)。
設計的前提假設
a. 電力電子器件的理想開關模型
將電力電子器件建模為理想開關,當門信號為真(高)時,開關為理想的短路電路。當門信號為假(低)時,開關為理想的開路電路。理想開關模型非常適用于系統(tǒng)級仿真,此時我們不關心電力電子器件的寄生效應。此外,理想開關模型可大幅提升仿真速度。
對于電力電子器件的熱損失,可以計算其等效電阻,并將此電阻值計入電機的總電阻。
b. 積分方法
電機的數(shù)學模型是一組微分方程。當在FPGA上仿真電機驅(qū)動模型時,實際上是在FPGA上對這些微分方程進行積分。由于期望的積分步長非常的小,僅為幾微秒的量級。
所以用戶可選擇最簡單的積分方法,如歐拉方法,此方法適用于小步長情況。
方案流程圖
下圖為創(chuàng)建基于FPGA電機仿真器的流程圖。
第一步,用戶需要采集電機參數(shù)及原始數(shù)據(jù)。通過浮點仿真來驗證仿真結果是否與測量數(shù)據(jù)相符。然后采用定點仿真來驗證定點電機模型,確定精度是否達到要求、輸出結果是否令人滿意。完成定點模型驗證后,就可以進入最終部署階段。
應對定點實現(xiàn)的挑戰(zhàn)
不同的電機通常具有相差較大的功率級,然而定點數(shù)據(jù)類型的范圍及精度是確定的,因此選擇合適的定點數(shù)據(jù)類型非常重要,否則量化誤差就會快速積累從而導致錯誤的仿真結果。用戶往往難以調(diào)整或校準所有的定點數(shù)配置來適應自己的情況。美國國家儀器公司提供以下方案來應對這些挑戰(zhàn)。
a. 歸一化系統(tǒng)
除了使用工程單位外,電氣工程師還使用歸一化系統(tǒng)。歸一化系統(tǒng)將電流、電壓、速率等統(tǒng)一度量,使其操作點的歸一化值接近1.0。歸一化系統(tǒng)的這一特點非常適用于定點實現(xiàn)。通過歸一化可將定點電機模型用于各類不同電機。
使用歸一化系統(tǒng)以后,用戶可為定點電機模型選擇確定的預定義定點數(shù)據(jù)類型。下表為部分選擇列表。
字長 | 整數(shù)字長 | 數(shù)據(jù)范圍 | |
歸一化電流 | 32 | 5 | [-16, 16) |
歸一化速率 | 32 | 4 | [-8, 8) |
歸一化電壓 | 24 | 4 | [-8, 8) |
以上選擇都為極端情況(如電流過載等)留有余量。
確定以上參數(shù)的定點數(shù)據(jù)類型可幫助用戶選擇內(nèi)部計算單位的定點配置,如下圖中Idq至Iabc的轉(zhuǎn)換。
b. 將部分計算量移至主機
電機仿真過程涉及一些除法操作,如。此類操作不涉及電流等時變參數(shù),因此用戶無需每步都更新該值。用戶可將這個除法操作移至主機來運算,避免在FPGA中進行除法運算的棘手問題。
因此針對定點電機模型共需兩個VI。主機VI處理一些除法操作及參數(shù)轉(zhuǎn)換工作;FPGA VI用于仿真目標的定點電機模型。
案例
下圖顯示了定點PMSM模型在加速及減速過程中的速率及電磁轉(zhuǎn)矩。
用戶可在上圖中觀察到減速階段的再生制動效應。當電機將能量回饋給DC電源(電池)時,電磁轉(zhuǎn)矩為負值。
結論
本文介紹了基于LabVIEW FPGA的電機驅(qū)動仿真器,可以用來幫助用戶通過NI-RIO硬件創(chuàng)建高速電機驅(qū)動HIL測試。
評論