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