找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

帖子
查看: 10393|回復: 0
打印 上一主題 下一主題
收起左側(cè)

ULN2003步進電機驅(qū)動原理及應用程序

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:262 發(fā)表于 2016-8-15 14:00 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
ULN2003步進電機驅(qū)動原理及應用程序



步進電機的基本原理我就不說了,百度能找出一大片來,,簡而言之就是能夠通過輸入脈沖的個數(shù),確定旋轉(zhuǎn)的角位移,一般用他來控制小車輪子的偏移角度等。
來看看步進電機:
  
型號為MP28GA的步進電機(左)和ULN2003APG的驅(qū)動芯片(右),具體參數(shù)如下:
   電壓
  DC.V
  
   電阻(25°C)
  Ω
  
   步距角
  °
  
  
減速比
  
   牽入轉(zhuǎn)矩
  mN.m
  
  自定位轉(zhuǎn)矩
  mN.m
   
  
  
5
  
  
50
  
  
5.625/64
  
  
1/64
  
  
≥40
  
  
≥34.3
  
   空載牽入頻率
  Hz
  
   空載牽出頻率
  Hz
  
   絕緣電阻
  DC.500V
  
   絕緣介電強度
  AC.600V.1mA.1S
  
   溫升
  K
  
   噪音
  dB(A)
  
  
≥500
  
  
≥900
  
  
≥50MΩ
  
  
無擊穿或飛弧
  
  
40
  
  
40
  
MP28GA的步進電機相關參數(shù)
步進電機相勵磁的勵磁順序如下表所示:
  
接線端
  
  
導線
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
序號
  
  
顏色
  
  
1
  
  
2
  
  
3
  
  
4
  
  
5
  
  
6
  
  
7
  
  
8
  
  
5
  
  
  
  
+
  
  
+
  
  
+
  
  
+
  
  
+
  
  
+
  
  
+
  
  
+
  
  
4
  
  
  
  
-
  
  
-
  
  
  
  
  
  
  
  
  
  
  
  
-
  
  
3
  
  
  
  
  
  
-
  
  
-
  
  
-
  
  
  
  
  
  
  
  
  
  
2
  
  
  
  
  
  
  
  
  
  
-
  
  
-
  
  
-
  
  
  
  
  
  
1
  
  
  
  
  
  
  
  
  
  
  
  
  
  
-
  
  
-
  
  
-
  

ULN2003APG
的驅(qū)動芯片驅(qū)動原理圖如下所示:
FOSC = 12MHz
說得通俗uln2003相當于繼電器的作用,例如7個繼電器的一端連某電壓[也即uln2003電源電壓]<50)在一起,而另一端作為則作為輸出,又好如一個二極管,只不過因電路集成功能的因素,輸出的電壓等同于uln2003的電壓罷了,常用于步進電機
;--------------------------------------------------
;
步進電機的驅(qū)動信號必須為脈沖信號!!! 轉(zhuǎn)動的速度和脈沖的頻率成正比!!!
;
本步進電機步進角為 5.625 . 一圈 360 , 需要64個脈沖完成!!!
;--------------------------------------------------
; A
組線圈對應 P2.4
; B
組線圈對應 P2.5
; C
組線圈對應 P2.6
; D
組線圈對應 P2.7
;
正轉(zhuǎn)次序: AB--BC--CD--DA (即一個脈沖,正轉(zhuǎn)5.625)
;------------------------------------------------
ORG 0000H
    LJMP    MAIN
ORG 0100H
MAIN:
;----------------------------
正轉(zhuǎn)
    MOV R3,#192     ;
正轉(zhuǎn)3圈共192個脈沖
START:
    MOV R0,#00H
START1:
    MOV P2,#00H
    MOV A,R0
    MOV DPTR,#TABLE
    MOVC    A,@A+DPTR
    JZ  START       ;
A的判斷,A=0時則轉(zhuǎn)到 START
    MOV P2,A
    LCALL   DELAY
    INC R0
    DJNZ    R3,START1
    MOV P2,#00H
    LCALL   DELAY1
;-----------------------------
反轉(zhuǎn)
    MOV R3,#64      ;
反轉(zhuǎn)一圈共64個脈沖
START2:
    MOV P2,#00H
    MOV R0,#05
START3:
    MOV A,R0
    MOV DPTR,#TABLE
    MOVC    A,@A+DPTR
    JZ  START2
    MOV P2,A
    CALL    DELAY
    INC R0
    DJNZ    R3,START3
    MOV P2,#00H
    LCALL   DELAY1
    LJMP MAIN
;---------------------------
轉(zhuǎn)速控制
DELAY:  MOV R7,#40      ;
步進電機的轉(zhuǎn)速
M3: MOV R6,#248
    DJNZ    R6,$
    DJNZ    R7,M3
    RET
;---------------------------
延時控制
DELAY1:     MOV R4,#20  ;2S
延時子程序
DEL2:   MOV R3,#200
DEL3:   MOV R2,#250
    DJNZ    R2,$
    DJNZ    R3,DEL3
    DJNZ    R4,DEL2
    RET
;---------------------------
正反轉(zhuǎn)表
TABLE:
    DB  30H,60H,0C0H,90H;  
正轉(zhuǎn)表
    DB  00;  
正轉(zhuǎn)結束
    DB  30H,90H,0C0H,60H;  
反轉(zhuǎn)表
    DB  00;  
反轉(zhuǎn)結束
END
/**************************************/
/*
杭州電子&計算機工作室   */
/*
步進電機演示程*/
/*
目標器件:AT89S51 */
/*
晶振:11.0592MHZ  */
/*
編譯環(huán)境:Keil7.50A    */
/****************************/
/*************
包含頭文件*******/
#include
/**************
端口定義****************/
sbit key = P1^4

/*********************************
函數(shù)功能:延時子程序
入口參數(shù):
出口參數(shù):
*****************************************/
void delay(void)
{
       int k;
       for(k=0;k<500;k++);
}
/*************************************
函數(shù)功能:主程序
入口參數(shù):
出口參數(shù):
********************************/
void main()
{
      P1=0x00;            //
輸出全高
      key=1;          //
按鍵置輸入狀態(tài)
      while(1)        //
主循環(huán)
             {
             if(key==1)    //
無鍵按下正轉(zhuǎn)
                    {
                           P1=0xFC;    //1100
                           delay();
                           P1=0xF6;     //0110
                           delay();
                           P1=0xF3;     //0011
                           delay();
                           P1=0xF9;     //1001
                           delay();
                    }
                    else //
有鍵按下反轉(zhuǎn)
                    {
                           P1=0xFC;    //1100
                           delay();
                           P1=0xF9;     //1001
                           delay();
                           P1=0xF3;     //0011
                           delay();
                           P1=0xF6;     //0110
                           delay();}}}
1.
步進電機是將電脈沖信號轉(zhuǎn)變?yōu)榻俏灰苹蚓€位移的開環(huán)控制元件。在非超載的情況下,電機的轉(zhuǎn)速、停止的位置只取決于脈沖信號的頻率和脈沖數(shù),而不受負載變化的影響,即給電機加一個脈沖信號,電機則轉(zhuǎn)過一個步距角。這一線性關系的存在,加上步進電機只有周期性的誤差而無累積誤差等特點。使得在速度、位置等控制領域用步進電機來控制變的非常的簡單。 雖然步進電機已被廣泛地應用,但步進電機并不能象普通的直流電機,交流電機在常規(guī)下使用。它必須由雙環(huán)形脈沖信號、功率驅(qū)動電路等組成控制系統(tǒng)方可使用。因此用好步進電機卻非易事,它涉及到機械、電機、電子及計算機等許多專業(yè)知識。 目前,生產(chǎn)步進電機的廠家的確不少,但具有專業(yè)技術人員,能夠自行開發(fā),研制的廠家卻非常少,大部分的廠家只一、二十人,連最基本的設備都沒有。僅僅處于一種盲目的仿制階段。這就給戶在產(chǎn)品選型、使用中造成許多麻煩。簽于上述情況,我們決定以廣泛的感應子式步進電機為例。敘述其基本工作原理。望能對廣大用戶在選型、使用、及整機改進時有所幫助


ULN2003步進電機驅(qū)動原理及應用程序.zip

8.2 KB, 下載次數(shù): 36, 下載積分: 黑幣 -5

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏3 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表