IAP15W413AS工业自动化控制之【09步进电机正反转】

  • SingleYork
  • LV5工程师
  • |      2017-08-14 14:00:29
  • 浏览量 1509
  • 回复:1
本帖最后由 SingleYork 于 2017-9-16 16:42 编辑 bg1.png

在前面的帖子当中笔者跟大家介绍了如何用IAP15W413AS控制板来控制步进电机的运转,这一讲,笔者要跟大家介绍一下,如何让步进电机正反转。

在前面介绍步进电机接线方法的时候,我们可以看到,单片机跟步进电机是有三根信号线相连的,其中有一根就是方向信号线。那么就很简单了,我们要控制步进电机的正反转,就只需要控制步进电机的方向信号就可以了。

本例程序思路是这样的:

1、设定四个输入信号IN00(启动)、IN01(停止)、IN02(正转)、IN03(反转),两个输出信号OUT00(脉冲)、OUT01(方向);

2、规定当OUT01=0时,步进电机运转方向为正方向,那么OUT01=1时,步进电机运转方向即为反方向;

3、当接通IN00(启动)信号时,步进电机启动,并沿正方向一直运转,当IN03(反转)接通时,步进电机马上反向运转,当IN02(正转)信号接通时,步进电机又开始正转;

4、当IN02(停止)信号接通时,步进电机停止运转;

5、正反转只有在IN00(启动)接通过后才有效,即:未启动状态下,单独按正反转无效。

按照上述逻辑,程序代码如下:

if((!IN00)&&(!Start))                   //启动

        {

            delay_ms(20);

            if((!IN00)&&(!Start))

            {

                Start      = 1;

                Stop       = 0;

                Motor_EN   = 1;

                OUT01      = 0;

            }

        }

        if((!IN01)&&(!Stop))                    //停止

        {

            delay_ms(20);

            if((!IN01)&&(!Stop))

            {

                Start      = 0;

                Stop       = 1;

                Motor_EN   = 0;

                Forward    = 0; 

                Reversal   = 0;

                OUT01      = 0;

            }

        }

        if((!IN02)&&Start&&(!Forward))          //正转

        {

            delay_ms(20);

            if((!IN02)&&Start&&(!Forward))

            {

                Forward    = 1;     //正转使能

                Reversal   = 0;

                OUT01      = 0;

            }

        }

        if((!IN03)&&Start&&(!Reversal))          //反转

        {

            delay_ms(20);

            if((!IN03)&&Start&&(!Reversal))

            {

                Forward    = 0; 

                Reversal   = 1;     //反转使能

                OUT01      = 1;

            }

        }

本系列帖子代码,考虑到新手的缘故,都用的比较简单的方式来实现,相信读者还是能看懂的,演示效果如下,详细源码见附件:

源代码:

  • 0
  • 收藏
  • 举报
  • 分享
我来回复

登录后可评论,请 登录注册

所有回答 数量:1
mihang1987@126. 2017-09-28
学习,初学者挺好懂得
0   回复
举报
发布
x
收藏成功!点击 我的收藏 查看收藏的全部帖子