久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標(biāo)題: 直流電機(jī)PWM控制的FPGA實(shí)現(xiàn)論文與仿真源碼等全套資料 [打印本頁]

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

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





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

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

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

3 直流電機(jī)PWM調(diào)速控制電路設(shè)計(jì)
如圖3.1所示,基于FPGA的直流電機(jī)PWM控制電路主要由四部分組成:控制命令輸入模塊、控制命令處理模塊、控制命令輸出模塊、電源模塊。鍵盤電路、時鐘電路是系統(tǒng)的控制命令輸入模塊,向FPGA芯片發(fā)送命令,F(xiàn)PGA芯片是系統(tǒng)控制命令的處理模塊,負(fù)責(zé)接收、處理輸入命令并向控制命令輸出模塊發(fā)出PWM信號,是系統(tǒng)的控制核心。控制命令輸出模塊由H型橋式直流電機(jī)驅(qū)動電路組成,它負(fù)責(zé)接收由FPGA芯片發(fā)出的PWM信號,從而控制直流電機(jī)的正反轉(zhuǎn)、加速以及在線調(diào)速。電源模塊負(fù)責(zé)給整個電路供電,保證電路能夠正常的運(yùn)行。
圖3.1  FPGA直流電機(jī)PWM 控制電路
3.1 系統(tǒng)工作原理
在圖3.1中所示的FPGA是根據(jù)設(shè)計(jì)要求設(shè)計(jì)好的一個芯片,其內(nèi)部邏輯電路如圖4.1。
START是電機(jī)的開啟端,U_D控制電機(jī)加速與減速,EN1用于設(shè)定電機(jī)轉(zhuǎn)速的初值,Z_F是電機(jī)的方向端口,選擇電機(jī)運(yùn)行的方向。CLK2和CLK0是外部時鐘端,其主要作用是向FPGA控制系統(tǒng)提供時鐘脈沖,控制電機(jī)進(jìn)行運(yùn)轉(zhuǎn)。
通過鍵盤設(shè)置PWM信號的占空比。當(dāng)U_D=1時, 表明鍵U_D按下,輸入CLK2使電機(jī)轉(zhuǎn)速加快;當(dāng)U/D =0,表明鍵U_D松開,輸入CLK2使電機(jī)轉(zhuǎn)速變慢,這樣就可以實(shí)現(xiàn)電機(jī)的加速與減速。
Z_F鍵是電機(jī)運(yùn)轉(zhuǎn)的方向按鍵,當(dāng)把Z_F鍵按下時,Z_F=1,電機(jī)正轉(zhuǎn);反之Z/F =0時,電機(jī)反轉(zhuǎn)。
START是電機(jī)的開啟鍵,當(dāng)START=1,允許電機(jī)工作;當(dāng)START=0時,電機(jī)停止轉(zhuǎn)動。
H橋電路由大功率晶體管組成,PWM輸出波形通過由兩個二選一電路組成的方向控制電路送到 H 橋, 經(jīng)功率放大以后對直流電機(jī)實(shí)現(xiàn)四象限運(yùn)行。并由EN1信號控制是否允許變速[5]。
3.2 鍵盤電路設(shè)計(jì)本設(shè)計(jì)系統(tǒng)的命令輸入模塊是鍵盤電路和時鐘電路,通過以按鍵的方式向FPGA控制系統(tǒng)表達(dá)人的命令來實(shí)現(xiàn)直流電機(jī)的正轉(zhuǎn)、反轉(zhuǎn)、停止和加減速,實(shí)現(xiàn)人機(jī)互換。下面就對鍵盤電路和時鐘電路的類型以及工作原理分別進(jìn)行論述。鍵盤電路有兩種類型,其中一種是獨(dú)立式鍵盤電路。獨(dú)立式鍵盤電路結(jié)構(gòu)簡單、操作方便,在目前這種結(jié)構(gòu)的鍵盤應(yīng)用還非常普遍。只是這種鍵盤電路的每個按鍵都要占用一根I/O口線,這樣的話,隨著按鍵的增加將使I/O口線不足。因此,這種鍵盤電路只有在按鍵比較少的情況下比較適用。另一種鍵盤電路是矩陣式鍵盤電路,這種鍵盤電路的按鍵設(shè)置在行線和列線的交叉點(diǎn)上,因此在有限的I/O口線上可以設(shè)置比較多的按鍵。只是這種鍵盤電路結(jié)構(gòu)、編程都比較復(fù)雜。在鍵盤電路中,往往可以與一個與非門電路構(gòu)成帶中斷的鍵盤電路。這種鍵盤電路上的每個按鍵可以單獨(dú)工作,而且響應(yīng)時間快。這種帶中斷式的鍵盤電路現(xiàn)在應(yīng)用已經(jīng)相當(dāng)?shù)钠毡椤?/strong>如圖3.2所示,所采用的鍵盤電路是獨(dú)立式鍵盤電路。其4個功能鍵SB1-SB4連線分別接在FPGA控制系統(tǒng)的4個端口上,并分別往上各引一條接線串一個1KΩ的上拉電阻接在+5V電源上。當(dāng)4個鍵都沒有被按下去時,對應(yīng)的各條列線全部為高電平,在CMOS非門的作用下每個端口的電平為低電平。其中一個按鈕按下去時,其對應(yīng)的輸出端口在非門的作用下由低電平變?yōu)楦唠娖剑瑥亩鴨酉鄳?yīng)的功能。
圖3.2 鍵盤電路
在鍵盤電路設(shè)計(jì)中,需要解決按鍵抖動的問題。多數(shù)鍵盤的按鍵均采用機(jī)械彈性開關(guān),一個電信號通過機(jī)械觸點(diǎn)的斷開、閉合過程,完成高低電平的切換。由于機(jī)械觸點(diǎn)的彈性作用,一個按鍵開關(guān)在閉合和斷開的瞬間必然伴隨一連串的抖動。為了排除抖動的影響,在按鍵和輸出端并上一個電阻、一個電容。如圖3.3所示。
圖3.3 濾波防抖動電路
由圖可知,當(dāng)鍵SB1未按下時,電容C兩端的電壓均為1,非門輸出為0。當(dāng)鍵SB1按下時,由于C兩端電壓不可能產(chǎn)生突變。盡管接觸過程中可能出現(xiàn)抖動,只要適當(dāng)?shù)倪x擇R和C值,即可保證電容C兩端的放電電壓波動不會超過非門的開啟電壓(TTL為0.8V),非門的輸出將維持低電平。同理,當(dāng)觸點(diǎn)K斷開時,由于電容C經(jīng)過R2充電,C兩端的充電電壓波動不會超過非門的關(guān)閉電壓,因此,非門的輸出也不會改變[9],從而達(dá)到防抖動的效果。
3.3 系統(tǒng)時鐘電路設(shè)計(jì)
FPGA是在系統(tǒng)時鐘脈沖作用下進(jìn)行的,在FPGA應(yīng)用系統(tǒng)中,要求采用石英晶振作為時鐘脈沖,如圖3.4所示,是采用有源石英晶振構(gòu)成的系統(tǒng)時鐘電路。在該電路中,1腳懸空,2腳接地,3腳接輸出,4腳接電源。3腳時鐘脈沖輸出后接在FPGA的CLK0時鐘端,另一路經(jīng)二分頻電路進(jìn)行分頻后接在CLK2時鐘端。在CLK0和CLK2的共同作用下,系統(tǒng)進(jìn)行工作。
時鐘輸入是系統(tǒng)電路中必不可少的一部分,它能為FPGA提供時鐘脈沖信號,考慮到EDA開發(fā)系統(tǒng)時鐘輸入的重要性,一個是50MHz的有源晶振作為時鐘信號源輸入,主要用于輸入大的時鐘信號,為波形發(fā)生器提供基準(zhǔn)的時鐘脈沖輸入。
圖3.4 時鐘電路圖
有源晶振的驅(qū)動能力強(qiáng),晶振頻率比較大,能達(dá)到幾百兆Hz,采用有源晶振作為時鐘源可以使電路的時鐘擴(kuò)大。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è)計(jì)直流電機(jī)驅(qū)動電路使用最廣泛的就是H型全橋式驅(qū)動電路,這種驅(qū)動電路可以很方便實(shí)現(xiàn)直流電機(jī)的四象限運(yù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)互補(bǔ),一組導(dǎo)通則另一組必須關(guān)斷。當(dāng)V1、V4導(dǎo)通時,V2、V3關(guān)斷,電機(jī)兩端加正向電壓,可以實(shí) 現(xiàn)電機(jī)的正轉(zhuǎn)或反轉(zhuǎn)制動;當(dāng)V2、V3導(dǎo)通時,V1、V4關(guān)斷,電機(jī)兩端為反向電壓,電機(jī)反轉(zhuǎn)或正轉(zhuǎn)制動。在直流電機(jī)運(yùn)轉(zhuǎn)的過程中,我們要不斷地使電機(jī)在四個象限之間切換,即在正轉(zhuǎn)和反轉(zhuǎn)之間切換,也就是在V1、V4導(dǎo)通且V2、V3關(guān)斷,到V1、V4關(guān)斷且V2、V3導(dǎo)通,這兩種狀態(tài)之間轉(zhuǎn)換。在這種情況下,理論上要求兩組控制信號完全互補(bǔ),但是,由于實(shí)際的開關(guān)器件都存在開通和關(guān)斷時間,絕對的互補(bǔ)控制邏輯 必然導(dǎo)致上下橋臂直通短路,比如在上橋臂關(guān)斷的過程中,下橋臂導(dǎo)通了。這個過程可用圖3.7說明。
圖3.7
因此,為了避免直通短路且保證各個開關(guān)管動作之間的同步性,兩組控制信號在理論上要求互為倒相的邏輯關(guān)系,而實(shí)際上卻必須相差一個足夠的死區(qū)時間,這個矯正過程既可以通過硬件實(shí)現(xiàn),即在上下橋臂的兩組控制信號之間增加延時。驅(qū)動電流不僅可以通過主開關(guān)管流通,而且還可以通過續(xù)流二極管流通。當(dāng)電機(jī)處于制動狀態(tài)時,電機(jī)便工作在發(fā)電狀態(tài),轉(zhuǎn)子電流必須通過續(xù)流二極管流通,否則電機(jī)就會發(fā)熱,嚴(yán)重時燒毀。開關(guān)管的選擇對驅(qū)動電路的影響很大,開關(guān)管的選擇宜遵循以下原則:
   1由于驅(qū)動電路是功率輸出,要求開關(guān)管輸出功率較大
    2開關(guān)管的開通和關(guān)斷時間應(yīng)盡可能小
    3直流電機(jī)使用的電源電壓不高,因此開關(guān)管的飽和壓降應(yīng)該盡量低
在實(shí)際制作中,我們可選用大功率達(dá)林頓管TIP122或場效應(yīng)管IRF530,效果都還不錯。現(xiàn)在為了取材方便,我們選用三極管作為驅(qū)動電路的開關(guān)管。從前面的分析可知,H型全橋式驅(qū)動電路中,由于開關(guān)管有開通和關(guān)斷時間,因此存在上下橋臂直通短路的問題。直通短路的存在,容易使開關(guān)管發(fā)熱,嚴(yán)重時燒毀開關(guān)管,同時也增加了開關(guān)管的能量損耗。由于現(xiàn)在的許多集成驅(qū)動芯片內(nèi)部已經(jīng)內(nèi)置了死區(qū)保護(hù)(如LMD18200),這里主要介紹的是利用開關(guān)管等分立元件以及沒有死區(qū)保護(hù)的集成芯片制作驅(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ā)熱。當(dāng)然,通過軟件避免直通短路是最好的辦法,它的操作簡單,控制靈活。通過軟件實(shí)現(xiàn)死區(qū)時間,就是在突然換向的時候,插入一個延時的環(huán)節(jié),待開關(guān)管關(guān)斷之后,再開通應(yīng)該開通的開關(guān)管。在開關(guān)管每次換向的時候,不立即進(jìn)行方向的切換,而是先使開關(guān)管關(guān)斷一段時間,使其完全關(guān)斷后再換向打開另外的開關(guān)管。這個關(guān)斷時間由軟件延時實(shí)現(xiàn)。以上主要分析了電機(jī)的全橋式驅(qū)動電路,這是直流電機(jī)調(diào)速使用最多的調(diào)速方法。目前市場上有很多種電機(jī)驅(qū)動的集成電路,效率高,電路簡單,使用也比較廣泛,但是其驅(qū)動方法大多與全橋式驅(qū)動一樣。PWM控制方法配合橋式驅(qū)動電路,是目前直流電機(jī)調(diào)速最普遍的方法。3.5 電源電路設(shè)計(jì)
由于電機(jī)在正常工作時對電源的干擾很大,如果只用一組電源時會影響系統(tǒng)的正常工作,所以我們選用雙電源供電。一組5V給控制電路供電, 另外一組12V給電機(jī)供電。
如圖3.8所示。電源部分分為兩路,一路直接提供12伏的直流電源,主要是提供給電機(jī)使用,另一路通過三端穩(wěn)壓芯片7805穩(wěn)壓成5伏直流電源提供給鍵盤電路和時鐘電路使用,右邊兩個電容是5伏電源的濾波電容,綠色的LED作為工作指示燈,只要電源部分正常,綠色的LED就會點(diǎn)亮,我們可以根據(jù)這個LED來判斷整個電源部分是否工作正常。
3.8 電源電路
3.6 主要元器件簡介
基于FPGA的直流電機(jī)PWM調(diào)速系統(tǒng)的核心芯片選用Altera公司FLEX10K系列的的EP10K10TC144-3。該芯片是具有內(nèi)部電路尺寸很小、互連線短、分布電容小,驅(qū)動電路所需的功耗小等特征的可編程邏輯器件,它是實(shí)驗(yàn)中常用到的一個芯片。
FLEX10K是工業(yè)界第一個嵌入式的可編程邏輯器件,采用可重構(gòu)的CMOSSRAM工藝,把連續(xù)的快速通道互連與獨(dú)特嵌入式整列相結(jié)合,同時也結(jié)合了眾多可編程器件的優(yōu)點(diǎn)來完成普通門陣列的宏功能。器件內(nèi)部集成10萬門電路,實(shí)現(xiàn)復(fù)雜邏輯運(yùn)算和數(shù)據(jù)運(yùn)算。EP10K10TC144-3和其他的FPGA芯片一樣具有以下的特點(diǎn)。
(1) 規(guī)模很大,其單片邏輯門數(shù)可以達(dá)到數(shù)百萬甚至上千萬門,它所能實(shí)現(xiàn)的功能很強(qiáng),可以實(shí)現(xiàn)系統(tǒng)集成。這樣大幅度地減少了印刷電路板的面積和接插件的數(shù)量,降低了裝配和調(diào)試費(fèi)用。
(2) 提高了產(chǎn)品的可靠性。大量分立式元器件在向印刷電路板上裝配時,往往會發(fā)生由于虛焊或接觸不良而造成故障,并且這種故障常常難以發(fā)現(xiàn),給調(diào)試和維修造成極大的困難。FPGA芯片使這種現(xiàn)象減少,設(shè)計(jì)人員只需要在自己的實(shí)驗(yàn)室里就可以通過相關(guān)的軟硬件環(huán)境來完成芯片的最終功能指定。
(3) 大大減小了電子產(chǎn)品的體積和重量,降低了電子產(chǎn)品的功耗,提高了產(chǎn)品的工作速度。FPGA芯片內(nèi)部很短的連線能大大縮短延遲時間,并且不易受外部干擾,這對提高速度非常有利。
(4) 提高了產(chǎn)品的競爭能力。FPGA芯片和EPROM配合使用時,用戶可以反復(fù)地編程、擦除、使用或者在外圍電路不動的情況下用不同的EPROM就可實(shí)現(xiàn)不同的功能,所以,用FPGA試制樣片,能以最快的速度占領(lǐng)市場。再者,F(xiàn)PGA芯片的電路設(shè)計(jì)周期較短,設(shè)計(jì)人員在較短時間內(nèi)可完成電路的輸入、編譯、優(yōu)化、仿真,直至最后的芯片制作。
由于Altera公司的FLEX10K系列具有以上所有的特點(diǎn),所以本設(shè)計(jì)采用它作為仿真目標(biāo)器件,軟件工具為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è)計(jì)中使用最多,也擁有幾乎所有的主流EDA工具的支持。而System Verilog和System C這兩種HDL語言還處于完善過程中。VHDL是電子設(shè)計(jì)主流硬件的描述語言之一。VHDL的英文全名是VHSIC(Very High Speed Integrated Circuit)Hardware Description Language,于1983年由美國國防部(DOD)發(fā)起創(chuàng)建,由IEEE(The Institute of Electrical Engineers)進(jìn)一步發(fā)展并在1987年作為“IEEE標(biāo)準(zhǔn)1076”(IEEE Std 1076)發(fā)布。從此,VHDL成為硬件描述語言的業(yè)界標(biāo)準(zhǔn)之一。自IEEE公布了VHDL的標(biāo)準(zhǔn)版本之后,各EDA公司相繼推出了自己的VHDL設(shè)計(jì)環(huán)境,或宣布自己的設(shè)計(jì)工具支持VHDL。此后VHDL在電子設(shè)計(jì)領(lǐng)域得到了廣泛應(yīng)用,并逐步取代了原有的非標(biāo)準(zhǔn)硬件描述語言。
VHDL作為一個規(guī)范語言和建模語言,隨著VHDL的標(biāo)準(zhǔn)化,出現(xiàn)了一些支持該語言的行為仿真器。由于創(chuàng)建VHDL的最初目標(biāo)是用于標(biāo)準(zhǔn)文檔的建立和電路功能模擬,其基本想法是在最高層上描述系統(tǒng)和元件的行為。但到了20世紀(jì)90年代初,人們發(fā)現(xiàn),VHDL不僅可以作為系統(tǒng)模擬的建模工具,而且可以作為電路系統(tǒng)的設(shè)計(jì)工具,可以利用軟件工具將VHDL源碼自動地轉(zhuǎn)化為文本方式表達(dá)的基本邏輯元件連接圖,即網(wǎng)表文件。這種方法顯然對于電路自動設(shè)計(jì)是一個極大的推進(jìn)。很快,電子設(shè)計(jì)領(lǐng)域出現(xiàn)了第一個軟件設(shè)計(jì)工具,即VHDL邏輯綜合器,它把標(biāo)準(zhǔn)VHDL的部分語句描述轉(zhuǎn)化為具體電路實(shí)現(xiàn)的網(wǎng)表文件。
VHDL語言具有很強(qiáng)的電路描述和建模能力,能從多個層次對數(shù)字系統(tǒng)進(jìn)行建模和描述,從而大大簡化了硬件設(shè)計(jì)任務(wù),提高了設(shè)計(jì)效率和可靠性。
VHDL具有與具體硬件電路無關(guān)和與設(shè)計(jì)平臺無關(guān)的特性,并且具有良好的電路行為描述和系統(tǒng)描述的能力,在語言易讀性和層次化結(jié)構(gòu)化設(shè)計(jì)方面表現(xiàn)了強(qiáng)大的生命力和應(yīng)用潛力。因此,VHDL支持各種模式的設(shè)計(jì)方法:自頂向下與自底向上或混合方法,在面對當(dāng)今許多電子產(chǎn)品生命周期縮短,需要多次重新設(shè)計(jì)以融入最新技術(shù)、改變工藝等方面,VHDL具有良好的適應(yīng)性,用VHDL進(jìn)行電子系統(tǒng)設(shè)計(jì)的一個很大的優(yōu)點(diǎn)是設(shè)計(jì)者可以專心致志于其功能的實(shí)現(xiàn),而不需要對不影響功能的與工藝有關(guān)的因素花費(fèi)過多的時間和精力。
技術(shù)的飛速發(fā)展使得集成電路的設(shè)計(jì)規(guī)模日益增大,復(fù)雜程度日益增高。伴隨著設(shè)計(jì)規(guī)模的增大,傳統(tǒng)的自下至上的、采用通用邏輯元器件的硬件描述方法變得過于復(fù)雜,不易于使用。隨著大規(guī)模專用集成電路(ASIC)的開發(fā)和研制,為了提高開發(fā)的效率,增加己有開發(fā)成果的繼承性以及縮短開發(fā)時間,各ASIC研制和生產(chǎn)廠家相繼開發(fā)了用于各自目的硬件描述語言(HDL)—可以描述硬件電路的功能,信號連接關(guān)系及定時關(guān)系的語言,它能比原理圖更有效地表示硬件電路的特性[5]。
VHDL語言具有以下特點(diǎn):
(1)VHDL語言可以支持自上至下(Top Down)和基于庫(Library-Based)的設(shè)計(jì)方法,而且還支持同步電路、異步電路及其它隨機(jī)電路的設(shè)計(jì)。其范圍之廣使其它HDL語言所不能比擬的。
(2)VHDL語言具有多層次描述系統(tǒng)硬件功能的能力,可以從系統(tǒng)的數(shù)學(xué)模型直到門級電路:支持大規(guī)模設(shè)計(jì)的分解和設(shè)計(jì)重用;支持傳輸延遲和慣性延遲,可以更準(zhǔn)確的建立復(fù)雜的電路硬件模型。
(3)在用VHDL語言設(shè)計(jì)系統(tǒng)硬件時,沒有嵌入與工藝有關(guān)的信息,這樣在工藝更新時,就無需修改原設(shè)計(jì)程序,只要改變相應(yīng)的映射工具即可。可見,無論修改電路還是修改工藝,相互之間不會產(chǎn)生什么不良影響。
(4)VHDL語言己作為一種IEEE的工業(yè)標(biāo)準(zhǔn),設(shè)計(jì)成果便于復(fù)用和交流。這樣又進(jìn)一步推動VHDL語言的推廣和完善:另外,VHDL語言的語法比較嚴(yán)格,給閱讀和使用都帶來了極大的好處。
(5)VHDL語言具有并發(fā)性,體現(xiàn)在兩個方面:首先使用VHDL語言進(jìn)行數(shù)字電路設(shè)計(jì)時存在并發(fā)性,即VHDL語言支持設(shè)計(jì)分解,可使被分解的各子部分的設(shè)計(jì)并行完成,這些子部分的設(shè)計(jì)由三部分組成:定義實(shí)體—確定模型與環(huán)境的接口;定義結(jié)構(gòu)體—完成模型的功能描述;定義測試部分—為模型生成測試向量,并捕獲模型輸出信號狀態(tài)以供分析。其次,VHDL語言在執(zhí)行上具有并發(fā)性,很適合描述電路的并發(fā)性特點(diǎn)[4]。

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

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

5.10 項(xiàng)目輸入設(shè)計(jì)框圖

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

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

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



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


完整的Word格式文檔51黑下載地址(共頁):
http://m.zg4o1577.cn/bbs/dpj-113482-1.html



作者: 青蛙打傘    時間: 2019-9-25 23:01
請問樓主有這個項(xiàng)目的代碼嗎




歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 欧美xxx视频| 日韩不卡在线观看 | 一区二区三区在线观看免费 | 日韩黄网 | 日日爱影视 | 亚洲综合自拍 | 四虎看片| 可以看毛片的网站 | av免费网站| 国产福利在线播放 | 成人在线免费视频观看 | 日韩av在线一区二区 | 免费观看一区二区三区 | 国产精品一区二区免费 | 国产精品二区一区二区aⅴ污介绍 | 午夜精品久久久久久久久久蜜桃 | 一二三四区在线观看 | 午夜国产在线观看 | 国产精品一区二区三区在线 | 国产精品成人免费视频 | 水蜜桃一区二区 | 国产精品亚洲精品 | 日韩精品三区 | 黄色一极片 | 国产精品视频免费看 | 成人午夜视频在线观看 | 日日干视频 | 91在线观看免费视频 | 日本午夜网站 | 99久久婷婷| 深夜福利av | 亚洲国产激情 | 免费日韩视频 | 无套内谢的新婚少妇国语播放 | 日韩在线视频免费 | 日韩欧美在线视频 | 国产黄色在线观看 | 欧美黄色一级视频 | 黄色三级视频 | 国产精品手机在线观看 | 四虎影院免费观看 |