echo8537 发表于 2013-4-10 21:24:54

为什么步进电机在正常运转一定时间后会堵转?

小弟我最近在四线两相调步进电机,用的是L298N驱动,(AVR程序如下)。为什么在驱动刚开始时步进电机能正常运行,过了一定的实现就会出现堵转的情况(就是转一会,卡一下)delays()的时间越短,正常运行的时间越长,刚接触这种步进电机两三天,不太了解使用方法,望各位指点迷津
#define uchar unsigned char
#define uint unsigned int

uint k=0;

//uchar step_F={0x08,   0x09,      0x01,      0x03,      0x02,      0x06,      0x04,      0x0c};
//uchar step_F={0x01,   0x05,      0x04,      0x06,      0x02,      0x0A,      0x08,      0x09};
ucharstep_F={0xf1,0xf5,0xf4,0xf6,0xf2,0xfa,0xf8,0xf9}; //两相四线码表正转
//uchar code mm[]={0xf9,0xf8,0xfa,0xf2,0xf6,0xf4,0xf5,0xf1};      //反转
void init_IO(void)
{
    PORTA=0X0F;
        DDRA=0XFF;

}


void delay(uint k)
{
      uint i,j;
        for(i=0;i<k;i++)
           {
           for(j=0;j<3;j++);
       }
        // if (k>200)
        // {
        //   k--;
        // }
          
}


void main(void)//前进函数
{

   
    uint i=0;
        init_IO();
                                           
   
        while(1)                          
        {                                          
                       
                PORTA=step_F;
                i++;
                if(i==8)
                        {
                                i=0;
                        }
                delay(30);
               
        }
}



yamqqqq 发表于 2013-4-10 21:37:15

1,脉冲高了,超出了驱动器的响应,
2,丢步了!
3,脉冲不匀!

echo8537 发表于 2013-4-10 21:43:17

yamqqqq 发表于 2013-4-10 21:37 static/image/common/back.gif
1,脉冲高了,超出了驱动器的响应,
2,丢步了!
3,脉冲不匀!

谢谢您的指点。我想不通的是为什么刚开始的一段时间电机能正常运行,过了一段时间就卡了呢,298驱动芯片很烫,长时间运行会不会很容易烧掉?

ap0705307 发表于 2013-4-10 23:04:10

过流保护了

yamqqqq 发表于 2013-4-11 23:38:51

那就真是过流了,过流引起的丢步!丢步是现像,过流是原因

echo8537 发表于 2013-4-12 19:51:36

yamqqqq 发表于 2013-4-11 23:38 static/image/common/back.gif
那就真是过流了,过流引起的丢步!丢步是现像,过流是原因

引起过流的原因都有哪些呢?能不能给点建议。

censtar 发表于 2013-4-12 19:52:35

脉冲太快了,响应不过来了?

coleyao 发表于 2013-4-13 08:17:31

应该和程序关系不大,你的电机工作电流和空闲电流设置是多少?设小一些,查一下芯片资料,对比一下。

shunanguo88 发表于 2014-12-21 22:59:45

没考虑过运行一会后芯片发热,芯片发热后有些功能就会不正常
页: [1]
查看完整版本: 为什么步进电机在正常运转一定时间后会堵转?