打印
[AVR单片机]

求帮忙步进电机怎么不转?

[复制链接]
803|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
SD10A|  楼主 | 2015-3-29 18:03 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 SD10A 于 2015-3-29 18:10 编辑

使用的ATMEGA16L
龙戈电子的L298N 驱动板
程序 使用内部1MHZ    实际延时程序套用8MHZ程序(估计延时得乘以8杯)
两项四线 8拍步进程序试验了延时40 50 60  100等只有50的时候才能转动一点就停下来




#include "iom16v.h"
#include "macros.h"
/*------宏定义------*/
#define uchar unsigned char
#define uint unsigned int
uchar runz[8]={0x05,0x01,0x09,0x08,0x0a,0x02,0x06,0x04};  //两相四线八拍工作方式数组
uchar runf[8]={0x05,0x01,0x09,0x08,0x0a,0x02,0x06,0x04};
void delay(uint ms)
{
        uint i,j;
        for(i=0;i<ms;i++)
           {
           for(j=0;j<1141;j++);//8MHZ时候用的
       }
}
//*******端口初始化
void Stepmotor_IO_init()
         {uchar z;
         DDRB=0XFF;
         PORTB=0XFF;//PD0-PD3 输出低电平
         DDRA=0;
         PORTA=0XFF;
         //DDRA|=BIT(PA6);
         //PORTA|=BIT(PA6);
         }
//*******
void main()
         {uchar z;
         Stepmotor_IO_init();
         while(1)
                          {
                         if(PINA&BIT(PA1))//
                           {for(z=0;z<8;z++)  //改变数组的长度值需改变这个数字8,8为数组的长度。
                                            {
                                         PORTB=runf[z];
                                         delay(40);//只有值是50的时候才能稍微转动一点点
                                         }
                           }
                         else
                           {for(z=0;z<8;z++)  //改变数组的长度值需改变这个数字8,8为数组的长度。
                                            {
                                         PORTB=runz[z];
                                         delay(40);
                                         }
                           
                           }
                        
         
                          }
         
         }



相关帖子

沙发
airwill| | 2015-4-2 19:38 | 只看该作者
会不会相线接错了?

使用特权

评论回复
板凳
SD10A|  楼主 | 2015-4-3 11:12 | 只看该作者
airwill 发表于 2015-4-2 19:38
会不会相线接错了?

那倒是没有,只要步进电机的两组线是对的就没有问题,另外IO控制线也是对的,  我现在就是怀疑这个空载启动频率不对,

使用特权

评论回复
地板
airwill| | 2015-4-3 18:27 | 只看该作者
空载启动频率也是个有可能的问题, 不过这个这个频率不对, 那是高速上不去. 不会低速也不转的. 不知道折合频率, 你那些数字相对于多少 HZ?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

29

主题

169

帖子

4

粉丝