基于DSP+FPGA的多相變頻控制器設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
在電機(jī)驅(qū)動(dòng)系統(tǒng)應(yīng)用中,多相電機(jī)驅(qū)動(dòng)系統(tǒng)可以應(yīng)用在供電電壓受限制的場合,其作用是:(1)解決低壓大功率的問題;(2)減小振動(dòng)和噪音。由于電機(jī)相數(shù)增加,輸出轉(zhuǎn)矩脈動(dòng)減小、脈動(dòng)頻率增加,使驅(qū)動(dòng)系統(tǒng)低速特性得到很大的改善;(3)提高可靠性。由于相數(shù)冗余,當(dāng)多相電機(jī)驅(qū)動(dòng)系統(tǒng)中有一相甚至幾相發(fā)生故障時(shí),電機(jī)仍可運(yùn)行。因此,多相電機(jī)驅(qū)動(dòng)系統(tǒng)特別適合于高可靠性要求的場合,多相系統(tǒng)的這些優(yōu)點(diǎn)引起學(xué)術(shù)界和工程界的廣泛關(guān)注。由于多相系統(tǒng)采用的開關(guān)器件多,控制系統(tǒng)復(fù)雜,所以對(duì)多相系統(tǒng)控制器的性能要求較高[1-3]。
在三相變頻控制系統(tǒng)中,雖然DSP控制算法結(jié)構(gòu)復(fù)雜,但運(yùn)算速度高、尋址方式靈活和通信性能強(qiáng)大等特點(diǎn),已經(jīng)得到了廣泛應(yīng)用。而對(duì)于多相變頻控制系統(tǒng),還要求控制器的實(shí)時(shí)性能高、能夠處理大量數(shù)據(jù),并且要有更多接口用于PWM驅(qū)動(dòng)信號(hào),而這些要求FPGA都能滿足。
因此,本文在三相PWM信號(hào)產(chǎn)生方法的基礎(chǔ)上,提出一種基于DSP和FPGA的多相PWM信號(hào)的產(chǎn)生方法。采用這種方法設(shè)計(jì)了多相變頻控制器,其具有一定的通用性,可以通過上位機(jī)軟件對(duì)相數(shù)、調(diào)制波波形和控制方法進(jìn)行在線設(shè)置。
1 多相變頻控制器設(shè)計(jì)思想
多相變頻控制器的通用性表現(xiàn)在:(1)多相電機(jī)的相數(shù)可選;(2)載波頻率可選;(3)根據(jù)諧波注入的需要,可選擇不同調(diào)制波;(4)依據(jù)電機(jī)連接方式,可選擇不同的控制方法。
為了實(shí)現(xiàn)上述功能,本文采用模塊化的方法對(duì)控制器結(jié)構(gòu)進(jìn)行了設(shè)計(jì),控制器由上位機(jī)、DSP和FPGA三部分構(gòu)成,其總體結(jié)構(gòu)框圖如圖1所示。
上位機(jī)的操作軟件由面向?qū)ο蟮能浖?shí)現(xiàn)。從控制面板上可以控制電機(jī)運(yùn)行、停止,并且可對(duì)電機(jī)相數(shù)、載波頻率、調(diào)制波波形、死區(qū)時(shí)間等進(jìn)行設(shè)置。
為了最大限度地發(fā)揮DSP和FPGA各自的優(yōu)勢,由DSP主要實(shí)現(xiàn)控制算法、采集反饋信號(hào)及與上位機(jī)進(jìn)行通信;由FPGA實(shí)現(xiàn)調(diào)制算法,產(chǎn)生多相PWM信號(hào),這部分占用硬件資源多,而且對(duì)實(shí)時(shí)性要求高。
控制過程如下:
(1)上位機(jī)與DSP通過串行接口相連,在需要?jiǎng)幼鲿r(shí)向DSP發(fā)出指令。
(2)DSP根據(jù)接收到的指令調(diào)用相關(guān)函數(shù),如對(duì)系統(tǒng)進(jìn)行初始化、運(yùn)行相應(yīng)的控制算法、進(jìn)行信號(hào)采集等。
(3)通過DSP與FPGA并行通信,DSP對(duì)FPGA進(jìn)行調(diào)制算法的初始化并解除PWM封鎖,F(xiàn)PGA根據(jù)接收到的頻率和幅值進(jìn)行計(jì)算,產(chǎn)生PWM信號(hào)。
2 多相PWM波形產(chǎn)生
2.1 SPWM波形產(chǎn)生原理
正弦脈寬調(diào)制(SPWM)的產(chǎn)生原理如圖2所示。用一組等腰三角形波與一個(gè)正弦波比較,其交點(diǎn)作為SPWM波的上升或下降時(shí)刻。當(dāng)正弦波幅值大于三角波幅值時(shí),輸出為高電平;當(dāng)正弦波的幅值小于三角波的幅值時(shí),輸出為低電平[4]。
利用FPGA生成SPWM的基本原理是將三角波發(fā)生器產(chǎn)生的數(shù)字信號(hào)與存儲(chǔ)在ROM中的正弦波信號(hào)相比較,根據(jù)兩者的大小來決定SPWM波的輸出。
2.2 多相PWM波形產(chǎn)生
圖3給出了三相SPWM信號(hào)的產(chǎn)生方法。序列發(fā)生器的作用是按順序產(chǎn)生A相、B相、C相的時(shí)鐘信號(hào);地址合成與數(shù)據(jù)分離利用了分時(shí)復(fù)用的原理,目的是為了減少ROM的使用數(shù)量。多相正弦波只需一個(gè)ROM即可,也為外掛ROM創(chuàng)造了條件[5]。
在三相SPWM信號(hào)產(chǎn)生方法的基礎(chǔ)上,本文提出一種基于DSP和FPGA的能產(chǎn)生任意相數(shù)、任意波形(即調(diào)制波形)的方法,如圖4所示。
相位寄存器中保存著各相調(diào)制波間移向角度(如三相為120°)的信息,所以對(duì)相位寄存器的設(shè)置是實(shí)現(xiàn)多相PWM信號(hào)的必要步驟。
調(diào)制波控制單元是實(shí)現(xiàn)多相PWM信號(hào)的核心部分,這部分的功能與圖3中序列發(fā)生器、地址合成及數(shù)據(jù)分離部分類似,但是有如下不同:
(1)生成的調(diào)制波之間的相移是可以通過設(shè)置相位寄存器而自由改變的,而圖3中其相移是固定的,無法在線更改。
(2)規(guī)定三相調(diào)制波信號(hào)構(gòu)成一組調(diào)制波發(fā)生器(如圖3為一組),而調(diào)制波控制單元?jiǎng)t由多組調(diào)制波發(fā)生器構(gòu)成,組間的對(duì)應(yīng)相相差的相移是可以設(shè)置的。例如在控制雙三相電機(jī)時(shí),通常采用組內(nèi)相移設(shè)為120°,組間相移設(shè)為60°或30°。
調(diào)制波存儲(chǔ)器的功能類似于圖3中的正弦波ROM,它存儲(chǔ)由DSP計(jì)算得到的正弦波形或帶有諧波的調(diào)制波波形??刂破髅看紊想姾蠖家ㄟ^DSP對(duì)調(diào)制波存儲(chǔ)器進(jìn)行初始化設(shè)置,將DSP計(jì)算出的調(diào)制波表下載到調(diào)制波存儲(chǔ)器。
頻幅寄存器中存儲(chǔ)著調(diào)制波幅值和頻率,幅值和頻率在每個(gè)控制周期中由DSP計(jì)算得到。載波發(fā)生器(即三角波發(fā)生器)的載波頻率在線可調(diào);死區(qū)寄存器存有當(dāng)前的死區(qū)值,也可在線更改。封鎖保護(hù)單元用于在系統(tǒng)出現(xiàn)故障時(shí)封鎖PWM輸出信號(hào),保護(hù)主電路。
由于每個(gè)寄存器或存儲(chǔ)器中的數(shù)字信號(hào)均由DSP計(jì)算產(chǎn)生,所以必須通過DSP對(duì)FPGA的初始化和設(shè)置,F(xiàn)PGA才能實(shí)現(xiàn)以上功能。
3 多相變頻控制器實(shí)現(xiàn)
控制器采用型號(hào)為TMS320F2812的DSP作為主控芯片,這是一款專為電機(jī)控制所設(shè)計(jì)的芯片,不僅具有運(yùn)算速度快的特點(diǎn),而且集成了豐富的片內(nèi)外設(shè)資源。利用TMS320F2812片內(nèi)集成的16路12 bit A/D,可以對(duì)多達(dá)16路的電流或電壓進(jìn)行采樣;TMS320F2812的事件管理器模塊帶有QEP電路,可以對(duì)編碼器的正交編碼脈沖進(jìn)行解碼和計(jì)數(shù),從而實(shí)現(xiàn)計(jì)算電機(jī)轉(zhuǎn)子位置和轉(zhuǎn)速。
考慮到多相系統(tǒng)需要的資源很大以及功能的擴(kuò)展,采用Altera公司CycloneII系列的FPGA芯片EP2C35F484作為控制芯片,并在外部擴(kuò)展了100 MHz的有源晶振作為時(shí)鐘輸入,以提高控制精度。FPGA在完成PWM信號(hào)產(chǎn)生的同時(shí),還兼顧故障保護(hù)的任務(wù),當(dāng)接收到某一相的外部故障信號(hào)時(shí),封鎖這一相的PWM信號(hào)。硬件的實(shí)時(shí)保護(hù),提高了控制器的可靠性。
3.1 DSP與FPGA的通信接口設(shè)計(jì)
為了保證DSP和FPGA通信的快速性,DSP利用外部接口(XINTF)模塊與FPGA的用戶I/O口相連。由于選用的芯片兩者接口電壓都為3.3 V,故將DSP外部接口(XINTF)模塊的16 bit數(shù)據(jù)總線、19 bit地址總線與寫信號(hào)線XWE和FPGA的用戶I/O口直接相連,實(shí)現(xiàn)并行通信。
XINTF寫周期時(shí)序如圖5所示[6]。從圖中可以看出,在XWE的下降沿時(shí)刻,地址線XA的信號(hào)已送到總線上,而數(shù)據(jù)線XD的信號(hào)剛送到總線上;在XWE的上升沿時(shí)刻,地址線XA和數(shù)據(jù)線XD的信號(hào)均存在于總線上一段時(shí)間,而且已經(jīng)穩(wěn)定,所以令FPGA捕捉XWE的上升沿,在此時(shí)刻讀取信號(hào),以保證DSP和FPGA通信的準(zhǔn)確性。
通過DSP和FPGA的并行通信實(shí)驗(yàn),得到如圖6所示
的FPGA 在線接收到的由DSP 發(fā)送出的遞增數(shù)據(jù)( 地址和數(shù)據(jù)相同) 實(shí)測信號(hào)圖, 與分析結(jié)果相符。
3.2 軟件設(shè)計(jì)流程
系統(tǒng)軟件部分主要由主程序和中斷服務(wù)程序構(gòu)成。主程序包括對(duì)DSP 中斷、外設(shè)以及FPGA 調(diào)制策略的初
始化; 中斷服務(wù)程序主要完成恒壓頻比控制算法、速度閉環(huán)PID 調(diào)節(jié)器的控制算法以及刷新頻幅寄存器。其程序流程圖分別如圖7 、圖8 所示。
4 實(shí)驗(yàn)結(jié)果
利用本文方法設(shè)計(jì)的控制器產(chǎn)生5組、每組3相(即15相SPWM)信號(hào),組內(nèi)相移設(shè)為120°,組間相移設(shè)為72°。圖9為利用FPGA的輸入口觀測15相SPWM的15個(gè)上橋信號(hào)的波形,圖10為利用示波器觀測組內(nèi)相移120°的兩路SPWM信號(hào)波形,圖11為組間相移72°的兩路SPWM信號(hào)波形,圖12為同一相上下橋SPWM信號(hào)的波形。
本文提出了一種基于DSP和FPGA的多相PWM信號(hào)實(shí)現(xiàn)方法,并設(shè)計(jì)實(shí)現(xiàn)了多相變頻控制器。此控制器可以對(duì)多種相數(shù)的電機(jī)進(jìn)行變頻控制和多種控制方法的選擇,雖然目前還不夠完善(如無法實(shí)現(xiàn)矢量控制),但是其通用性和靈活性為多相電機(jī)的研究提供了一個(gè)良好的實(shí)驗(yàn)平臺(tái)。