大虾帮忙,单片机控制步进电机
用单片机怎样才能最简单的方法控制步进电机.电机需要的是受控的正反转,和停止位置.
而且需要人可以改变脉冲个数.(调节步进电机的旋转圈数)
最简单的方案大伙给点意见
或者直接发包,给哪位大哥搞点外块.
谢谢. 你准备用什么驱动芯片啊,或者是用桥式驱动? 搂主可能直接使用现成驱动器了,只是要个外围控制...... 2楼的大哥高手,一语道破啊 #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);}
}
} 几相的电机?是否要细分?
页:
[1]