基于Actel Fusion FPGA的無位置傳感器無刷電機控制器
無刷直流電機(BLDC)具有體積小,無機械觸點,壽命長,安裝方便的優(yōu)點,一直都是電機應(yīng)用的研究熱點。目前無刷電機控制基本上都是采用霍爾傳感器作為轉(zhuǎn)子位置反饋元件,但位置傳感器的存在不僅增加了電機的體積和成本,很大程度上還成為電機的故障源之一,使系統(tǒng)可靠性降低。所以無位置傳感器的無刷電機控制方案業(yè)已成為當前的研究熱點。
近年來,采用數(shù)字控制的無位置傳感器控制技術(shù),已逐漸成為今后無刷電機控制的發(fā)展趨勢。在此采用Actel公司的Fusion系列混合信號FPGA為控制器核心,設(shè)計了一款無位置傳感器無刷電機控制器。采用Fusion內(nèi)部特有的12位多路高速A/D轉(zhuǎn)換器,實現(xiàn)電機反電動勢檢測,使用內(nèi)嵌的51軟核實現(xiàn)速度閉環(huán)控制算法,成功實現(xiàn)無刷電機無位置傳感器控制方案,具有系統(tǒng)硬件方案簡單,集成度高,可靠性好,調(diào)速精度高等優(yōu)點。
2 系統(tǒng)方案設(shè)計
2.1 Fusion FPGA簡介翻
Actel Fusion系列器件是業(yè)界首款也是唯一具有模擬功能的Flash架構(gòu)的FPGA,融合了FPGA數(shù)字內(nèi)核、A/D轉(zhuǎn)換器、Flash存儲器、模擬的I/0、RTC等數(shù)字和模擬器件。Fusion器件內(nèi)部具有2~8 Mbit不等的用戶可用Flash存儲器和30通道、最高12位精度、最高600 Ks/s采樣率的A/D轉(zhuǎn)換器,片內(nèi)100 MHz的RC振蕩器與PLL(鎖相環(huán))一起共同為FPGA提供時鐘,以節(jié)省外部時鐘的開銷。這些特點極大地提高了該系列FPGA器件的功能,簡化了系統(tǒng)設(shè)計,大幅度減少了電路板面積和系統(tǒng)總成本。當Fusion系列FPGA器件結(jié)合8051,CortexMl,ARM7等軟件MCU核時,還可以實現(xiàn)真正的SoC系統(tǒng)。Actel Fusion系列FPGA器件是迄今為止最全面的單芯片模擬與數(shù)字可編程邏輯系統(tǒng)的解決方案。
2.2 控制器方案設(shè)計
根據(jù)無刷電機反電動勢檢測法原理,結(jié)合Actel FusionFPGA的內(nèi)部功能特性,設(shè)計了圖1所示的無刷電機控制方案。
在該設(shè)計方案中,F(xiàn)usion AFS600作為控制器核心,用內(nèi)嵌的軟核8051 MCU實現(xiàn)控制算法,高速12位A/D轉(zhuǎn)換器分別檢測三相繞組的反電動勢和外部電位器設(shè)定電壓。電位器設(shè)定電壓用于確定電機的轉(zhuǎn)動方向和轉(zhuǎn)速。通過FPGA邏輯實現(xiàn)LCD液晶屏接口,用于顯示設(shè)定轉(zhuǎn)速和實際轉(zhuǎn)速。此外一個重要的模塊是三相PWM波形發(fā)生模塊,通過可編程計數(shù)器實現(xiàn)。PLL模塊用于向單片機、A/D轉(zhuǎn)換器和PWM模塊提供基準時鐘信號。
外圍電路主要包括:LCDl602字符型液晶顯示器、設(shè)定轉(zhuǎn)速的電位器和無刷電機驅(qū)動器。無刷電機驅(qū)動器采用A3935三相全橋器件配合6個大功率NMOS管IRF2807S實現(xiàn)完整的無刷電機控制方案。每項繞組的反電動勢通過串聯(lián)電阻分壓并濾波再送入Fusion AFS600內(nèi)部的A/D轉(zhuǎn)換器。A3935是一款汽車級三相功率MOSFET驅(qū)動器,特別適用于無刷電機控制,具有過壓、欠壓、過流、過熱、短路和開路監(jiān)控功能,功能強,可靠性高等功能。
2.3 三相PWM產(chǎn)生
設(shè)計方案中采用Fusion的邏輯門電路實現(xiàn)了PWM頻率和占空比可連續(xù)調(diào)節(jié)的PWM發(fā)生模塊。其中,設(shè)定的頻率參數(shù)和占空比可根據(jù)A/D轉(zhuǎn)換器采集的電位器電壓值轉(zhuǎn)換為相應(yīng)的參數(shù)值,只要調(diào)節(jié)外部電位器就能產(chǎn)生6路占空比可調(diào)的PWM信號波形。下面給出的相關(guān)代碼是采用VerilogHDL語言編寫的一部分三相PWM的源碼。圖2示出用示波器測出的其中兩路PWM信號波形。
2.4 反電動勢檢測
實現(xiàn)反電動勢檢測原理是:無刷直流電動機在運轉(zhuǎn)過程中,同一時間只有兩相繞組處于工作狀態(tài),即該兩相所對應(yīng)的功率器件處于PWM狀態(tài),而第三相處于懸空狀態(tài),其端電壓等于感應(yīng)電動勢。反電動勢的過零點就發(fā)生在該相繞組懸空期間。此時通過檢測端電壓就能間接檢測該相反電動勢的過零點。該控制器的反電動勢檢測采用Fusion系列FPGA器件內(nèi)部的模擬模塊,三相端電壓經(jīng)過電阻分壓濾波后送入Fusion系列FPGA器件內(nèi)的12位A/D轉(zhuǎn)換器進行分時采樣。Fusion系列FPGA器件內(nèi)部采用分時循環(huán)采樣電位器設(shè)定電壓和三相繞組的反電動勢電壓,A/D轉(zhuǎn)換器將轉(zhuǎn)換結(jié)果分別存入相應(yīng)的數(shù)據(jù)寄存器。A/D轉(zhuǎn)換器循環(huán)采樣部分的
圖3示出用示波器測量到的實際反電動勢μ1和μ2的波形,由于反電動勢信號經(jīng)過一定的模擬濾波處理,信噪比較好,便于FPGA進行過零點檢測。
2.5 控制軟件設(shè)計
上述有關(guān)PWM產(chǎn)生模塊和A/D轉(zhuǎn)換器循環(huán)采樣模塊都是用Verilog HDL語言編寫的,在Actel Libero IDE集成開發(fā)環(huán)境下編譯通過并作為模塊調(diào)用,而調(diào)速控制算法的實現(xiàn)則使用了Fusion系列FPGA器件內(nèi)部的8051軟核實現(xiàn),開發(fā)工具是Keil C。圖4示出51軟核的算法流程。
3 結(jié)論
無刷電機控制器硬件平臺基礎(chǔ)上分別編制開發(fā)了FPGA內(nèi)部各功能單元,并進行了編譯鏈接和引腳分配。經(jīng)過實驗實現(xiàn)了對無刷電機的平穩(wěn)啟動和轉(zhuǎn)速調(diào)節(jié)。所用無刷電機24 V供電,額定轉(zhuǎn)速l 600 r/min。由該FPGA控制器控制的調(diào)速范圍為760~1 600 r/min內(nèi)連續(xù)可調(diào)。該控制器的實現(xiàn)充分體現(xiàn)了Actel Fusion系列混合信號FPGA在模數(shù)混合系統(tǒng)應(yīng)用中的高度集成性,真正單片SoC的優(yōu)點,為Fusion系列FPGA器件的應(yīng)用提供了參考價值。