亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 16487|回復: 1
收起左側(cè)

直流電機PWM控制的FPGA實現(xiàn)論文與仿真源碼等全套資料

[復制鏈接]
ID:290266 發(fā)表于 2018-4-18 03:17 | 顯示全部樓層 |閱讀模式
課題名稱直流電機PWM控制的FPGA實現(xiàn)         
摘 要
文章詳細地介紹了直流電機的類型、結(jié)構(gòu)、工作原理、PWM調(diào)速原理以及FPGA集成芯片。并對直流電機PWM調(diào)速系統(tǒng)方案的組成、硬件電路設(shè)計、程序設(shè)計及系統(tǒng)仿真分別進行了詳細的敘述。擬開發(fā)的直流電機PWM調(diào)速裝置具有調(diào)速范圍寬、低功耗、可實現(xiàn)在線調(diào)試等特點。本系統(tǒng)是以FPGA為其控制核心,輸入電路以鍵盤作為輸入方式向FPGA控制系統(tǒng)發(fā)出控制命令,以有源晶振構(gòu)成的時鐘電路發(fā)出信號。控制系統(tǒng)接收命令后直接向H型橋式驅(qū)動電路發(fā)出PWM控制信號。輸出電路主要實現(xiàn)正反轉(zhuǎn)、起停控制、速度在線可調(diào)功能。本設(shè)計已通過了實驗仿真。

Abstract
This paper introduces clearly the construction and the principle of DC Motor and the principle of the Speed Control based on PWM and integrated FPGA chip.And describes detailly and operately the program of DC Motor speed control based on PWM how to be formed and the design of the hardware circuit ,the design and the System Simulation .The device of DC Motor speed control based on PWM being invented has the follow characteristics : wide speed control range, low power idle, debugging on line and so on, at the same time , it can achieve the automation .The control center of the system is the FPGA, and the input circuit delivers the orders over the keyboard as its input method to the FPGA adopting the way of the Breach. While quartz crystal clock circuit and inverter which is consisted of harmonic oscillator clock signal sent to the system ,when the FPGA receives the orders,and later sends the PWM signal to the output circuit ,witch is the line-clectric ouhe circuit and the H board bridge drive circuit .The output circuit chiefly controls DC Motor to move in the clockwise or the other direction .The design has been tested through the experiment ,and the program is debugged successfully.

目錄
摘 要
Abstract
1 前言
1.1 課題的來源
1.2 課題研究的目的和意義
1.3 課題國內(nèi)外研究現(xiàn)狀
1.4 課題研究的主要內(nèi)容
2 直流電機PWM調(diào)速系統(tǒng)方案設(shè)計
2.1 直流電機
2.2 直流電機調(diào)速原理
2.4 基于單片機的直流電機PWM調(diào)速方案
2.5 基于FPGA的直流電機調(diào)速方案
2.6 方案論證
3 直流電機PWM調(diào)速控制電路設(shè)計
3.1 系統(tǒng)工作原理
3.2 鍵盤電路設(shè)計
3.3 系統(tǒng)時鐘電路設(shè)計
3.4 H型橋式驅(qū)動電路設(shè)計
3.5 電源電路設(shè)計
3.6 主要元器件簡介
4 控制邏輯VHDL描述
4.1 VHDL硬件描述語言
4.2 FPGA內(nèi)部邏輯組成
4.3 PWM脈寬調(diào)制信號產(chǎn)生電路描述
4.4 運行控制邏輯電路描述
5 直流電機PWM調(diào)速系統(tǒng)仿真
5.1 FPGA開發(fā)環(huán)境的介紹
5.2 建立工程項目
5.3 正/反轉(zhuǎn)控制仿真
5.4 啟/停控制仿真
5.5 加/減速仿真
5.6 仿真結(jié)果分析
6 總結(jié)
參考文獻
致謝
1





1 前言1.1 課題的來源
電機是一種能量轉(zhuǎn)換的裝置,在國民經(jīng)濟中起著重要作用,無論是在工農(nóng)生產(chǎn)、交通運輸、國防宇航、醫(yī)療衛(wèi)生、商務(wù)與辦公設(shè)備,還是日常生活中的家用電器,都大量的使用著各種各樣的電機,如汽車、電視機、電風扇、空調(diào)等等也離不開電機。同時,在越來越多的應(yīng)用場合,只能旋轉(zhuǎn)的電機己無法滿足要求,而是要求能夠?qū)崿F(xiàn)快速加速、減速或反轉(zhuǎn)以及準確停止等功能。必須尋找新的電機控制器來適應(yīng)時代的發(fā)展。
電機的控制器經(jīng)歷了從模擬控制器到數(shù)字控制器的發(fā)展。由于模擬器件的參數(shù)受外界影響大,而且精度也較差。數(shù)字控制器與模擬控制器相比較,具有可靠性高、參數(shù)調(diào)整方便、控制精度高、對環(huán)境因素不敏感等優(yōu)點。隨著工業(yè)電氣化、自動控制和家電產(chǎn)品等領(lǐng)域?qū)﹄姍C控制產(chǎn)品的需求,人們對電機控制技術(shù)的要求有所提高。由于傳統(tǒng)的8位單片機其內(nèi)部體系結(jié)構(gòu)和計算功能等條件限制,在實現(xiàn)各種先進的電機控制理論和高效的控制算法時遇到了困難。因此,目前最為普遍的做法是使用高性能的數(shù)字信號處理器(DSP)來解決電機控制器不斷增加的計算量和速度的需求。將一系列外圍設(shè)備如模數(shù)轉(zhuǎn)換器、脈寬調(diào)制發(fā)生器、和數(shù)字信號處理器集成在一起組成復雜的電機控制系統(tǒng)。隨著EDA技術(shù)的發(fā)展,用基于現(xiàn)場可編程門陣列FPGA的數(shù)字電子系統(tǒng)對電機進行控制,為實現(xiàn)電動機數(shù)字控制提供了一種新的有效方法。現(xiàn)場可編程門陣列(FPGA)器件集成度高、體積小、速度快,以硬件電路實現(xiàn)算法程序,將原來的電路板級產(chǎn)品集成為芯片級產(chǎn)品,從而降低了功耗,提高了可靠性。
電動機調(diào)速系統(tǒng)采用FPGA實現(xiàn)數(shù)字化控制,是電氣傳動發(fā)展的主要趨勢。采用FPGA控制后,整個調(diào)速系統(tǒng)能夠?qū)崿F(xiàn)快速加速、減速或正/反轉(zhuǎn)以及準確停止、在線調(diào)速等功能,操作維護方便,電動機穩(wěn)態(tài)運轉(zhuǎn)時轉(zhuǎn)速精度可達到較高水平,靜動態(tài)各項指標均能較好地滿足工業(yè)生產(chǎn)中高性能電氣傳動的要求。由于FPGA的 外部連線少,電路簡單,便于控制,具有較佳的性能價格比,所以在工業(yè)過程及設(shè)備控制中得到日益廣泛的應(yīng)用[1]。
1.2 課題研究的目的和意義
直流電機大多數(shù)采用PWM(脈寬調(diào)制)的方法進行控制,它有兩種模式:一種是采用模擬電路控制,另一種是采用數(shù)字的控制。模擬控制由于其調(diào)試復雜等固有原因,正逐漸被淘汰。而在數(shù)字控制技術(shù)中,F(xiàn)PGA的數(shù)字PWM控制具有精度高,反應(yīng)快,外部連線少,電路簡單,便于控制等優(yōu)點廣泛的被人們使用,應(yīng)而研究FPGA具有十分重要的意義。對于本次設(shè)計目的在于:
(1)掌握基于FPGA的直流電機PWM控制原理,學會應(yīng)用EDA技術(shù)進行編程
(2)通過對本課題的研究,掌握EDA開發(fā)技術(shù)的編程方法,培養(yǎng)創(chuàng)新意識和理論聯(lián)系實際的學風。熟悉現(xiàn)代電子產(chǎn)品的設(shè)計流程。
FPGA用于控制領(lǐng)域特別是電機控制還是比較少的,本設(shè)計為電機控制系統(tǒng)提供一種的控制技術(shù),在電機控制方面作了一些片內(nèi)系統(tǒng)的初步研究。本設(shè)計利用ALTERA公司的FPGA芯片—FLEX10K10作為目標器件來控制直流電機,講解了MAX+Plus II設(shè)計流程,分析了現(xiàn)代電子產(chǎn)品的設(shè)計方法,并初步研究了FPGA產(chǎn)生PWM信號的方法。
本設(shè)計將電機控制所使用的一些基本功能盡可能地集成在一片F(xiàn)PGA上,本設(shè)計論述了利用FPGA對直流電機進行控制時所起的各部分功能—PWM波的產(chǎn)生、在線調(diào)速、正反向控制邏輯,并利用硬件描述語言對PWM波在FPGA中進行組合邏輯變換,并進行仿真。
1.3 課題國內(nèi)外研究現(xiàn)狀
在國外,PWM源于上世紀九十年代,其思想源于通信技術(shù),但隨著現(xiàn)代電子技術(shù)的發(fā)展使得PWM理論越來越成熟,其發(fā)展的速度越來越快速。已經(jīng)取代傳統(tǒng)的可控硅電機調(diào)速系統(tǒng)。由原先的“電機控制”“電氣傳動”已發(fā)展到“運動控制”的新階段。IGBT、電力MOSFET等為代表的全控型器件的不斷完善給PWM控制技術(shù)提供了強大的物質(zhì)基礎(chǔ)。
在國內(nèi)PWM有理論基礎(chǔ)逐漸成熟,但在應(yīng)用上,國內(nèi)外差距也很大。PWM調(diào)速系統(tǒng)的應(yīng)用是近年來才開始的,原因是我國的電子工業(yè)的基礎(chǔ)比較差。PWM調(diào)速系統(tǒng)中所需的關(guān)鍵部件IGOT管靠進口。近年來,我國已開發(fā)出具有自主知識產(chǎn)權(quán)的IGOT大電流晶體管,從而為該技術(shù)推行奠定了物質(zhì)基礎(chǔ)。PWM電機調(diào)速方案是未來電機拖動系統(tǒng)的首選方案,是實現(xiàn)電機拖動數(shù)字控制的基礎(chǔ)[2]。
1.4 課題研究的主要內(nèi)容
本設(shè)計提出了兩種控制方案:一種是基于單片機的直流電機控制,另一種是基于FPGA的直流電機控制,通過方案的論證與比較,采用后者調(diào)速方案。
本設(shè)計的主要內(nèi)容是掌握基于FPGA的直流電機PWM控制原理,設(shè)計具有正/反轉(zhuǎn)、起/停控制功能、速度在線可調(diào)的直流電機控制裝置。通過對直流電機控制的研究,掌握EDA開發(fā)技術(shù)。
本設(shè)計詳細的分析了直流的結(jié)構(gòu)、主要技術(shù)參數(shù)、工作原理和調(diào)速原理,基于FPGA的PWM波形產(chǎn)生的過程,并用VHDL描述PWM波形。本設(shè)計的所有功能均在ALTERA公司的MAX+Plus II軟件下通過仿真。本設(shè)計對PWM波形數(shù)據(jù)進行測試與詳細的分析。

2 直流電機PWM調(diào)速系統(tǒng)方案設(shè)計電機可分為變壓器、異步電機、同步電機和直流電機四個機種。其中變壓器是靜止的電氣設(shè)備,其余均為旋轉(zhuǎn)電機。異步電機和同步電機均為交流電機。在本次設(shè)計中用到的是直流電機,直流電機是實現(xiàn)直流電能與機械能轉(zhuǎn)的裝置[1]。以下詳細介紹了直流電機的基本結(jié)構(gòu)、工作原理、主要技術(shù)參數(shù)和調(diào)速原理。2.1 直流電機2.1.1 直流電機基本結(jié)構(gòu)直流電機由定子(靜止部分)和轉(zhuǎn)子(轉(zhuǎn)動部分)兩大部分組成。
2.1 直流電機的結(jié)構(gòu)
(1)定子部分定子部分包括機座、主磁極、換向極和電刷裝置等。①機座機座有兩個作用,一是作為電機磁路系統(tǒng)中的一部分,二是用來固定主磁極、換向極及端蓋等,起機械支承的作用。因此要求機座有好的導磁性能及足夠的機械強度和剛座,機座通常用鑄鋼或厚鋼板焊成。②主磁極在大多數(shù)直流電機中,主磁極是電磁鐵,如圖2.1的NS就是主磁極,主磁極鐵芯用1~1.5mm厚的低碳鋼板疊加而成,整個磁級用螺釘固定在機座上。主磁極的作用是在定轉(zhuǎn)子之間的氣隙中建立磁場,使電樞繞組在此磁場的作用下感應(yīng)電動勢和產(chǎn)生電磁轉(zhuǎn)矩。③換向極換向極又稱附加極或間極,其作用是以改善換向。換向極裝在相鄰兩主磁極NS之間,由鐵心和繞組構(gòu)成。鐵芯一般用整塊鋼或鋼板加工而成。換向極繞組與電樞繞組串聯(lián)。④電刷裝置在圖2.1中,AB表示電刷。它的作用是把轉(zhuǎn)動的電樞繞組與靜止的外電路相連接,并與換向器相配合,起到整流或逆變器的作用。(2)轉(zhuǎn)子部分直流電機的轉(zhuǎn)子稱為電樞,包括電樞鐵芯、電樞繞組、換向器、風扇、軸和軸承等。①電樞鐵芯電樞鐵芯是電機主磁路的一部分,且用來嵌放電樞繞組。為了減少電樞旋轉(zhuǎn)時電樞鐵芯中因磁通變化而引起的磁滯及渦流損耗,電樞鐵心通常用0.5mm厚的兩面涂有絕緣漆的硅鋼片疊加而成。②電樞繞組電樞繞組是由許多按一定規(guī)律連接的線圈組成,它是直流電機的主要電路部分,也是通過電流和感應(yīng)電動勢,從而實現(xiàn)機電能量轉(zhuǎn)換的關(guān)鍵部件。線圈用包有絕緣的導線繞制而成,嵌放在電樞槽中。每個線圈(也稱元件)有兩個出線端,分別接到換向器的兩個換向片上。所有線圈按一定規(guī)律連接成一閉合回路。③換向器換向器也是直流電機的重要部件。在直流電動機中,它將電刷上的直流電流轉(zhuǎn)換成繞組內(nèi)的交流電流;在直流發(fā)電機中,它將繞組內(nèi)的交流電動勢轉(zhuǎn)換成電刷端上的直流電動勢。換向器由許多換向片組成,每片之間相互絕緣。換向片數(shù)與線圈元件數(shù)相同。2.1.2 直流電機工作原理直流電機的工作原理建立在電磁力和電磁感應(yīng)的基礎(chǔ)上,從圖2.1可以看出主磁極NS間裝著一個可以轉(zhuǎn)動的鐵磁圓柱體,圓柱體的表面上固定著一個線圈abcdabcd是裝在可以轉(zhuǎn)動的鐵磁圓柱上的一個線圈,把線圈的兩端分別接到兩個圓弧形的銅片上(簡稱換向片),兩者相互絕緣,鐵芯和線圈合稱電樞。當線圈中通入直流電流時,線圈邊上受到電磁力F=Bli根據(jù)左手定則確定力的方向,這一對電磁力形成了作用于電樞的一個電磁轉(zhuǎn)矩,轉(zhuǎn)矩的方向是逆時針方向。若電樞轉(zhuǎn)動,線圈兩邊的位置互換,而線圈中通過的還是直流電流,則所產(chǎn)生的電磁轉(zhuǎn)矩的方向則變?yōu)轫槙r針方向,因此電樞受到一種方向交變的電磁轉(zhuǎn)矩。這種交變的電磁轉(zhuǎn)矩只能使電樞來回搖擺,而不能使電樞連續(xù)轉(zhuǎn)動。顯然,要使電樞受到一個方向不變的電磁轉(zhuǎn)矩,關(guān)鍵在于,當線圈邊在不同極性的磁極下,如何將流過線圈中的電流方向及時地加以變換,即進行所謂“換向”。為此必須增添一個叫做換向器的裝置,換向器由互相絕緣的銅質(zhì)換向片構(gòu)成,裝在軸上,也和電樞絕緣,且和電樞一起旋轉(zhuǎn)。換向器又與兩個固定不動的由石墨制成的電刷AB相接觸。裝了這種換向器以后,若將直流電壓加于電刷端,直流電流經(jīng)電刷流過電樞上的線圈,則產(chǎn)生電磁轉(zhuǎn)矩,電樞在電磁轉(zhuǎn)矩的作用下就旋轉(zhuǎn)起來。電樞一經(jīng)轉(zhuǎn)動,由于換向器配合電刷對電流的換向作用,直流電流交替地由線圈邊ab和cd流入,使線圈邊只要處于N極下,其中通過電流的方向總是由電刷A流入的方向,而在S極下時,總是從電刷B流出的方向。這就保證了每個極下線圈邊中的電流始終是一個方向。這樣的結(jié)構(gòu),就可使電動機能連續(xù)地旋轉(zhuǎn)。這就是直流電機的基本工作原理[3]。2.1.3 直流電機主要技術(shù)參數(shù)為了使電機安全可靠地工作,且保持優(yōu)良的運行性能,電機廠家根據(jù)國家標準及電機的設(shè)計數(shù)據(jù),對每臺電機在運行中的電壓,電流,功率,轉(zhuǎn)速等規(guī)定了保證值,這些保證值就是直流電機的主要技術(shù)參數(shù),直流電機的主要技術(shù)參數(shù)有:直流電機的轉(zhuǎn)速,是指電機實際轉(zhuǎn)動的速度n  
n =Ua-IR/CeΦ                  (2.1)
Ua為電樞電動勢,Ce為電動勢常數(shù),Φ是磁通量。
額定功率(容量)PN,是指電刷輸出的電功率,單位為kW;
PN=UNIN                                 (2.2)
額定電壓UN,指額定狀態(tài)下電樞出線端的電壓,單位為V;額定電流IN,指電機在額定電壓、額定功率時的電樞電流值,單位為A;額定轉(zhuǎn)速ηN,指額定狀態(tài)下運行時轉(zhuǎn)子的轉(zhuǎn)速,單位為r/min;
ηN =PN/UNIN                            (2.3)
2.2 直流電機調(diào)速原理2.2.1 直流電機電壓調(diào)速原理
圖2.2為按電機慣例標定的直流電機穩(wěn)定運行量各物理量的正方向。由圖可見電機的電樞電動勢Ea的正方向與電樞電流Ia的方向相反,為反電動勢;電磁轉(zhuǎn)矩T的正方向與轉(zhuǎn)速n的方向相同,是拖動轉(zhuǎn)矩;軸上的機械負載轉(zhuǎn)矩T2及空載轉(zhuǎn)矩T0均與n相反,是制動轉(zhuǎn)矩。
根據(jù)基爾霍夫第二定律,對圖2.2的電樞回路列回路電壓方程可得直流電動的電動勢平衡方程式:
         U=Ea-Ia(Ra+Rc)                (2.4)
式2.4中,Ra為電樞回路電阻,電樞回路串聯(lián)保繞阻與電刷接觸電阻的總和;Rc是外接在電樞回路中的調(diào)節(jié)電阻。   由此可得到直流電機的轉(zhuǎn)速公式為:  
        n =Ua-IR/CeΦ                    (2.5)
式中,Ce為電動勢常數(shù),Φ是磁通量。    由1.1式和1.2式得        n =Ea/Ce                          2.6從由式子2.6中可以看出,對于一個已經(jīng)制造好的電機,當勵磁電壓和負載轉(zhuǎn)矩恒定時,它的轉(zhuǎn)速由電樞電壓Ea決定,電樞電壓越高,電機轉(zhuǎn)速就越快,電樞電壓降低到0V時,電機就停止轉(zhuǎn)動;改變電樞電壓的極性,電機就反轉(zhuǎn)。總之電機的調(diào)速可以通過控制電樞電壓實現(xiàn)[3]。
圖2.3 PWM調(diào)速原理
2.2.2 直流電機PWM調(diào)速原理所謂脈沖寬度調(diào)制是指用改變電機電樞電壓接通與斷開的時間的的占空比來控制電機轉(zhuǎn)速的方法,稱為脈沖寬度調(diào)制(PWM)對于直流電機調(diào)速系統(tǒng),使用FPGA進行調(diào)速是極為方便的。其方法是通過改變電機電樞電壓導通時間與通電時間的比值(即占空比)來控制電機速度。PWM調(diào)速原理如圖2.3所示。在脈沖作用下,當電機通電時,速度增加;電機斷電時,速度逐漸減少。只要按一定規(guī)律,改變通、斷電時間,即可讓電機轉(zhuǎn)速得到控制。設(shè)電機永遠接通電源時,其轉(zhuǎn)速最大為Vmax,設(shè)占空比為D=t1/T,則電機的平均速度為                        Vd=Vmax·D                            2.7式中,Vd——電機的平均速度      Vmax——電機全通時的速度(最大)      D=t1/T——占空比              平均速度Vd與占空比D的函數(shù)曲線,如圖2.4所示。
圖2.4 平均速度和占空比的關(guān)系
由圖2.4所示可以看出,Vd與占空比D并不是完全線性關(guān)系(圖中實線),當系統(tǒng)允許時,可以將其近似地看成線性關(guān)系(圖中虛線)。因此也就可以看成電機電樞電壓Ua與占空比D成正比,改變占空比的大小即可控制電機的速度由以上敘述可知:電機的轉(zhuǎn)速與電機電樞電壓成比例,而電機電樞電壓與控制波形的占空比成正比,因此電機的速度與占空比成比例,占空比越大,電機轉(zhuǎn)得越快,當占空比α1時,電機轉(zhuǎn)速最大。2.4 基于單片機的直流電機PWM調(diào)速方案
圖 2.5 基于單片機控制的PWM調(diào)速系統(tǒng)
如圖2.5所示為基于單片機的直流電機PWM調(diào)速方案的系統(tǒng)方框圖。D/A轉(zhuǎn)換器接在單片機AT89C51的P0引腳上,由軟件編程的產(chǎn)生的信號從P0腳輸出經(jīng)D/A轉(zhuǎn)換器后輸出周期性線性增加的鋸齒波電壓,同時在模擬比較器另一端接給定的參考電壓。當鋸齒波電壓小于參考電壓時輸出低電平,當鋸齒波電壓大于參考電壓時輸出高電平。改變滑動電阻的值便可以改變參考電壓的大小,從而改變PWM波形中高電平的寬度,改變直流電機的占空比,改變直流電機的速度。關(guān)于電機運動方向控制,本設(shè)計在單片機的P2口引出兩個端口P2.1、P2.2控制直流的方向。其控制的原理是在PWM波形輸出端加上兩個與門,其分別與電機的方向控制端P2.1P2.2相與,其具體的連接如圖2.5。當P2.1、P2.2輸出02H控制模型P2.1=1P2.2=0時,三極管V1和V4導通,V2和V3截止,電機全速正轉(zhuǎn)。當P2.1P2.2輸出01H模型(P2.1=0P2.2=1)時,V1和V4截止,V2和V3導通,電機全速反轉(zhuǎn)。在這里需要注意的問題的是,當輸出全為1時,電機剎車,全為0時,電機滑行。工作狀態(tài)表如下:
表1 電機工作狀態(tài)真值表
P2.1
P2.2
狀態(tài)
V1
V2
V3
V4
1
0
正轉(zhuǎn)
1
0
0
1
0
1
反轉(zhuǎn)
0
1
1
0
1
1
剎車
1
1
1
1
0
0
滑行
0
0
0
0

從以上的分析可知基于單片機的直流電機PWM調(diào)速方案要用到D/A轉(zhuǎn)換器、模擬比較器,外圍電路比較復雜。2.5 基于FPGA的直流電機調(diào)速方案
圖 2.6 基于FPGA的直流電機調(diào)速系統(tǒng)
如圖2.6所示為基于FPGA的直流電機調(diào)速方案的方框圖,F(xiàn)PGA中的數(shù)字PWM控制基于單片機PWM控制不同,用FPGA產(chǎn)生PWM波形,只需要FPGA內(nèi)部資源就可以實現(xiàn),如數(shù)字比較器、鋸齒波發(fā)生器等均為FPGA內(nèi)部資源,我們只要直接調(diào)用就可以。外部端口U_DEN1Z/FSTART接在鍵盤電路上,CLK2和CLK0接在外部時鐘電路上,所用到的時鐘頻率為100MHz和50MHz其具體的連接方式如圖3.1
其工作原理是:設(shè)定值計數(shù)器的設(shè)置PWM的占空比。當U/D=1時,輸入CLK2,使設(shè)定值計數(shù)器的輸出值增加, PWM的占空比增加,電機轉(zhuǎn)速加快;當U/D =0時,輸入CLK2,使設(shè)定值計數(shù)器的輸出值減小,PWM的占空比減小,電機轉(zhuǎn)速變慢。
在CLK0的作用下,鋸齒波計數(shù)器輸出周期性線性增加的鋸齒波。當計數(shù)值小于設(shè)定值時,數(shù)字比較器輸出高電平;當計數(shù)值大于設(shè)定值時,數(shù)字比較器輸出低電平,由此產(chǎn)生周期性的PWM波形。
旋轉(zhuǎn)方向控制電路控制直流電動機轉(zhuǎn)向和啟/停,該電路由兩個2選1的多路選擇器組成,Z/F鍵控制選擇PWM波形是從正端Z進入H橋,還是從負端F進入H橋,以控制電機的旋轉(zhuǎn)方向。當Z/F=1時,PWM輸出波形從正端Z進入H橋,電機正轉(zhuǎn)。當 Z/F =0時,PWM輸出波形從負端F進入H橋,電機反轉(zhuǎn)。
Start鍵通過“與”門控制PWM輸出,實現(xiàn)對電機的工作停止/控制。當START=1時,與門打開,允許電機工作。當START=0時,與門關(guān)閉,電機停止轉(zhuǎn)動。
H橋電路由大功率晶體管組成,PWM輸出波形通過方向控制電路送到 H 橋, 經(jīng)功率放大以后對直流電機實現(xiàn)四象限運行。并由EN1信號控制是否允許變速[4]。
2.6 方案論證
與基于單片機的直流電機PWM調(diào)速方案相比,基于FPGA的直流電機PWM控制省去了外接的D/A轉(zhuǎn)換器和模擬比較器,F(xiàn)PGA外部連線很少,電路更加簡單,便于控制。兼于FPGA的直流電機PWM控制具有精度高,反應(yīng)快,外部連線少,電路簡單,便于控制等優(yōu)點,因此本設(shè)計采用基于FPGA的直流電機PWM控制方案[2]。

3 直流電機PWM調(diào)速控制電路設(shè)計
如圖3.1所示,基于FPGA的直流電機PWM控制電路主要由四部分組成:控制命令輸入模塊、控制命令處理模塊、控制命令輸出模塊、電源模塊。鍵盤電路、時鐘電路是系統(tǒng)的控制命令輸入模塊,向FPGA芯片發(fā)送命令,F(xiàn)PGA芯片是系統(tǒng)控制命令的處理模塊,負責接收、處理輸入命令并向控制命令輸出模塊發(fā)出PWM信號,是系統(tǒng)的控制核心。控制命令輸出模塊由H型橋式直流電機驅(qū)動電路組成,它負責接收由FPGA芯片發(fā)出的PWM信號,從而控制直流電機的正反轉(zhuǎn)、加速以及在線調(diào)速。電源模塊負責給整個電路供電,保證電路能夠正常的運行。
圖3.1  FPGA直流電機PWM 控制電路
3.1 系統(tǒng)工作原理
在圖3.1中所示的FPGA是根據(jù)設(shè)計要求設(shè)計好的一個芯片,其內(nèi)部邏輯電路如圖4.1。
START是電機的開啟端,U_D控制電機加速與減速,EN1用于設(shè)定電機轉(zhuǎn)速的初值,Z_F是電機的方向端口,選擇電機運行的方向。CLK2和CLK0是外部時鐘端,其主要作用是向FPGA控制系統(tǒng)提供時鐘脈沖,控制電機進行運轉(zhuǎn)。
通過鍵盤設(shè)置PWM信號的占空比。當U_D=1時, 表明鍵U_D按下,輸入CLK2使電機轉(zhuǎn)速加快;當U/D =0,表明鍵U_D松開,輸入CLK2使電機轉(zhuǎn)速變慢,這樣就可以實現(xiàn)電機的加速與減速。
Z_F鍵是電機運轉(zhuǎn)的方向按鍵,當把Z_F鍵按下時,Z_F=1,電機正轉(zhuǎn);反之Z/F =0時,電機反轉(zhuǎn)。
START是電機的開啟鍵,當START=1,允許電機工作;當START=0時,電機停止轉(zhuǎn)動。
H橋電路由大功率晶體管組成,PWM輸出波形通過由兩個二選一電路組成的方向控制電路送到 H 橋, 經(jīng)功率放大以后對直流電機實現(xiàn)四象限運行。并由EN1信號控制是否允許變速[5]。
3.2 鍵盤電路設(shè)計本設(shè)計系統(tǒng)的命令輸入模塊是鍵盤電路和時鐘電路,通過以按鍵的方式向FPGA控制系統(tǒng)表達人的命令來實現(xiàn)直流電機的正轉(zhuǎn)、反轉(zhuǎn)、停止和加減速,實現(xiàn)人機互換。下面就對鍵盤電路和時鐘電路的類型以及工作原理分別進行論述。鍵盤電路有兩種類型,其中一種是獨立式鍵盤電路。獨立式鍵盤電路結(jié)構(gòu)簡單、操作方便,在目前這種結(jié)構(gòu)的鍵盤應(yīng)用還非常普遍。只是這種鍵盤電路的每個按鍵都要占用一根I/O口線,這樣的話,隨著按鍵的增加將使I/O口線不足。因此,這種鍵盤電路只有在按鍵比較少的情況下比較適用。另一種鍵盤電路是矩陣式鍵盤電路,這種鍵盤電路的按鍵設(shè)置在行線和列線的交叉點上,因此在有限的I/O口線上可以設(shè)置比較多的按鍵。只是這種鍵盤電路結(jié)構(gòu)、編程都比較復雜。在鍵盤電路中,往往可以與一個與非門電路構(gòu)成帶中斷的鍵盤電路。這種鍵盤電路上的每個按鍵可以單獨工作,而且響應(yīng)時間快。這種帶中斷式的鍵盤電路現(xiàn)在應(yīng)用已經(jīng)相當?shù)钠毡椤?/strong>如圖3.2所示,所采用的鍵盤電路是獨立式鍵盤電路。其4個功能鍵SB1-SB4連線分別接在FPGA控制系統(tǒng)的4個端口上,并分別往上各引一條接線串一個1KΩ的上拉電阻接在+5V電源上。當4個鍵都沒有被按下去時,對應(yīng)的各條列線全部為高電平,在CMOS非門的作用下每個端口的電平為低電平。其中一個按鈕按下去時,其對應(yīng)的輸出端口在非門的作用下由低電平變?yōu)楦唠娖剑瑥亩鴨酉鄳?yīng)的功能。
圖3.2 鍵盤電路
在鍵盤電路設(shè)計中,需要解決按鍵抖動的問題。多數(shù)鍵盤的按鍵均采用機械彈性開關(guān),一個電信號通過機械觸點的斷開、閉合過程,完成高低電平的切換。由于機械觸點的彈性作用,一個按鍵開關(guān)在閉合和斷開的瞬間必然伴隨一連串的抖動。為了排除抖動的影響,在按鍵和輸出端并上一個電阻、一個電容。如圖3.3所示。
圖3.3 濾波防抖動電路
由圖可知,當鍵SB1未按下時,電容C兩端的電壓均為1,非門輸出為0。當鍵SB1按下時,由于C兩端電壓不可能產(chǎn)生突變。盡管接觸過程中可能出現(xiàn)抖動,只要適當?shù)倪x擇R和C值,即可保證電容C兩端的放電電壓波動不會超過非門的開啟電壓(TTL為0.8V),非門的輸出將維持低電平。同理,當觸點K斷開時,由于電容C經(jīng)過R2充電,C兩端的充電電壓波動不會超過非門的關(guān)閉電壓,因此,非門的輸出也不會改變[9],從而達到防抖動的效果。
3.3 系統(tǒng)時鐘電路設(shè)計
FPGA是在系統(tǒng)時鐘脈沖作用下進行的,在FPGA應(yīng)用系統(tǒng)中,要求采用石英晶振作為時鐘脈沖,如圖3.4所示,是采用有源石英晶振構(gòu)成的系統(tǒng)時鐘電路。在該電路中,1腳懸空,2腳接地,3腳接輸出,4腳接電源。3腳時鐘脈沖輸出后接在FPGA的CLK0時鐘端,另一路經(jīng)二分頻電路進行分頻后接在CLK2時鐘端。在CLK0和CLK2的共同作用下,系統(tǒng)進行工作。
時鐘輸入是系統(tǒng)電路中必不可少的一部分,它能為FPGA提供時鐘脈沖信號,考慮到EDA開發(fā)系統(tǒng)時鐘輸入的重要性,一個是50MHz的有源晶振作為時鐘信號源輸入,主要用于輸入大的時鐘信號,為波形發(fā)生器提供基準的時鐘脈沖輸入。
圖3.4 時鐘電路圖
有源晶振的驅(qū)動能力強,晶振頻率比較大,能達到幾百兆Hz,采用有源晶振作為時鐘源可以使電路的時鐘擴大。HO-12系列的有源晶振采用TTL/HCMOS技術(shù),頻率范圍是1000Hz-1000MHz,這里我們采用的是100MHz的有源晶振。
把D觸發(fā)器的輸出反饋回輸入端與D連接就形成一個二分頻電路,如圖3.5所示,從波形圖可以看出Q輸出的波形將是CP脈沖周期的兩倍,即頻率是為CP脈沖的一半[10]。
3.5  D觸發(fā)器接成二分頻電路
3.4 H型橋式驅(qū)動電路設(shè)計直流電機驅(qū)動電路使用最廣泛的就是H型全橋式驅(qū)動電路,這種驅(qū)動電路可以很方便實現(xiàn)直流電機的四象限運行,分別對應(yīng)正轉(zhuǎn)、正轉(zhuǎn)制動、反轉(zhuǎn)、反轉(zhuǎn)制動。它的基本原理圖如圖3.6所示。
圖3.6 H型全橋式驅(qū)動電路
H型全橋式驅(qū)動電路的4只三極管都工作在斬波狀態(tài),V1、V4為一組,V2、V3為另一組,兩組的狀態(tài)互補,一組導通則另一組必須關(guān)斷。當V1、V4導通時,V2、V3關(guān)斷,電機兩端加正向電壓,可以實 現(xiàn)電機的正轉(zhuǎn)或反轉(zhuǎn)制動;當V2、V3導通時,V1、V4關(guān)斷,電機兩端為反向電壓,電機反轉(zhuǎn)或正轉(zhuǎn)制動。在直流電機運轉(zhuǎn)的過程中,我們要不斷地使電機在四個象限之間切換,即在正轉(zhuǎn)和反轉(zhuǎn)之間切換,也就是在V1、V4導通且V2、V3關(guān)斷,到V1、V4關(guān)斷且V2、V3導通,這兩種狀態(tài)之間轉(zhuǎn)換。在這種情況下,理論上要求兩組控制信號完全互補,但是,由于實際的開關(guān)器件都存在開通和關(guān)斷時間,絕對的互補控制邏輯 必然導致上下橋臂直通短路,比如在上橋臂關(guān)斷的過程中,下橋臂導通了。這個過程可用圖3.7說明。
圖3.7
因此,為了避免直通短路且保證各個開關(guān)管動作之間的同步性,兩組控制信號在理論上要求互為倒相的邏輯關(guān)系,而實際上卻必須相差一個足夠的死區(qū)時間,這個矯正過程既可以通過硬件實現(xiàn),即在上下橋臂的兩組控制信號之間增加延時。驅(qū)動電流不僅可以通過主開關(guān)管流通,而且還可以通過續(xù)流二極管流通。當電機處于制動狀態(tài)時,電機便工作在發(fā)電狀態(tài),轉(zhuǎn)子電流必須通過續(xù)流二極管流通,否則電機就會發(fā)熱,嚴重時燒毀。開關(guān)管的選擇對驅(qū)動電路的影響很大,開關(guān)管的選擇宜遵循以下原則:
   1由于驅(qū)動電路是功率輸出,要求開關(guān)管輸出功率較大
    2開關(guān)管的開通和關(guān)斷時間應(yīng)盡可能小
    3直流電機使用的電源電壓不高,因此開關(guān)管的飽和壓降應(yīng)該盡量低
在實際制作中,我們可選用大功率達林頓管TIP122或場效應(yīng)管IRF530,效果都還不錯。現(xiàn)在為了取材方便,我們選用三極管作為驅(qū)動電路的開關(guān)管。從前面的分析可知,H型全橋式驅(qū)動電路中,由于開關(guān)管有開通和關(guān)斷時間,因此存在上下橋臂直通短路的問題。直通短路的存在,容易使開關(guān)管發(fā)熱,嚴重時燒毀開關(guān)管,同時也增加了開關(guān)管的能量損耗。由于現(xiàn)在的許多集成驅(qū)動芯片內(nèi)部已經(jīng)內(nèi)置了死區(qū)保護(如LMD18200),這里主要介紹的是利用開關(guān)管等分立元件以及沒有死區(qū)保護的集成芯片制作驅(qū)動電路時增加死區(qū)的方法。死區(qū)時間的問題,只有在正轉(zhuǎn)變?yōu)榉崔D(zhuǎn)或者反轉(zhuǎn)變?yōu)檎D(zhuǎn)的時候才存在,而在正轉(zhuǎn)啟動或反轉(zhuǎn)啟動的時候并沒有,因此不需要修正。如果開關(guān)管的開通和關(guān)斷時間非常小,或者在硬件電路中增加延時環(huán)節(jié),都可以降低開關(guān)管的損耗和發(fā)熱。當然,通過軟件避免直通短路是最好的辦法,它的操作簡單,控制靈活。通過軟件實現(xiàn)死區(qū)時間,就是在突然換向的時候,插入一個延時的環(huán)節(jié),待開關(guān)管關(guān)斷之后,再開通應(yīng)該開通的開關(guān)管。在開關(guān)管每次換向的時候,不立即進行方向的切換,而是先使開關(guān)管關(guān)斷一段時間,使其完全關(guān)斷后再換向打開另外的開關(guān)管。這個關(guān)斷時間由軟件延時實現(xiàn)。以上主要分析了電機的全橋式驅(qū)動電路,這是直流電機調(diào)速使用最多的調(diào)速方法。目前市場上有很多種電機驅(qū)動的集成電路,效率高,電路簡單,使用也比較廣泛,但是其驅(qū)動方法大多與全橋式驅(qū)動一樣。PWM控制方法配合橋式驅(qū)動電路,是目前直流電機調(diào)速最普遍的方法。3.5 電源電路設(shè)計
由于電機在正常工作時對電源的干擾很大,如果只用一組電源時會影響系統(tǒng)的正常工作,所以我們選用雙電源供電。一組5V給控制電路供電, 另外一組12V給電機供電。
如圖3.8所示。電源部分分為兩路,一路直接提供12伏的直流電源,主要是提供給電機使用,另一路通過三端穩(wěn)壓芯片7805穩(wěn)壓成5伏直流電源提供給鍵盤電路和時鐘電路使用,右邊兩個電容是5伏電源的濾波電容,綠色的LED作為工作指示燈,只要電源部分正常,綠色的LED就會點亮,我們可以根據(jù)這個LED來判斷整個電源部分是否工作正常。
3.8 電源電路
3.6 主要元器件簡介
基于FPGA的直流電機PWM調(diào)速系統(tǒng)的核心芯片選用Altera公司FLEX10K系列的的EP10K10TC144-3。該芯片是具有內(nèi)部電路尺寸很小、互連線短、分布電容小,驅(qū)動電路所需的功耗小等特征的可編程邏輯器件,它是實驗中常用到的一個芯片。
FLEX10K是工業(yè)界第一個嵌入式的可編程邏輯器件,采用可重構(gòu)的CMOSSRAM工藝,把連續(xù)的快速通道互連與獨特嵌入式整列相結(jié)合,同時也結(jié)合了眾多可編程器件的優(yōu)點來完成普通門陣列的宏功能。器件內(nèi)部集成10萬門電路,實現(xiàn)復雜邏輯運算和數(shù)據(jù)運算。EP10K10TC144-3和其他的FPGA芯片一樣具有以下的特點。
(1) 規(guī)模很大,其單片邏輯門數(shù)可以達到數(shù)百萬甚至上千萬門,它所能實現(xiàn)的功能很強,可以實現(xiàn)系統(tǒng)集成。這樣大幅度地減少了印刷電路板的面積和接插件的數(shù)量,降低了裝配和調(diào)試費用。
(2) 提高了產(chǎn)品的可靠性。大量分立式元器件在向印刷電路板上裝配時,往往會發(fā)生由于虛焊或接觸不良而造成故障,并且這種故障常常難以發(fā)現(xiàn),給調(diào)試和維修造成極大的困難。FPGA芯片使這種現(xiàn)象減少,設(shè)計人員只需要在自己的實驗室里就可以通過相關(guān)的軟硬件環(huán)境來完成芯片的最終功能指定。
(3) 大大減小了電子產(chǎn)品的體積和重量,降低了電子產(chǎn)品的功耗,提高了產(chǎn)品的工作速度。FPGA芯片內(nèi)部很短的連線能大大縮短延遲時間,并且不易受外部干擾,這對提高速度非常有利。
(4) 提高了產(chǎn)品的競爭能力。FPGA芯片和EPROM配合使用時,用戶可以反復地編程、擦除、使用或者在外圍電路不動的情況下用不同的EPROM就可實現(xiàn)不同的功能,所以,用FPGA試制樣片,能以最快的速度占領(lǐng)市場。再者,F(xiàn)PGA芯片的電路設(shè)計周期較短,設(shè)計人員在較短時間內(nèi)可完成電路的輸入、編譯、優(yōu)化、仿真,直至最后的芯片制作。
由于Altera公司的FLEX10K系列具有以上所有的特點,所以本設(shè)計采用它作為仿真目標器件,軟件工具為Altera公司的MAX+PlusII [4]。

4 控制邏輯VHDL描述4.1 VHDL硬件描述語言
硬件描述語言HDL是EDA技術(shù)的重要組成部分,常見的HDL有以下幾種:
(1) VHDL
(2) Verilog HDL
(3) System Verilog
(4) System C
其中VHDL、Verilog是現(xiàn)在EDA設(shè)計中使用最多,也擁有幾乎所有的主流EDA工具的支持。而System Verilog和System C這兩種HDL語言還處于完善過程中。VHDL是電子設(shè)計主流硬件的描述語言之一。VHDL的英文全名是VHSIC(Very High Speed Integrated Circuit)Hardware Description Language,于1983年由美國國防部(DOD)發(fā)起創(chuàng)建,由IEEE(The Institute of Electrical Engineers)進一步發(fā)展并在1987年作為“IEEE標準1076”(IEEE Std 1076)發(fā)布。從此,VHDL成為硬件描述語言的業(yè)界標準之一。自IEEE公布了VHDL的標準版本之后,各EDA公司相繼推出了自己的VHDL設(shè)計環(huán)境,或宣布自己的設(shè)計工具支持VHDL。此后VHDL在電子設(shè)計領(lǐng)域得到了廣泛應(yīng)用,并逐步取代了原有的非標準硬件描述語言。
VHDL作為一個規(guī)范語言和建模語言,隨著VHDL的標準化,出現(xiàn)了一些支持該語言的行為仿真器。由于創(chuàng)建VHDL的最初目標是用于標準文檔的建立和電路功能模擬,其基本想法是在最高層上描述系統(tǒng)和元件的行為。但到了20世紀90年代初,人們發(fā)現(xiàn),VHDL不僅可以作為系統(tǒng)模擬的建模工具,而且可以作為電路系統(tǒng)的設(shè)計工具,可以利用軟件工具將VHDL源碼自動地轉(zhuǎn)化為文本方式表達的基本邏輯元件連接圖,即網(wǎng)表文件。這種方法顯然對于電路自動設(shè)計是一個極大的推進。很快,電子設(shè)計領(lǐng)域出現(xiàn)了第一個軟件設(shè)計工具,即VHDL邏輯綜合器,它把標準VHDL的部分語句描述轉(zhuǎn)化為具體電路實現(xiàn)的網(wǎng)表文件。
VHDL語言具有很強的電路描述和建模能力,能從多個層次對數(shù)字系統(tǒng)進行建模和描述,從而大大簡化了硬件設(shè)計任務(wù),提高了設(shè)計效率和可靠性。
VHDL具有與具體硬件電路無關(guān)和與設(shè)計平臺無關(guān)的特性,并且具有良好的電路行為描述和系統(tǒng)描述的能力,在語言易讀性和層次化結(jié)構(gòu)化設(shè)計方面表現(xiàn)了強大的生命力和應(yīng)用潛力。因此,VHDL支持各種模式的設(shè)計方法:自頂向下與自底向上或混合方法,在面對當今許多電子產(chǎn)品生命周期縮短,需要多次重新設(shè)計以融入最新技術(shù)、改變工藝等方面,VHDL具有良好的適應(yīng)性,用VHDL進行電子系統(tǒng)設(shè)計的一個很大的優(yōu)點是設(shè)計者可以專心致志于其功能的實現(xiàn),而不需要對不影響功能的與工藝有關(guān)的因素花費過多的時間和精力。
技術(shù)的飛速發(fā)展使得集成電路的設(shè)計規(guī)模日益增大,復雜程度日益增高。伴隨著設(shè)計規(guī)模的增大,傳統(tǒng)的自下至上的、采用通用邏輯元器件的硬件描述方法變得過于復雜,不易于使用。隨著大規(guī)模專用集成電路(ASIC)的開發(fā)和研制,為了提高開發(fā)的效率,增加己有開發(fā)成果的繼承性以及縮短開發(fā)時間,各ASIC研制和生產(chǎn)廠家相繼開發(fā)了用于各自目的硬件描述語言(HDL)—可以描述硬件電路的功能,信號連接關(guān)系及定時關(guān)系的語言,它能比原理圖更有效地表示硬件電路的特性[5]。
VHDL語言具有以下特點:
(1)VHDL語言可以支持自上至下(Top Down)和基于庫(Library-Based)的設(shè)計方法,而且還支持同步電路、異步電路及其它隨機電路的設(shè)計。其范圍之廣使其它HDL語言所不能比擬的。
(2)VHDL語言具有多層次描述系統(tǒng)硬件功能的能力,可以從系統(tǒng)的數(shù)學模型直到門級電路:支持大規(guī)模設(shè)計的分解和設(shè)計重用;支持傳輸延遲和慣性延遲,可以更準確的建立復雜的電路硬件模型。
(3)在用VHDL語言設(shè)計系統(tǒng)硬件時,沒有嵌入與工藝有關(guān)的信息,這樣在工藝更新時,就無需修改原設(shè)計程序,只要改變相應(yīng)的映射工具即可。可見,無論修改電路還是修改工藝,相互之間不會產(chǎn)生什么不良影響。
(4)VHDL語言己作為一種IEEE的工業(yè)標準,設(shè)計成果便于復用和交流。這樣又進一步推動VHDL語言的推廣和完善:另外,VHDL語言的語法比較嚴格,給閱讀和使用都帶來了極大的好處。
(5)VHDL語言具有并發(fā)性,體現(xiàn)在兩個方面:首先使用VHDL語言進行數(shù)字電路設(shè)計時存在并發(fā)性,即VHDL語言支持設(shè)計分解,可使被分解的各子部分的設(shè)計并行完成,這些子部分的設(shè)計由三部分組成:定義實體—確定模型與環(huán)境的接口;定義結(jié)構(gòu)體—完成模型的功能描述;定義測試部分—為模型生成測試向量,并捕獲模型輸出信號狀態(tài)以供分析。其次,VHDL語言在執(zhí)行上具有并發(fā)性,很適合描述電路的并發(fā)性特點[4]。

4.2 FPGA內(nèi)部邏輯組成
圖4.1  FPGA直流電機PWM 控制電路
由圖4.1可以看出電機控制邏輯模塊由PWM脈寬調(diào)制信號產(chǎn)生電路、方向控制電路組成。其中PWM脈寬調(diào)制信號產(chǎn)生電路由可控的加減計數(shù)器CNTA、5位二進制計數(shù)器CNTB、數(shù)字比較器LPM_COMPARE三部分組成,方向控制電路由兩個二選一電路21MUX組成。連接在每個模塊的端口的作用在2.5中已經(jīng)詳細的說明,在這里就不再重復。接著就對PWM脈寬調(diào)制信號產(chǎn)生電路的VHDL描述與仿真、方向電路的VHDL描述與仿真進行詳細的分析。
4.3 PWM脈寬調(diào)制信號產(chǎn)生電路描述
PWM脈寬調(diào)制信號產(chǎn)生電路由可控的加減計數(shù)器CNTA、5位二進制計數(shù)器CNTB、數(shù)字比較器LPM_COMPARE三部分組成。可控的加減計數(shù)器做細分計數(shù)器,確定脈沖寬度。當U/D=1時,輸入CLK2,使設(shè)定值計數(shù)器的輸出值增加,PWM的占空比增加,電機轉(zhuǎn)速加快;當U/D =0,輸入CLK2,使設(shè)定值計數(shù)器的輸出值減小,PWM的占空比減小,電機轉(zhuǎn)速變慢。5位二進制計數(shù)器在CLK0的作用下,鋸齒波計數(shù)器輸出周期性線性增加的鋸齒波。當計數(shù)值小于設(shè)定值時,數(shù)字比較器輸出高電平;當計數(shù)值大于設(shè)定值時,數(shù)字比較器輸出低電平,由此產(chǎn)生周期性的PWM波形。其內(nèi)部邏輯圖如圖4.2所示。
圖 4.2  FPGA中的PWM脈寬調(diào)制信號產(chǎn)生電路
可控的加減計數(shù)器CNTA中的端口U_D控制計數(shù)器的方向,EN1是計數(shù)器的使能端,控制計數(shù)器初值的變化。U­_D=1時,加減計數(shù)器CNTA在脈沖CLK2的作用下,每來一個脈沖,計數(shù)器CNTA加1,U_D=0時,每來一個脈沖,計數(shù)器CNTA減1。使能端EN1設(shè)定計數(shù)器值的初值,當EN1由1變?yōu)?的時候,無論U_D如何表化,計數(shù)器的值都不會發(fā)生變化,這樣就完成了計數(shù)器的設(shè)定值,其仿真波形如圖4.3所示,其VHDL語言如下。
LIBRARY IEEE;
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY CNTA IS
   PORT(CLK:IN STD_LOGIC;
        U_D:IN STD_LOGIC;
         CQ:OUT STD_LOGIC_VECTOR(4 DOWNTO 0));
END CNTA;
ARCHITECTURE behav OF CNTA IS
   SIGNAL CQI:STD_LOGIC_VECTOR(4 DOWNTO 0);
BEGIN
    PROCESS(CLK)
BEGIN
     IF CLK'EVENT AND CLK='1'THEN
      IF U_D='1' THEN
        IF CQI<=31 THEN  CQI<="11111";
          ELSE CQI<=CQI+1; END IF;
        ELSIF CQI=0 THEN CQI<="00000";
          ELSE CQI<=CQI-1;END IF;
  END IF;
  END PROCESS;
  CQ<=CQI;
  END behav;
圖 4.3 細分計數(shù)器的仿真波形
CNTB是一個簡單的5位二進制計數(shù)器,它的工作原理和CNTA的原理很相似,我們只是在CNTA的時鐘端加了一個使能端EN1控制其加減的方向。而CNTB的時鐘端沒有加使能端,所以每來一個脈沖計數(shù)器加1,因為CNTB是一個5位的二進值計數(shù)器,所以當計數(shù)器的值當大于32時,計數(shù)器又重新從0開始記數(shù),從而產(chǎn)生周期性的線性增加的鋸齒波。其仿真波形如4.4,其VHDL語言如下。
ENTITY  CNTB IS
  PORT(CLK: IN BIT;
         Q:BUFFER INTEGER RANGE 31 DOWNTO 0);
   END;
ARCHITECTURE BHV OF CNTB IS
  BEGIN
PROCESS(CLK)
  BEGIN
    IF CLK'EVENT AND CLK='1' THEN
         Q<=Q+1;
           END IF;
       END PROCESS;
     END BHV;
圖4.4  5位二進制計數(shù)器仿真波形
數(shù)字比較器是產(chǎn)生PWM波形的核心組成部件,可控的加減計數(shù)器CNTA和5位二進制計數(shù)器CNTB同時加數(shù)字比較器LPM-COMPARE兩端作為兩路輸入信號,當計數(shù)器CNTB輸出值小于細分計數(shù)器CNTA輸出的規(guī)定值時, 比較器輸出高電平; 當CNTB輸出值大于細分計數(shù)器CNTA輸出的規(guī)定值時, 比較器輸出低電平。改變細分計數(shù)器的設(shè)定值, 就可以改變PWM輸出信號的占空比。為了便于觀察防真波形,我在CNTB的輸出加上B[4..0],仿真波形如圖4.5。
圖4.5 數(shù)字比較器的仿真波形
細分計數(shù)器CNTA是一個雙向計數(shù)器, 可以進行加減計數(shù),由U_D控制其加/減計數(shù)方向, CLK是計數(shù)時鐘輸入端。為了便于連續(xù)變速控制, 在計數(shù)器的CLK端通過“與”門, 加入了CLK2外部變速控制附加時鐘, 并由EN1信號控制是否允許變速。在本次設(shè)計中直流電機轉(zhuǎn)速進行了32級細分。其仿真波形如圖4.6,細分計數(shù)器的初值我設(shè)為08H,也就是十進值的8,當計數(shù)器CNTB的值小于8時,AGB輸出高電平,當計數(shù)器CNTB的值大于8時,AGB的輸出值為低電平,從而產(chǎn)生PWM波形。
圖4.6  A[4..0]=08H時電機加速PWM波形
通過改變細分計數(shù)器的值就可以改變PWM的占空比,從而改變直流電機的速度。在圖4.6中占空比D=8/32=0.25,在圖4.7中占空比D=4/32=0.125。通過以上兩組數(shù)據(jù)比較以及分析仿真波形我們可以看出,只要改變使能端電平的高低,便可以改變細分計數(shù)器的值,也就是改變細分計數(shù)器CNTA的初值,從而可以改變直流電機的占空比,改變直流電機的速度。
圖4.7  A[4..0]=04H時電機減速PWM波形
調(diào)節(jié)PWM波的占空比是電機調(diào)速的重要手段,若脈寬計數(shù)器CNTA的值逐漸增大,輸出脈沖的開啟時間變大,PWM占空比逐漸變大,功率器件輸出給電機電樞的能量增加,電機加速。若脈寬計數(shù)器定時器CNTA的值減小,輸出脈沖的開啟時間變小,PWM占空比逐漸變小,功率器件輸出給電機電樞的能量減少,電機減速。當電機得到加速信號,占空比增大至它可調(diào)范圍的最大值后保持,電機得到減速信號,占空比減小至它的可調(diào)范圍的最小值后保持。
4.4 運行控制邏輯電路描述
如圖4.8所示FPGA中的工作/停止控制和正/反轉(zhuǎn)方向控制電路,其兩個二選一多路選擇器加上兩個與門根據(jù)邏輯原理組合而成。START鍵通過“與”門控制PWM輸出,實現(xiàn)對電機的工作/停止控制。當START端接高電平時,表示電源接通,電機開始運轉(zhuǎn);當START端接低電平時,電機停止運轉(zhuǎn)。Z/F鍵控制選擇PWM波形是從正端Z進入H橋,還是從負端F進入H橋,以控制電機的旋轉(zhuǎn)方向。當Z/F=1時PWM輸出波形從正端Z進入H橋,電機正轉(zhuǎn)。當 Z/F =0時PWM輸出波形從負端F進入H橋,電機反轉(zhuǎn)。仿真如圖4.9所示。
圖4.8  FPGA中的工作/停止控制和正/反轉(zhuǎn)方向控制電路
圖4.9 正/反轉(zhuǎn)工作控制電路波形
當START=1時,與門打開,允許電機工作。當START=0時,與門關(guān)閉,電機停止轉(zhuǎn)動。仿真如圖4.10所示。
圖4.10 工作/停止電路波形

5 直流電機PWM調(diào)速系統(tǒng)仿真
5.1 FPGA開發(fā)環(huán)境的介紹
MAX+Plus II(MuliPtle Array Martix and Programmxnaable Logie User System)是ALTERA公司推出的具有完全集成化、可視化的設(shè)計環(huán)境,具有工業(yè)標準EDA工具接口,可運行于多種操作系統(tǒng)。MAX+Plus II提供了一種與結(jié)構(gòu)無關(guān)的設(shè)計環(huán)境,設(shè)計人員無須精通器件內(nèi)部結(jié)構(gòu),只需運用自己熟悉的輸入工具進行設(shè)計,就可以通過MAX+Plus II把這些設(shè)計轉(zhuǎn)換為最終結(jié)構(gòu)所需要的格式。
MAX+Plus II提供豐富的邏輯功能供設(shè)計人員調(diào)用,其中包括74系列全部器件的等效宏功能庫和多種特殊的宏功能(MacorFunctino)模塊以及參數(shù)化的宏功能(Mageufnctino)模塊。MAX+PlusH還具有開放核的特點,允許設(shè)計人員添加自己的宏功能模塊。充分利用這些邏輯功能模塊,可以大大減輕設(shè)計的工作量,成倍縮短開發(fā)周期。
Altera公司的MAX+plus II有以下特點:
開放的界面——MAX+plus II軟件可與其他工業(yè)標準的設(shè)計輸入、綜合與校驗工具相連接,支持與Candence、Synopsys、Viewlogic等其它公司所提供的EDA接口。
完全集成化——MAX+plus II的設(shè)計輸入、處理與校驗功能全部集成在統(tǒng)一的開發(fā)環(huán)境下,這樣可以加快動態(tài)調(diào)試、縮短開發(fā)周期。
豐富的設(shè)計庫——MAX+plus II提供豐富的庫單元供設(shè)計者調(diào)用,其中包括74系列的全部器件、大量的數(shù)字器件和新型參數(shù)化的宏函數(shù),大大減輕了設(shè)計人員的工作量。
硬件描述語言——MAX+plus II軟件支持各種HDL設(shè)計輸入選項,包括VHDL、verilog HDL和Altera公司自己的硬件描述語言AHDL。
開放核特性——MAX+plus II軟件具有開放核的特點,它允許設(shè)計人員添加自己認為有價值的宏函數(shù)。
MAX+plus II軟件的設(shè)計輸入方法有多種,主要包括原理圖輸入方式、文本設(shè)計輸入方式、波形設(shè)計輸入方式等。
(1) 原理圖輸入與符號編輯。利用MAX+plus II提供的各種原理圖庫進行設(shè)計輸入是一種最為直接的輸入方式。用這種方式輸入時,為提高效率,應(yīng)采用自頂向下邏輯分塊,把大規(guī)模的電路劃分成若干小塊的方法。
(2) 硬件描述語言輸入。MAX+plus II包含一個集成的Text Editor(文本編輯程序),適合于輸入和編輯用VHDL語言編寫的設(shè)計文件。
(3) MAX+plus II Waveform Editor(波形編輯程序)用于建立和編輯波形文件及輸入仿真向量和功能測試向量,適合于時序和重復的函數(shù)。
設(shè)計人員可以根據(jù)自己的實際情況靈活的選擇MAX+plus II軟件的輸入方式。若對系統(tǒng)進行數(shù)學描述,需要采用VHDL語言的行為描述。在數(shù)學模型建立之后,需要改為數(shù)據(jù)流描述方式。在這個過程中,會遇到兩種情況:一種是對時間要求較高的部分即時序邏輯,另一種是狀態(tài)機即組合邏輯。對于時序邏輯,用VHDL語言的數(shù)據(jù)流描述的方式要用到大量的基本數(shù)字器件,如門電路、觸發(fā)器等,這些器件的使用要用到VHDL語言的元件例化語句和元件配置語句,而且還要定義大量的中間變量作為元件的輸入輸出量,書寫不是非常方便。這種情況下使用原理圖輸入是非常直觀和方便的。狀態(tài)機(Sate Machine)是一種記錄下給定時刻狀態(tài)的設(shè)備,并根據(jù)輸入對每個給定狀態(tài)的改變,改變其狀態(tài)或引發(fā)一個動作。狀態(tài)機是控制電路設(shè)計中的重要部分,它的功能十分強大,規(guī)定了事件的合法狀態(tài)即轉(zhuǎn)換條件,對信號有條件要求的場合非常適用。這樣的情況用原理圖是比較難以表述的,而用VHDL語言則很簡單,采用相應(yīng)的選擇語句即可。描述出來的狀態(tài)機可以作為一個新的宏函數(shù)供原理圖調(diào)用。
5.2 建立工程項目
在本次設(shè)計中,主要用到的設(shè)計方法是原理圖輸入設(shè)計,MAX+plus II提供了功能強大,直觀便捷和操作靈活的原理圖輸入設(shè)計功能,同時還配備了適用于各種需要的元件庫,其中包含基本邏輯元件庫(如與非門、反向器、D觸發(fā)器等)、宏功能元件(包含了幾乎所有74系列的器件),以及功能強大,性能良好的類似于IP Core的巨功能塊LPM庫。但更為重要的是,MAX+plus II還提供了原理圖輸入多層次設(shè)計功能,使得用戶能設(shè)計更大規(guī)模的電路系統(tǒng),以及使用方便精度良好的時序仿真器。通過時序仿真,能對迅速定位電路系統(tǒng)的錯誤所在,并隨時糾正。 能對設(shè)計方案作隨時更改,并儲存設(shè)計過程中所有的電路和測試文件。將不會有任何器件損壞和損耗,符合現(xiàn)代電子設(shè)計技術(shù)規(guī)范。下面介紹基本設(shè)計步驟。
(1)為工程設(shè)計建立一個文件夾,本次設(shè)計的文件取名為eda,路徑為F:\eda。
(2)輸入設(shè)計項目和存盤
①打開MAX+Plus II,選菜單File中的new,在彈出的對話框中選擇原理圖編輯輸入項“Graphic Editor File” 如圖5.1所示。按“OK”鍵后打開原理圖編輯口。
圖5.1 建立原理圖編輯器對話框
②然后在編輯窗口的任一位置上右擊,將彈出一個菜單,選擇其中的輸入元件項“Enter Symbol”,于是將彈出如圖5.2所示的元件輸入對話框。
圖5.2 元件輸入對話框
③在Symbol Name中輸入本設(shè)計需要用到的元件,如二選一多路選擇器21 MUX,數(shù)字比較器LPM_COMPARE等等,再單擊OK按鈕,便可以將元件調(diào)入原理圖編輯窗口中。
注意:在本次設(shè)計中需要用到用VHDL語言描述出來的CNTA和CNTB兩個狀態(tài)機作為新的宏函數(shù)供原理圖調(diào)用。還要用到一個參數(shù)可調(diào)的宏函數(shù)LPM_COMPARE,其具體的操作方法是在圖5.2原理圖編輯窗口輸入LPM_COMPARE,單擊“OK”鍵,便可以找到LPM_COMPARE,如圖5.3所示。
圖5.3 參數(shù)未設(shè)置的數(shù)字比較器圖標
雙擊圖5.3中的LPM_COMPARE右上角的參數(shù)顯示文字,然后在彈出的參數(shù)設(shè)置對話框中選擇合適的參數(shù),如圖5.4所示。
圖5.4 參數(shù)設(shè)置對話框
數(shù)字比較器各端口及其參數(shù)的含義是:
Aclr:異步清零輸入;
Alb、aAeb、,agb、ageb、,aneb、aleb:比較器數(shù)據(jù)輸出;
Clock:上升沿觸發(fā)記數(shù)時鐘輸入;
Dataa[]:并行數(shù)據(jù)輸入端;
設(shè)置情況如圖4.1所示,比較器位寬為5,即5位比較器
④選擇菜單File中的Save as,選擇剛建的工程項目F:\eda,將設(shè)計好的圖文文件取名為:PWM.gdf,并存盤在這個目錄中。
(3) 將設(shè)計項目設(shè)置成工程文件
為了使MAX+plus II能對輸入的設(shè)計項目按設(shè)計者的要求進行各項處理,必須將PWM.gdf設(shè)置成Project。
圖5.5將設(shè)計項目設(shè)置成工程文件
(4)選擇目標器件并編譯
為了獲得與目標器件相對應(yīng)的、精確的時序仿真文件,在對文件編譯前必須選定實現(xiàn)本項目的目標器件,在本次設(shè)計中選擇EPF10K10TC144-3,最后啟動編譯。
圖5.6 選擇目標器件
圖5.7 對文件進行編譯、綜合和適配等操作
(5) 時序仿真
時序仿真的主要內(nèi)容是建立波形文件(和建立原理圖輸入設(shè)計一樣),輸入信號節(jié)點、設(shè)置波形參量、設(shè)定仿真時間、波形文件存盤、運行仿真和分析波形[5]。
5.8 輸入信號節(jié)點
5.9 設(shè)定仿真時間
上面詳細介紹介紹了原理圖的設(shè)計流程,現(xiàn)在對其歸納如下:

5.10 項目輸入設(shè)計框圖

在本次設(shè)計中,需要滿足的技術(shù)要求是設(shè)計具有正/反轉(zhuǎn),起/停控制功能、速度在線可調(diào)的直流電機控制裝置。接下來就用仿真波形詳細的說明本次設(shè)計的電路滿足以上的所有要求。

5.3 正/反轉(zhuǎn)控制仿真
鍵盤Z_F是電機的方向控制鍵。當要求電機正轉(zhuǎn)時,只需要按下鍵Z_F,表示Z_F輸出高電平,即Z_F=1,電機正轉(zhuǎn),如圖5.11所示。當鍵Z_F松開時,Z_F=0時,電機反轉(zhuǎn),如圖5.12、圖5.13所示。
圖5.11 電機正轉(zhuǎn)
5.12 電機反轉(zhuǎn)
圖5.13 電機正反轉(zhuǎn)
5.4 /控制仿真
START鍵是電機的啟動鍵,當按下START鍵時,START=1,電機進入運行狀態(tài),如圖5.14所示。反之,START=0時,電機停止,如圖5.15、圖5.16所示。
圖5.14 啟動仿真波形
圖5.15 停止仿真波形
圖5.16 啟/停仿真波形
5.5 /減速仿真
鍵盤EN1控制電機是否允許變速。所以通過改變EN1便可以改變設(shè)定值H[4..0]的值,也就是設(shè)定值的初值,從而改變了直流電機的占空比,改變直流電機的速度,達到調(diào)速的目的。
因為CNTB是5位的計數(shù)器,所在本設(shè)計中直流電機轉(zhuǎn)速細分為32級。如圖5.17的占空比為2/32=0.0625,同理通過按鍵EN1該變H[4..0]的值便得到如圖5.18、5.19的PWM仿真波形,其占空比依次為0.125、0.25,也就是占空比增大,電機的速度增加。根據(jù)以上的數(shù)據(jù)比較與仿真波形的分析可以看出,電機的速度在逐漸的增加。所以通過改變EN1的值可以改變直流電機的PWM占空比,從而改變直流電機的速度。
圖5.17 H[4..0]=02H仿真波形
圖5.18  H[4..0]=04H仿真波形
圖5.19 H[4..0]=08H仿真波形
5.6 仿真結(jié)果分析
通過5.2到5.5的仿真波形分析可知,本設(shè)計中的各項功能夠很好的實現(xiàn)。在時鐘脈沖的作用下,計數(shù)器CNTA和CNTB都能按照事先設(shè)定好的規(guī)則進行計數(shù)。CNTA是可控的加減計數(shù)器,U_D控制其計數(shù)的方向,EN1用于設(shè)定其初值,當NE1由高電平變?yōu)榈碗娖綍r,就完成了設(shè)定值。CNTB是5位二進制計數(shù)器,其在時鐘脈沖CLK0的作用下一直加數(shù),當它加到32時就自動返回到0再重新加數(shù)。兩路計數(shù)器同時加到數(shù)字比較器LMP_COMPARE上,當CNTB的值小于設(shè)定值時,數(shù)字比較器輸出高電平,當CNTB的值大于設(shè)定值時,數(shù)字比較器輸出低電平。因此改變設(shè)定值的大小就可以改變PWM波形的大小,也就是完成了電機的調(diào)速。Z_F是電機的方向按鍵,選擇PWM波形的進入方向,當其為1時,電機正轉(zhuǎn),反之,反轉(zhuǎn)。至于電機的控制,是在它的輸入端加上兩個與門來控制電機的啟動與停止。其具體的操作如下:
當按下鍵Z_F鍵時,電機正轉(zhuǎn)(如圖5.11),松開鍵時,電機反轉(zhuǎn)(如圖5.12)。當按下鍵START時,電機開始工作(如圖5.14),松開時,電機停止工作(如圖5.15)。通過按鍵EN1的閉合與斷開可以改變H[4.0]的值(如圖5.17、5.18、5.19)從而改變直流電機的PWM占空比,達到改變直流電機速度的目的。
本設(shè)計采用VHDL設(shè)計FPGA 脈寬調(diào)制控制方案, 計算機仿真和對直流電機控制的結(jié)果表明,該電路能有效地產(chǎn)生PWM 控制信號控制電機的轉(zhuǎn)速, 控制精度由FPGA 中的數(shù)字比較器決定。在本設(shè)計中,采用的數(shù)字比較器為5位, 若增加數(shù)字比較器的位數(shù), 就可以提高電機轉(zhuǎn)速的控制精度。
電路中省去了D/A 轉(zhuǎn)換器使電路變得更加簡潔, 同時也降低控制器的成本。FPGA 內(nèi)部采用狀態(tài)機結(jié)構(gòu), 遇到干擾時, 能很快從異常狀態(tài)轉(zhuǎn)入正常工作狀態(tài), 保證了控制系統(tǒng)具有高的可靠性。從以上的仿真中可以看出,基于FPGA的直流電機的控制能夠達到很好的預期效果。

6 總結(jié)這次設(shè)計,我于年月日年月日查閱資料,收集資料、在消化資料的基礎(chǔ)上提出工程技術(shù)方案,并對設(shè)計方案進行論證。于年月日完成設(shè)計初稿。在這期間,我用了兩個月的時間不斷修改原理圖和程序,直到程序和仿真基本滿足設(shè)計要求,最后在指導老師X老師的指導下,根據(jù)任務(wù)書圓滿地完成了該畢業(yè)設(shè)計。在這段設(shè)計的過程中,確實也遇到很多的困難。FPGA技術(shù)是一門較新的學科,這方面的資料不是很多,所有的一切只有靠自己去摸索,這是一個比較漫長的過程。在求助于老師、理清思路后,于是到圖書館、網(wǎng)上查閱資料,比如怎樣實現(xiàn)電機的正轉(zhuǎn)和反轉(zhuǎn)、加速和減速等等。經(jīng)過指導老師X老師的耐心指點和連續(xù)一個星期的奮戰(zhàn)才算基本合格。我發(fā)現(xiàn)收獲了不少,通過查資料了解了直流電機工作原理及用途、PWM控制技術(shù)、鍵盤電路接口技術(shù)、時鐘電路技術(shù)等等,同時也讓我學習現(xiàn)代電子產(chǎn)品的設(shè)計流程,為以后從事產(chǎn)品開發(fā)打好了基礎(chǔ)。



致謝
在論文即將完成之際,也將是我的大學生活快要結(jié)束的時候,此時,我的心情無法平靜,從開始進入課題到論文的順利完成,有我們可敬的X老師給了我辛勤地指導,還有其他師長、領(lǐng)導、同學、朋友給了我無言的幫助,在這里請接受我誠摯的謝意!
在這次畢業(yè)設(shè)計中,首先要感謝我的指導老師X教授,他在學習和設(shè)計方面給予我大量的指導,并為我們提供了一個良好的學習環(huán)境,讓我學到了知識,掌握了解決問題的方法,也獲得了實踐鍛煉的機會。他的嚴謹細致、一絲不茍的作風將一直是我工作、學習中的榜樣,同時他的循循善誘的教導、不拘一格的思路和為人處世的坦蕩也給予我無盡的啟迪。除此之外,他還教了一些我做人的道理。在此祝愿他身體健康,全家幸福!還有很多我無法一一列舉姓名的師長和友人給了我指導和幫助,在此衷心的表示感謝,他們的名字我一直銘記在心!
最后,衷心感謝在百忙之中抽出時間審閱本論文的專家教授

00.png
完整的Word格式文檔51黑下載地址(共頁):
http://www.denmoz.com/bbs/dpj-113482-1.html


回復

使用道具 舉報

ID:302773 發(fā)表于 2019-9-25 23:01 | 顯示全部樓層
請問樓主有這個項目的代碼嗎
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表