zhongchaogege 发表于 2009-10-26 11:46:01

大虾帮忙,单片机控制步进电机

用单片机怎样才能最简单的方法控制步进电机.
电机需要的是受控的正反转,和停止位置.
而且需要人可以改变脉冲个数.(调节步进电机的旋转圈数)

最简单的方案大伙给点意见
或者直接发包,给哪位大哥搞点外块.

谢谢.

piaotianxia 发表于 2009-10-26 13:09:13

你准备用什么驱动芯片啊,或者是用桥式驱动?

ada1983 发表于 2009-10-26 13:14:40

搂主可能直接使用现成驱动器了,只是要个外围控制......

zhongchaogege 发表于 2009-10-26 13:23:41

2楼的大哥高手,一语道破啊

panjun10 发表于 2009-10-26 13:52:09

#include <avr/io.h>
unsigned char data[] = { 4, 5, 1, 9, 8, 10, 2, 6 };

int point;
void
step (int count,int delay)
{
int i;
if (count >= 0)
    {
      while (count > 0)
        {
          PORTB = data;
          point++;
          if (point >= 8)
          point = 0;
          count--;
          for (i=0;i<delay;i++);
        }
    }
else
    {
      while (count < 0)
        {
          PORTB = data;
          point--;
          if (point <= 0)
          point = 7;
          count++;
          for (i=0;i<delay;i++);
        }

    }
}

main ()
{
unsigned i, j, led = 0;
DDRB = 0xff;
while (1)
    {
        for(i=50;i<500;i+=10)
        {step(50,i);
            step(-50,i);}
    }
}

chenqiyue 发表于 2009-10-26 14:08:04

几相的电机?是否要细分?
页: [1]
查看完整版本: 大虾帮忙,单片机控制步进电机