




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、步進電機及其控制【實驗?zāi)康摹渴煜げ竭M電機的結(jié)構(gòu)和驅(qū)動方式掌握用AT89S52來控制步進電機的方法進一步熟悉EDA實驗平臺【實驗器材】EDA實驗箱、PC機、DB25-ISP下載線、USB轉(zhuǎn)換線、USB-BLASTER編程器等軟件:Quatus II 、Keil uVision2、ISPlay等 【實驗原理】步進電機(stepping motor)是一種以脈沖控制的轉(zhuǎn)動設(shè)備,由于是以脈沖驅(qū)動,很適合以數(shù)字或微型計算機來控制,做一又把它當成是一種數(shù)字設(shè)備。1、步進電機的結(jié)構(gòu):步進電機與一般電機結(jié)構(gòu)類似,除了托架、外殼之外,就是轉(zhuǎn)子和定子,比較特殊的是其轉(zhuǎn)子與定子上有許多細小的齒,如圖1所示。轉(zhuǎn)子為永
2、久磁鐵,線圈繞在定子上。根據(jù)線圈的配置,步進電機可以分為2相、4相、5相等,比較常用的是2相的步進電機。其中包括兩組具有中間抽頭的線圈,A、com1、為一組,B、com2、為另一組。兩相5線式步進電機就是將其中的com1和com2連接。2、步進電機步進角度的計算顧名思義,步進電機就是一步步走的電機,其轉(zhuǎn)子與定子的齒,決定了其每步的間距。若轉(zhuǎn)子上有N個齒,則其齒間距為:而步進角度為:以常用的2相式50齒步進電機為例,=360°/50=7.2°=7.2°/(2×2)=1.8°3、步進電機的驅(qū)動:步進電機的驅(qū)動是靠定子線圈激磁后,將鄰近轉(zhuǎn)子上相異磁極
3、吸引過來實現(xiàn)的。因此,線圈排列的順序,以及激磁信號的順序就很重要。以2相式步進電機為例,其驅(qū)動信號有1相驅(qū)動、2相驅(qū)動和1-2相驅(qū)動三種。圖4:步進電機的驅(qū)動方式:1相驅(qū)動、2相驅(qū)動和1-2相驅(qū)動。(1)、1相驅(qū)動:任何一個時間,只有一組線圈被激磁,其他線圈在休息,因此產(chǎn)生的力矩較小,但這種激磁方式最簡單,信號依次為:1000-0100-0010-0001-1000(正轉(zhuǎn))0001-0010-0100-1000-0001(反轉(zhuǎn))有四種不同的信號呈現(xiàn)周期性的變化。在AT89S52中產(chǎn)生這種信號,以正轉(zhuǎn)為例,可以先輸出“0001”,經(jīng)過一小段時間延遲后,讓步進電機有足夠的時間建立磁場及轉(zhuǎn)動,再輸出
4、“0100”,延時 依次循環(huán)輸出這四種信號即可。(2)、2相驅(qū)動:任何一個時間,有兩組線圈同時被激磁,因此,產(chǎn)生的力矩比1相驅(qū)動要大。其信號依次為:1100-0110-0011-1001-1100(正轉(zhuǎn))1100-1001-0011-0110-1100(反轉(zhuǎn))信號輸出方式與1相驅(qū)動類似。(3)、1-2相驅(qū)動:1-2相驅(qū)動的方式又稱為“半步驅(qū)動”,每個驅(qū)動信號只驅(qū)動半步。其驅(qū)動信號依次為:1001-1000-1100-0100-0110-0010-0011-0001(正轉(zhuǎn))1001-0001-0011-0010-0110-0100-1100-1000(反轉(zhuǎn))共有8種信號成周期性的變化,仔細觀察可
5、以發(fā)現(xiàn)其中的信號是將1相驅(qū)動和2相驅(qū)動的信號混合而成的。具體應(yīng)用時根據(jù)不同型號的步進電機采用不同的驅(qū)動方式,本EDA實驗箱中的步進電機采用1相驅(qū)動的方式進行驅(qū)動。4、轉(zhuǎn)速控制控制步進電機的運行速度,實際上是控制系統(tǒng)發(fā)出時鐘脈沖的頻率或換相的周期,即在加速的過程中,使脈沖的輸出頻率增加;在減速過程中,使脈沖的輸出頻率減小。脈沖信號的頻率可以用軟件延時來確定。5、步進電機的驅(qū)動電路AT89S52的輸出電流很難驅(qū)動步進電機,必須另外設(shè)計驅(qū)動電路才行,在此我們將采用ULN2003(如圖5)驅(qū)動步進電機。一顆ULN2003系列IC包含7個開集極式輸出的反相器,而在每個輸出端都有一個連接到公共端(VCC)
6、的二極管,作為放電保護電路,每組反相器的內(nèi)部電路如圖6.圖5:ULN2003圖6:內(nèi)部電路【實驗內(nèi)容】原理圖:1、根據(jù)EDA步進電機步進角度,計算出該步進電機的齒間距和齒數(shù),填入表1;齒數(shù)齒間距步進角度 12 30°15°2、步進電機的步進和特定角度旋轉(zhuǎn)(1)將“桌面EDA實驗-51部分-步進電機實驗步進電機實驗底層驅(qū)動”路徑下 “LCD1602.sof”文件燒入FPGA中。具體步驟如下:a) 用USB轉(zhuǎn)換線將 USB BLASTER 與PC機相連,USB BLASTER的另一端連接到FPGA核心板右下角J12口。如果連接正常,USB BLASTER綠燈點亮。b) 雙擊“桌
7、面EDA實驗-51部分-步進電機實驗步進電機實驗底層驅(qū)動”路徑下 “LCD1602.qpf”文件,啟動Quartus II;c) 單擊菜單欄中 ToolsProgrammer ,打開FPGA程序下載窗口;d) 單擊界面右上角“Hardware Setup”,在“Currently selected Hardware”下拉列表中選擇“USB-BlasterUSB-0”,激活USB-Blaster,單擊“close”關(guān)閉;e) 單擊“Add File”,路徑選擇“桌面EDA實驗-51部分-步進電機實驗步進電機實驗底層驅(qū)動”,選中文件“LCD1602.sof”,勾選Program/Configure
8、;f) 給EDA主板供電,單擊“start”,將底板驅(qū)動程序燒錄到FPGA中。g) 燒錄后不要斷電,斷電后程序會丟失,需要重新燒錄。(2)利用“程序一.c”代碼,創(chuàng)建keil工程,生成“程序一.hex”文件具體步驟如下:a) 單擊“開始程序”,啟動Keil uVision2;b) 單擊“ProjectNew Project”,創(chuàng)建新工程;c) 新工程保存路徑為“桌面EDA實驗-51部分-步進電機實驗程序一”,工程名設(shè)為“工程一”,單擊“保存”;d) 在彈出的“器件選擇窗口”中,選擇“AtmelAT89S52”,單擊“確定”;e) 右鍵單擊窗口右邊列表欄中“Source Group 1”,選擇“
9、Add File to Group Source Group 1”;f) 選中“桌面EDA實驗-51部分-步進電機實驗程序一”路徑下“程序一.c”,單擊“Add”,然后單擊“close”;g) 雙擊“程序一.c”,打開該文件。h) 單擊窗口左上角“Build Target”按鍵,編譯程序一;i) 單擊窗口左上角圖標,選中“output”面板,選中“Creative HEX”,單擊“確定”j) 再次單擊窗口左上角“Build Target”按鍵,將生成“程序二.Hex”文件;k) 在路徑“桌面EDA實驗-51部分-步進電機實驗程序一”下,已經(jīng)生成“程序二.Hex”文件。(3)將 程序一.hex
10、燒入單片機具體步驟如下:a) 用DB25-ISP下載線連接單片機ISP程序下載口(EDA主板右下角J15口)和PC機并口,EDA主板右下角S8撥碼開關(guān)全部撥向ON;b) 在桌面雙擊圖標,啟動ISPlay;c) 單擊“檢測器件”,聽到“嘀嘀嘀”,表示器件檢測成功;d) 單擊“文件”,選擇“桌面EDA實驗-51部分-步進電機實驗程序一”路徑下“程序一.hex”,單擊“打開”;e) 單擊“AUTORUN!”,完成程序的下載;下載完成會聽到“嘀嘀嘀”的響聲。完成表2:操作步進電機狀態(tài)開機靜止單擊按鍵K1順時針每次旋轉(zhuǎn)60單擊按鍵K5逆時針每次旋轉(zhuǎn)60單擊按鍵K9順時針每次120單擊按鍵K13逆時針旋轉(zhuǎn)
11、兩圈3、步進電機正、反、加速、減速轉(zhuǎn)動控制通過按鍵控制步進電機的正轉(zhuǎn)、反轉(zhuǎn)、加速、減速、停止和轉(zhuǎn)動等動作。(1) 將“桌面EDA實驗-51部分-步進電機實驗步進電機實驗底層驅(qū)動”路徑下 “LCD1602.sof”文件燒入FPGA中,若上步實驗后系統(tǒng)未重啟,此步可省略。具體步驟見前。(2) 利用“程序一.c”代碼,創(chuàng)建keil工程,生成程序一.hex文件。具體步驟見前。(3) 將“桌面EDA實驗-51部分-步進電機實驗程序二”路徑下“程序二.hex”燒入單片機。具體步驟見前。完成表3:按鍵操作步進電機狀態(tài)單擊按鍵K1反向旋轉(zhuǎn)單擊按鍵K5暫停繼續(xù)單擊按鍵K9加速旋轉(zhuǎn)單擊按鍵K13減速旋轉(zhuǎn)4、程序分
12、析設(shè)計:(1) 閱讀 程序一.c ,要使單擊按鍵K9時,步進電機逆時針旋轉(zhuǎn)240°, 應(yīng)該如何修改程序?寫出程序代碼;#include"AT89X52.h"sfr p0=0x80;sfr p1=0x90;sfr p2=0xA0;sfr p3=0xB0;sbit s1=p32;/正向步進sbit s2=p33;/反向步進sbit s3=p34;/正向旋轉(zhuǎn)120°sbit s4=p35;/反向旋轉(zhuǎn)2圈int con=800;char data id1=0,id2=0,id3=0,id4=0;/按鍵標志unsigned char motorni8=0xF2,0
13、xF8,0xF4,0xF1,0xF2,0xF8,0xF4,0xF1;/逆時針unsigned char motorshun8=0xF2,0xF1,0xF4,0xF8,0xF2,0xF1,0xF4,0xF8;/順時針unsigned char motorout8=0,0,0,0,0,0,0,0;/電機輸出delay(int t)int i,j;for(i=0;i<t;i+)for(j=0;j<10;j+);keyscan()int i,j;/按鍵s1:正向步進if(s1=0)delay(1000);while(s1=0);for(i=0;i<4;i+)p0=motorshuni
14、; delay(400);/按鍵s2:反向步進if(s2=0)delay(1000);while(s2=0);for(i=0;i<4;i+)p0=motornii; delay(400);/按鍵s3:正向旋轉(zhuǎn)120度if(s3=0)delay(1000);while(s3=0);for(j=0;j<4;j+)/將這句改成重復4次,由于每次轉(zhuǎn)動/60度,所以可以實現(xiàn)正向轉(zhuǎn)動240度for(i=0;i<4;i+)p0=motorshuni; delay(400);/按鍵s4:反向旋轉(zhuǎn)2圈if(s4=0)delay(1000);while(s4=0);for(j=0;j<12
15、;j+)for(i=0;i<4;i+)p0=motornii; delay(400);void main()p0=0xff;while(1)keyscan();(2) 閱讀 程序二.c ,要實現(xiàn)系統(tǒng)初始化時,步進電機順時針旋轉(zhuǎn),怎樣修改程序?寫出程序代碼;#include"AT89X52.h"sfr p0=0x80;sfr p1=0x90;sfr p2=0xA0;sfr p3=0xB0;sbit s1=p32;/對應(yīng)于按鍵K1 反向sbit s2=p33;/對應(yīng)于按鍵K5 停止sbit s3=p34;/對應(yīng)于按鍵K9 加速sbit s4=p35;/對應(yīng)于按鍵K13 減
16、速int con=800;char data id1=0,id2=0,id3=0,id4=0;/按鍵標志unsigned char motorni8=0xF2,0xF8,0xF4,0xF1,0xF2,0xF8,0xF4,0xF1;/逆時針unsigned char motorshun8=0xF2,0xF1,0xF4,0xF8,0xF2,0xF1,0xF4,0xF8;/順時針unsigned char motorout8;/電機輸出delay(int t)int i,j;for(i=0;i<t;i+)for(j=0;j<10;j+);motor()int i;if(id2=0)for
17、(i=0;i<8;i+)p0=motorouti;delay(con);else if(id2=1)p0=0xff;keyscan()int i;/按鍵s1:反向if(s1=0)delay(1000);while(s1=0);id1+;if(id1=1)for(i=0;i<8;i+)motorouti=motornii;else if(id1=2)id1=0;for(i=0;i<8;i+)motorouti=motorshuni;/按鍵s2:停止繼續(xù)if(s2=0)delay(900);while(s2=0);id2=id2;/按鍵s3:加速if(s3=0)delay(900
18、);while(s3=0);if(40<con<4100)con=con/2; if(con<40) con=4000;/按鍵s4:減速if(s4=0)delay(900);while(s4=0); if(30<con<2000)con=con*2; if(con>4000) con=40;else /當掃描按鍵時,沒檢測到按鍵時, delay(1000); /執(zhí)行else語句,即正向旋轉(zhuǎn) for(i=0;i<8;i+)motorouti=motorshuni; void main()p0=0xff;while(1)keyscan();motor();
19、(3) 怎樣實現(xiàn)步進電機轉(zhuǎn)速的漸變,完成先遞增,后遞減?寫出程序代碼或畫出流程圖。#include"AT89X52.h"sfr p0=0x80;sfr p1=0x90;sfr p2=0xA0;sfr p3=0xB0;sbit s1=p32;/對應(yīng)于按鍵K1 反向sbit s2=p33;/對應(yīng)于按鍵K5 停止sbit s3=p34;/對應(yīng)于按鍵K9 加速sbit s4=p35;/對應(yīng)于按鍵K13 減速int con=800;char data id1=0,id2=0,id3=0,id4=0;/按鍵標志unsigned char motorni8=0xF2,0xF8,0xF4,0xF1,0xF2,0xF8,0xF4,0xF1;/逆時針unsigned char motorshun8=0xF2,0xF1,0xF4,0xF8,0xF2,0xF1,0xF4,0xF8;/順時針unsigned char mo
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年高密市市屬事業(yè)單位考試真題
- 2025年盤園兒鋼合作協(xié)議書
- 公司級員工安全培訓試題【B卷】
- 2025年城市垃圾分類與衛(wèi)生宣傳計劃
- 幼兒園年度教育活動工作計劃
- 2025年骨科護理多學科協(xié)作計劃
- 農(nóng)民工工資激勵機制的有效措施
- 企業(yè)檔案風險管理及2025年應(yīng)對策略
- 公共設(shè)施維護管理的重點與措施
- 原料藥供應(yīng)鏈管理合同范文
- 2025年合肥二模數(shù)學試題及答案
- 2025屆武漢市二調(diào)數(shù)學質(zhì)量分析正式版【課件】
- 2024-2024年上海市高考英語試題及答案
- 電力各種材料重量表總
- 小學六年級體育課件《原地單手肩上投籃》
- 初中數(shù)學北師大九年級上冊(2023年修訂) 反比例函數(shù)教案反比例函數(shù)-k的幾何意義
- 某公司財務(wù)盡職調(diào)查報告
- YC∕T 266-2008 煙用包裝膜
- DB36T 1589-2022水土保持無人機監(jiān)測技術(shù)規(guī)程_(高清版)
- 裝飾圖案__ppt
- 新職業(yè)英語-藝術(shù)設(shè)計.unit5
評論
0/150
提交評論