張飛 南京大學(xué)金陵學(xué)院信息科學(xué)與工程系 210089
基于EDA的直流電機(jī)PWM控制
張飛 南京大學(xué)金陵學(xué)院信息科學(xué)與工程系 210089
可編程門陣列器件(FPGA)的使用簡化了電路的系統(tǒng)結(jié)構(gòu),提高了系統(tǒng)工作的穩(wěn)定性和可靠性。利用硬件描述語言(VHDL)對(duì)FPGA進(jìn)行編程,在片內(nèi)可以實(shí)現(xiàn)電機(jī)控制邏輯,包括速度等級(jí)模塊、鋸齒波發(fā)生器存模塊、數(shù)字比較模塊、正反轉(zhuǎn)模塊等。
可編程門陣列器件; PWM; 硬件描述語言
電子設(shè)計(jì)自動(dòng)化(EDA,E1ecbonics Design Automation)是一種以計(jì)算機(jī)為基本工作平臺(tái),利用計(jì)算機(jī)圖形學(xué)、拓?fù)溥壿媽W(xué)、計(jì)算數(shù)學(xué)、人工智能學(xué)等多種計(jì)算機(jī)應(yīng)用學(xué)科的最新成果開發(fā)出來的一整套軟件工具,是用于幫助電子設(shè)計(jì)工程師從事電子元件、產(chǎn)品和系統(tǒng)設(shè)計(jì)的綜合技術(shù)[1]。
直流電機(jī)由于具有速度控制容易,啟、制動(dòng)性能良好,且在寬范圍內(nèi)平滑調(diào)速等特點(diǎn)而在冶金、機(jī)械制造、輕工等工業(yè)部門中得到廣泛應(yīng)用。直流電動(dòng)機(jī)轉(zhuǎn)速的控制方法可分為兩類,即勵(lì)磁控制法與電樞電壓控制法。勵(lì)磁控制法控制磁通,其控制功率雖然小,但低速時(shí)受到磁飽和的限制,高速時(shí)受到換向火花和換向器結(jié)構(gòu)強(qiáng)度的限制;而且由于勵(lì)磁線圈電感較大,動(dòng)態(tài)響應(yīng)較差。所以常用的控制方法是改變電樞端電壓調(diào)速的電樞電壓控制法。調(diào)節(jié)電阻R即可改變端電壓,達(dá)到調(diào)速目的。但這種傳統(tǒng)的調(diào)壓調(diào)速方法效率低。隨著電力電子技術(shù)的進(jìn)步,出現(xiàn)了許多新的電樞電壓控制方法,其中PWM(脈寬調(diào)制)是常用的一種調(diào)速方法。其基本原理是用改變電機(jī)電樞(定子)電壓的接通和斷開的時(shí)間比(占空比)來控制馬達(dá)的速度,在脈寬調(diào)速系統(tǒng)中,當(dāng)電機(jī)通電時(shí),其速度增加;電機(jī)斷電時(shí),其速度減低。只要按照一定的規(guī)律改變通、斷電的時(shí)間,即可使電機(jī)的速度達(dá)到并保持一穩(wěn)定值。最近幾年來,隨著微電子技術(shù)和計(jì)算機(jī)技術(shù)的發(fā)展及單片機(jī)的廣泛應(yīng)用,使調(diào)速裝置向集成化、小型化和智能化方向發(fā)展。
直流電動(dòng)機(jī)轉(zhuǎn)速的控制方法可分為兩類,即勵(lì)磁控制法與電樞電壓控制。在對(duì)直流電動(dòng)機(jī)電樞電壓的控制中,調(diào)節(jié)方式有脈沖幅值調(diào)PAM(Pulse Amplitude Modulation)和脈沖寬度調(diào)制PWM(Pulse Width Modulation)兩種。在PAM方式中,直流母線電壓可調(diào),通過調(diào)節(jié)直流母線電壓的大小來調(diào)節(jié)電機(jī)轉(zhuǎn)速。在PWM方式中,直流母線電壓不可調(diào),通過斬波調(diào)節(jié)電機(jī)輸入電壓的平均值,從而達(dá)到調(diào)節(jié)轉(zhuǎn)速的目的。最常用的直流調(diào)速技術(shù)是脈寬調(diào)制(PWM)直流調(diào)速技術(shù),它具有調(diào)速精度高、響應(yīng)速度快、調(diào)速范圍寬和耗損低等特點(diǎn)。本系統(tǒng)采用電樞電壓控制法,是通過調(diào)節(jié)PWM觸發(fā)信號(hào)的占空比來改變伺服電的平均輸入電壓,從而實(shí)現(xiàn)調(diào)速的目的[2]。電動(dòng)機(jī)的電樞繞組兩端的電壓平均值U0為:
式中,D為占空比,Us電源電壓,D的變化范圍為[0,1]。由式(1)可知,當(dāng)電源電壓Us不變的情況下,電樞兩端電壓的平均值U0取決于占空比D的大小,改變D值也就改變了電樞兩端電壓的平均值,從而達(dá)到控制電動(dòng)機(jī)轉(zhuǎn)速的目的,即實(shí)現(xiàn)PWM控制。
本設(shè)計(jì)是通過鋸齒波發(fā)生器在CLK1的激勵(lì)下輸出周期性的鋸齒波。兩路計(jì)數(shù)器的輸出同時(shí)加在數(shù)字比較器上,當(dāng)鋸齒波發(fā)生器模塊輸出值小于速度等級(jí)模塊輸出的規(guī)定值時(shí),比較器輸出低電平;當(dāng)鋸齒波發(fā)生器模塊輸出值大于速度等級(jí)模塊輸出的規(guī)定值時(shí),比較器輸出高電平。改速度等級(jí)模塊的設(shè)定值,就可以改變PWM輸出信號(hào)的占空比。速度等級(jí)模塊可以選擇不同的速度等級(jí),由Level控制速度等級(jí)的選取,CLK0是計(jì)數(shù)時(shí)鐘輸入端。
PWM波的生成如圖1所示:
圖1 PWM波生成圖
本設(shè)計(jì)是通過PWM控制來實(shí)現(xiàn)直流電機(jī)速度控制。PWM控制就是產(chǎn)生一定周期,占空比不同的方波信號(hào),當(dāng)占空比較大時(shí),電機(jī)轉(zhuǎn)速較高,否則電機(jī)轉(zhuǎn)速較低。當(dāng)采用FPGA產(chǎn)生PWM波形時(shí),只需FPGA內(nèi)部資源就可以實(shí)現(xiàn),數(shù)字比較器的一端接設(shè)定值輸出,另一端接鋸齒波發(fā)生器輸出。當(dāng)鋸齒波發(fā)生器的計(jì)數(shù)值小于設(shè)定值時(shí)輸出低電平,當(dāng)計(jì)數(shù)器大于設(shè)定值時(shí)輸出高電平,這樣就可通過改變?cè)O(shè)定值,產(chǎn)生占空比不同的方波信號(hào),從而達(dá)到控制直流電機(jī)轉(zhuǎn)速的目的。并且通過正反轉(zhuǎn)選擇模塊來控制電機(jī)的旋轉(zhuǎn)方向[3]。
直流電機(jī)控制電路主要由2部分組成,如圖2所示。
(1)FPGA中PWM脈寬調(diào)制信號(hào)產(chǎn)生電路;
(2)FPGA中正/反轉(zhuǎn)方向控制電路。
圖2 總體設(shè)計(jì)框圖
目前實(shí)現(xiàn)PWM波形的方法很多,本文采用計(jì)數(shù)比較的方法產(chǎn)生PWM波形。該方法可以得到脈沖周期固定的PWM信號(hào)。PWM波形產(chǎn)生模塊可由以下幾部分組成:
(1)速度等級(jí)模塊。通過Level選擇輸入速度等級(jí),輸入等級(jí)的設(shè)定值計(jì)數(shù)器的輸出值增加,PWM的占空比增加,電機(jī)轉(zhuǎn)速加快;輸入速度等級(jí)設(shè)定值計(jì)數(shù)器的輸出值減小,PWM的占空比減小,電機(jī)轉(zhuǎn)速變慢。
(2)鋸齒波模塊發(fā)生器模塊。是利用計(jì)數(shù)器根據(jù)clk1的輸入進(jìn)行計(jì)數(shù),產(chǎn)生一個(gè)周期性的鋸齒波。
(3)比較器模塊。將速度等級(jí)模塊的輸出和鋸齒波模塊的輸出進(jìn)行比較,得到PWM信號(hào)。
(4)正反轉(zhuǎn)模塊。對(duì)PWM的輸出進(jìn)行選擇,確定它是正轉(zhuǎn)還是反轉(zhuǎn)。
本設(shè)計(jì)的電機(jī)驅(qū)動(dòng)電路采用的是一種典型的直流驅(qū)動(dòng)典論。電路得名于“H橋式驅(qū)動(dòng)電路”是因?yàn)樗男螤羁崴谱帜窰。4個(gè)三極管組成H的4條垂直腿,而電機(jī)就是H中的橫杠。要使電機(jī)運(yùn)轉(zhuǎn),必須導(dǎo)通對(duì)角線上的一對(duì)三極管。根據(jù)不同三極管對(duì)的導(dǎo)通情況,電流可能會(huì)從左至右或從右至左流過電機(jī),從而控制電機(jī)的轉(zhuǎn)向[4]。
本設(shè)計(jì)是通過向驅(qū)動(dòng)電路輸入兩個(gè)方向信號(hào)。如果Z信號(hào)為1,F(xiàn)信號(hào)為0,那么三極管T1和T4導(dǎo)通,電流從左至右流經(jīng)電機(jī),電機(jī)正轉(zhuǎn);如果Z信號(hào)變?yōu)?,而F信號(hào)變?yōu)?,那么T2和T3將導(dǎo)通,電流則反向流過電機(jī),電機(jī)反轉(zhuǎn)。其中電機(jī)的轉(zhuǎn)速是由PWM模塊產(chǎn)生的一定占空比的PWM波,用來控制電機(jī)轉(zhuǎn)速[5]。
PWM控制電路由速度等級(jí)模塊、鋸齒波發(fā)生器模塊、數(shù)字比較器模塊組成。鋸齒波發(fā)生器在CLK1的激勵(lì)下輸出從0開始的逐漸增大的鋸齒波。兩路計(jì)數(shù)器的輸出同時(shí)加在數(shù)字比較器上,當(dāng)鋸齒波發(fā)生器模塊輸出值小于速度等級(jí)模塊輸出的規(guī)定值時(shí),比較器輸出低電平;當(dāng)鋸齒波發(fā)生器模塊輸出值大于速度等級(jí)模塊輸出的規(guī)定值時(shí),比較器輸出高電平。改速度等級(jí)模塊的設(shè)定值,就可以改變PWM輸出信號(hào)的占空比。速度等級(jí)模塊可以選擇不同的速度等級(jí),由Level控制速度等級(jí)的選取,CLK0是計(jì)數(shù)時(shí)鐘輸入端[5]。
圖3、圖4分別是占空比為0.2、0.4的PWM波時(shí)序仿真圖。通過Level改速度等級(jí)模塊設(shè)定值,可以改變1個(gè)PWM周期中高低電平的比值,即PWM輸出信號(hào)的占空比。驅(qū)動(dòng)直流電機(jī)轉(zhuǎn)動(dòng)的是PWM電流的平均值,PWM輸出信號(hào)的占空比變化,從而也改變了直流電機(jī)的轉(zhuǎn)速。計(jì)算機(jī)仿真結(jié)果表明,F(xiàn)PGA電機(jī)控制電路能有效地產(chǎn)生PWM控制信號(hào)控制電機(jī)的轉(zhuǎn)速,且控制精度由FPGA中的數(shù)字比較器決定。
圖3 占空比為0.2的波形仿真
圖4 占空比為0.4的波形仿真
本文所介紹的系統(tǒng)是一個(gè)基于CPLD/FPGA的PWM調(diào)速系統(tǒng)。它控制的對(duì)象是永磁式直流力矩電動(dòng)機(jī),該直流力矩電動(dòng)機(jī)可以直接由H橋PWM驅(qū)動(dòng)器驅(qū)動(dòng)。本設(shè)計(jì)把電機(jī)系統(tǒng)與具有內(nèi)部結(jié)構(gòu)重組、現(xiàn)場可編程的CPLD/ FPGA芯片完美的相結(jié)合起來實(shí)現(xiàn)對(duì)電機(jī)速度的精確控制。由于PLD具有連續(xù)連接結(jié)構(gòu),易于預(yù)測延時(shí),使電路仿真會(huì)更加準(zhǔn)確,且編程方便,速度快,集成度高,價(jià)格低,從而使系統(tǒng)研制周期大大縮短,產(chǎn)品的性能價(jià)格比提高。
[1]曾繁泰. VHDL程序設(shè)計(jì)[M]. 北京: 清華大學(xué)出版社. 2003.
[2]蔣璇. 數(shù)字系統(tǒng)設(shè)計(jì)與PLD應(yīng)用技術(shù)[M]. 北京: 電子工業(yè)出版社.1997.
[3]陳雪松, 滕立中. VHDL入門與應(yīng)用[M]. 北京: 人民郵電出版社. 2000.
[4]徐志軍. 大規(guī)模可編程邏輯器件及其應(yīng)用[M]. 成都: 電子科技大學(xué)出版社. 2004.
[5]趙雅興. FPGA原理及應(yīng)用[M]. 天津:天津大學(xué)出版社. 2000.
10.3969/j.issn.1001-8972.2010.21.069