今天要講的是步進(jìn)電機(jī)的驅(qū)動例程,硬件電路中采用的是ULN2003A來進(jìn)行步進(jìn)電機(jī)的驅(qū)動。下面就來看一下今天的例程吧!
一、硬件電路
電路很簡單,最右側(cè)是步進(jìn)電機(jī),使用ULN2003A進(jìn)行驅(qū)動。最左下角的三個按鍵時用來控制步進(jìn)電機(jī)正反轉(zhuǎn)及停止的。KEY1控制步進(jìn)電機(jī)順時針旋轉(zhuǎn);KEY2控制步進(jìn)電機(jī)逆時針旋轉(zhuǎn);KEY3控制步進(jìn)電機(jī)的停止。

二、軟件程序
C程序:
#include < reg51.h >
#include < absacc.h >
sbit p10=P1^0;
sbit p11=P1^1;
sbit p12=P1^2;
#define UP 20
#define DOWN 30
#define STOP 40
void delay()//延時程序
{
unsigned i,j,k;
for(i=0;i< 0x02;i++)
for(j=0;j< 0x02;j++)
for(k=0;k< 0xff;k++);
}
main()
{
unsigned char temp;
while(1)
{
if(p10==0)
{
temp=UP;//控制正轉(zhuǎn)
P2=0X00;
delay();
}
if(p11==0)
{
temp=DOWN;//控制反轉(zhuǎn)
P2=0X00;
delay();
}
if(p12==0)
{
temp=STOP;//控制停止
}
switch(temp)
{
case DOWN : P2=0X01;//控制反轉(zhuǎn) //0011
delay();
delay();
P2=0X02;//0110
delay();
delay();
P2=0X04;//1100
delay();
delay();
P2=0X08;//1001
delay();
delay();
break;
case UP : P2=0X08;//控制正轉(zhuǎn)
delay();
delay();
P2=0X04;
delay();
delay();
P2=0X02;
delay();
delay();
P2=0X01;
delay();
delay();
break;
case STOP ://控制停止
P2=0X00;
delay();
delay();
break;
}
}
}
三、仿真展示
程序很簡單,小伙伴們可以根據(jù)需要自己修改程序,然后進(jìn)行驗證哦!
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
電機(jī)驅(qū)動
+關(guān)注
關(guān)注
60文章
1455瀏覽量
89464 -
步進(jìn)電機(jī)
+關(guān)注
關(guān)注
153文章
3248瀏覽量
152348 -
硬件電路
+關(guān)注
關(guān)注
39文章
267瀏覽量
30327 -
ULN2003A
+關(guān)注
關(guān)注
0文章
8瀏覽量
8276
發(fā)布評論請先 登錄
相關(guān)推薦
熱點(diǎn)推薦
ULN2003A的使用問題
`ULN2003A 能驅(qū)動多少個直流馬達(dá)?我用的時候驅(qū)動兩個就不行了。一個是PWM信號控制的一個是一直全速轉(zhuǎn)動。。但是接上ULN2003A后兩個都在全速轉(zhuǎn)動。PWM的那個沒有調(diào)到速。。
發(fā)表于 05-01 20:41
ULN2003A驅(qū)動步進(jìn)電機(jī)
`ULN2003A驅(qū)動步進(jìn)電機(jī),C51,C語言,附:PROTEUS仿真文件,與KEIL源代碼.自己親手制作,親測可用.`
發(fā)表于 07-10 16:53
DSP2812通過ULN2003A控制步進(jìn)電機(jī)程序
哪位大神有DSP2812通過ULN2003A控制步進(jìn)電機(jī)的程序,可否給一份?
發(fā)表于 02-01 16:49
ULN2003A驅(qū)動步進(jìn)電機(jī)的原理圖
。 下面介紹一種驅(qū)動步進(jìn)電機(jī)的驅(qū)動器ULN2003A,它是一種新型的七路高耐壓、大電流達(dá)林頓晶體管驅(qū)動
發(fā)表于 01-13 16:26
ULN2003A達(dá)林頓管有哪些基本功能?
基于ULN2003A達(dá)林頓管動。1、功能概述??我們先來了解一下基本的功能。ULN2003A達(dá)林頓管為7個輸出通道,當(dāng)導(dǎo)通時該通道連接到負(fù)端,所以非常適合于驅(qū)動4相5線步進(jìn)
發(fā)表于 07-07 06:20
使用uln2003模塊驅(qū)動步進(jìn)電機(jī)
淘寶上買的步進(jìn)電機(jī)店家未提供驅(qū)動方式。經(jīng)過一段時間的探索,研究出這款電機(jī)的驅(qū)動方式,最方便的是使用uln
發(fā)表于 08-31 08:18
用AT89C51的中斷和ULN2003A來分別控制跑馬燈和步進(jìn)電機(jī)
本次學(xué)習(xí)應(yīng)用AT89C51的中斷和ULN2003A來分別控制跑馬燈和步進(jìn)電機(jī),我們暫時稱這個電路為——旋轉(zhuǎn)木馬!!!哈哈哈哈哈!!!(其實(shí)沒半毛錢關(guān)系)電路:P1中的五個IO口用來控制LED燈,P2
發(fā)表于 12-08 07:59
ULN2002A,ULN2003A,ULN2003AI,UL
The ULN2002A, ULN2003A, ULN2003AI, ULN2004A, ULQ2003A, and ULQ2004
發(fā)表于 08-30 11:35
?77次下載
基于ULN2003及單片機(jī)驅(qū)動步進(jìn)電機(jī)的應(yīng)用案例
本資料介紹了ULN2003 的特點(diǎn)與電路結(jié)構(gòu) , 采用單片機(jī)連接 ULN2003 組成的驅(qū)動系統(tǒng)來驅(qū)動步進(jìn)
發(fā)表于 09-01 10:53
?74次下載
基于ULN2003A達(dá)林頓管的步進(jìn)電機(jī)驅(qū)動設(shè)計
在我們的項目中,經(jīng)常使用到低電壓小功率的步進(jìn)電機(jī),此類步進(jìn)電機(jī)若采用驅(qū)動器控制不斷成本高也過于復(fù)雜,我們可以直接使用場效應(yīng)管或者達(dá)林頓管來實(shí)
基于ULN2003的步進(jìn)電機(jī)驅(qū)動
基于ULN2003A達(dá)林頓管實(shí)現(xiàn)對步進(jìn)電機(jī)的驅(qū)動。 1、功能概述 ??我們先來了解一下基本的功能。ULN2003A達(dá)林頓管為7個輸出通道,當(dāng)
發(fā)表于 03-16 10:50
?11次下載
基于定時器中斷的ULN2003驅(qū)動器/步進(jìn)電機(jī)驅(qū)動程序
STM32控制步進(jìn)電機(jī):基于定時器中斷的ULN2003驅(qū)動器/步進(jìn)電機(jī)
發(fā)表于 03-16 09:28
?10次下載
ESP32設(shè)備驅(qū)動-ULN2003步進(jìn)電機(jī)驅(qū)動
ULN2003A 是一個由七個 NPN 達(dá)林頓晶體管組成的陣列,能夠提供 500 mA、50 V 輸出。 它具有用于切換感性負(fù)載的共陰極反激二極管。 它可以采用 PDIP、SOIC、SOP 或
發(fā)表于 05-16 15:14
?10次下載
使用ULN2003A的步進(jìn)電機(jī)驅(qū)動例程
評論