直流電機PWM控制的FPGA實現(xiàn)_第1頁
直流電機PWM控制的FPGA實現(xiàn)_第2頁
直流電機PWM控制的FPGA實現(xiàn)_第3頁
直流電機PWM控制的FPGA實現(xiàn)_第4頁
直流電機PWM控制的FPGA實現(xiàn)_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、 . . . 人文科技學院課程設計報告課程名稱:VHDL語言與EDA課程設計設計題目: 直流電機調速控制器 系 別: 通信與控制工程系 專 業(yè): 電子信息工程 班 級: 2008級電信1班 學生: 湘宇 晨旭 學 號: 08409107 08409101 起止日期:2011年06月15日 11年 06月24日指導教師: 田漢平 教研室主任: 侯海良 16 / 20指導教師評語: 指導教師簽名: 年 月 日成績評定項 目權重成績湘宇晨旭1、設計過程中出勤、學習態(tài)度等方面0.22、課程設計質量與答辯0.53、設計報告書寫與圖紙規(guī)程度0.3總 成 績教研室審核意見:教研室主任簽字: 年 月 日教學系

2、審核意見: 主任簽字: 年 月 日摘 要文章詳細地介紹了直流電機的類型、結構、工作原理、PWM調速原理以與FPGA集成芯片。并對直流電機PWM調速系統(tǒng)方案的組成、硬件電路設計、程序設計與系統(tǒng)仿真分別進行了詳細的敘述。擬開發(fā)的直流電機PWM調速裝置具有調速圍寬、低功耗、可實現(xiàn)在線調試等特點。本系統(tǒng)是以FPGA為其控制核心,輸入電路以鍵盤作為輸入方式向FPGA控制系統(tǒng)發(fā)出控制命令,以有源晶振構成的時鐘電路發(fā)出信號。控制系統(tǒng)接收命令后直接向H型橋式驅動電路發(fā)出PWM控制信號。輸出電路主要實現(xiàn)正反轉、起??刂?、速度在線可調功能。本設計已通過了實驗仿真。關鍵詞:直流電機;PWM;FPGA;有源晶振目錄設

3、計要求11、方案論證與對比11.1方案一11.2方案二22、設計原理與其實現(xiàn)過程32.1設計總原理32.2設計總原理圖52.3模塊設計和相應模塊程序52.3.1 PWM脈沖調制信號電路模塊52.3.2 二進制計數(shù)器電路模塊72.3.3 數(shù)字比較器模塊72.3.4 細分計數(shù)器電路模塊82.3.5 邏輯控制模塊92.4 電路的總仿真圖112.4.1正/反轉控制仿真112.4.2 啟/??刂品抡?12.4.3 加/減速仿真122.4.4 仿真結果分析133、課程設計結論與心得體會134、儀器儀表清單145、參考文獻156、致15附錄 電路完整程序程序15直流電機調速控制器設計設計要求設計一個直流電機

4、PWM調速控制器,并能進行正反轉控制;1、方案論證與對比1.1方案一基于單片機的直流電機PWM調速方案圖 1 基于單片機控制的PWM調速系統(tǒng)如圖1所示為基于單片機的直流電機PWM調速方案的系統(tǒng)方框圖。D/A轉換器接在單片機AT89C51的P0引腳上,由軟件編程的產生的信號從P0腳輸出經D/A轉換器后輸出周期性線性增加的鋸齒波電壓,同時在模擬比較器另一端接給定的參考電壓。當鋸齒波電壓小于參考電壓時輸出低電平,當鋸齒波電壓大于參考電壓時輸出高電平。改變滑動電阻的值便可以改變參考電壓的大小,從而改變PWM波形中高電平的寬度,改變直流電機的占空比,改變直流電機的速度。關于電機運動方向控制,本設計在單片

5、機的P2口引出兩個端口P2.1、P2.2控制直流的方向。其控制的原理是在PWM波形輸出端加上兩個與門,其分別與電機的方向控制端P2.1、P2.2相與,其具體的連接如圖2.5。當P2.1、P2.2輸出02H控制模型(P2.1=1,P2.2=0)時,三極管V1和V4導通,V2和V3截止,電機全速正轉。當P2.1、P2.2輸出01H模型(P2.1=0,P2.2=1)時,V1和V4截止,V2和V3導通,電機全速反轉。在這里需要注意的問題的是,當輸出全為1時,電機剎車,全為0時,電機滑行。工作狀態(tài)表如下:表1 電機工作狀態(tài)真值表P2.1P2.2狀態(tài)V1V2V3V410正轉100101反轉011011剎車

6、111100滑行0000從以上的分析可知基于單片機的直流電機PWM調速方案要用到D/A轉換器、模擬比較器,外圍電路比較復雜。1.2方案二基于FPGA的直流電機調速方案圖 2 基于FPGA的直流電機調速系統(tǒng)如圖2.所示為基于FPGA的直流電機調速方案的方框圖,F(xiàn)PGA中的數(shù)字PWM控制基于單片機PWM控制不同,用FPGA產生PWM波形,只需要FPGA部資源就可以實現(xiàn),如數(shù)字比較器、鋸齒波發(fā)生器等均為FPGA部資源,我們只要直接調用就可以。外部端口U_D、EN1、Z/F、START接在鍵盤電路上,CLK2和CLK0接在外部時鐘電路上,所用到的時鐘頻率為100MHz和50MHz,其具體的連接方式如圖

7、3。其工作原理是:設定值計數(shù)器的設置PWM的占空比。當U/D=1時,輸入CLK2,使設定值計數(shù)器的輸出值增加, PWM的占空比增加,電機轉速加快;當U/D =0時,輸入CLK2,使設定值計數(shù)器的輸出值減小,PWM的占空比減小,電機轉速變慢。在CLK0的作用下,鋸齒波計數(shù)器輸出周期性線性增加的鋸齒波。當計數(shù)值小于設定值時,數(shù)字比較器輸出高電平;當計數(shù)值大于設定值時,數(shù)字比較器輸出低電平,由此產生周期性的PWM波形。旋轉方向控制電路控制直流電動機轉向和啟/停,該電路由兩個2選1的多路選擇器組成,Z/F鍵控制選擇PWM波形是從正端Z進入H橋,還是從負端F進入H橋,以控制電機的旋轉方向。當Z/F=1時

8、,PWM輸出波形從正端Z進入H橋,電機正轉。當 Z/F =0時,PWM輸出波形從負端F進入H橋,電機反轉。Start鍵通過“與”門控制PWM輸出,實現(xiàn)對電機的工作停止/控制。當START=1時,與門打開,允許電機工作。當START=0時,與門關閉,電機停止轉動。H橋電路由大功率晶體管組成,PWM輸出波形通過方向控制電路送到 H 橋, 經功率放大以后對直流電機實現(xiàn)四象限運行。并由EN1信號控制是否允許變速4。 與基于單片機的直流電機PWM調速方案相比,基于FPGA的直流電機PWM控制省去了外接的D/A轉換器和模擬比較器,F(xiàn)PGA外部連線很少,電路更加簡單,便于控制。兼于FPGA的直流電機PWM控

9、制具有精度高,反應快,外部連線少,電路簡單,便于控制等優(yōu)點,因此本設計采用基于FPGA的直流電機PWM控制方案2。2、設計原理與其實現(xiàn)過程2.1設計總原理如圖3所示,基于FPGA的直流電機PWM控制電路主要由四部分組成:控制命令輸入模塊、控制命令處理模塊、控制命令輸出模塊、電源模塊。鍵盤電路、時鐘電路是系統(tǒng)的控制命令輸入模塊,向FPGA芯片發(fā)送命令,F(xiàn)PGA芯片是系統(tǒng)控制命令的處理模塊,負責接收、處理輸入命令并向控制命令輸出模塊發(fā)出PWM信號,是系統(tǒng)的控制核心??刂泼钶敵瞿K由H型橋式直流電機驅動電路組成,它負責接收由FPGA芯片發(fā)出的PWM信號,從而控制直流電機的正反轉、加速以與在線調速。

10、電源模塊負責給整個電路供電,保證電路能夠正常的運行。圖3 FPGA直流電機PWM 控制電路在圖3中所示的FPGA是根據(jù)設計要求設計好的一個芯片,其部邏輯電路如圖4。START是電機的開啟端,U_D控制電機加速與減速,EN1用于設定電機轉速的初值,Z_F是電機的方向端口,選擇電機運行的方向。CLK2和CLK0是外部時鐘端,其主要作用是向FPGA控制系統(tǒng)提供時鐘脈沖,控制電機進行運轉。通過鍵盤設置PWM信號的占空比。當U_D=1時, 表明鍵U_D按下,輸入CLK2使電機轉速加快;當U/D =0,表明鍵U_D松開,輸入CLK2使電機轉速變慢,這樣就可以實現(xiàn)電機的加速與減速。Z_F鍵是電機運轉的方向按

11、鍵,當把Z_F鍵按下時,Z_F=1,電機正轉;反之Z/F =0時,電機反轉。START是電機的開啟鍵,當START=1,允許電機工作;當START=0時,電機停止轉動。H橋電路由大功率晶體管組成,PWM輸出波形通過由兩個二選一電路組成的方向控制電路送到 H 橋, 經功率放大以后對直流電機實現(xiàn)四象限運行。并由EN1信號控制是否允許變速5。2.2設計總原理圖圖5 總電路設計圖2.3模塊設計和相應模塊程序2.3.1 PWM脈沖調制信號電路模塊PWM脈寬調制信號產生電路由可控的加減計數(shù)器CNTA、5位二進制計數(shù)器CNTB、數(shù)字比較器LPM_COMPARE三部分組成??煽氐募訙p計數(shù)器做細分計數(shù)器,確定脈

12、沖寬度。當U/D=1時,輸入CLK2,使設定值計數(shù)器的輸出值增加,PWM的占空比增加,電機轉速加快;當U/D =0,輸入CLK2,使設定值計數(shù)器的輸出值減小,PWM的占空比減小,電機轉速變慢。5位二進制計數(shù)器在CLK0的作用下,鋸齒波計數(shù)器輸出周期性線性增加的鋸齒波。當計數(shù)值小于設定值時,數(shù)字比較器輸出高電平;當計數(shù)值大于設定值時,數(shù)字比較器輸出低電平,由此產生周期性的PWM波形。其部邏輯圖如圖6所示。圖 6 FPGA中的PWM脈寬調制信號產生電路可控的加減計數(shù)器CNTA中的端口U_D控制計數(shù)器的方向,EN1是計數(shù)器的使能端,控制計數(shù)器初值的變化。U_D=1時,加減計數(shù)器CNTA在脈沖CLK2

13、的作用下,每來一個脈沖,計數(shù)器CNTA加1,U_D=0時,每來一個脈沖,計數(shù)器CNTA減1。使能端EN1設定計數(shù)器值的初值,當EN1由1變?yōu)?的時候,無論U_D如何表化,計數(shù)器的值都不會發(fā)生變化,這樣就完成了計數(shù)器的設定值,其仿真波形如圖7所示。圖 7 細分計數(shù)器的仿真波形2.3.2 二進制計數(shù)器電路模塊CNTB是一個簡單的5位二進制計數(shù)器,它的工作原理和CNTA的原理很相似,我們只是在CNTA的時鐘端加了一個使能端EN1控制其加減的方向。而CNTB的時鐘端沒有加使能端,所以每來一個脈沖計數(shù)器加1,因為CNTB是一個5位的二進值計數(shù)器,所以當計數(shù)器的值當大于32時,計數(shù)器又重新從0開始記數(shù),從

14、而產生周期性的線性增加的鋸齒波。其仿真波形如圖8。圖8 5位二進制計數(shù)器仿真波形2.3.3 數(shù)字比較器模塊數(shù)字比較器是產生PWM波形的核心組成部件,可控的加減計數(shù)器CNTA和5位二進制計數(shù)器CNTB同時加數(shù)字比較器LPM-COMPARE兩端作為兩路輸入信號,當計數(shù)器CNTB輸出值小于細分計數(shù)器CNTA輸出的規(guī)定值時, 比較器輸出高電平; 當CNTB輸出值大于細分計數(shù)器CNTA輸出的規(guī)定值時, 比較器輸出低電平。改變細分計數(shù)器的設定值, 就可以改變PWM輸出信號的占空比。為了便于觀察防真波形,我在CNTB的輸出加上B4.0,仿真波形如圖9。圖9 數(shù)字比較器的仿真波形2.3.4 細分計數(shù)器電路模塊

15、細分計數(shù)器CNTA是一個雙向計數(shù)器, 可以進行加減計數(shù),由U_D控制其加/減計數(shù)方向, CLK是計數(shù)時鐘輸入端。為了便于連續(xù)變速控制, 在計數(shù)器的CLK端通過“與”門, 加入了CLK2外部變速控制附加時鐘, 并由EN1信號控制是否允許變速。在本次設計中直流電機轉速進行了32級細分。其仿真波形如圖4.6,細分計數(shù)器的初值我設為08H,也就是十進值的8,當計數(shù)器CNTB的值小于8時,AGB輸出高電平,當計數(shù)器CNTB的值大于8時,AGB的輸出值為低電平,從而產生PWM波形。圖10 A4.0=08H時電機加速PWM波形通過改變細分計數(shù)器的值就可以改變PWM的占空比,從而改變直流電機的速度。在圖11中

16、占空比D=8/32=0.25,在圖4.7中占空比D=4/32=0.125。通過以上兩組數(shù)據(jù)比較以與分析仿真波形我們可以看出,只要改變使能端電平的高低,便可以改變細分計數(shù)器的值,也就是改變細分計數(shù)器CNTA的初值,從而可以改變直流電機的占空比,改變直流電機的速度。圖11 A4.0=04H時電機減速PWM波形調節(jié)PWM波的占空比是電機調速的重要手段,若脈寬計數(shù)器CNTA的值逐漸增大,輸出脈沖的開啟時間變大,PWM占空比逐漸變大,功率器件輸出給電機電樞的能量增加,電機加速。若脈寬計數(shù)器定時器CNTA的值減小,輸出脈沖的開啟時間變小,PWM占空比逐漸變小,功率器件輸出給電機電樞的能量減少,電機減速。當

17、電機得到加速信號,占空比增大至它可調圍的最大值后保持,電機得到減速信號,占空比減小至它的可調圍的最小值后保持。2.3.5 邏輯控制模塊如圖12所示FPGA中的工作/停止控制和正/反轉方向控制電路,其兩個二選一多路選擇器加上兩個與門根據(jù)邏輯原理組合而成。START鍵通過“與”門控制PWM輸出,實現(xiàn)對電機的工作/停止控制。當START端接高電平時,表示電源接通,電機開始運轉;當START端接低電平時,電機停止運轉。Z/F鍵控制選擇PWM波形是從正端Z進入H橋,還是從負端F進入H橋,以控制電機的旋轉方向。當Z/F=1時PWM輸出波形從正端Z進入H橋,電機正轉。當 Z/F =0時PWM輸出波形從負端F

18、進入H橋,電機反轉。仿真如圖13所示。圖12 FPGA中的工作/停止控制和正/反轉方向控制電路圖13 正/反轉工作控制電路波形當START=1時,與門打開,允許電機工作。當START=0時,與門關閉,電機停止轉動。仿真如圖14所示。圖14工作/停止電路波形2.4 電路的總仿真圖2.4.1正/反轉控制仿真鍵盤Z_F是電機的方向控制鍵。當要求電機正轉時,只需要按下鍵Z_F,表示Z_F輸出高電平,即Z_F=1,電機正轉,如圖17所示。當鍵Z_F松開時,Z_F0時,電機反轉,如圖15、圖16所示。圖17 電機正轉圖15 電機反轉圖16 電機正反轉2.4.2 啟/??刂品抡鍿TART鍵是電機的啟動鍵,當

19、按下START鍵時,START=1,電機進入運行狀態(tài),如圖18所示。反之,START=0時,電機停止,如圖19、圖20所示。圖18 啟動仿真波形圖19 停止仿真波形圖20 啟/停仿真波形2.4.3 加/減速仿真鍵盤EN1控制電機是否允許變速。所以通過改變EN1便可以改變設定值H4.0的值,也就是設定值的初值,從而改變了直流電機的占空比,改變直流電機的速度,達到調速的目的。因為CNTB是5位的計數(shù)器,所在本設計中直流電機轉速細分為32級。如圖21的占空比為2/32=0.0625,同理通過按鍵EN1該變H4.0的值便得到如圖22、23的PWM仿真波形,其占空比依次為0.125、0.25,也就是占空

20、比增大,電機的速度增加。根據(jù)以上的數(shù)據(jù)比較與仿真波形的分析可以看出,電機的速度在逐漸的增加。所以通過改變EN1的值可以改變直流電機的PWM占空比,從而改變直流電機的速度。圖21 H4.0=02H仿真波形圖22 H4.0=04H仿真波形圖23 H4.0=08H仿真波形2.4.4 仿真結果分析通過2.5.1到2.5.3的仿真波形分析可知,本設計中的各項功能夠很好的實現(xiàn)。在時鐘脈沖的作用下,計數(shù)器CNTA和CNTB都能按照事先設定好的規(guī)則進行計數(shù)。CNTA是可控的加減計數(shù)器,U_D控制其計數(shù)的方向,EN1用于設定其初值,當NE1由高電平變?yōu)榈碗娖綍r,就完成了設定值。CNTB是5位二進制計數(shù)器,其在時

21、鐘脈沖CLK0的作用下一直加數(shù),當它加到32時就自動返回到0再重新加數(shù)。兩路計數(shù)器同時加到數(shù)字比較器LMP_COMPARE上,當CNTB的值小于設定值時,數(shù)字比較器輸出高電平,當CNTB的值大于設定值時,數(shù)字比較器輸出低電平。因此改變設定值的大小就可以改變PWM波形的大小,也就是完成了電機的調速。Z_F是電機的方向按鍵,選擇PWM波形的進入方向,當其為1時,電機正轉,反之,反轉。至于電機的控制,是在它的輸入端加上兩個與門來控制電機的啟動與停止。其具體的操作如下:當按下鍵Z_F鍵時,電機正轉,松開鍵時,電機反轉。當按下鍵START時,電機開始工作,松開時,電機停止工作。通過按鍵EN1的閉合與斷開

22、可以改變H4.0的值從而改變直流電機的PWM占空比,達到改變直流電機速度的目的。本設計采用VHDL設計FPGA 脈寬調制控制方案, 計算機仿真和對直流電機控制的結果表明,該電路能有效地產生PWM 控制信號控制電機的轉速, 控制精度由FPGA 中的數(shù)字比較器決定。在本設計中,采用的數(shù)字比較器為5位, 若增加數(shù)字比較器的位數(shù), 就可以提高電機轉速的控制精度。電路中省去了D/A 轉換器使電路變得更加簡潔, 同時也降低控制器的成本。FPGA 部采用狀態(tài)機結構, 遇到干擾時, 能很快從異常狀態(tài)轉入正常工作狀態(tài), 保證了控制系統(tǒng)具有高的可靠性。從以上的仿真中可以看出,基于FPGA的直流電機的控制能夠達到很

23、好的預期效果。3、課程設計結論與心得體會本次EDA課程設計題目為直流電機調速器設計,實現(xiàn)用PWM對于電機的控制。此次課設需要用硬件描述語言(VHDL)編寫程序,并在Quartus II軟件平臺上進行程序的編譯和仿真,鎖定引腳并下載到可編程邏輯器件(試驗箱)中,進行硬件的測試。此次EDA課程設計歷時兩周時間,兩人一組合作進行系統(tǒng)的設計。程序的編寫我們采用元件例化的形式,經過思考和相互間的分析討論,將整個系統(tǒng)劃分3個功能模塊,彼此配合進行3個功能模塊設計和程序的編寫。其間,我們亦遇到許多問題,諸如整個系統(tǒng)核心模塊計數(shù)過程的實現(xiàn),時鐘頻率的設定等等。經歷兩周時間的不懈努力和隊友之間愈加默契的配合,我

24、們終于完成預定的目的。雖然其中遇到很多困難,很多問題,但在我們兩人相互支持和鼓勵想下,都能夠得以順利的找到解決辦法或者改進的方法,并在合作中相互提高,彼此進步,在困難在中體會到合作的樂趣。EDA技術對于我們電子信息工程專業(yè)的學生來說是一本很重要的專業(yè)技術課程,EDA技術極提高了電路設計的效率和可操作性,減輕了設計者的勞動強度,是一門實際應用很廣泛的技術?,F(xiàn)在對EDA的概念或疇用得很寬。包括在機械、電子、通信、航空航天、化工、礦產、生物、醫(yī)學、軍事等各個領域,都有EDA的應用。目前EDA技術已在各大公司、企事業(yè)單位和科研教學部門廣泛使用。例如在飛機制造過程中,從設計、性能測試與特性分析直到飛行模

25、擬,都可能涉與到EDA技術。所以,EDA課程的學習對于我們自身素質和能力的提高有十分重要的積極作用,應該很認真的學習。4、儀器儀表清單器件型號/參數(shù)數(shù)量SOPC/EDA開發(fā)系統(tǒng)GW481套微型計算機聯(lián)想1臺Quartus軟件6.01套表一 儀器儀表清單5、參考文獻1 松著.EDA技術實用教程(第二版). :科學,2005.2 康華光主編.電子技術基礎 模擬部分. :高教,2006.3 閻石主編.數(shù)字電子技術基礎. :高教,2003.6、致這次課程設計感指導老師田漢平的悉心教導,也感其他老師對我們的幫助,同時感課程設計帶隊的老師們。特別提出的是在本課題方案的選擇上,岳老師給予了我們很多建議,且在

26、解決課程設計遇到的困難上,岳老師田老師給了我們很大的幫助。同樣感同學們的通力合作,成功不是屬于一個人的,而是屬于大家的。附錄 電路完整程序程序LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY CNTA ISPORT(CLK: IN STD_LOGIC; U,T:IN STD_LOGIC; EN: IN STD_LOGIC; M: OUT STD_LOGIC; CQ:OUT STD_LOGIC_VECTOR(4 DOWNTO 0);END CNTA;ARCHITECTURE BEH

27、AV OF CNTA ISSIGNAL CQL:STD_LOGIC_VECTOR( 4 DOWNTO 0);SIGNAL U_TEM :STD_LOGIC;SIGNAL T_TEM :STD_LOGIC;BEGINPROCESS(CLK)BEGIN IF CLK'EVENT AND CLK='1' THEN U_TEM<=U; T_TEM<=T; IF EN='1' THEN IF U_TEM='0' AND U='1' THENIF CQL="11111" THEN CQL<="11111" ELSE CQL<=CQL+1;END IF;ELSIF T_TEM='0' AND T='1' THENIF CQL="00000" THEN CQL<="00000"

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論