哈爾濱理工大學 姚博文 王洪洋 李 曉 王建民
基于FPGA的無人機電調模塊設計
哈爾濱理工大學 姚博文 王洪洋 李 曉 王建民
為了實現對無刷直流電機(BLDC)的控制需求,提出了一種基于FPGA的無刷直流電機控制系統設計方案,并完成系統的硬件與控制算法設計。該系統的外圍硬件電路部分主要用來驅動電機,FPGA部分采用VerilogHDL進行編程,能夠完成電機控制信號輸出和反饋信號檢測,使用PID算法對電機速度進行調節(jié)控制。實際應用表明,該系統具有實時性高、控制輸出準確穩(wěn)定的特點,達到了設計要求。
無刷直流電機;FPGA;VerilogHDL;PID
無刷直流電機廣泛應用于車輛、飛機以及工業(yè)生產設備的動力系統,動力系統是實現一切動態(tài)應用功能的基礎,隨著科技設備應用功能的豐富化,對運動控制提出了更高的要求,這也就需要有一款性能優(yōu)越的電機控制器去滿足該方面的要求。
本文基于FPGA控制芯片設計了一套無刷直流電機控制系統,與目前基于單片機或DSP的控制器相比,SOPC技術采用軟硬件相結合的方式,將完整的電子系統設計于一塊FPGA芯片中,電路規(guī)模、可靠性以及開發(fā)成本最優(yōu)化,同時也提高了外部硬件設計的靈活性[1]。本文采用京微雅格公司的CME-M7芯片為控制核心,利用硬件描述語言在FPGA內部實現對電機的邏輯控制,外部電路設計只用做電機驅動和將模擬量轉換為數字量。這有效的減少了外部分立器件的使用,提高了系統的整體靈活性和擴展性。所設計的電機控制系統具有體積小巧、控制速度快等可靠性高等特點,并同過實驗測試,對其性能指標進行驗證,達到了設計目標[2]。
BLDC電機是同步電機中的一種,即定子產生磁場與轉子產生磁場頻率相同。BLDC根據定子繞組數量可分為單相、兩相和三相,本文以應用最為廣泛的三相電機為例進行控制器設計。無刷直流電機控制器由外部電路和FPGA控制系統兩部分組成。
外部驅動電路采用全N-MOSFET三相六臂全橋電路,利用MOS管的開關特性控制三相電機中的兩相交替導通,達到換向的目的。同時設計有反電動勢檢測電路和霍爾傳感器接口,可以用來檢測電機轉子位置,確定換向時間和電機轉速。為達到提高FPGA驅動能力和保護主控芯片的目的,需要在控制芯片和三相電橋間通過一個三相電機驅動芯片(DRV8302)相連,該芯片同時具有過流、過壓保護功能,既可以達到應用目的,又能夠簡化外圍電路。
FPGA邏輯設計主要是可以產生六路PWM信號,同時根據換向控制信號,每次輸出其中的兩路互補PWM波,由于功率器件都存在一定的節(jié)電容,所以存在開關延遲問題,為了避免當一個管子還沒有完全關閉而另一管子又導通的現象出現,需要在PWM信號互補輸出時設計死區(qū)時間。為實現電機調速轉動平滑,FPGA還需設計PID算法對速度進行閉環(huán)反饋控制,為采集反饋量,FPGA需要設計有通訊接口用來與外設通訊[3-6]。設計總體框圖如圖1所示。
圖1 BLDC控制器設計框圖
外部硬件電路主要由N-MOSFET三相六臂全橋電路、三相電橋驅動電路、AD采樣電路和反電動勢檢測電路組成。外部硬件電路框圖如圖2所示。
圖2 外部硬件電路框圖
三相六臂全橋電路由六個NMOS組成,每一個半橋由MOS_ H和MOS_L兩個MOS管組成,MOS_H漏極接電壓正極,源級接MOS_L的漏級,MOS_L的源級接電源負極,另外兩個半橋連接方式相同。每個半橋連接三相電機中的一相,利用PWM波控制MOS管的通斷,每次導通兩個MOS管,即使三相電機繞組中的兩相通電,如此交替往復,實現電機的換向。
由于FPGA等控制芯片自身驅動電橋的能力有限,所以需要引入驅動芯片,選用TI公司的DRV8302,該芯片內部設計有三相柵極驅動器、降壓穩(wěn)壓器和雙路分流放大器,自帶過流、過壓、過溫和欠壓保護功能。使用該芯片在滿足了驅動功能的同時又起到保護電路的作用,還有效的簡化了外部電路。
AD采樣電路主要用來檢測電橋三路電流,利用高精度電阻將電流轉換為可測電壓,再將電壓經過ADC模塊轉化為數字量供FPGA檢測。
反電動勢檢測電路用來檢測電機反電動勢以控制換向。BLDC開始轉動后由于線圈繞組切割磁感線作用會產生反電動勢,由于電機每次換向只有兩相導通,這樣就可以通過檢測未導通相的反電動勢以確定換向時間。此外,還可以采用霍爾傳感器檢測電機位置來控制換向?;魻杺鞲衅魇且环N磁場傳感器,當磁場經過霍爾傳感器式會對其內部的電勢產生影響,利用這一特點可以用多個霍爾傳感器以一定角度擺放在電機磁體附近以檢測電機轉子位置來確定換向時間。
整體電路設計簡潔,具有擴展性強、體積小、集成度高等特點。適用與多數三相電機,并可配合不同控制單元使用。
FPGA選用京微雅格的CME-M7芯片,該芯片集成了主流的ARM Cortex-M3內核和高性能FPGA,其數據與程序空間均動態(tài)可調。通過將FPGA、CPU、SRAM、ASIC、Flash以及模擬單元等功能模塊集成在單一芯片上,CME-M7不僅極大的降低了工程師的開發(fā)設計難度,有效減小了所需的板間面積還極大的降低了系統成本,具備超高系統性價比。
FPGA設計總體框圖如圖3所示。
圖3 FPGA設計總體框圖
FPGA作為主要控制單元,主要負責產生控制信號和處理反饋信息。
BLDC控制信號主要是PWM波,控制電機啟動、停止、換向以及正轉或反轉。PWM(Pulse Width Modulation)通過控制占空比使MOS管以一定的頻率通斷。設計FPGA雙向計數器,并設置標記比較位,當計數器開始工作向上計數時,內部比較器不斷將當前計數值與標志位比較,如果計數值小于標志為則輸出高電平,否則輸出低電平,如果計數值等于預設最大計數值,則開始向下計數,如果計數到預設最小計數值則計數器又開始向上計數,循環(huán)往復。由此可以通過設置最大、最小計數值來確定PWM周期;通過設定計數比較標記位來設置占空比。控制一路BLDC一共需要六路PWM波,每次換向過程只允許其中兩路PWM輸出,而且要求兩路PWM信號必須為互補形式輸出,同時為了避免兩個MOS管的同時導通,還需要設置死區(qū)時間,使一個MOS管盡可能完全關斷后另一個MOS管才開始導通[7-11]。
由于實際電路中的電流、反電動勢都是模擬量,所以需要外部AD將它們轉換成數字量供FPGA使用。電流量主要用來檢測電橋電流大小,對整個系統提供檢測作用。反電動勢用來控制換向時間和計算轉動速度。速度量和電流量也是PID控制模塊的兩個最為主要的反饋量。PID控制采用雙環(huán)反饋結構,系統控制原理框圖。
圖4 系統控制原理框圖
圖5 Modelsim仿真結果
電流環(huán)作用是及時限制大電流,保護電機。速度環(huán)的作用是抑制速度波動增強系統抗負載擾動能力[11-16]。
系統設計完成后首先對硬件電路和FPGA邏輯設計兩部分分別進行測試與仿真。對于硬件電路主要對其進行通電后電壓電流測試。檢測穩(wěn)壓電路輸出電壓值、MOS管導通電流值等。對于FPGA邏輯部分主要對其進行Modelsim功能和時序仿真,查看輸出波形與期望值是否一致(見圖5)。
經過硬件測試和軟件仿真系統各項指標滿足設計要求。之后進行聯合調試。連接實物進行電機調速測試,測試控制電機正反轉。經過實物調試本次設計系統達到設計與其目標,實現BLDC電機控制功能,且電機轉動平滑可靠。
該BLDC電機控制系統采用高性能FPGA作為主控芯片,配合設計有通用電機驅動電路。該系統在很大程度上提高了控制性能,簡化了電路體積,豐富了系統功能。通過實際應用測試表明該系統具有電機調試擾動小、可靠性高、使用方便等特點,達到了設計要求。
[1]楊運,廖勇,李凡.基于FPGA的無刷直流電機舵機控制器設計[J].微電機,2010,3:48-51.
[2]李福軍.基于FPGA的無刷直流電機控制器研究[J].制造業(yè)自動化, 2014,9:111-117.
[3]程時兵,王煒.基于DSP的無刷直流電機位置伺服系統設計[J].電子設計工程,2016,(05):110-112.
[4]呂蓉,黎陽生.一種無刷直流電機電流采樣及保護電路的設計[J].電子設計工程,2014,(17):79-81.
[5]Sathyan A,Milivojevic N,Lee Y J,et al.An FPGA-Based Novel Digital PWM Control Scheme for BLDC Motor Drives[J]. IEEE Transactions on Industrial Electronics, 2009, 56(8):3040-3049.
[6]Kim T H, Lee B K, Ehsani M. Sensorless control of the BLDC motors from near zero to high speed[C]// Applied Power Electronics Conference and Exposition, 2003. Apec ‘03. Eighteenth IEEE. 2003:306-312 vol.1.
[7]周榮栓,劉馬利.基于FPGA的BLDC控制器的研究[J].科技致富向導, 2011(17).
[8]敬光紅.基于FPGA的無刷直流電機數字控制方法研究[J].電子器件, 2016(1).
[9]黃曉冬. 基于FPGA的永磁電機控制系統的研究[D]. 浙江大學電氣工程學院 浙江大學, 2010.
[10]王杰,朱紅,齊蓉.一種應用于無刷直流電機數字控制的系統設計[J]. 電氣傳動自動化, 2005, 27(6):31-33.
[11]趙岷. 基于FPGA的控制器研究[D]. 西北工業(yè)大學, 2002.
[12]龔金國.基于DSP的無刷直流電機數字控制系統的研究與設計[D]. 西安理工大學, 2005.
[13]李凡.基于FPGA的全數字無刷直流電機控制系統研究[D].重慶大學, 2010.
[14]葉長青, 尹華杰. 無刷直流電機速度的模糊控制方法[J]. 電氣傳動, 2006, 36(3):3-7.
[15]史召峰, 孫承峰.BLDC控制系統中PWM調制方式分析與比較[J]. 西安文理學院學報:自然科學版,2016,19(1):36-40.
[16]張相軍, 陳伯時.無刷直流電機控制系統中PWM調制方式對換相轉矩脈動的影響[J].電機與控制學報,2003, 7(2):87-91.
Design of motor speed control module of UAV Based on FPGA
YAO BO-wen,WANG HONG-yang ,LI Xiao,WANG JIAN-min
(Harbin University of Science and Technology, Harbin 150080, China)
In order to control the brushless DC motor (BLDC), a design scheme of Brushless DC motor control system based on FPGA was proposed, and the hardware and control algorithm design of the system was completed. The system peripheral hardware circuit part mainly used to drive motor, FPGA with VerilogHDL programming, to complete motor control output signal and the feedback signal detection, the PID algorithm is used to regulate the motor speed control. The practical application shows that the system has the characteristics of high real-time, accurate and stable output control, and the design requirements are achieved.
Brushless DC motor; FPGA; VerilogHDL; PID
姚博文(1993—),男,黑龍江佳木斯人,研究生,研究方向:電子科學與技術。