



版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、個人資料整理僅限學(xué)習(xí)使用學(xué)生學(xué)號課程設(shè)計(jì)題目步進(jìn)電機(jī)定位控制系統(tǒng)設(shè)計(jì)學(xué) 院信息工程學(xué)院專業(yè)班級姓名指導(dǎo)老師20182018 學(xué)年6 月20 日個人資料整理僅限學(xué)習(xí)使用課程設(shè)計(jì)任務(wù)書學(xué)生姓名:專業(yè)班級:指導(dǎo)教師:工作單位:題目 :步進(jìn)電機(jī)定位控制系統(tǒng)設(shè)計(jì)初始條件:1. 具備電子電路的基礎(chǔ)知識及查閱資料和手冊的能力;2. 熟悉 ISE 仿真軟件的操作與運(yùn)用;3. 掌握步進(jìn)電機(jī)的工作原理。要求完成的主要任務(wù) :1. 設(shè)計(jì)一個基于FPGA 的 4 相步進(jìn)電機(jī)定位控制系統(tǒng),包括步進(jìn)電機(jī)方向設(shè)定電路模塊、步進(jìn)電機(jī)步進(jìn)移動與定位控制模塊和編碼輸出模塊。2.撰寫符合學(xué)校要求的課程設(shè)計(jì)說明書。時間安排:1、20
2、18 年 06 月 11 日,布置課設(shè)具體實(shí)施計(jì)劃與課程設(shè)計(jì)報(bào)告格式的要求說明。2、2018 年 06 月 12 日 至 2018 年 06 月 17 日,設(shè)計(jì)說明書撰寫。3、2018 年 06 月 18 日,上交課程設(shè)計(jì)成果及報(bào)告,同時進(jìn)行答辯。指導(dǎo)教師簽名:年 月 日系主任 <或責(zé)任教師)簽名:年 月 日個人資料整理僅限學(xué)習(xí)使用目錄摘要 .IIAbstract.II1設(shè)計(jì)目標(biāo)及簡介 .111.1 設(shè)計(jì)目標(biāo) .111.2步進(jìn)電機(jī)簡介 .112 VHDL 語言介紹 .113 Quartus介紹 .114系統(tǒng)組成 .224.1四相步進(jìn)電機(jī)工作原理 .224.2系統(tǒng)組成 .445模塊設(shè)計(jì) .
3、445.1 FPGA 模塊圖及信號說明 .445.2系統(tǒng)模塊構(gòu)成 .555.3各模塊間整體共享的電路內(nèi)部傳遞信號 .555.4電機(jī)方向設(shè)定電路模塊 .555.5步進(jìn)電機(jī)步進(jìn)移動與定位控制模塊 .665.6編碼輸出模塊 .776程序設(shè)計(jì)與仿真 .777仿真結(jié)果 .10108實(shí)驗(yàn)總結(jié) .1212參考文獻(xiàn) .1212個人資料整理僅限學(xué)習(xí)使用摘要在分析了步進(jìn)電機(jī)工作原理的基礎(chǔ)上,提出了步進(jìn)電機(jī)定位控制系統(tǒng)的模塊劃分和實(shí)現(xiàn)方法。以步進(jìn)電機(jī)四相四拍工作方式為例,用Verilog 編程在Altera 公司的FPGA 開發(fā)系統(tǒng)中實(shí)現(xiàn)了各功能模塊和顯示程序。在系統(tǒng)仿真的基礎(chǔ)上,進(jìn)行了功能模塊的控制實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果
4、和仿真一致,實(shí)現(xiàn)了對步進(jìn)電機(jī)模組的預(yù)定控制。關(guān)鍵詞:步進(jìn)電機(jī)定位控制Verilog 硬件描述語言 FPGAAbstractOn the basis of analysing stepping motors operational principle , we put forward modules division and realizing method of positioning control system which using stepping motor.Giving an example such as stepping motors which work in Four-ph
5、ase-four-step mode , we use Verilog programming realized every foundational module and display routine in Alteras FPGA development system.On the basis of system simulation , we conduct a controlling experiment about foundational modules,the results are the same as simulation results.We carried out t
6、he expected control about stepping motor.Keyword:stepping motor positioning control VHDL FPGA個人資料整理僅限學(xué)習(xí)使用1 設(shè)計(jì)目標(biāo)及簡介1.1 設(shè)計(jì)目標(biāo)設(shè)計(jì)一個基于 FPGA 的 4 相步進(jìn)電機(jī)定位控制系統(tǒng)。1.2 步進(jìn)電機(jī)簡介步進(jìn)電機(jī)是將電脈沖信號轉(zhuǎn)變?yōu)榻俏灰苹蚓€位移的開環(huán)控制元件。在非超載的情況下,電機(jī)的轉(zhuǎn)速、停止的位置只取決于脈沖信號的頻率和脈沖數(shù),而不受負(fù)載變化的影響,即給電機(jī)加一個脈沖信號,電機(jī)則轉(zhuǎn)過一個步距角。這一線性關(guān)系的存在,加上步進(jìn)電機(jī)只有周期性的誤差而無累積誤差等特點(diǎn)。使得在速度、位
7、置等控制領(lǐng)域用步進(jìn)電機(jī)來控制變的非常的簡單。2 VHDL 語言介紹VHDL 的 英 文 全 名 是 Very-High-Speed Integrated Circuit Hardware Description Language,誕生于 1982 年。 1987 年底, VHDL 被 IEEE 和美國國防部確認(rèn)為標(biāo)準(zhǔn)硬件描述語言。VHDL 主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu),行為,功能和接口。除了含有許多具有硬件特征的語句外, VHDL 的語言形式和描述風(fēng)格與句法是十分類似于一般的計(jì)算機(jī)高級語言。 VHDL 的程序結(jié)構(gòu)特點(diǎn)是將一項(xiàng)工程設(shè)計(jì),或稱設(shè)計(jì)實(shí)體 <可以是一個元件,一個電路模塊或一個系統(tǒng))
8、分成外部 <或稱可視部分,及端口)和內(nèi)部 <或稱不可視部分),既涉及實(shí)體的內(nèi)部功能和算法完成部分。在對一個設(shè)計(jì)實(shí)體定義了外部界面后,一旦其內(nèi)部開發(fā)完成后,其他的設(shè)計(jì)就可以直接調(diào)用這個實(shí)體。這種將設(shè)計(jì)實(shí)體分成內(nèi)外部分的概念是 VHDL 系統(tǒng)設(shè)計(jì)的基本點(diǎn)。VHDL 語言能夠成為標(biāo)準(zhǔn)化的硬件描述語言并獲得廣泛應(yīng)用,它自身必然具有很多其他硬件描述語言所不具備的優(yōu)點(diǎn)。歸納起來, VHDL 語言主要具有功能強(qiáng)大,設(shè)計(jì)方式多樣;硬件描述能力強(qiáng)大;具有很強(qiáng)的移植能力;設(shè)計(jì)描述與器件無關(guān)程序易于共享和復(fù)用等優(yōu)點(diǎn)。3 Quartus 介紹Quartus II 是 Altera 公司的綜合性PLD/FP
9、GA 開發(fā)軟件,支持原理圖、VHDL 、VerilogHDL 以及 AHDL<Altera Hardware Description Language )等多種設(shè)計(jì)輸入形式,內(nèi)嵌自有的綜合器以及仿真器,可以完成從設(shè)計(jì)輸入到硬件配置的完整 PLD 設(shè)計(jì)流程。Quartus II 可以在 XP、Linux 以及 Unix 上使用,除了可以使用Tcl 腳本完個人資料整理僅限學(xué)習(xí)使用成設(shè)計(jì)流程外,提供了完善的用戶圖形界面設(shè)計(jì)方式。具有運(yùn)行速度快,界面統(tǒng)一,功能集中,易學(xué)易用等特點(diǎn)。Quartus II 提供了完全集成且與電路結(jié)構(gòu)無關(guān)的開發(fā)包環(huán)境,具有數(shù)字邏輯設(shè)計(jì)的全部特性,包括:可利用原理圖、結(jié)
10、構(gòu)框圖、VerilogHDL 、 AHDL和VHDL完成電路描述,并將其保存為設(shè)計(jì)實(shí)體文件;芯片<電路)平面布局連線編輯; LogicLock 增量設(shè)計(jì)方法,用戶可建立并優(yōu)化系統(tǒng),然后添加對原始系統(tǒng)的性能影響較小或無影響的后續(xù)模塊;功能強(qiáng)大的邏輯綜合工具;完備的電路功能仿真與時序邏輯仿真工具;定時 / 時序分析與關(guān)鍵路徑延時分析;可使用SignalTap II 邏輯分析工具進(jìn)行嵌入式的邏輯分析;支持軟件源文件的添加和創(chuàng)建,并將它們鏈接起來生成編程文件;使用組合編譯方式可一次完成整體設(shè)計(jì)流程;自動定位編譯錯誤;高效的期間編程與驗(yàn)證工具;可讀入標(biāo)準(zhǔn)的EDIF網(wǎng)表文件、 VHDL 網(wǎng)表文件和V
11、erilog 網(wǎng)表文件;能生成第三方EDA 軟件使用的 VHDL 網(wǎng)表文件和 Verilog 網(wǎng)表文件。4 系統(tǒng)組成4.1 四相步進(jìn)電機(jī)工作原理步進(jìn)電機(jī)是利用數(shù)字信號控制的電機(jī)裝置,步進(jìn)電機(jī)每次接收到一組脈沖數(shù)字信號,便旋轉(zhuǎn)一個角度,稱為步進(jìn)角。不同規(guī)格的步進(jìn)電機(jī)的步進(jìn)角不同,與電動機(jī)內(nèi)部的線圈數(shù)量有關(guān)。線圈中的供應(yīng)電流決定線圈所產(chǎn)生的磁場方向。4 相步進(jìn)電機(jī)有兩組線圈 A 和 B,如圖 4.1 所示, A 、B 兩組垂直擺放線圈的電流方向的排列組合,最多可以產(chǎn)生 8 種磁場方向,分別是 0o、 45o、 90o、135o、180o、 225o、270o、315o。個人資料整理僅限學(xué)習(xí)使用圖
12、4.1 四相步進(jìn)電機(jī)由表 4.1 可以知,假設(shè)電動機(jī)轉(zhuǎn)子刻度在 0o的位置,想讓其轉(zhuǎn)180o,可以使端口信號依次按0001,0011,0010,0110 到 0100 變化。注意:四相電動機(jī)有 1 相激磁法、 2 相激磁法和 1-2 相混合激磁法 3 種激磁方式。不同的激磁方式,端口信號的順序是不同的。表 4.1 四相步進(jìn)電機(jī)的8 個方向和電流以及電壓信號的關(guān)系該步進(jìn)電機(jī)為一四相步進(jìn)電機(jī),采用單極性直流電源供電。只要對步進(jìn)電機(jī)的各相繞組按合適的時序通電,就能使步進(jìn)電機(jī)步進(jìn)轉(zhuǎn)動。圖4.2 是該四相反應(yīng)式步進(jìn)電機(jī)工作原理示意圖。圖 4.2 四相步進(jìn)電機(jī)步進(jìn)示意圖開始時,開關(guān) SB 接通電源, SA
13、、SC、 SD 斷開, B 相磁極和轉(zhuǎn)子 0、3 號齒對齊,同時,轉(zhuǎn)子的 1、 4 號齒就和 C、D 相繞組磁極產(chǎn)生錯齒, 2、 5 號齒就和 D、A 相繞組磁極產(chǎn)生錯齒。當(dāng)開關(guān) SC 接通電源, SB、 SA、 SD 斷開時,由于C 相繞組的磁力線和1、4 號齒之間磁力線的作用,使轉(zhuǎn)子轉(zhuǎn)動, 1、 4 號齒和 C 相繞組的磁極對齊。而0、3 號齒和 A 、B 相繞組產(chǎn)生錯齒, 2、 5 號齒就和 A 、 D 相繞組磁極產(chǎn)生錯齒。依次類推, A、B、C、 D 四相繞組輪流供電,則轉(zhuǎn)子會沿著 A 、B、C、 D 方向個人資料整理僅限學(xué)習(xí)使用轉(zhuǎn)動。四相步進(jìn)電機(jī)按照通電順序的不同,可分為單四拍、雙四
14、拍、八拍三種工作方式。單四拍與雙四拍的步距角相等,但單四拍的轉(zhuǎn)動力矩小。八拍工作方式的步距角是單四拍與雙四拍的一半,因此,八拍工作方式既可以保持較高的轉(zhuǎn)動力矩又可以提高控制精度。四相四拍運(yùn)行方式即AB-BC-CD-DA-AB ,四相八拍運(yùn)行方式即A-AB-B-BC-C-CD-D-DA-A。單四拍、雙四拍與八拍工作方式的電源通電時序與波形分別如圖4.3 的 a、b、c 所示。圖 4.3a 單四拍圖 4.3b 雙四拍圖 4.3c 八拍4.2 系統(tǒng)組成圖 4.4 系統(tǒng)組成5 模塊設(shè)計(jì)5.1 FPGA 模塊圖及信號說明個人資料整理僅限學(xué)習(xí)使用圖 5.1 FPGA 模塊圖reset:系統(tǒng)內(nèi)部復(fù)位信號,
15、1時有效;dir: 步進(jìn)電機(jī)正反轉(zhuǎn)的方向控制開關(guān),0:逆時針, 1:順時針;clk: 由 FPGA 內(nèi)部提供的 4MHz 的時鐘信號;ini: 賦初值的使能開關(guān), 0時有效;manner:激磁方式的選擇開關(guān)( 兩位 >, 00:自動檢測角度輸入,決定激磁方式 01:1-相激磁。 10:2.相激磁。 11:1-2.相激磁 . angle:步進(jìn)角的倍數(shù)設(shè)定輸入鍵 . baba:將內(nèi)部計(jì)數(shù)器的 count3 downto 0的數(shù)值編碼輸出5.2 系統(tǒng)模塊構(gòu)成系統(tǒng)主要由步進(jìn)電機(jī)方向設(shè)定電路模塊、步進(jìn)電機(jī)步進(jìn)移動與定位控制模塊和編碼輸出模塊構(gòu)成。前兩個模塊完成電機(jī)旋轉(zhuǎn)方向設(shè)定,激磁方式設(shè)定和定位角
16、度的換算等工作,后一個模塊用于對換算后的角度量編碼輸出。5.3 各模塊間整體共享的電路內(nèi)部傳遞信號count:內(nèi)部電路計(jì)數(shù)累加器,用來產(chǎn)生輸出所需對應(yīng)的狀態(tài);cntinc:設(shè)定累加器所需的累加 / 減計(jì)數(shù)值;sntini:設(shè)定累加器所需的計(jì)數(shù)初值;angledncount:設(shè)定步進(jìn)角所需處理的次數(shù);Angledncntdec:設(shè)定步進(jìn)角所需累減計(jì)數(shù)值;5.4 電機(jī)方向設(shè)定電路模塊該模塊設(shè)定了步進(jìn)電機(jī)的旋轉(zhuǎn)方向以及電機(jī)在任一方向上所需的初值與累加 /減值。dir 為 0 時,步進(jìn)電機(jī)工作于逆時針旋轉(zhuǎn)模式,累加值為正數(shù)。manner 選擇激磁方式 00、01、 10、11 分別對應(yīng)默認(rèn)激磁方式、1
17、-相激磁方式、 2.相激磁方式和 1-2.相激磁方式。如表5.1。mannercntinicntincangledncntdec00angle=2n+1 時122angle=2n 時 001022個人資料整理僅限學(xué)習(xí)使用10-12211011表 5.1 dir 為 0 時dir 為 1 時,步進(jìn)電機(jī)工作于順時針旋轉(zhuǎn)模式,累加值為負(fù)數(shù)。manner 選擇激磁方式00、01、10、11 分別對應(yīng)默認(rèn)激磁方式、1-相激磁方式、 2.相激磁方式和 1-2.相激磁方式。如表5.2。mannercntinicntincangledncntdec00angle=2n+1 時1-22angle=2n 時 00
18、10-2210-1-22110-11表 5.2 dir 為 1 時5.5 步進(jìn)電機(jī)步進(jìn)移動與定位控制模塊該模塊的主要功能是利用賦初值 ini 將數(shù)值傳到該模塊中并配合輸入的 clk 作為同步控制信號,進(jìn)行步進(jìn)電機(jī)的步進(jìn)移動與定位控制。步進(jìn)電機(jī)定位功能通過一個減法器實(shí)現(xiàn):在每個 clk 脈沖上升緣,設(shè)定步進(jìn)角倍數(shù) angledncount 減去不同激磁方式下設(shè)定的累減記數(shù)值 angledncntdec,判斷差值小于設(shè)定的累減記數(shù)時,步進(jìn)電機(jī)旋轉(zhuǎn)到預(yù)定角度停止輸出驅(qū)動端口信號,實(shí)現(xiàn)步進(jìn)電機(jī)的定位功能。驅(qū)動端口信號利用累加器實(shí)現(xiàn)。個人資料整理僅限學(xué)習(xí)使用5.6 編碼輸出模塊該模塊的功能是將 coun
19、t 與 angledncount 產(chǎn)生的數(shù)值經(jīng)過編碼,并通過baba3downto0輸出到步進(jìn)電機(jī)。6 程序設(shè)計(jì)與仿真library IEEE 。entity step_motor isport (reset:in STD_LOGIC。 -系統(tǒng)復(fù)位信號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 range 255 downto 0。
20、 - 步進(jìn)角的倍數(shù)設(shè)定輸入baBA: out STD_LOGIC_VECTOR (3 downto 0>> 。 -步進(jìn)電機(jī)狀態(tài)輸出 end step_motor。architecture stepmotor_arch of step_motor issignal count: INTEGER range 0 to 7。 - 計(jì)數(shù)器signal cntInc: INTEGER range -2 to 2 。 - 設(shè)定累加器所需的累 <加/減)計(jì)數(shù)值signal cc : integer range 0 to 3。signal cntIni: INTEGER range -1 t
21、o 0。 -設(shè)定累加器所需的計(jì)數(shù)初值signal angleDnCount: INTEGER range 255 downto 0 。 - 計(jì)算已經(jīng)轉(zhuǎn)過的步進(jìn)角signal angleDnCntDec: INTEGER range 2 downto 1。beginprocess(dir, manner, angle>-, ini>begin-if ini='1' then個人資料整理僅限學(xué)習(xí)使用cc<=conv_integer(manner>。if dir='0' thencase cc iswhen 1 => - 1-count&
22、lt;=0。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" autod
23、etectif (angle rem 2> =1 then - 2-count<=7。cntIni<=-1。cntInc<=2。angleDnCntDec<=2。-"10" 。else - 1-count<=0。cntIni<=0。cntInc<=2。angleDnCntDec<=2。-"10" 。end if。 -angleend case。 -mannerelse - if dir='1'case cc iswhen 1 => - 1-count<=0。個人資料整理僅限
24、學(xué)習(xí)使用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" auto
25、detectif (angle rem 2> = 1 then - 2-cntIni<=-1。cntInc<=-2。angleDnCntDec<=2。-"10" 。else - 1-cntIni<=0。cntInc<=-2。angleDnCntDec<=2。-"10" 。end if。 -angleend case。 -mannerend if。 - else dir=0-end if。 - iniend process。counting_reset: process(reset,ini , angle, clk
26、>beginif reset='1' thencount<=0。angleDnCount<=0。elsif clk'event and clk='1' thenif ini='0' then個人資料整理僅限學(xué)習(xí)使用count<=0+cntIni。angleDnCount<=angle。elsecount <= count+cntInc。if angleDnCount > angleDnCntDec then angleDnCount <= angleDnCount-angleDnCntDec
27、。elseangleDnCount <= 0。end if。end if。end if。end process。baBA <="0000" when angleDnCount=0 else"0001" when count=0 else"0011" when count=1 else"0010" when count=2 else"0110" when count=3 else"0100" when count=4 else"1100" when count=5 else"1000" when count=6 el
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度宅基地房屋贈與受贈方后續(xù)使用協(xié)議
- 2025年度海景房房屋買賣協(xié)議書
- 二零二五年度學(xué)校食堂炊事員崗位聘用及食品安全責(zé)任保險服務(wù)合同
- 2025年度能源行業(yè)人員派遣勞務(wù)合同
- 二零二五年度文化活動免責(zé)的舉辦協(xié)議
- 二零二五年度餐廳租賃服務(wù)及品牌合作協(xié)議
- 二零二五年度企業(yè)資產(chǎn)質(zhì)押貸款合同
- 臨時工用工合同-2025年度制造業(yè)合作協(xié)議
- 2025年度旅游意外傷害保險責(zé)任免除合同
- 二零二五年度勞動合同解除協(xié)議書-員工合同續(xù)簽協(xié)商解除
- 中國文化概況chapter-1
- 大學(xué)生職業(yè)素養(yǎng)訓(xùn)練(第六版)課件全套 宋賢鈞 第1-14單元 選擇職業(yè)目標(biāo)- 堅(jiān)守安全底線
- 期中測試卷(1~4單元)(試題)2024-2025學(xué)年四年級上冊數(shù)學(xué)北師大版
- 2024年鐵路安檢員理論題庫多選題
- 2024-2025學(xué)年初中勞動七年級下冊人教版教學(xué)設(shè)計(jì)合集
- 煤礦煤炭銷售管理制度
- 《語文綜合實(shí)踐:重溫革命歷史 賡續(xù)紅色血脈》教案- 2023-2024學(xué)年高教版(2023)中職語文基礎(chǔ)模塊下冊
- 2024年公開招聘事業(yè)單位工作人員報(bào)名登記表
- 植樹節(jié)英文主題課件
- 微觀經(jīng)濟(jì)學(xué):緒論
- 2024年全國高考數(shù)學(xué)試題及解析答案(新課標(biāo)Ⅱ卷)
評論
0/150
提交評論