0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

使用ULN2003A的步進(jìn)電機(jī)驅(qū)動(dòng)例程

CHANBAEK ? 來源: 小小硬件工程師 ? 作者: 小小硬件工程師 ? 2023-11-09 09:58 ? 次閱讀

今天要講的是步進(jìn)電機(jī)的驅(qū)動(dòng)例程,硬件電路中采用的是ULN2003A來進(jìn)行步進(jìn)電機(jī)的驅(qū)動(dòng)。下面就來看一下今天的例程吧!

一、硬件電路

電路很簡單,最右側(cè)是步進(jìn)電機(jī),使用ULN2003A進(jìn)行驅(qū)動(dòng)。最左下角的三個(gè)按鍵時(shí)用來控制步進(jìn)電機(jī)正反轉(zhuǎn)及停止的。KEY1控制步進(jìn)電機(jī)順時(shí)針旋轉(zhuǎn);KEY2控制步進(jìn)電機(jī)逆時(shí)針旋轉(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()//延時(shí)程序
{
  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)行驗(yàn)證哦!

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 電機(jī)驅(qū)動(dòng)

    關(guān)注

    60

    文章

    1164

    瀏覽量

    86283
  • 步進(jìn)電機(jī)
    +關(guān)注

    關(guān)注

    150

    文章

    3041

    瀏覽量

    146840
  • 硬件電路
    +關(guān)注

    關(guān)注

    39

    文章

    238

    瀏覽量

    29114
  • ULN2003A
    +關(guān)注

    關(guān)注

    0

    文章

    7

    瀏覽量

    8017
收藏 人收藏

    評論

    相關(guān)推薦

    ULN2003A的使用問題

    `ULN2003A驅(qū)動(dòng)多少個(gè)直流馬達(dá)?我用的時(shí)候驅(qū)動(dòng)兩個(gè)就不行了。一個(gè)是PWM信號(hào)控制的一個(gè)是一直全速轉(zhuǎn)動(dòng)。。但是接上ULN2003A后兩個(gè)都在全速轉(zhuǎn)動(dòng)。PWM的那個(gè)沒有調(diào)到速。。
    發(fā)表于 05-01 20:41

    ULN2003A驅(qū)動(dòng)步進(jìn)電機(jī)

    `ULN2003A驅(qū)動(dòng)步進(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ū)動(dòng)步進(jìn)電機(jī)的原理圖

    ?! ∠旅娼榻B一種驅(qū)動(dòng)步進(jìn)電機(jī)驅(qū)動(dòng)ULN2003A,它是一種新型的七路高耐壓、大電流達(dá)林頓晶體管驅(qū)動(dòng)
    發(fā)表于 01-13 16:26

    ULN2003A達(dá)林頓管有哪些基本功能?

    基于ULN2003A達(dá)林頓管動(dòng)。1、功能概述??我們先來了解一下基本的功能。ULN2003A達(dá)林頓管為7個(gè)輸出通道,當(dāng)導(dǎo)通時(shí)該通道連接到負(fù)端,所以非常適合于驅(qū)動(dòng)4相5線步進(jìn)
    發(fā)表于 07-07 06:20

    使用uln2003模塊驅(qū)動(dòng)步進(jìn)電機(jī)

    淘寶上買的步進(jìn)電機(jī)店家未提供驅(qū)動(dòng)方式。經(jīng)過一段時(shí)間的探索,研究出這款電機(jī)驅(qū)動(dòng)方式,最方便的是使用uln
    發(fā)表于 08-31 08:18

    如何使用ULN2003芯片驅(qū)動(dòng)步進(jìn)電機(jī)?

    如何使用ULN2003芯片驅(qū)動(dòng)步進(jìn)電機(jī)
    發(fā)表于 10-18 08:26

    用AT89C51的中斷和ULN2003A來分別控制跑馬燈和步進(jìn)電機(jī)

    本次學(xué)習(xí)應(yīng)用AT89C51的中斷和ULN2003A來分別控制跑馬燈和步進(jìn)電機(jī),我們暫時(shí)稱這個(gè)電路為——旋轉(zhuǎn)木馬!??!哈哈哈哈哈!?。。ㄆ鋵?shí)沒半毛錢關(guān)系)電路:P1中的五個(gè)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驅(qū)動(dòng)步進(jìn)電機(jī)

    80c51的ULN2003驅(qū)動(dòng)步進(jìn)電機(jī)源碼
    發(fā)表于 09-01 15:01 ?157次下載

    基于ULN2003及單片機(jī)驅(qū)動(dòng)步進(jìn)電機(jī)的應(yīng)用案例

    本資料介紹了ULN2003 的特點(diǎn)與電路結(jié)構(gòu) , 采用單片機(jī)連接 ULN2003 組成的驅(qū)動(dòng)系統(tǒng)來驅(qū)動(dòng)步進(jìn)
    發(fā)表于 09-01 10:53 ?74次下載
    基于<b class='flag-5'>ULN2003</b>及單片機(jī)<b class='flag-5'>驅(qū)動(dòng)</b><b class='flag-5'>步進(jìn)</b><b class='flag-5'>電機(jī)</b>的應(yīng)用案例

    基于ULN2003A達(dá)林頓管的步進(jìn)電機(jī)驅(qū)動(dòng)設(shè)計(jì)

    在我們的項(xiàng)目中,經(jīng)常使用到低電壓小功率的步進(jìn)電機(jī),此類步進(jìn)電機(jī)若采用驅(qū)動(dòng)器控制不斷成本高也過于復(fù)雜,我們可以直接使用場效應(yīng)管或者達(dá)林頓管來實(shí)
    的頭像 發(fā)表于 12-14 16:22 ?7637次閱讀
    基于<b class='flag-5'>ULN2003A</b>達(dá)林頓管的<b class='flag-5'>步進(jìn)</b><b class='flag-5'>電機(jī)</b><b class='flag-5'>驅(qū)動(dòng)</b>設(shè)計(jì)

    基于ULN2003步進(jìn)電機(jī)驅(qū)動(dòng)

    基于ULN2003A達(dá)林頓管實(shí)現(xiàn)對步進(jìn)電機(jī)驅(qū)動(dòng)。 1、功能概述 ??我們先來了解一下基本的功能。ULN2003A達(dá)林頓管為7個(gè)輸出通道,當(dāng)
    發(fā)表于 03-16 10:50 ?8次下載
    基于<b class='flag-5'>ULN2003</b>的<b class='flag-5'>步進(jìn)</b><b class='flag-5'>電機(jī)</b><b class='flag-5'>驅(qū)動(dòng)</b>

    基于定時(shí)器中斷的ULN2003驅(qū)動(dòng)器/步進(jìn)電機(jī)驅(qū)動(dòng)程序

    STM32控制步進(jìn)電機(jī):基于定時(shí)器中斷的ULN2003驅(qū)動(dòng)器/步進(jìn)電機(jī)
    發(fā)表于 03-16 09:28 ?10次下載
    基于定時(shí)器中斷的<b class='flag-5'>ULN2003</b><b class='flag-5'>驅(qū)動(dòng)</b>器/<b class='flag-5'>步進(jìn)</b><b class='flag-5'>電機(jī)</b><b class='flag-5'>驅(qū)動(dòng)</b>程序

    ESP32設(shè)備驅(qū)動(dòng)-ULN2003步進(jìn)電機(jī)驅(qū)動(dòng)

    ULN2003A 是一個(gè)由七個(gè) NPN 達(dá)林頓晶體管組成的陣列,能夠提供 500 mA、50 V 輸出。 它具有用于切換感性負(fù)載的共陰極反激二極管。 它可以采用 PDIP、SOIC、SOP 或
    發(fā)表于 05-16 15:14 ?8次下載
    ESP32設(shè)備<b class='flag-5'>驅(qū)動(dòng)</b>-<b class='flag-5'>ULN2003</b><b class='flag-5'>步進(jìn)</b><b class='flag-5'>電機(jī)</b><b class='flag-5'>驅(qū)動(dòng)</b>