步进电机的控制相关问题!!为什么不能用延时??很急啊

来源:百度知道 编辑:UC知道 时间:2024/09/24 11:54:43
最近在为电子设计大赛做准备,在做步进电机这一块的时候出了点问题,我用的是个两相四线的电机,调电机速度的时候最快也就能调到每秒钟0.5转一下,不知道是电机的问题或者程序的问题,还是本来就只有那么快了。。。????

很多资料多说控制步进电机的速度不能用延时,精确延时和定时有区别吗?
谁有成功通过的程序,最还带显示速度的。。
很急啊~

有没有高手指教一下,本人虽然很菜,但是对这方面很有兴趣啊。

#include"reg51.h"
//#include"stdio.h"
//int delay(int time);
//int count[4]={0x08,0x04,0x02,0x01};
delay(int time)
{int i;
for(i=0;i<=time;i++);
}
main()
{int i;
//int count[4];//
int count[9]={0xf8,0xfc,0xf4,0xf6,0xf2,0xf3,0xf1,0xf9};//高四位置为高电平,关掉点电机电源,否则三极管会烧坏;
while(1){
for(i=0;i<9;i++)
{
P1=count[i];
delay(1000);}
}
}
看看这个 ,也许有帮助

你可以看下PLC方面的书籍,那个对你会有帮助的。我曾经看过一本关于西门子s200的书,上面就有个步进电机,你可以参考下。你的电机是两相四线的?你有没有看电机的说明书?你应该先了解下电机的性能在作出相应的判断。

建议你将主轴转速调得非常低, 比如每秒一转. 观察步进电机的运动情况, 看是否有丢步或过冲, 多次摆动后的零点有无飘移.
由于脉冲频率跟主轴转速没关系, 所以这样做还有很有说服力的.

2. 检查主轴伺服方面对步进脉冲有没干扰
3是不是跟1ms时间间隔有关,读书时做横向课题,曾遇到过一个现象,也许有类似之处。
当时也是规划步进系统的指数加减速曲线,步进脉冲由8253硬件定时器分频获得,寄存器刷新时间间隔5ms,当把第一点起跳频率设为200Hz时,系统很容易失步,而实测的系统突跳频率高达1.5KHz,后来把第一点起跳频率设为180Hz,就很稳定,而设为210Hz,也不够稳定,当时分析可能与200Hz和5ms时间之间的倒数关系有关,而频率略高于200Hz时,第二个5ms刷新计数器时,前一个200Hz脉冲已经提前一点发出了,并已开始第二个200Hz脉冲技术,82