百度知道 - 信息提示
C51 C语言怎么实现42步进电机加速、减速控制?
42步进电机是一个两相电机,一般控制可以分为全步或半步控制,全步控制,每一切换相序,步进电机走1.8度,半步控制则走0.9度。
全步控制相序分配为:A,/A,B,/B
半步控制相序分配为:A,AB,B,B/A,/A,/A/B,/B,/BA
加速的话,就使相序切换快一点就可以;当然减速就是相序切换慢点就行。举例如下:
#include
#define uchar unsigned char
uchar stepd[]={0x01,0x03,0x02,0x06,0x04,0xc0,0x08,0x09};
uchar num=0,fx=0;
sbit keyup=P3^0;
sbit keydn=P3^1;
sbit keyfx=P3^2;
int speed=10000;
void t0isr() interrupt 1
{
TH0=(65536-speed)/256;
TL0=(65536-speed)%256;
P2=stepd[num];
if(fx==0){num++;num%=8;}
if(fx==1)
{
if(num==0)num=7;
else num--;
}
}
main()
{
TMOD=0x01;
TH0=(65536-10000)/256;
TL0=(65536-10000)%256;
TR0=1;
ET0=1;
EA=1;
while(1)
{
if(keyup==0)
{
while(key1==0);
speed-=10;
}
if(keydn==0)
{
while(keydn==0);
speed+=10;
}
if(key3==0)
{
while(key3==0);
fx=~fx;
}
}
}
用单片机通过驱动器控制步进电机加减速的C程序
通过步进电机驱动器,就可以让步进电机转起来。如果采用步进电机控制器,采用程序控制,可以实现定长、定角度的控制。杭州浙机科技有限公司生产的步进电机驱动器运行平稳,噪音极低,非常适合大扭矩且高速工作的场合。 步进电机控制器已经用在许多方面,例如数控机床等,效果非常好。