步進(jìn)電機(jī)控制系統(tǒng)課程設(shè)計(jì)說明書_第1頁
步進(jìn)電機(jī)控制系統(tǒng)課程設(shè)計(jì)說明書_第2頁
步進(jìn)電機(jī)控制系統(tǒng)課程設(shè)計(jì)說明書_第3頁
步進(jìn)電機(jī)控制系統(tǒng)課程設(shè)計(jì)說明書_第4頁
步進(jìn)電機(jī)控制系統(tǒng)課程設(shè)計(jì)說明書_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

本文格式為Word版,下載可任意編輯——步進(jìn)電機(jī)控制系統(tǒng)課程設(shè)計(jì)說明書

步進(jìn)電機(jī)速度控制軟件、硬件設(shè)計(jì)。

目錄

一.系統(tǒng)概述2二.步進(jìn)電機(jī)簡介3三.步進(jìn)電機(jī)驅(qū)動4四..軟件設(shè)計(jì)9五.步進(jìn)電機(jī)控制器程序10六.設(shè)計(jì)感想20七.

步進(jìn)電機(jī)速度控制軟件、硬件設(shè)計(jì)。

一.系統(tǒng)概述

1.1步進(jìn)電機(jī)控制工作原理

步進(jìn)電機(jī)實(shí)際上是一個數(shù)字\角度轉(zhuǎn)換器,也是一個串行的數(shù)\模轉(zhuǎn)換器。步進(jìn)電機(jī)的基本控制包括啟停控制、轉(zhuǎn)向控制、速度控制、換向控制4個方面。從結(jié)構(gòu)上看,步進(jìn)電機(jī)分為三相、四相、五相等類型,常用的則以三相為主。三相步進(jìn)電機(jī)的工作方式有三相單三拍、三相雙三拍和三相六拍3種,下面具體加以闡述。1.1.1步進(jìn)電機(jī)的啟停控制

步進(jìn)電機(jī)由于其電氣特性,運(yùn)轉(zhuǎn)時會有步進(jìn)感,即振動感。為了使電機(jī)轉(zhuǎn)動平滑,減小振動,可在步進(jìn)電機(jī)控制脈沖的上升沿和下降沿采用細(xì)分的梯形波,可以減小步進(jìn)電機(jī)的步進(jìn)角,提高電機(jī)運(yùn)行的平穩(wěn)性。在步進(jìn)電機(jī)停轉(zhuǎn)時,為了防止因慣性而使電機(jī)軸產(chǎn)生順滑,則需采用適合的鎖定波形,產(chǎn)生鎖定磁力矩,鎖定步進(jìn)電機(jī)的轉(zhuǎn)軸,使步進(jìn)電機(jī)的轉(zhuǎn)軸不能自由轉(zhuǎn)動。1.1.2步進(jìn)電機(jī)的轉(zhuǎn)向控制

假使給定工作方式正序換相通電,步進(jìn)電機(jī)正轉(zhuǎn)。若步進(jìn)電機(jī)的勵磁方式為三相六拍,即A-AB-B-BC-C-CA。假使按反序通電換相,即則電機(jī)就反轉(zhuǎn)。其他方式狀況類似。1.1.3步進(jìn)電機(jī)的速度控制

假使給步進(jìn)電機(jī)發(fā)一個控制脈沖,它就轉(zhuǎn)一步,再發(fā)一個脈沖,它會再轉(zhuǎn)一步。2個脈沖的間隔越短,步進(jìn)電機(jī)就轉(zhuǎn)得越快。調(diào)整送給步進(jìn)電機(jī)的脈沖頻率,就可以對步進(jìn)電機(jī)進(jìn)行調(diào)速。

步進(jìn)電機(jī)速度控制軟件、硬件設(shè)計(jì)。

1.1.4步進(jìn)電機(jī)的換向控制

步進(jìn)電機(jī)換向時,一定要在電機(jī)減速中止或降到突跳頻率范圍之內(nèi)再換向,以免產(chǎn)生較大的沖擊而損壞電機(jī)。換向信號一定要在前一個方向的最終一個脈沖終止后以及下一個方向的第1個脈沖前發(fā)出。對于脈沖的設(shè)計(jì)主要要求要有一定的脈沖寬度(一般不小于5μs)、脈沖序列的均勻度及高低電平方式。在某一高速下的正、反向切換實(shí)

質(zhì)包含了減速→換向→加速3個過程。

二.步進(jìn)電機(jī)簡介

步進(jìn)電機(jī)驅(qū)動器的工作原理

步進(jìn)電機(jī)在控制系統(tǒng)中具有廣泛的應(yīng)用。它可以把脈沖信號轉(zhuǎn)換成角位移,并且可用作電磁制動輪、電磁差分器、或角位移發(fā)生器等。

本設(shè)計(jì)首先要了解步進(jìn)電機(jī)的工作原理,然后進(jìn)行其驅(qū)動器的軟、硬件設(shè)計(jì)。

1.步進(jìn)電機(jī)的工作原理

步進(jìn)電機(jī)速度控制軟件、硬件設(shè)計(jì)。

步進(jìn)電機(jī)是將電脈沖信號轉(zhuǎn)變?yōu)榻俏灰苹蚓€位移的開環(huán)控制元件。在非超載的狀況下,電機(jī)的轉(zhuǎn)速,中止的位置只取決于脈沖信號的頻率和脈沖數(shù),而不受負(fù)載變化的影響,當(dāng)步進(jìn)驅(qū)動器接收到一個脈沖信號,它就驅(qū)動步進(jìn)電機(jī)按設(shè)定的方向轉(zhuǎn)動一個固定的角度,稱為步距角.它的旋轉(zhuǎn)是以固定的角度一步一步運(yùn)行的??梢酝ㄟ^控制脈沖個數(shù)來控制角位移量,從而達(dá)到確鑿定位的目的;同時可以通過控制脈沖頻率來控制電動機(jī)的轉(zhuǎn)速和加速度,從而達(dá)到調(diào)速的目的。

三.步進(jìn)電機(jī)驅(qū)動

步進(jìn)電機(jī)驅(qū)動方式:

1、1相勵磁法:每一個瞬間只有一個線圈導(dǎo)通,其它線圈休息。其特點(diǎn)是勵磁方法簡單,耗電低,確切度良好。但是力矩小、震動大,每次勵磁走的都是標(biāo)稱角度.。

2、2相勵磁法:每一瞬間有兩個線圈同時導(dǎo)通,特點(diǎn)是力矩大、震動較小,每次勵磁轉(zhuǎn)動的角度是標(biāo)稱角度。

3’、1-2相勵磁法:1相和2相輪番交替導(dǎo)通,精度較高,切運(yùn)轉(zhuǎn)平穩(wěn)。每送一個勵磁信號轉(zhuǎn)動二分之一標(biāo)稱角度,也稱為半步驅(qū)動。

1相勵磁

步進(jìn)電機(jī)速度控制軟件、硬件設(shè)計(jì)。

2相勵磁

1-2相勵磁

步進(jìn)電機(jī)速度控制軟件、硬件設(shè)計(jì)。

該步進(jìn)電機(jī)為一四相步進(jìn)電機(jī),采用單極性直流電源供電。只要對步進(jìn)電機(jī)的各相繞組按適合的時序通電,就能使步進(jìn)電機(jī)步進(jìn)轉(zhuǎn)動。圖1是該四相反應(yīng)式步進(jìn)電機(jī)工作原理示意圖。圖1四相步進(jìn)電機(jī)步進(jìn)示意圖

開始時,開關(guān)SB接通電源,SA、SC、SD斷開,B相磁極和轉(zhuǎn)子0、3號齒對齊,同時,轉(zhuǎn)子的1、4號齒就和C、D相繞組磁極產(chǎn)生錯齒,2、5號齒就和D、A相繞組磁極產(chǎn)生錯齒。

步進(jìn)電機(jī)速度控制軟件、硬件設(shè)計(jì)。

當(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方向轉(zhuǎn)動。

四相步進(jìn)電機(jī)依照通電順序的不同,可分為單四拍、雙四拍、八拍三種工作方式。單四拍與雙四拍的步距角相等,但單四拍的轉(zhuǎn)動力矩小。八拍工作方式的步距角是單四拍與雙四拍的一半,因此,八拍工作方式既可以保持較高的轉(zhuǎn)動力矩又可以提高控制精度。單四拍、雙四拍與八拍工作方式的電源通電時序與波形分別如圖2.a、b、c所示:

圖2.步進(jìn)電機(jī)工作時序波形圖

2.基于AT89C2051的步進(jìn)電機(jī)驅(qū)動器系統(tǒng)電路原理圖3步進(jìn)電機(jī)驅(qū)動器系統(tǒng)電路原理圖

步進(jìn)電機(jī)速度控制軟件、硬件設(shè)計(jì)。

AT89C2051將控制脈沖從P1口的P1.4~P1.7輸出,經(jīng)74LS14反相后進(jìn)入9014,經(jīng)9014放大后控制光電開關(guān),光電隔離后,由功率管TIP122將脈沖信號進(jìn)行電壓和電流放大,驅(qū)動步進(jìn)電機(jī)的各相繞組。使步進(jìn)電機(jī)隨著不同的脈沖信號分別作正轉(zhuǎn)、反轉(zhuǎn)、加速、減速和中止等動作。圖中L1為步進(jìn)電機(jī)的一相繞組。AT89C2051選用頻率22MHz的晶振,選用較高晶振的目的是為了在方式2下盡量減小AT89C2051對上位機(jī)脈沖信號周期的影響。

圖3中的RL1~RL4為繞組內(nèi)阻,50Ω電阻是一外接電阻,起限流作用,也是一個改善回路時間常數(shù)的元件。D1~D4為續(xù)流二極管,使電機(jī)繞組產(chǎn)生的反電動勢通過續(xù)流二極管(D1~D4)而衰減掉,從而保護(hù)了功率管TIP122不受損壞。

步進(jìn)電機(jī)速度控制軟件、硬件設(shè)計(jì)。

在50Ω外接電阻上并聯(lián)一個200μF電容,可以改善注入步進(jìn)電機(jī)繞組的電流脈沖前沿,提高了步進(jìn)電機(jī)的高頻性能。與續(xù)流二極管串聯(lián)的200Ω電阻可減小回路的放電時間常數(shù),使繞組中電流脈沖的后沿變陡,電流下降時間變小,也起到提高高頻工作性能的作用。

四..軟件設(shè)計(jì)

驅(qū)動器根據(jù)撥碼開關(guān)KX、KY的不同組合有三種工作方式供選擇:

方式1為中斷方式:P3.5(INT1)為步進(jìn)脈沖輸入端,P3.7為正反轉(zhuǎn)脈沖輸入端。上位機(jī)(PC機(jī)或單片機(jī))與驅(qū)動器僅以2條線相連。方式2為串行通訊方式:上位機(jī)(PC機(jī)或單片機(jī))將控制命令發(fā)送給驅(qū)動器,驅(qū)動器根據(jù)控制命令自行完成有關(guān)控制過程。方式3為撥碼開關(guān)控制方式:通過K1~K5的不同組合,直接控制步進(jìn)電機(jī)。

當(dāng)上電或按下復(fù)位鍵KR后,AT89C2051先檢測撥碼開關(guān)KX、KY的狀態(tài),根據(jù)KX、KY的不同組合,進(jìn)入不同的工作方式。以下給出方式1的程序流程框圖與源程序。

在程序的編制中,要特別注意步進(jìn)電機(jī)在換向時的處理。為使步進(jìn)電機(jī)在換向時能平滑過渡,不至于產(chǎn)生錯步,應(yīng)在每一步中設(shè)置標(biāo)志位。其中20H單元的各位為步進(jìn)電機(jī)正轉(zhuǎn)標(biāo)志位;21H單元各位為反轉(zhuǎn)標(biāo)志位。在正轉(zhuǎn)時,不僅給正轉(zhuǎn)標(biāo)志位賦值,也同時給反轉(zhuǎn)標(biāo)志位賦值;在反轉(zhuǎn)時也如此。這樣,當(dāng)步進(jìn)電機(jī)換向時,就可以上一次的位置作為起點(diǎn)反向運(yùn)動,避免了電機(jī)換向時產(chǎn)生錯步。

步進(jìn)電機(jī)速度控制軟件、硬件設(shè)計(jì)。

方式1程序框圖

五.步進(jìn)電機(jī)控制器程序

/*名稱:步進(jìn)電機(jī)控制器程序日期:2023年3月

內(nèi)容:本程序用于測試4相步進(jìn)電機(jī)常規(guī)驅(qū)動5個按鍵分別控制加速、減速、開啟、中止和反轉(zhuǎn).

數(shù)碼管顯示01-18速度等級,數(shù)字越大,速度越大

步進(jìn)電機(jī)速度控制軟件、硬件設(shè)計(jì)。

*/

#includereg52.h

#defineKeyPortP3

#defineDataPortP0//定義數(shù)據(jù)端口程序中遇到DataPort則用P0替換

sbitLATCH1=P2^2;//定義鎖存使能端口段鎖存sbitLATCH2=P2^3;//位鎖存

unsignedcharcode

dofly_DuanMa[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//顯示段碼值0~9unsignedcharcode

dofly_WeiMa[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//分別對應(yīng)相應(yīng)的數(shù)碼管點(diǎn)亮,即位碼

unsignedcharTempData[8];//存儲顯示值的全局變量

sbitA1=P1^0;//定義步進(jìn)電機(jī)連接端口sbitB1=P1^1;sbitC1=P1^2;sbitD1=P1^3;

步進(jìn)電機(jī)速度控制軟件、硬件設(shè)計(jì)。

#defineCoil_AB1{A1=1;B1=1;C1=0;D1=0;}//AB相通電,其他相斷電#defineCoil_BC1{A1=0;B1=1;C1=1;D1=0;}//BC相通電,其他相斷電#defineCoil_CD1{A1=0;B1=0;C1=1;D1=1;}//CD相通電,其他相斷電#defineCoil_DA1{A1=1;B1=0;C1=0;D1=1;}//D相通電,其他相斷電#defineCoil_A1{A1=1;B1=0;C1=0;D1=0;}//A相通電,其他相斷電#defineCoil_B1{A1=0;B1=1;C1=0;D1=0;}//B相通電,其他相斷電#defineCoil_C1{A1=0;B1=0;C1=1;D1=0;}//C相通電,其他相斷電#defineCoil_D1{A1=0;B1=0;C1=0;D1=1;}//D相通電,其他相斷電#defineCoil_OFF{A1=0;B1=0;C1=0;D1=0;}//全部斷電

unsignedcharSpeed=1;bitStopFlag;

voidDisplay(unsignedcharFirstBit,unsignedcharNum);voidInit_Timer0(void);unsignedcharKeyScan(void);/*

uS延時函數(shù),含有輸入?yún)?shù)unsignedchart,無返回值unsignedchar是定義無符號字符變量,其值的范圍是0~255這里使用晶振12M,確切延時請使用匯編,大致延時長度如下T=tx2+5uS

步進(jìn)電機(jī)速度控制軟件、硬件設(shè)計(jì)。

voidDelayUs2x(unsignedchart){while(--t);}

/*

mS延時函數(shù),含有輸入?yún)?shù)unsignedchart,無返回值unsignedchar是定義無符號字符變量,其值的范圍是0~255這里使用晶振12M,確切延時請使用匯編*/voidDelayMs(unsignedchart){while(t--){

//大致延時1mSDelayUs2x(245);}}

/*主函數(shù)DelayUs2x(245);

步進(jìn)電機(jī)速度控制軟件、硬件設(shè)計(jì)。

main(){

unsignedinti=512;//旋轉(zhuǎn)一周時間unsignedcharnum;Init_Timer0();Coil_OFFwhile(1)//正向{

num=KeyScan();//循環(huán)調(diào)用按鍵掃描if(num==1)//第一個按鍵,速度等級增加{

if(Speed18)Speed++;}

elseif(num==2)//其次個按鍵,速度等級減小{

if(Speed1)Speed--;}

elseif(num==3){

步進(jìn)電機(jī)速度控制軟件、硬件設(shè)計(jì)。

Coil_OFF

StopFlag=1;}

elseif(num==4){

StopFlag=0;}

TempData[0]=dofly_DuanMa[Speed/10];//分解顯示信息,如要顯示68,則68/10=668%10=8

TempData[1]=dofly_DuanMa[Speed%10];}}

/*顯示函數(shù),用于動態(tài)掃描數(shù)碼管

輸入?yún)?shù)FirstBit表示需要顯示的第一位,如賦值2表示從第三個數(shù)碼管開始顯示

如輸入0表示從第一個顯示。

Num表示需要顯示的位數(shù),如需要顯示99兩位數(shù)值則該值輸入2*/

voidDisplay(unsignedcharFirstBit,unsignedcharNum){

步進(jìn)電機(jī)速度控制軟件、硬件設(shè)計(jì)。

staticunsignedchari=0;

DataPort=0;//清空數(shù)據(jù),防止有交替重影

LATCH1=1;//段鎖存LATCH1=0;

DataPort=dofly_WeiMa[i+FirstBit];//取位碼LATCH2=1;//位鎖存LATCH2=0;

DataPort=TempData[i];//取顯示數(shù)據(jù),段碼LATCH1=1;//段鎖存LATCH1=0;

i++;

if(i==Num)}

/*i=0;

步進(jìn)電機(jī)速度控制軟件、硬件設(shè)計(jì)。

定時器初始化子程序*/voidInit_Timer0(void){

TMOD|=0x01;//使用模式1,16位定時器,使用|符號可以在使用多個定時器時不受影響

//TH0=0x00;//給定初值//TL0=0x00;

EA=1;//總中斷開啟ET0=1;//定時器中斷開啟TR0=1;//定時器開關(guān)開啟PT0=1;//優(yōu)先級開啟}

/*定時器中斷子程序*/voidTimer0_isr(void)interrupt1{

staticunsignedchartimes,i;TH0=(65536-1000)/256;//重新賦值1ms

TL0=(65536-1000)%256;

步進(jìn)電機(jī)速度控制軟件、硬件設(shè)計(jì)。

Display(0,8);if(!StopFlag){

if(times==(20-Speed))

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論