衛(wèi)建華,高燚,鄧云兵
(西安工程大學(xué) 電子信息學(xué)院,陜西 西安 710048)
基于MAX10的多路PWM控制系統(tǒng)研究
衛(wèi)建華,高燚,鄧云兵
(西安工程大學(xué) 電子信息學(xué)院,陜西 西安710048)
為了實現(xiàn)多個無刷直流電機同時控制的需求,提出了一種基于MAX10多路PWM發(fā)生控制系統(tǒng)。該控制系統(tǒng)依據(jù)由可編程邏輯器件FPGA實現(xiàn)多路PWM控制系統(tǒng)的原理和方法,選擇新型FPGA芯片MAX10作為主控芯片,該芯片集成了AD采樣控制、控制算法和PWM波形生成等電路,大大降低了電路的復(fù)雜程度。仿真和實驗結(jié)果驗證了可編程邏輯器件的高速處理性能及所設(shè)計控制系統(tǒng)的可行性。
MAX10;FPGA;PWM;無刷直流電機
在電力電子電路中,單片機主要用作數(shù)據(jù)采集和運算處理、電流電壓調(diào)節(jié)、PWM信號生成、系統(tǒng)狀態(tài)監(jiān)控和故障自我診斷等,作為整個電路的主控芯片運行來完成多種綜合功能。單片機[1-3]一般擁有一個或兩個高級定時器,只能可以產(chǎn)生6路或者12路電機控制PWM波,即只可控制1個或者兩個無刷直流電機,不能同時控制多個電機。同時,單片機的工作頻率和控制精度是一對不可調(diào)節(jié)的矛盾,兩者協(xié)調(diào)程度會直接影響電機的控制性能。與單片機相比,DPS具有更快的處理速度、更高的集成度和更大容量的存儲器。在電力電子裝置中,DSP[4-5]主要完成主電路控制、系統(tǒng)實時監(jiān)控及保護、系統(tǒng)通信等功能。DSP也存在一些局限性,如采樣頻率的選擇、PWM信號頻率及其精度、采樣延時、運算時間及其精度等均不能滿足系統(tǒng)需求。
與單片機和DPS相比,F(xiàn)PGA具有簡潔、經(jīng)濟、高速度、低功耗等優(yōu)勢,又具有全集成化、適用性強、便于開發(fā)和維護,頻率更高、速度更快,這些特點順應(yīng)了FPGA[6-8]在電機控制電路中日趨復(fù)雜的控制應(yīng)用。
文中提出了一種采用MAX10實現(xiàn)多路數(shù)字化PWM發(fā)生控制系統(tǒng)的方案。該控制系統(tǒng)能產(chǎn)生多路PWM脈沖,具有開關(guān)頻率可調(diào)、各路脈沖間的相位可調(diào)、接口簡單、響應(yīng)速度快、易修改、可現(xiàn)場編程等特點,可應(yīng)用于多個無刷直流電機的控制中。
系統(tǒng)方案采用模塊化的設(shè)計思想,所設(shè)計的模塊集成度高,不影響其他分模塊,每個模塊之間通過相應(yīng)的標(biāo)志位進行協(xié)同工作。系統(tǒng)的總體設(shè)計方案如圖1所示,方案包括ADC外圍電路,MOSFET驅(qū)動電路,AD采樣單元,PWM輸出單元、通信單元、電機控制單元等。本設(shè)計將AD采樣單元、PWM輸出單元、通信單元都封裝成IP核的形式,使用NIOS II調(diào)用這些IP核,并在NIOS II中實現(xiàn)電機的控制。
圖1 系統(tǒng)總體設(shè)計
為了滿足多路PWM的輸出,系統(tǒng)需要滿足實時性和同步性較高,提供的時鐘頻率高,內(nèi)部延時小,電路盡量簡單等要求。本設(shè)計采用 Altera公司的 MAX10 SA系列芯片10M08SAE144C8GES,該芯片集成功能包括模數(shù)轉(zhuǎn)換器(ADC)和雙配置閃存,支持一個芯片上存儲兩個鏡像,在鏡像間動態(tài)切換。與CPLD不同,MAX 10 FPGA還包括全功能FPGA特性,例如,Nios II軟核嵌入式處理器、數(shù)字信號處理(DSP)模塊和軟核DDR3存儲控制器等。
MAX 10內(nèi)部集成的ADC模塊具有12 bit精度,并且最多可以支持到17個ADC輸入采樣通道,包含1個專用模擬輸入和最多16個雙功能引腳,不使用ADC時,還可以將雙功能引腳當(dāng)作GPIO引腳使用。MAX 10 ADC是1 MHz逐次逼近型寄存器(SAR)模數(shù)轉(zhuǎn)換器。如果正確設(shè)置PLL和Altera模塊化ADC IP內(nèi)核,ADC在正常采樣時以1 MHz工作。
系統(tǒng)的硬件設(shè)計包括ADC外圍電路,MOSFET驅(qū)動電路、電流采樣電路等。
3.1ADC外圍電路設(shè)計
ADC外圍電路由基準(zhǔn)電壓電路和電流檢測電路組成,準(zhǔn)電壓基準(zhǔn)電壓是電子電路中的電壓標(biāo)準(zhǔn),是測量、標(biāo)定電路中其他電壓的依據(jù)。為了保證電壓采集的精度,充分發(fā)揮MAX10內(nèi)部ADC的性能,需要選用高精度的ADC基準(zhǔn)電壓。
MAX10需要一個2.5 V的基準(zhǔn)電壓作為內(nèi)部ADC的參考,基準(zhǔn)電壓芯片采用REF43。REF43是一款具有精密低功耗基準(zhǔn)電壓產(chǎn)生芯片,在2.5 V輸出時,此芯片的誤差率最大只有±0.05%。該芯片非常適合作為ADC的參考電壓,它對輸出電壓及其溫度系數(shù)進行齊納擊穿調(diào)整,可以確保溫度小,其溫度漂移系數(shù)最大為10 pm/°C。
電流檢測電路是檢測在無刷直流電機運行與啟動階段是否有過流的情況,用以保護電機和場效應(yīng)管。電流檢測電路是由一個采樣電阻和一個運算放大器構(gòu)成的。由于電機在運行階段電流會比較大,采樣電阻的阻值不能很大,方案中選用0.5歐姆左右的錳銅絲電阻RX作為采樣電阻。流過采樣電阻的電流會再電阻兩端產(chǎn)生一個適當(dāng)?shù)碾妷?,得到的電壓?jīng)過一個R4和C22組成的一階低通濾波器到運放中。由于MAX10的ADC的采樣電壓的范圍是0~2.5 V,圖中的運算放大器組成了一個正向放大電路,使得運放輸出的最大電壓為2.5 V。這樣就不會超過MAX10的量程,保護了FPGA芯片不會燒毀。
3.2MOSFET驅(qū)動電路設(shè)計
驅(qū)動器的驅(qū)動放大電路包括H全橋電路和MOSFET驅(qū)動電路。MOSFET驅(qū)動電路主要是產(chǎn)生足夠的驅(qū)動能力驅(qū)動后級的H全橋MOSFET管。H全橋直接控制無刷直流電機,方案所選用的驅(qū)動器是IR2101。
IR2101[9]是雙通道、柵極驅(qū)動、高壓高速功率驅(qū)動器,該器件采用了高度集成的電平轉(zhuǎn)換技術(shù),大大簡化了邏輯電路對功率器件的控制要求,同時提高了驅(qū)動電路的可靠性。同時上管采用外部自舉電容上電,使驅(qū)動電源數(shù)目較其他IC驅(qū)動大大減少,在工程上減少了控制變壓器體積和電源數(shù)目,降低了產(chǎn)品成本,提高了系統(tǒng)可靠性。
MOSFET驅(qū)動電路如圖2所示,N溝道場效應(yīng)管需要在柵源極電壓必須要達到10~20 V才能完全導(dǎo)通。C1和D1的作用是與負(fù)載組成一個BOOST升壓電路,在IR2101的VB腳上產(chǎn)生一個+12 V的電壓,IR2101會用VB腳的電壓來驅(qū)動上橋臂的MOSFET。
圖2 MOSFET驅(qū)動電路
方案的軟件部分,采用了模塊化的設(shè)計方式,每個模塊只有其特定功能,在各模塊運行過程中不會影響其他模塊的正常工作。每個模塊都有其運行標(biāo)志位,通過運行標(biāo)志位,頂層程序控制各模塊的系統(tǒng)運行。
4.1PWM產(chǎn)生單元設(shè)計
采用FPGA實現(xiàn)PWM波形有許多種方法,但是大都占用資源較多,對于PWM的占空比、頻率等的修改比較繁瑣。本設(shè)計采用計數(shù)比較法產(chǎn)生PWM脈沖波形。
PWM產(chǎn)生單元由5個模塊組成,分別是初始相位模塊、頻率模塊、占空比模塊、計數(shù)器模塊和觸發(fā)模塊。計數(shù)器模塊是一個16位的計數(shù)器,在0~65536的范圍內(nèi)計數(shù)、計數(shù)器模塊的時鐘采用PLL提供的50 MHz。系統(tǒng)時鐘通過計數(shù)器模塊和頻率模塊的頻率寄存器產(chǎn)生PWM波的周期和觸發(fā)器的觸發(fā)信號。占空比設(shè)置模塊包含了數(shù)據(jù)鎖存和數(shù)據(jù)比較子模塊。觸發(fā)器模塊由一個RS觸發(fā)器構(gòu)成。計數(shù)器在每個上升沿進行自加1計數(shù)。當(dāng)計數(shù)器的值為00H或者10 000H時,計數(shù)器輸出高電平給觸發(fā)器的置位端,觸發(fā)器的輸出一直保持高電平,當(dāng)占空比模塊的值與計數(shù)器模塊的值相等時,占空比模塊輸出高電平給觸發(fā)器的復(fù)位端,觸發(fā)器輸出低電平。為了使PWM單元封裝成IP軟核,為其設(shè)置了5個寄存器,分別為初始相位寄存器、頻率寄存器、占空比寄存器、電平觸發(fā)寄存器、死區(qū)時間寄存器等。通過設(shè)置這些寄存器的值可以改變產(chǎn)生PWM波的初始相位、頻率、占空比、觸發(fā)模式、死區(qū)時間等,從而實現(xiàn)PWM波的完全可調(diào)。
4.2AD單元設(shè)計
MAX 10的AD單元主要是采集無刷直流電機的母線電壓和母線電流,對無刷直流電機進行過壓、過流、欠壓保護。本設(shè)計的AD單元主要采用MAX 10自帶的模數(shù)轉(zhuǎn)換控制器進行采樣。
針對MAX 10 FPGA,Altera公司推出了集成的ADC IP核供用戶進行ADC的控制。ADC IP內(nèi)核的生成首先在IP Catalog界面中選擇Altera Modular ADC Core,添加ADC模塊的IP。然后配置ADC模塊的參數(shù),其中ADC Input Clock的頻率為 40 MHz,使能所需要的讀取的通道。設(shè)置ADC定序器的大小及順序,ADC每進行一輪采樣,依次把相應(yīng)通道的值存入定序器對應(yīng)的寄存器中。從通道所對應(yīng)的定序器寄存器中讀取相應(yīng)AD槽的轉(zhuǎn)換值。
圖3 AD采樣程序流程圖
AD采樣程序設(shè)計流程如圖3所示。AD采樣程序采用輪詢的方式讀取AD槽的數(shù)據(jù)。程序開始設(shè)置定時器為50ms中斷一次,使能AD采樣,等待定時器中斷。定時器產(chǎn)生中斷,讀取所需要AD槽的數(shù)據(jù)并且連續(xù)采樣10次,等待濾波處理。AD采樣濾波算法采用算數(shù)平均濾波算法,即對連續(xù)采樣的10次采樣值進行算數(shù)平均運算,求取10次采樣值的平均值。電機在負(fù)載不變的平穩(wěn)運行中,電機的母線電壓和母線電流會保持在一個平均值的上下波動,干擾采樣值的往往是隨機干擾的信號,采用算數(shù)平均濾波的方法可以有效的濾除這種隨機的干擾信號。
4.3RS232通訊單元設(shè)計
在多路PWM發(fā)生控制器設(shè)計中,上位機需要對發(fā)生控制器進行控制,同時控制器也得向上位機發(fā)送反饋信息。針對這種通信要求,采用RS323總線方式進行上下位機通信。為保證數(shù)據(jù)的不丟失、不誤傳、電機運行可靠,設(shè)計了一種簡潔、可靠、可擴展的通訊協(xié)議。
通信協(xié)議包括7個幀,分別為握手幀、地址幀、數(shù)據(jù)屬性幀、數(shù)據(jù)幀、擴展幀、校驗幀、結(jié)束幀。每個數(shù)據(jù)幀各占1個字節(jié),共7個字節(jié)。握手幀為通信協(xié)議的頭,包含自定義通信協(xié)議的類型;上位機和下位機都有自己的唯一的地址,地址幀記錄了收信方的地址;數(shù)據(jù)屬性幀為要發(fā)送數(shù)據(jù)屬性的類型分為控制類型、運行監(jiān)控類型等;數(shù)據(jù)幀根據(jù)數(shù)據(jù)屬性幀的格式發(fā)送相應(yīng)的數(shù)據(jù);擴展幀為自定義通訊協(xié)議升級預(yù)留;校驗幀校驗數(shù)據(jù)正確性;結(jié)束幀標(biāo)志一條通信數(shù)據(jù)發(fā)送完畢。
具體通信過程如下:
1)上位機首先發(fā)送只有握手幀與地址幀有數(shù)據(jù)的通信格式,向系統(tǒng)進行檢測。系統(tǒng)若正常,上位機則會收到下位機的地址確認(rèn)反饋。若系統(tǒng)檢測錯誤則上位機發(fā)出錯誤警報,并對下位機進行相應(yīng)操作。
2)系統(tǒng)確定正常后,上位機向下位機發(fā)送正常的控制指令,下位機向上位機進行正常的數(shù)據(jù)上傳。
3)上下位機接收到正常的數(shù)據(jù),并根據(jù)數(shù)據(jù)進行相應(yīng)的動作。
4.4電機控制策略
無刷直流電機屬于同步交流電機,通過設(shè)計可使其磁勢為梯形波。電機的控制策略采用三三導(dǎo)通的調(diào)制方式,即無刷直流電機的每兩相工作時,會有3個MOSFET導(dǎo)通,這種調(diào)制方式是120°調(diào)制。
對于無刷直流電機的控制本設(shè)計采用速度環(huán)PI控制,電流環(huán)截止控制,即設(shè)置電流閾值,一旦超過電流閾值關(guān)閉所有的MOSFET。在無刷直流電機轉(zhuǎn)速單閉環(huán)系統(tǒng)中,電樞電流通常不可測,為保證電機的正常啟動,PWM占空比從一個較小的但是足以克服負(fù)載轉(zhuǎn)矩的值逐漸開始上升,直達達到預(yù)定轉(zhuǎn)速。然后控制系統(tǒng)轉(zhuǎn)入正常的轉(zhuǎn)速閉環(huán)控制。在正常運行中,轉(zhuǎn)速閉環(huán)采取PI控制的方法。PI調(diào)節(jié)采用數(shù)字增量式算法,算法如(1):
可得式(2):
兩式相減得式(3):
圖4 PI控制流程圖
PI控制程序是在換相中斷程序中進行,其控制流程如圖4所示。當(dāng)主程序進入PI子程序后首先判斷電機是否換向完成,未完成則繼續(xù)等待,完成則讀取轉(zhuǎn)速信息進入轉(zhuǎn)速數(shù)據(jù)轉(zhuǎn)換,進而PI運算計算偏差,得到相應(yīng)的PWM占空比,返回給主程序。
圖5為無刷直流電機的A相和C相電壓波形,波形為一系列PWM窄脈沖組合而成的近似梯形波的電機運行波形。無刷直流電機一般工作在矩形或者梯形波下,經(jīng)過試驗驗證,基于MAX10實現(xiàn)的多路數(shù)字化PWM發(fā)生控制系統(tǒng)可以完成無刷直流電機的驅(qū)動。
圖5 A相和C相電壓波形圖
本系統(tǒng)采用MAX10實現(xiàn)多路數(shù)字化PWM發(fā)生控制,通過實驗該控制系統(tǒng)能產(chǎn)生多路PWM,可應(yīng)用于多個無刷直流電機的控制。
[1]袁先圣,劉星,葉波.STM32的無刷直流電機控制系統(tǒng)設(shè)計[J].單片機與嵌入式系統(tǒng)應(yīng)用,2013(10):17-20.
[2]張晞,曾迪暉,王永立.基于STM32的無刷直流電機控制系統(tǒng)[J].儀表技術(shù)與傳感器,2013(9):68-69.
[3]胡發(fā)煥,任志斌,潘春榮.基于單片機的無位置傳感器無刷直流電機控制[J].電機與控制應(yīng)用,2014,41(6):19-22.
[4]陳誠,陳曉平,王識君.基于DSP+CPLD的電動舵機控制系統(tǒng)的設(shè)計[J].電子技術(shù)應(yīng)用,2015,41(4):84-86.
[5]段麗娜,趙金.基于DSP的無刷直流電機控制系統(tǒng)設(shè)計[J].自動化技術(shù)與應(yīng)用,2013,32(10):11-14.
[6]李福軍.基于FPGA的無刷直流電機控制器研究[J].制造業(yè)自動化,2014,36(9):111-113.
[7]薛萍,王海超,侯娟娟.基于FPGA的無刷直流電機控制系統(tǒng)的研究[J].控制工程,2012(18):26-30.
[8]余景華,楊冠魯,郭亨群.基于FPGA的無刷直流電機控制系統(tǒng)設(shè)計[J].微計算機信息,2008,24(11-2):220-222.
[9]蔣林,肖偉,珍瑪曲宗,等.基于IR2101最大功率跟蹤逆變器的設(shè)計與實現(xiàn)[J].電子設(shè)計工程,2010,18(11):27-29.
Study on MAX10-based multiplex PWM control system
WEI Jian-hua,GAO Yi,DENG Yun-bing
(School of Electronics and Information,Xi'an Polytechnic University,Xi’an 710048,China)
In order to control multiple brushless dc motor at the same time,it puts forward a multiplex PWM control system based on MAX10.According to the principle and method of multiplex PWM control system based on programmable logic device FPGA,the control system chooses new FPGA chip MAX10 as main control chip,the chip integrates with the AD sampling control,control algorithm and PWM waveform generating circuit,greatly reduces the complexity of the circuit. Simulation and experimental results verify the high speed processing performance of programmable logic devices and the feasibility of the designed control system.
MAX10;FPGA;PWM;brushless DC motor
TN8
A
1674-6236(2016)14-0139-04
2015-08-05稿件編號:201508024
西安工程大學(xué)研究生創(chuàng)新基金(CX2014015)
衛(wèi)建華(1968—),男,陜西西安人,碩士研究生,副教授。研究方向:網(wǎng)絡(luò)通信與圖像處理等。