0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

使用ULN2003A的步进电机驱动例程

CHANBAEK 来源: 小小硬件工程师 作者: 小小硬件工程师 2023-11-09 09:58 次阅读

今天要讲的是步进电机的驱动例程,硬件电路中采用的是ULN2003A来进行步进电机的驱动。下面就来看一下今天的例程吧!

一、硬件电路

电路很简单,最右侧是步进电机,使用ULN2003A进行驱动。最左下角的三个按键时用来控制步进电机正反转及停止的。KEY1控制步进电机顺时针旋转;KEY2控制步进电机逆时针旋转;KEY3控制步进电机的停止。

图片

二、软件程序

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;//控制正转
      P2=0X00;
      delay();
    }
    if(p11==0)
    {
      temp=DOWN;//控制反转
      P2=0X00;
      delay();
    }
    if(p12==0)
    {
      temp=STOP;//控制停止
    }
    switch(temp)
    {
    case DOWN : P2=0X01;//控制反转 //0011
          delay();
          delay();
          P2=0X02;//0110
          delay();
          delay();
          P2=0X04;//1100
          delay();
          delay();
          P2=0X08;//1001
          delay();
          delay();
          break;
    case UP :  P2=0X08;//控制正转
          delay();
          delay();
          P2=0X04;
          delay();
          delay();
          P2=0X02;
          delay();
          delay();
          P2=0X01;
          delay();
          delay();
          break;
    case  STOP ://控制停止
          P2=0X00;
          delay();
          delay();          
          break;
    }
   }
}

三、仿真展示

程序很简单,小伙伴们可以根据需要自己修改程序,然后进行验证哦!

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 电机驱动
    +关注

    关注

    60

    文章

    1214

    浏览量

    86712
  • 步进电机
    +关注

    关注

    150

    文章

    3109

    浏览量

    147433
  • 硬件电路
    +关注

    关注

    39

    文章

    243

    浏览量

    29216
  • ULN2003A
    +关注

    关注

    0

    文章

    7

    浏览量

    8035
收藏 人收藏

    评论

    相关推荐

    ULN2003A的使用问题

    `ULN2003A驱动多少个直流马达?我用的时候驱动两个就不行了。一个是PWM信号控制的一个是一直全速转动。。但是接上ULN2003A后两个都在全速转动。PWM的那个没有调到速。。
    发表于 05-01 20:41

    ULN2003A驱动步进电机

    `ULN2003A驱动步进电机,C51,C语言,附:PROTEUS仿真文件,与KEIL源代码.自己亲手制作,亲测可用.`
    发表于 07-10 16:53

    DSP2812通过ULN2003A控制步进电机程序

    哪位大神有DSP2812通过ULN2003A控制步进电机的程序,可否给一份?
    发表于 02-01 16:49

    ULN2003A驱动步进电机的原理图

    。  下面介绍一种驱动步进电机驱动ULN2003A,它是一种新型的七路高耐压、大电流达林顿晶体管驱动
    发表于 01-13 16:26

    ULN2003A达林顿管有哪些基本功能?

    基于ULN2003A达林顿管动。1、功能概述  我们先来了解一下基本的功能。ULN2003A达林顿管为7个输出通道,当导通时该通道连接到负端,所以非常适合于驱动4相5线步进
    发表于 07-07 06:20

    使用uln2003模块驱动步进电机

    淘宝上买的步进电机店家未提供驱动方式。经过一段时间的探索,研究出这款电机驱动方式,最方便的是使用uln
    发表于 08-31 08:18

    如何使用ULN2003芯片驱动步进电机

    如何使用ULN2003芯片驱动步进电机
    发表于 10-18 08:26

    用AT89C51的中断和ULN2003A来分别控制跑马灯和步进电机

    本次学习应用AT89C51的中断和ULN2003A来分别控制跑马灯和步进电机,我们暂时称这个电路为——旋转木马!!!哈哈哈哈哈!!!(其实没半毛钱关系)电路:P1中的五个IO口用来控制LED灯,P2
    发表于 12-08 07:59

    ULN2002A,ULN2003A,ULN2003AI,UL

    The ULN2002A, ULN2003A, ULN2003AI, ULN2004A, ULQ2003A, and ULQ2004
    发表于 08-30 11:35 77次下载

    ULN2003驱动步进电机

    80c51的ULN2003驱动步进电机源码
    发表于 09-01 15:01 157次下载

    基于ULN2003及单片机驱动步进电机的应用案例

    本资料介绍了ULN2003 的特点与电路结构 , 采用单片机连接 ULN2003 组成的驱动系统来驱动步进
    发表于 09-01 10:53 74次下载
    基于<b class='flag-5'>ULN2003</b>及单片机<b class='flag-5'>驱动</b><b class='flag-5'>步进</b><b class='flag-5'>电机</b>的应用案例

    基于ULN2003A达林顿管的步进电机驱动设计

    在我们的项目中,经常使用到低电压小功率的步进电机,此类步进电机若采用驱动器控制不断成本高也过于复杂,我们可以直接使用场效应管或者达林顿管来实
    的头像 发表于 12-14 16:22 8341次阅读
    基于<b class='flag-5'>ULN2003A</b>达林顿管的<b class='flag-5'>步进</b><b class='flag-5'>电机</b><b class='flag-5'>驱动</b>设计

    基于ULN2003步进电机驱动

    基于ULN2003A达林顿管实现对步进电机驱动。 1、功能概述   我们先来了解一下基本的功能。ULN2003A达林顿管为7个输出通道,当
    发表于 03-16 10:50 10次下载
    基于<b class='flag-5'>ULN2003</b>的<b class='flag-5'>步进</b><b class='flag-5'>电机</b><b class='flag-5'>驱动</b>

    基于定时器中断的ULN2003驱动器/步进电机驱动程序

    STM32控制步进电机:基于定时器中断的ULN2003驱动器/步进电机
    发表于 03-16 09:28 10次下载
    基于定时器中断的<b class='flag-5'>ULN2003</b><b class='flag-5'>驱动</b>器/<b class='flag-5'>步进</b><b class='flag-5'>电机</b><b class='flag-5'>驱动</b>程序

    ESP32设备驱动-ULN2003步进电机驱动

    ULN2003A 是一个由七个 NPN 达林顿晶体管组成的阵列,能够提供 500 mA、50 V 输出。 它具有用于切换感性负载的共阴极反激二极管。 它可以采用 PDIP、SOIC、SOP 或
    发表于 05-16 15:14 10次下载
    ESP32设备<b class='flag-5'>驱动</b>-<b class='flag-5'>ULN2003</b><b class='flag-5'>步进</b><b class='flag-5'>电机</b><b class='flag-5'>驱动</b>