一.ULN2003芯片介紹
ULN2003 是高耐壓、大電流達林頓陳列,由七個硅 NPN 達林頓管組成。該電路的特點如下:
- ULN2003 的每一對達林頓都串聯(lián)一個 2.7K 的基極電阻,在 5V 的工作電壓下它能與 TTL 和 CMOS 電路直接相連,可以直接處理原先需要標準邏輯緩沖器來處理的數(shù)據(jù)。
- ULN2003 工作電壓高,工作電流大,灌電流可達 500mA,并且能夠在關(guān)態(tài)時承受 50V 的電壓,輸出還可以在高負載電流并行運行。
- ULN2003 采用 DIP-16 或 SOP-16 塑料封裝。

ULN2003內(nèi)部電路框圖及封裝圖
主要作用:ULN2003的主要作用就是為單片機提供大電流的驅(qū)動能力,以此達到驅(qū)動步進電機所需的電流。
二.28BYJ-48五線四相電機介紹
28BYJ-48步進電機為五線四相永磁式步進電機,其名稱含義為:“28”為電機直徑28mm,B為步進電機,Y表示電機為永磁式,J表示內(nèi)部自帶減速箱,48表示驅(qū)動方式為四相八拍;
(1)28BYJ-48步進電機參數(shù)

對于初學(xué)者,對于以上參數(shù),可以先注意以上幾個主要參數(shù):工作電壓為DC5-12V;步距角為5.625°,即電機轉(zhuǎn)一圈需要的步數(shù)=360/5.625*64=4096步,驅(qū)動方式為四相四拍或四相八拍。
(2)28BYJ-48步進電機電路圖

從電路圖可以看出,五線四相表示電機有4個線圈,5根接線端子,其中引腳5為公共端。
三.ULN2003步進電機驅(qū)動模塊
(1)驅(qū)動模塊電路圖如下:

其中IN1-4引腳為ULN2003的控制端,主要連接單片機引腳,高電平導(dǎo)通,低電平截止;OUT1-4為ULN2003的驅(qū)動端,主要連接步進電機4個相線。LED1-4為指示作用,ULN2003通道導(dǎo)通時亮,截止時滅。
VCC主要為ULN2003內(nèi)部續(xù)流二極管的公共端,VM為步進電機的驅(qū)動電壓;VCC與VM的工作電壓需保持一直。

ULN2003模塊與電機實物圖
(2)單片機與驅(qū)動模塊連接圖

ULN2003與單片機、步進電機電路連接圖,步進電機以5V為工作電壓。
四.驅(qū)動程序
步進電機的驅(qū)動方式主要為四相四拍或四相八拍;
四相四拍為步進電機的導(dǎo)通順序為:
(1)正轉(zhuǎn):A-B-C-D;
(2)反轉(zhuǎn):D-C-B-A;
四相八拍為步進電機的導(dǎo)通順序為:
(3)正轉(zhuǎn):AD-A-AB-B-CB-C-DC-D;
(4)反轉(zhuǎn):D-DC-C-CB-B-BA-A-AD;
程序以四相四拍為例:
*******************************************************
接線方式:
IN1 ---- P00
IN2 ---- P01
IN3 ---- P02
IN4 ---- P03
*********************/
#include< reg52.h >
#define uchar unsigned char
#define uint unsigned int
#define MotorData P0 //步進電機控制接口定義
uchar phasecw[4] ={0x08,0x04,0x02,0x01};//正轉(zhuǎn) 電機導(dǎo)通相序 D-C-B-A
uchar phaseccw[4]={0x01,0x02,0x04,0x08};//反轉(zhuǎn) 電機導(dǎo)通相序 A-B-C-D
//ms延時函數(shù)
void Delay_xms(uint x)
{
uint i,j;
for(i=0;i< x;i++)
for(j=0;j< 112;j++);
}
//順時針轉(zhuǎn)動
void MotorCW(void)
{
uchar i;
for(i=0;i< 4;i++)
{
MotorData=phasecw[i];
Delay_xms(4);//轉(zhuǎn)速調(diào)節(jié)
}
}
//逆時針轉(zhuǎn)動
void MotorCCW(void)
{
uchar i;
for(i=0;i< 4;i++)
{
MotorData=phaseccw[i];
Delay_xms(4);//轉(zhuǎn)速調(diào)節(jié)
}
}
//停止轉(zhuǎn)動
void MotorStop(void)
{
MotorData=0x00;
}
//主函數(shù)
void main(void)
{
uint i;
Delay_xms(50);//等待系統(tǒng)穩(wěn)定
while(1)
{
for(i=0;i< 500;i++)
{
MotorCW(); //順時針轉(zhuǎn)動
}
MotorStop(); //停止轉(zhuǎn)動
Delay_xms(500);
for(i=0;i< 500;i++)
{
MotorCCW(); //逆時針轉(zhuǎn)動
}
MotorStop(); //停止轉(zhuǎn)動
Delay_xms(500);
}
}
-
芯片
+關(guān)注
關(guān)注
463文章
54010瀏覽量
465979 -
電路
+關(guān)注
關(guān)注
173文章
6075瀏覽量
178382 -
步進電機
+關(guān)注
關(guān)注
153文章
3248瀏覽量
152349 -
ULN2003
+關(guān)注
關(guān)注
10文章
129瀏覽量
35021
發(fā)布評論請先 登錄
ULN2003應(yīng)用電路分析
對于uln2003的作用
uln2003有什么作用?uln2003驅(qū)動應(yīng)用電路有哪些?
ULN2003芯片介紹
ULN2003 中文手冊 pdf
uln2003怎么用,uln2003使用方法和作用
uln2003COM的作用,uln2003COM端的兩種用途
uln2003芯片介紹,ULN2003芯片引腳圖
一文看懂uln2803和uln2003區(qū)別
一文看懂a(chǎn)rduino驅(qū)動uln2003操作步進電機的方法
ULN2003芯片的主要作用
評論