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