标题: 51单片机控制步进电机驱动器问题 [打印本页]

作者: sivan666    时间: 2020-10-6 22:39
标题: 51单片机控制步进电机驱动器问题
驱动器我选择的共阳接法,也就是ENA+,DIR+,PUL+接+5V;然后PUL-,DIR-,ENA-分别直接接的单片机P1^2,P1^1,P1^0程序是这样的:
#include "reg52.h"

unsigned char timer1;
sbit DIR=P1^0;
sbit ENA=P1^1;
sbit PWM=P1^2;

void system_Ini()
{
    TMOD|=0X11;
    TH1=0XFE;
    TL1=0X33;
    TR1=1;
    IE=0X8A;
}
void Tlzd() interrupt 3
{
    TH1=0XFE;
    TL1=0X33;
    timer1++;
}
void main()
{
     system_Ini();
     while(1)
     {
        if(timer1>10)
        {
            timer1=0;
        }
        if(timer1<3)
        {
            PWM=0;
        }
        else
        {
            PWM=1;
        }
      //  PWM=~PWM;
     }
}

为什么电机不能转呢?而且,当我关闭单片机电源时,驱动器指示灯正常,打开单片机电源驱动器就开始闪烁。求问各位大神问题出在哪了?

作者: zxd99    时间: 2020-10-7 15:40
看一看外部接线,端口接的对吗
作者: daemondong    时间: 2020-10-9 16:39
你的驱动器没接编码器吧,驱动器就开始闪烁表示报警,有PWM输出,但是没检测到编码器反馈,驱动器认为失步报警,电机是不会转的。
作者: robinsonlin    时间: 2020-10-9 16:45
把知识点先弄明白,定时器不是你这样用的。 找本教程沉下心好好学习一下。 先用led灯,把程序调通了,再来搞运动控制。  
作者: design003    时间: 2020-10-9 22:14
  步进电机的动力线先确认不能接错  驱动器用开环容易些,闭环的报警比较多   对照手册看下是什么报警再确定是那里的问题解决了就好




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1