在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 單片機控制步進(jìn)電機正反轉(zhuǎn)

            單片機控制步進(jìn)電機正反轉(zhuǎn)

            作者: 時間:2016-11-18 來源:網(wǎng)絡(luò) 收藏
            步進(jìn)電機模塊:

            本文引用地址:http://www.biyoush.com/article/201611/315924.htm

            原理圖:

            兩相六線步進(jìn)電機,步進(jìn)角7.5度,額定工作電壓12V,完全可以使用5V做實驗。

            以下是引用 gguoqing 在2006-6-11 15:10:02的發(fā)言:

            使用偉納定做的20CM杜邦頭實驗連接線,可以很方便的將ME300與步進(jìn)電機模塊連接起來。

            http://www.willar.com/shop_view.asp?id=47

            在ME300B上使用時,可從J7上引出5V電源到步進(jìn)電機模塊J1上。

            將J1(ICE)上的P1.0-P1.3用杜邦頭實驗連接線連接到步進(jìn)電機模塊J2上。

            產(chǎn)品詳情:

            http://www.willar.com/shop_view.asp?id=48。

            以下是本站管理員gguoqing專門編寫的演示程序。

            C語言范例:

            /*******************************************************************

            /*

            /* ME300系列單片機開發(fā)系統(tǒng)演示程序-步進(jìn)電機鍵控正反轉(zhuǎn)實驗

            /*

            /* 郵箱: [email protected]

            /* 網(wǎng)站:http://www.willar.com;

            /* 作者: gguoqing

            /* 時間: 2006/05/30

            /*

            /*【版權(quán)】COPYRIGHT(C)偉納電子www.willar.comALL RIGHTS RESERVED

            /*【聲明】此程序僅用于學(xué)習(xí)與參考,引用請注明版權(quán)和作者信息!

            /*

            /******************************************************************/

            #include //51芯片管腳定義頭文件

            #include //內(nèi)部包含延時函數(shù) _nop_();

            #define uchar unsigned char

            #define uintunsigned int

            uchar code FFW[8]={0xf1,0xf3,0xf2,0xf6,0xf4,0xfc,0xf8,0xf9};

            uchar code REV[8]={0xf9,0xf8,0xfc,0xf4,0xf6,0xf2,0xf3,0xf1};

            sbitK1 = P1^4; //正轉(zhuǎn)

            sbitK2 = P1^5; //反轉(zhuǎn)

            sbitK3 = P1^6;

            sbitK4 = P1^7; //停止

            sbitBEEP = P3^7; //蜂鳴器

            /********************************************************/

            /*

            /* 延時t毫秒

            /* 11.0592MHz時鐘,延時約1ms

            /*

            /********************************************************/

            void delay(uint t)

            {

            uint k;

            while(t--)

            {

            for(k=0; k<125; k++)

            { }

            }

            }

            /**********************************************************/

            void delayB(uchar x)//x*0.14MS

            {

            uchar i;

            while(x--)

            {

            for (i=0; i<13; i++)

            { }

            }

            }

            /**********************************************************/

            void beep()

            {

            uchar i;

            for (i=0;i<100;i++)

            {

            delayB(4);

            BEEP=!BEEP; //BEEP取反

            }

            BEEP=1;//關(guān)閉蜂鳴器

            }

            /********************************************************/

            /*

            /*步進(jìn)電機正轉(zhuǎn)

            /*

            /********************************************************/

            voidmotor_ffw()

            {

            uchar i;

            uintj;

            for (j=0; j<12; j++)//轉(zhuǎn)1*n圈

            {

            if(K4==0)

            {break;}//退出此循環(huán)程序

            for (i=0; i<8; i++) //一個周期轉(zhuǎn)30度

            {

            P1 = FFW[ i ];//取數(shù)據(jù)

            delay(15); //調(diào)節(jié)轉(zhuǎn)速

            }

            }

            }

            /********************************************************/

            /*

            /*步進(jìn)電機反轉(zhuǎn)

            /*

            /********************************************************/

            voidmotor_rev()

            {

            uchar i;

            uintj;

            for (j=0; j<12; j++) //轉(zhuǎn)1×n圈

            {

            if(K4==0)

            {break;} //退出此循環(huán)程序

            for (i=0; i<8; i++)//一個周期轉(zhuǎn)30度

            {

            P1 = REV[ i ];//取數(shù)據(jù)

            delay(15); //調(diào)節(jié)轉(zhuǎn)速

            }

            }

            }

            /********************************************************

            *

            *主程序

            *

            *********************************************************/

            main()

            {

            uchar r,N=5; //N 步進(jìn)電機運轉(zhuǎn)圈數(shù)

            while(1)

            {

            if(K1==0)

            {

            beep();

            for(r=0;r

            {

            motor_ffw(); //電機正轉(zhuǎn)

            if(K4==0)

            {beep();break;}//退出此循環(huán)程序

            }

            }

            else if(K2==0)

            {

            beep();

            for(r=0;r

            {

            motor_rev(); //電機反轉(zhuǎn)

            if(K4==0)

            {beep();break;}//退出此循環(huán)程序

            }

            }

            else

            P1 = 0xf0;

            }

            }

            匯編語言范例

            ;/*****************************************************************

            ;/*

            ;/* ME300系列單片機開發(fā)系統(tǒng)演示程序 - 步進(jìn)電機鍵控正反轉(zhuǎn)實驗

            ;/*

            ;/*

            ;/* 郵箱:[email protected]

            ;/* 網(wǎng)站:http://www.willar.com;

            ;/* 作者: gguoqing

            ;/* 時間: 2006/05/30

            ;/*

            ;/*【版權(quán)】Copyright(C)偉納電子www.willar.comAll Rights Reserved

            ;/*【聲明】此程序僅用于學(xué)習(xí)與參考,引用請注明版權(quán)和作者信息!

            ;/*

            ;/******************************************************************

            ; 步進(jìn)電機步進(jìn)角為 7.5度,一圈 360 度。

            ; 雙四拍工作方式:

            ; AB-BC-CD-DA (即一個脈沖,轉(zhuǎn) 7.5 度)

            ; 單雙八拍工作方式:

            ; A-AB-B-BC-C-CD-D-DA (即一個脈沖,轉(zhuǎn) 3.75 度)

            ; 一個取數(shù)工作周期,步進(jìn)電機轉(zhuǎn)30度

            ; 步進(jìn)電機轉(zhuǎn)一圈需要12個取數(shù)工作周期

            ;-------------------------------------------------------

            ; A組線圈對應(yīng) P1.0(桔色)

            ; B組線圈對應(yīng) P1.1(棕色)

            ; C組線圈對應(yīng) P1.2(黃色)

            ; D組線圈對應(yīng) P1.3(黑色)

            ;-------------------------------------------------------

            K1BITP1.4 ;步進(jìn)電機正轉(zhuǎn)

            K2BITP1.5 ;步進(jìn)電機反轉(zhuǎn)

            K3BITP1.6

            K4BITP1.7 ;步進(jìn)電機停止轉(zhuǎn)動

            BEEPBITP3.7

            ;-------------------------------------------------------

            ORG 0000H

            LJMP MAIN

            ORG 0030H

            ;-------------------------------------------------------

            MAIN:

            MOVSP,#60H

            MOVP1,#0F0H ;關(guān)閉步進(jìn)電機,鍵輸入線置高

            MAIN1:

            JBK1,MAIN2

            ACALLBEEP_BL ;步進(jìn)電機正轉(zhuǎn)

            ACALLFFW

            MAIN2:

            JBK2,MAIN1

            ACALLBEEP_BL ;步進(jìn)電機反轉(zhuǎn)

            ACALLREV

            JMPMAIN1

            ;------------------------正轉(zhuǎn)-------------------------

            FFW:

            ;MOV R3,#12 ;7.5度電機正轉(zhuǎn)1圈共12個周期

            MOVR3,#60 ;轉(zhuǎn)5圈

            FFW1:

            MOV R0,#00H

            FFW2:

            JBK4,FFW3 ;終止步進(jìn)電機運行

            ACALLBEEP_BL

            JMPFFW4

            FFW3:

            MOV P1,#0F0H

            MOV A,R0

            ;MOV DPTR,#TABLE_F;選擇工作方式

            MOV DPTR,#TABLE1

            MOVC A,@A+DPTR

            MOV P1,A

            LCALL DELAY

            INC R0

            CJNEA,#0FFH,FFW2

            DJNZ R3,FFW1

            FFW4:

            MOV P1,#0F0H

            RET

            ;---------------------------反轉(zhuǎn)--------------------------

            REV:

            ;MOV R3,#12 ;7.5度電機反轉(zhuǎn)1圈共12個周期

            MOVR3,#60 ;轉(zhuǎn)5圈

            REV1:

            MOV R0,#00H

            REV2:

            JBK4,REV3;終止步進(jìn)電機運行

            ACALLBEEP_BL

            JMPREV4

            REV3:

            MOV P1,#0F0H

            MOV A,R0

            ; MOV DPTR,#TABLE_R ;選擇工作方式

            MOV DPTR,#TABLE2

            MOVC A,@A+DPTR

            MOV P1,A

            CALL DELAY

            INC R0

            CJNEA,#0FFH,REV2

            DJNZ R3,REV1

            REV4:

            MOV P1,#0F0H

            RET

            ;-------------------------------------------------------

            DELAY:

            MOV R7,#40 ;步進(jìn)電機的轉(zhuǎn)速

            DEL1:MOV R6,#248

            DJNZ R6,$

            DJNZ R7,DEL1

            RET

            ;-------------------------------------------------------

            DELAY1:

            MOV R5,#20 ;2S 延時子程序

            DEL2:

            MOV R7,#200

            DEL3:

            MOV R6,#250

            DJNZR6,$

            DJNZR7,DEL3

            DJNZR5,DEL2

            RET

            ;-------------------------------------------------------

            ; 單雙八拍工作方式

            TABLE_F:;正轉(zhuǎn)表

            DB0F1H,0F3H,0F2H,0F6H,0F4H,0FCH,0F8H,0F9H

            DB0FFH

            TABLE_R:;反轉(zhuǎn)表

            DB0F9H,0F8H,0FCH,0F4H,0F6H,0F2H,0F3H,0F1H

            DB0FFH

            ;-------------------------------------------------------

            ; 雙四拍工作方式:

            TABLE1:

            DB 0F3H,0F6H,0FcH,0F9H;正轉(zhuǎn)表

            DB 0FFH;正轉(zhuǎn)結(jié)束

            TABLE2:

            DB 0F9H,0FCH,0F6H,0F3H;反轉(zhuǎn)表

            DB 0FFH;反轉(zhuǎn)結(jié)束

            ;--------------------------------------------------------

            ;蜂鳴器響一聲子程序

            ;--------------------------------------------------------

            BEEP_BL:

            MOVR6,#100

            BL1:

            CALLDEX1

            CPLBEEP

            DJNZR6,BL1

            RET

            DEX1:

            MOVR7,#180

            DEX2:

            NOP

            DJNZR7,DEX2

            RET

            ;---------------------------------------------------------

            END

            四相步進(jìn)電機:

            齒距角: Qz = 2π/ Z Z --- 轉(zhuǎn)子的齒數(shù)

            步距角---轉(zhuǎn)子走一步所轉(zhuǎn)過的角度

            步距角: Qn = Qz/N = 2π/NZN --- 步進(jìn)電機工作拍數(shù)

            步進(jìn)電機轉(zhuǎn)速:

            n = 60×f / N×Z (轉(zhuǎn)/分); f =脈沖頻率(Hz)

            對于步距角為7.5度的步進(jìn)電機而言:

            Qn = 7.5度

            Qz = Qn×N = 7.5×4=30度 (齒距角)

            Z=2π/Qz = 360/30 = 12 (轉(zhuǎn)子的齒數(shù))

            四相步進(jìn)電機有三種運行狀態(tài):

            1、步進(jìn)電機為四相單四拍運行狀態(tài):

            當(dāng)電機繞組通電時序為A-B-C-D時為正轉(zhuǎn),通電時序為D-C-B-A時為反轉(zhuǎn)。

            N = 4

            步距角: Qn = Qz/N = 2π/NZ =360/4*12=7.5°

            則步進(jìn)電機轉(zhuǎn)一圈所需步進(jìn)數(shù): 360°/7.5°=48 (步進(jìn)數(shù))

            2、步進(jìn)電機為四相雙四拍運行狀態(tài):

            當(dāng)電機繞組通電時序為AB-BC-CD-DA時為正轉(zhuǎn),通電時序為DA-CD-BC-AB時為反轉(zhuǎn)。

            N = 4

            步距角: Qn = Qz/N = 2π/NZ =360/4*12=7.5°

            則步進(jìn)電機轉(zhuǎn)一圈所需步進(jìn)數(shù): 360°/7.5°=48 (步進(jìn)數(shù))

            3、步進(jìn)電機為四相八拍運行狀態(tài)。

            當(dāng)電機繞組通電時序為A-AB-B-BC-C-CD-D-DA時為正轉(zhuǎn),通電時序為DA-D-CD-C-BC-B-BA-A時為反轉(zhuǎn)。

            N = 8

            步距角: Qn = Qz/N = 2π/NZ =360/8*12=3.75°

            則步進(jìn)電機轉(zhuǎn)一圈所需步進(jìn)數(shù): 360°/3.75°=96 (步進(jìn)數(shù))



            評論


            技術(shù)專區(qū)

            關(guān)閉