步進電機定位系統(tǒng)設計_第1頁
步進電機定位系統(tǒng)設計_第2頁
步進電機定位系統(tǒng)設計_第3頁
步進電機定位系統(tǒng)設計_第4頁
步進電機定位系統(tǒng)設計_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、 武漢理工大學FPGA原理及應用課程設計說明書 課程設計任務書學生姓名: 專業(yè)班級: 通信1104班 指導教師: 陳適 工作單位: 信息工程學院 題 目: 步進電機定位控制系統(tǒng)設計 初始條件: FPGA芯片(型號不限),仿真工具不限。 要求完成的主要任務: (1) 主要任務設計一個基于FPGA的4相步進電機定位控制系統(tǒng)。(2)設計要求系統(tǒng)主要由步進電機方向設定電路模塊、步進電機步進移動與定位控制模塊和編碼輸出模塊構(gòu)成。前兩個模塊完成電機旋轉(zhuǎn)方向設定,激磁方式設定和定位角度的換算等工作,后一個模塊用于對換算后的角度量編碼輸出指導教師簽名: 年 月 日 系主任(或責任教師)簽名: 年 月 日 目錄

2、摘要IAbstractII1緒論12步進電機定位系統(tǒng)設計22.1步進電機的簡介32.2電機激磁方式介紹42.3步進電機系統(tǒng)工作原理63 EDA概述83.1 VHDL簡介83.2 Quartus II簡介104步進電機定位系統(tǒng)模塊設計114.1步進電機方向設定電路模塊114.2 步進電機步進移動與定位控制模塊134.3 編碼輸出模塊144.4 四相步進電機定位控制器頂層電路的設計和仿真155心得體會176參考文獻18附錄19 摘要現(xiàn)代機械設備的精密定位是實現(xiàn)精密加工的首要條件,如何提高定位系統(tǒng)的精度一直控制領(lǐng)域研究的熱點,在精密定位系統(tǒng)中,步進電機是其重要組成部分。對于步進電機系統(tǒng),是將電脈沖信

3、號轉(zhuǎn)變?yōu)榻俏灰苹蚓€位移的開環(huán)控制元步進電機件。步進電動機在計算機外圍設備中取代小型直流電動機以后,使其設備的性能提高,很快地促進了步進電動機的發(fā)展,可以通過控制脈沖個數(shù)來控制角位移量,從而達到準確定位的目的;同時可以通過控制脈沖頻率來控制電機轉(zhuǎn)動的速度和加速度,從而達到調(diào)速的目的。本文簡要敘述了四相步進電機系統(tǒng)的設計過程,在對比以往電機的設計方案,選擇基于FPGA的四相電機, 一共完成四個模塊,分別為輸入模塊、方向設定、移動定位控制和編碼輸出模塊。在開路控制的情況下,為使步進電機產(chǎn)生運動,電動機中的磁性線圈或繞組以特定順序通電或斷電,要求采用數(shù)字信號來控制電動機每個線圈中的電流,使得系統(tǒng)得到最

4、佳的性能。 關(guān)鍵詞:步進電機 步距角 脈沖頻率 FPGAII Abstract Precise positioning of modern machinery and equipment is a prerequisite to achieve precision machining, how to improve the accuracy of the positioning system has been a hot research field control, precision positioning system, the stepper motor is an important

5、 component. For stepper motor system, the electrical pulse signal into angular displacement or linear displacement of the open loop stepper motor control element pieces. Stepper motors replace the small DC motors in computer peripherals in the future, to improve its performance equipment quickly pro

6、moted the development of stepping motor can be controlled by controlling the number of pulses angular displacement, so as to achieve accurate positioning ; also can be controlled by controlling the pulse frequency of the motor rotation speed and acceleration to achieve speed control purposes.This pa

7、per briefly describes the four phase step motor system design process, in comparison of previous motor design, choose four phase motor based on FPGA, completed a total of four modules, input module, respectively, set the direction, mobile positioning control and encoding output module. In the case o

8、f open loop control, movement to make the stepper motor, motor, magnetic coils in a particular order or winding electricity or power outages, require the use of digital signal to control the motor current of each coil, causing the system to get the best performance.Keywords: step motor step Angle pu

9、lse frequency FPGA1緒論 步進電動機已成為除直流電動機和交流電動機以外的第三類電動機。傳統(tǒng)電動機作為機電能量轉(zhuǎn)換裝置,在人類的生產(chǎn)和生活進入電氣化過程中起著關(guān)鍵的作用??墒窃谌祟惿鐣M入自動化時代的今天,傳統(tǒng)電動機的功能已不能滿足工廠自動化和辦公自動化等各種運動控制系統(tǒng)的要求。為適應這些要求,發(fā)展了一系列新的具備控制功能的電動機系統(tǒng),其中較有自己特點,且應用十分廣泛的一類便是步進電動機。步進電動機的發(fā)展與計算機工業(yè)密切相關(guān)。自從步進電動機在計算機外圍設備中取代小型直流電動機以后,使其設備的性能提高,很快地促進了步進電動機的發(fā)展。另一方面,微型計算機和數(shù)字控制技術(shù)的發(fā)展,又將作

10、為數(shù)控系統(tǒng)執(zhí)行部件的步進電動機推廣應用到其他領(lǐng)域,如電加工機床、小功率機械加工機床、測量儀器、光學和醫(yī)療儀器以及包裝機械等。當前最有發(fā)展前景的當屬混合式步進電動機,而混合式電動機又向以下四個方向發(fā)展:發(fā)展趨勢之一,是繼續(xù)沿著小型化的方向發(fā)展。隨著電動機本身應用領(lǐng)域的拓寬以及各類整機的不斷小型化,要求與之配套的電動機也必須越來越小,在57、42機座號的電動機應用了多年后,現(xiàn)在其機座號向39、35、30、25方向向下延伸。瑞士ESCAP公司最近還研制出外徑僅10mm的步進電動機。發(fā)展趨勢之二,是改圓形電動機為方形電動機。由于電動機采用方型結(jié)構(gòu),使得轉(zhuǎn)子有可能設計得比圓形大,因而其力矩體積比將大為提

11、高。同樣機座號的電動機,方形的力矩比圓形的將提高3040。發(fā)展趨勢之三,對電動機進行綜合設計。即把轉(zhuǎn)子位置傳感器,減速齒輪等和電動機本體綜合設計在一起,這樣使其能方便地組成一個閉環(huán)系統(tǒng),因而具有更加優(yōu)越的控制性能?,F(xiàn)在制造業(yè)對精密加工的要求越來越高,能否實現(xiàn)精密加工已成為各設備制造商在國際市場競爭中取得成功的關(guān)鍵因素,發(fā)達國家都十分重視精密加工技術(shù)的水平和發(fā)展,并利用它進行產(chǎn)品革新和擴大生產(chǎn),而設備的精密定位是實現(xiàn)精密加工的首要條件,如何提高定位系統(tǒng)的精度一直控制領(lǐng)域研究的熱點。在精密定位系統(tǒng)中,步進電機是其重要組成部分,據(jù)資料統(tǒng)計每年在數(shù)控生產(chǎn)和經(jīng)濟型定位系統(tǒng)改造及機器人等定位系統(tǒng)的應用領(lǐng)域

12、,又2/3以上采用的是以步進電機作為伺服控制系統(tǒng)。因此,如何改善電機的控制方法以提高定位系統(tǒng)的定位精度,成為提高系統(tǒng)性能的關(guān)鍵所在。隨著步進電機廣泛地應用于數(shù)字控制系統(tǒng)中作為伺服元件,步進電機在實時性和靈活性等性能上的要求越來越高。那么如何靈活、有效地控制步進電機的運轉(zhuǎn)成為研究的主要方向。這里采用現(xiàn)場可編程邏輯門陣列(Field Programmable Gate Array,F(xiàn)PGA),通過VHDL語言編程來實現(xiàn)四相步進電機的控制。利用FPGA設計具有以下優(yōu)點:  硬件設計軟件化 FPGA的開發(fā)在功能層面上可以脫離硬件在EDA軟件上

13、做軟仿真。當功能確定無誤后可以進行硬件電路板的設計。最后將設計好的,由EDA軟件生成的燒寫文件下載到配置設備中去,進行在線調(diào)試,如果這時的結(jié)果與要求不一致,可以立即更改設計軟件,并再次燒寫到配置芯片中而不必改動外接硬件電路。進行分層模塊設汁后系統(tǒng)設計變得更加簡單,在實時性和靈活性等性能上都有很大的提高,有利于步進電機的運動控制。     高度集成化,高工作頻率 一般的FPGA內(nèi)部都集成有上百萬的邏輯門,可以在其內(nèi)部規(guī)劃出多個與傳統(tǒng)小規(guī)模集成器件功能相當?shù)哪K。另外,一般的FPGA內(nèi)部都有PLL倍頻和分頻電路模塊,這樣可以在外部采用較低

14、頻率的晶振而在內(nèi)部獲得較高頻率的時鐘,進一步解決了電磁干擾和電磁兼容問題。2步進電機定位系統(tǒng)設計2.1步進電機的簡介步進電機是將電脈沖信號轉(zhuǎn)變?yōu)榻俏灰苹蚓€位移的開環(huán)控制元步進電機件。在非超載的情況下,電機的轉(zhuǎn)速、停止的位置只取決于脈沖信號的頻率和脈沖數(shù),而不受負載變化的影響,當步進驅(qū)動器接收到一個脈沖信號,它就驅(qū)動步進電機按設定的方向轉(zhuǎn)動一個固定的角度,稱為“步距角”,它的旋轉(zhuǎn)是以固定的角度一步一步運行的。可以通過控制脈沖個數(shù)來控制角位移量,從而達到準確定位的目的;同時可以通過控制脈沖頻率來控制電機轉(zhuǎn)動的速度和加速度,從而達到調(diào)速的目的。步進電機是一種感應電機,它的工作原理是利用電子電路,將直

15、流電變成分時供電的,多相時序控制電流,用這種電流為步進電機供電,步進電機才能正常工作,驅(qū)動器就是為步進電機分時供電的,多相時序控制器。雖然步進電機已被廣泛地應用,但步進電機并不能像普通的直流電機,交流電機在常規(guī)下使用。它必須由雙環(huán)形脈沖信號、功率驅(qū)動電路等組成控制系統(tǒng)方可使用。因此用好步進電機卻非易事,它涉及到機械、電機、電子及計算機等許多專業(yè)知識。步進電機作為執(zhí)行元件,是機電一體化的關(guān)鍵產(chǎn)品之一,廣泛應用在各種自動化控制系統(tǒng)中。隨著微電子和計算機技術(shù)的發(fā)展,步進電機的需求量與日俱增,在各個國民經(jīng)濟領(lǐng)域都有應用。步進電機是一種將電脈沖轉(zhuǎn)化為角位移的執(zhí)行機構(gòu)。通俗一點講:當步進驅(qū)動器接收到一個脈

16、沖信號,它就驅(qū)動步進電機按設定的方向轉(zhuǎn)動一個固定的角度(即步進角)??梢酝ㄟ^控制脈沖個數(shù)來控制角位移量,從而達到準確定位的目的;同時可以通過控制脈沖頻率來控制電機轉(zhuǎn)動的速度和加速度,從而達到調(diào)速的目的。在精密定位系統(tǒng)中,步進電機是其重要組成部分,據(jù)資料統(tǒng)計每年在數(shù)控生產(chǎn)和經(jīng)濟型定位系統(tǒng)改造及機器人等定位系統(tǒng)的應用領(lǐng)域,又2/3以上采用的是以步進電機作為伺服控制系統(tǒng)。因此,如何改善電機的控制方法以提高定位系統(tǒng)的定位精度,成為提高系統(tǒng)性能的關(guān)鍵所在。2.2電機激磁方式簡介步進馬達依定子線圈的相數(shù)不同可分成二相、四相及五相式,小型步進馬達以二相式較為普遍。單極性型(unipolar) :定子磁極極性

17、為同一方向,如可變磁阻式步進馬達,磁極線圈只有一組,所加的激磁電流為固定方向,因此單極性步進馬達所需的電源較簡單。單極性驅(qū)動電路使用四只晶體管來驅(qū)動步進電機的兩組相位。電機結(jié)構(gòu)則如圖2-1所示包含兩組帶有中間抽頭的線圈,整個電機共有六條線與外界連接。這類電機有時又稱為四相電機,但這種稱呼容易令人區(qū)分不了又不正確,因為它其實只有兩個相位,精確的說法應是雙相位六線式步進電機。六線式步進電機雖又稱為單極性步進電機,實際上卻能同時使用單極性或雙極性驅(qū)動電路。 圖2-1 單極性二相步進電機驅(qū)動電路雙極性型(bipolar) :定子磁極極性為兩個方向,如永久磁鐵式步進馬達,其轉(zhuǎn)子的極性和定子磁極極性有交互

18、變化的需要。單一激磁線圈時其激磁方向為正負交替變化,兩組磁極線圈時,一組正向激磁,另一組負向激磁,兩組交替變化,使定子磁極極性變化。以雙極方式運用,其電源較為復雜。雙極性步進電機的驅(qū)動電路則如圖2-2所示,它會使用八只晶體管來驅(qū)動兩組相位。雙極性驅(qū)動電路可以同時驅(qū)動四線式或六線式步進電機,雖然四線式電機只能使用雙極性驅(qū)動電路,它卻能大幅降低量產(chǎn)型應用的成本。雙極性步進電機驅(qū)動電路的晶體管數(shù)目是單極性驅(qū)動電路的兩倍,其中四顆下端晶體管通常是由微控制器直接驅(qū)動,上端晶體管則需要成本較高的上端驅(qū)動電路。雙極性驅(qū)動電路的晶體管只需承受電機電壓,所以它不像單極性驅(qū)動電路一樣需要箝位電路。 圖2-2 雙極

19、性步進電機驅(qū)動電路四相步進電機的激磁方式有下列兩種:(1).全步激磁全步激磁方式又可分為1 相激磁與2相激磁兩種方式,說明如下: 1相激磁 在每一瞬間只有一個線圈導通,其他線圈在休息,其特點是,激磁方法簡單,消耗電力小,精確度良好。但是轉(zhuǎn)矩小,振動較大,而在每送一次激磁信號可走1.8°。每次只激磁一相線圈,每輸入一個脈波,便產(chǎn)生一步級的轉(zhuǎn),當激磁依ABABA相順序,則馬達順時針方向旋轉(zhuǎn);若依BABAB相順序激磁,則馬達依逆時針方向旋轉(zhuǎn)。此種激磁方式之優(yōu)點為線圈消耗功率小,角精確度良好,但其轉(zhuǎn)距小,加上阻尼特性不良,易失步。 2相激磁在每一瞬間會有兩個線圈同時導通,它的特點是轉(zhuǎn)矩大,振

20、動較小,每送一次激磁信號可走1.8°。而如果每次輸入一個脈波,則將會有二相線圈激磁,由此可知,即若依ABBAABBAAB相的順序依次激磁,則馬達按順時針方向旋轉(zhuǎn):而若依BAABBAABBA相順序激磁,則馬達轉(zhuǎn)向為逆時針方向。此種激磁方式由于同時有兩組線圈激磁,輸出轉(zhuǎn)距較大,加上阻尼效果良好,故能按較高的脈波率,但其缺點為耗電較大,容易發(fā)熱。(2)半步激磁 此種激磁方式又稱為1-2相激磁,激磁一相線圈和二相線圈交互進行,并且每加入一數(shù)字脈波所轉(zhuǎn)動之角度變?yōu)樵竭M角的一半,因此使得分辨率可以很好地提高一倍,而且它在運轉(zhuǎn)時已經(jīng)相當平滑,所以它與2相激磁方式同樣受到了非常廣泛的使用,但是若依

21、照AABBBAAABBBAAAB相的順序激磁,則步進馬達將以順時針方向旋轉(zhuǎn);但如果依照BAAABBBAAABBBA相順序激磁,則馬達逆時針方向旋轉(zhuǎn)。1相激磁、2相激磁和1-2相激磁方式如表2-1所示。 表2-1 3種激磁方式1相激磁 2相激磁 1-2相激磁步AB步AB步AB101111001110111210112100120011311013110031011411104011041001501115001151101610116100161100711107110071110810118011080110 改變線圈激磁的順序可改變步進電機的轉(zhuǎn)動方向,每送一次激磁信號后,要經(jīng)過一小段的時間延

22、時,讓步進電機有足夠的時間建立激場及轉(zhuǎn)動。2.3步進電機系統(tǒng)工作原理步進電機是按步旋轉(zhuǎn)的電動機,而不是連續(xù)運行的,典型情況下是每步旋轉(zhuǎn)15º。另外,步進電機是利用數(shù)字信號控制的電機裝置,步進電機每次接收到一組脈沖數(shù)字信號,便旋轉(zhuǎn)一個角度,稱為步進角。不同規(guī)格的步進電機的步進角不同,與電動機內(nèi)部的線圈數(shù)量有關(guān)。線圈中的供應電流決定線圈所產(chǎn)生的磁場方向。 如果將電動機中的轉(zhuǎn)子置于線圈所產(chǎn)生的磁場中,便會受到磁場的作用而產(chǎn)生與磁場方向一致的力,轉(zhuǎn)子便開始轉(zhuǎn)動,直到轉(zhuǎn)子的磁場方向與線圈的磁場方向一致為止。4相步進電機有兩組線圈 A和 B。A、B兩組垂直擺放線圈的電流方向的排列組合,最多可以產(chǎn)

23、生8種磁場方向,分別是0º、45º、90º、135º、180º、225º、270º、315º,如圖2-3所示,表2-2給出了4相步進電機的8個方向和電流以及電壓信號的關(guān)系 圖2-3四相步進電機線圈磁場方向圖 4相步進電機有兩組線圈 A和 B,如上圖所示,A、B兩組垂直擺放線圈的電流方向的排列組合,最多可以產(chǎn)生8種磁場方向,分別是0º、45º、90º、135º、180º、225º、270º、315º 表2-2 四相步進電機的8個方向和電流

24、電壓信號的關(guān)系表 由表2-2可知,假設電動機轉(zhuǎn)子刻度在0º的位置,想讓其轉(zhuǎn)180º,可以使端口信號依次按0001à0011à0010à0110à0100變化。但是否有更快的方法,是否一定要經(jīng)過4個信號過程呢?其實有更快更省電的方式讓電動機從0º到達180º的位置。這就是所謂激磁方式的不同。3 EDA概述EDA是電子設計自動化(Electronic Design Automation)的縮寫,在20世紀60年代中期從計算機輔助設計(CAD)、計算機輔助制造(CAM)、計算機輔助測試(CAT)和計算機輔助工程(CAE)

25、的概念發(fā)展而來的。20世紀90年代,國際上電子和計算機技術(shù)較為先進的國家,一直在積極探索新的電子電路設計方法,并在設計方法、工具等方面進行了徹底的變革,取得了巨大成功。在電子技術(shù)設計領(lǐng)域,可編程邏輯器件(如CPLD、FPGA)的應用,已得到廣泛的普及,這些器件為數(shù)字系統(tǒng)的設計帶來了極大的靈活性。這些器件可以通過軟件編程而對其硬件結(jié)構(gòu)和工作方式進行重構(gòu),從而使得硬件的設計可以如同軟件設計那樣方便快捷。這一切極大地改變了傳統(tǒng)的數(shù)字系統(tǒng)設計方法、設計過程和設計觀念,促進了EDA技術(shù)的迅速發(fā)展。EDA技術(shù)就是以計算機為工具,設計者在EDA軟件平臺上,用硬件描述語言VHDL完成設計文件,然后由計算機自動

26、地完成邏輯編譯、化簡、分割、綜合、優(yōu)化、布局、布線和仿真,直至對于特定目標芯片的適配編譯、邏輯映射和編程下載等工作。EDA技術(shù)的出現(xiàn),極大地提高了電路設計的效率和可操作性,減輕了設計者的勞動強度。3.1 VHDL簡介VHDL語言是一種用于電路設計的高級語言。它在80年代的后期出現(xiàn)。最初是由美國國防部開發(fā)出來供美軍用來提高設計的可靠性和縮減開發(fā)周期的一種使用范圍較小的設計語言 。VHDL翻譯成中文就是超高速集成電路硬件描述語言,主要是應用在數(shù)字電路的設計中。它在中國的應用多數(shù)是用在FPGA/CPLD/EPLD的設計中。當然在一些實力較為雄厚的單位,它也被用來設計ASIC。VHDL主要用于描述數(shù)字

27、系統(tǒng)的結(jié)構(gòu),行為,功能和接口。除了含有許多具有硬件特征的語句外,VHDL的語言形式、描述風格以及語法是十分類似于一般的計算機高級語言。VHDL的程序結(jié)構(gòu)特點是將一項工程設計,或稱設計實體(可以是一個元件,一個電路模塊或一個系統(tǒng))分成外部(或稱可視部分,及端口)和內(nèi)部(或稱不可視部分),既涉及實體的內(nèi)部功能和算法完成部分。在對一個設計實體定義了外部界面后,一旦其內(nèi)部開發(fā)完成后,其他的設計就可以直接調(diào)用這個實體。這種將設計實體分成內(nèi)外部分的概念是VHDL系統(tǒng)設計的基本點。與其他硬件描述語言相比,VHDL具有以下特點:功能強大、設計靈活VHDL具有功能強大的語言結(jié)構(gòu),可以用簡潔明確的源代碼來描述復雜

28、的邏輯控制。它具有多層次的設計描述功能,層層細化,最后可直接生成電路級描述。VHDL支持同步電路、異步電路和隨機電路的設計,這是其他硬件描述語言所不能比擬的。VHDL還支持各種設計方法,既支持自底向上的設計,又支持自頂向下的設計;既支持模塊化設計,又支持層次化設計。支持廣泛、易于修改由于VHDL已經(jīng)成為IEEE標準所規(guī)范的硬件描述語言,大多數(shù)EDA工幾乎都支持VHDL,這為VHDL的進一步推廣和廣泛應用奠定了基礎(chǔ)。在硬件電路設計過程中,主要的設計文件是用VHDL編寫的源代碼,因為VHDL易讀和結(jié)構(gòu)化,所以易于修改設計。強大的系統(tǒng)硬件描述能力VHDL具有多層次的設計描述功能,既可以描述系統(tǒng)級電路

29、,又可以描述門級電路。而描述既可以采用行為描述、寄存器傳輸描述或結(jié)構(gòu)描述,也可以采用三者混合的混合級描述。另外,VHDL支持慣性延遲和傳輸延遲,還可以準確地建立硬件電路模型。VHDL支持預定義的和自定義的數(shù)據(jù)類型,給硬件描述帶來較大的自由度,使設計人員能夠方便地創(chuàng)建高層次的系統(tǒng)模型。獨立于器件的設計、與工藝無關(guān)設計人員用VHDL進行設計時,不需要首先考慮選擇完成設計的器件,就可以集中精力進行設計的優(yōu)化。當設計描述完成后,可以用多種不同的器件結(jié)構(gòu)來實現(xiàn)其功能。很強的移植能力VHDL是一種標準化的硬件描述語言,同一個設計描述可以被不同的工具所支持,使得設計描述的移植成為可能。易于共享和復用VHDL

30、采用基于庫(Library)的設計方法,可以建立各種可再次利用的模塊。這些模塊可以預先設計或使用以前設計中的存檔模塊,將這些模塊存放到庫中,就可以在以后的設計中進行復用,可以使設計成果在設計人員之間進行交流和共享,減少硬件電路設計。3.2 Quartus II簡介Quartus II 是Altera公司的綜合性PLD/FPGA開發(fā)軟件,支持原理圖、VHDL、VerilogHDL以及AHDL(Altera Hardware Description Language)等多種設計輸入形式,內(nèi)嵌自有的綜合器以及仿真器,可以完成從設計輸入到硬件配置的完整PLD設計流程。Quartus II可以在XP、L

31、inux以及Unix上使用,除了可以使用Tcl腳本完成設計流程外,提供了完善的用戶圖形界面設計方式。具有運行速度快,界面統(tǒng)一,功能集中,易學易用等特點。同時支持Altera的IP核,包含了LPM/MegaFunction宏功能模塊庫,使用戶可以充分利用成熟的模塊,簡化了設計的復雜性、加快了設計速度。對第三方EDA工具的良好支持也使用戶可以在設計流程的各個階段使用熟悉的第三方EDA工具。此外,Quartus II 通過和DSP Builder工具與Matlab/Simulink相結(jié)合,可以方便地實現(xiàn)各種DSP應用系統(tǒng);支持Altera的片上可編程系統(tǒng)(SOPC)開發(fā),集系統(tǒng)級設計、嵌入式軟件開發(fā)

32、、可編程邏輯設計于一體,是一種綜合性的開發(fā)平臺。Maxplus II 作為Altera的上一代PLD設計軟件,由于其出色的易用性而得到了廣泛的應用。目前Altera已經(jīng)停止了對Maxplus II 的更新支持,Quartus II 與之相比不僅僅是支持器件類型的豐富和圖形界面的改變。Altera在Quartus II 中包含了許多諸如SignalTap II、Chip Editor和RTL Viewer的設計輔助工具,集成了SOPC和HardCopy設計流程,并且繼承了Maxplus II 友好的圖形界面及簡便的使用方法。作為一種可編程邏輯的設計環(huán)境, 由于其強大的設計能力和直觀易用的接口,越

33、來越受到數(shù)字系統(tǒng)設計者的歡迎。4步進電機定位系統(tǒng)模塊設計步進電機定位控制器的系統(tǒng)組成如圖4-1所示 圖4-1 步進電機定位控制器的系統(tǒng)組成框圖 步進電機定位控制器主要由步進電機方向設定電路模塊、步進電機步進移動與定位控制模塊以及編碼輸出模塊構(gòu)成。前兩個模塊完成電機旋轉(zhuǎn)方向設定,激磁方式設定和定位角度的換算等工作,后一個模塊用于對換算后的角度量編碼輸出。4.1步進電機方向設定電路模塊該模塊的功能是設定步進電機的旋轉(zhuǎn)方向(順時針或逆時針轉(zhuǎn)動),并設定電動機在順時針轉(zhuǎn)動或逆時針轉(zhuǎn)動時所需的初值與累加/減值。模塊輸出時各個初值以及累加/減值的設定真值表如表4-1與表4-2所示。表4-1步進電機方向設定

34、電路模塊初值與累加/減值真值表(dir=0)激磁方式(manner) 初值(cntini)累計值(cntinc)步進角計數(shù)值angledncntdec 00 angle=2n+1時 1 angle=2n 時 0 2 2 01 0 2 2 10 -1 2 2 11 0 1 1設dir=0時,步進電機工作于逆時針旋轉(zhuǎn)模式,累加值為正數(shù),dir=1時,步進電機工作于順時針旋轉(zhuǎn)模式,累加值為負數(shù)。 manner 選擇激磁方式 00、01、10、11分別對應默認激磁方式、1-相激磁方式、2-相激磁方式和1-2-相激磁方式。表4-2步進電機方向設定電路模塊初值與累加/減值真值表(dir=1)激磁方式(ma

35、nner) 初值(cntini)累計值(cntinc)步進角計數(shù)值angledncntdec 00 angle=2n+1時 1 angle=2n 時 0 -2 2 01 0 -2 2 10 -1 -2 2 11 0 -1 1源程序中,逆時針操作模式(dir=0),則累加值為正數(shù),順時針操作模式(dir=1),則累加值為負數(shù)。不失一般性,下面給出逆時針操作模式的計數(shù)規(guī)則和仿真輸出(ini=0賦初值,ini=1時開始記數(shù)):如果manner=01電路使用1-相激磁法,則count的初始值為000(cntini<=0),每次加2(cntinc<=2);angledncntdec每次減2(

36、angledncntdec<=2)。仿真結(jié)果如圖4-2所示 圖4-2方向設定電路模塊仿真輸出(1-相激磁法)如果manner=10電路使用2-相激磁法,則count的初始值為111(cntini<=1),每次加2(cntinc<=2);angledncntdec每次減2(angledncntdec<=2),仿真結(jié)果如圖4-3所示。 圖4-3方向設定電路模塊仿真輸出(2-相激磁法)如果manner=00,進行自動判斷,若angle步進角為偶數(shù)(角度設定可以被90整除),使用1-相激磁法,count的初始值000(cntini<=0),每次加2(cntinc<=

37、2);否則使用2-相激磁法,count的初始值為111(cntini<=-1),每次加2(cntinc<=2 )。仿真結(jié)果如圖4-4所示。但無論使用1-相激磁法,還是2-相激磁法,angledncntdec每次都是減2(angledncntdec<=2)。 圖4-4方向設定電路模塊仿真輸出(自動判斷)如果manner=11,使用1-2相激磁法,則count初始值為000(cntini<=0),每次加1(cntinc<=1),angledncntdec每次減1(angledncntdec<=1)。仿真結(jié)果如圖4-5所示. 圖4-5方向設定電路模塊仿真輸出(1-

38、2相激磁法)4.2 步進電機步進移動與定位控制模塊該模塊的主要功能是利用賦初值ini將數(shù)值傳到該模塊中并配合輸入的clk作為同步控制信號,進行步進電機的步進移動與定位控制。步進電機定位功能通過一個減法器實現(xiàn):在每個clk脈沖上升沿,設定步進角倍數(shù)angledncount 減去不同激磁方式下設定的累減記數(shù)值angledncntdec,判斷差值小于設定的累減記數(shù)時,步進電機旋轉(zhuǎn)到預定角度停止輸出驅(qū)動端口信號,實現(xiàn)步進電機的定位功能,驅(qū)動端口信號利用累加器實現(xiàn)。(1)假如reset=1條件成立,則將count與angledncount設置成0;(2)假設reset=0,而時鐘信號clk為上升沿觸發(fā)并

39、且ini=0時,則將設定的初值(cntini與angle)分別賦值給count與angledncount這兩個信號端,其實即(count<=0+cntini)與(angledncount<=angle);(3)假設reset=0,clk為上升沿觸發(fā)且ini=1時,則將count與cntini相加,再將結(jié)果存為count。然后判斷angledncount的值是否大于angledncntdec。如果大于,則用angledncount減angledncntdec,將結(jié)果存為ngledncount;否則,將angledncount設為0(因為此時angledncount的值小于angled

40、ncntdec,表示電動機已到達設定位置,故不需要繼續(xù)轉(zhuǎn)動了)。不失一般性,下面給出在2-相激磁方式下電動機順時針旋轉(zhuǎn)的仿真結(jié)果如圖4-6所示:圖4-6步進移動與定位控制模塊(2-相激磁,dir=1)仿真結(jié)果在圖4-6中,分析angledncount連線信號的波形可以發(fā)現(xiàn),angledncount的計數(shù)值總是向下遞減2,故angledncntdec的值為2。當angledncount的值為1時,表示angledncount的值已經(jīng)小于angledncntdec,此時angledncount被設為0,即電動機已到達設定位置,故不需要再繼續(xù)轉(zhuǎn)動了(因為無論count的數(shù)值是多少,輸出baba的狀態(tài)

41、永遠維持為00004.3 編碼輸出模塊該模塊的主要功能是將count與angledncount產(chǎn)生的數(shù)值經(jīng)過編碼,并通過baba3.0輸出到步進電機,四相步進電機端口信號由計數(shù)器編碼而來,詳細的編碼方式列于表4-3。表4-3 四相步進電機端口信號輸出編碼計數(shù)器現(xiàn)值count01234567端口B´A´BA編碼baba3.000010011001001100100110010001001磁場方向0º45º90º135º180º225º270º315º其仿真輸出結(jié)果如圖4-7所示 圖4-7編碼輸出模

42、塊仿真輸出結(jié)果4.4 四相步進電機定位控制器頂層電路的設計和仿真四相步進電機的VHDL程序編譯圖如圖4-8所示 圖4-8步進電機程序編譯圖步進電機的整體波形仿真圖如圖4-9所示 圖4-9 步進電機整體仿真圖步進電機的局部波形仿真圖如圖4-10所示 圖4-10 步進電機局部仿真圖源程序中,系統(tǒng)輸入信號為:reset是系統(tǒng)內(nèi)部自復位信號,“1”時有效;dir是步進電機正反轉(zhuǎn)的方向控制開關(guān),即旋轉(zhuǎn)方向的設定(dir=0:逆時針方向;dir=1:順時針方向);clk是由外部提供的4MHz的時鐘信號;ini是賦初值的使能開關(guān),“0”時有效;manner1. 0 是激磁方式的選擇開關(guān)(00:自動檢測角度輸

43、入,決定激磁方式;01:1-相激磁;10:2-相激磁;11:1-2相激磁);angle7.0 是步進角的倍數(shù)設定輸入鍵。5心得體會課程設計是培養(yǎng)學生綜合運用所學知識,發(fā)現(xiàn),提出,分析和解決實際問題,鍛煉實踐能力的重要環(huán)節(jié),是對學生實際工作能力的具體訓練和考察過程. 回顧起此次FPGA課程設計,至今我仍感慨頗多,的確,從選題到定稿,從理論到實踐,在整整一星期的日子里,可以說得是苦多于甜,但是可以學到很多很多的的東西,同時不僅可以鞏固了以前所學過的知識,而且學到了很多在書本上所沒有學到過的知識。通過這次課程設計使我懂得了理論與實際相結(jié)合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理

44、論知識與實踐相結(jié)合起來,從理論中得出結(jié)論,才能真正為社會服務,從而提高自己的實際動手能力和獨立思考的能力。 在設計的過程中遇到問題,可以說得是困難重重,這畢竟第一次做的,難免會遇到過各種各樣的問題,同時在設計的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學過的知識理解得不夠深刻,掌握得不夠牢固通過這次課程設計之后,一定把以前所學過的知識重新溫故。這次課程設計終于順利完成了,在設計中遇到了很多問題,最后在老師的辛勤指導下,同學的幫助下終于迎刃而解。在次我表示感謝! 226參考文獻1樊昌信,曹麗娜等.通信原理(第6 版)M.國防工業(yè)出版社,20102段吉海,黃智偉.基于CPLD/FPG

45、A 的數(shù)字通信系統(tǒng)建模與設計M.北京:電子工業(yè)出版社,20043張學武.數(shù)字基帶遠程傳輸?shù)姆抡嫜芯縅.2005,22(8):282-2854譚會生.EDA 技術(shù)基礎(chǔ)M.湖南大學出版社,20045潘松,黃繼業(yè).EDA 技術(shù)與VHDLM.清華大學出版社,2005,76鄭信源.Verilog 硬件描述語言數(shù)字電路設計范例M.北京:機械工業(yè)出版社,20057王偉.VerilogHDL 程序設計與應用M.北京:人民郵電出版社,20058楊貴.FPGA 在數(shù)字信號處理中的應用與研究D.湖南大學,2005,109徐惠民,安德寧.數(shù)字邏輯設計與VHDL 描述M.機械工業(yè)出版社.2002附錄library IE

46、EE;use IEEE.std_logic_1164.all;use IEEE.std_logic_arith.all;use IEEE.std_logic_unsigned.all;entity step_motor isport (reset:in STD_LOGIC; -系統(tǒng)復位信號 dir: in STD_LOGIC; -方向控制信號 clk: in STD_LOGIC; -系統(tǒng)時鐘信號 ini: in STD_LOGIC; -初始化使能信號 manner: in STD_LOGIC_VECTOR (1 downto 0); -激磁方式的選擇開關(guān) angle: in INTEGER r

47、ange 255 downto 0; -步進角的倍數(shù)設定輸入 baBA: out STD_LOGIC_VECTOR (3 downto 0); -步進電機狀態(tài)輸出end step_motor;architecture stepmotor_arch of step_motor issignal count: INTEGER range 0 to 7; -計數(shù)器 signal cntInc: INTEGER range -2 to 2; -設定累加器所需的累(加/減)計數(shù)值signal cc : integer range 0 to 3;signal cntIni: INTEGER range -

48、1 to 0; -設定累加器所需的計數(shù)初值signal angleDnCount: INTEGER range 255 downto 0; -計算已經(jīng)轉(zhuǎn)過的步進角signal angleDnCntDec: INTEGER range 2 downto 1; begin process(dir, manner, angle)-, ini) begin -if ini='1' then cc<=conv_integer(manner); if dir='0' then case cc is when 1 => - 1-相激勵 -count<=0;

49、cntIni<=0; cntInc<=2; angleDnCntDec<=2;-"10" when 2 => - 2-相激勵 -count<=7; cntIni<=-1; cntInc<=2; angleDnCntDec<=2;-"10" when 3 => - 1-2相激勵 -count<=0; cntIni<=0; cntInc<=1; angleDnCntDec<=1;-"01" when 0 => -manner="00" autodetect if (a

溫馨提示

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

評論

0/150

提交評論