打印

大家帮忙解决下我的步进电机新问题,谢谢。

[复制链接]
1578|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
欧阳青云|  楼主 | 2009-8-15 19:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
目的是让步进电机转起来,程序如下,请求大家帮忙解决,谢谢。
#include "reg51.h"
unsigned char table[]={0xfe,0xfd,0xfb,0xf7};
unsigned char t=0;
unsigned int m=200;
void delay(unsigned int i)
{
unsigned char j;
for(;i>0;i--)
for(j=250;j>0;j--);
}
void main()
{
while(1)
{
  P3=table[t];
  P0=table[t];
  delay(m);
  delay(m);
  delay(m);
  t++;
  if(m!=40)
  {
   m--;
  }
  if(t==4)
  {
   t=0;
  }
}
}

相关帖子

沙发
chen3bing| | 2009-8-15 19:36 | 只看该作者
是电机转不起来吗?

使用特权

评论回复
板凳
欧阳青云|  楼主 | 2009-8-15 20:58 | 只看该作者
出现的问题是向前走两步向后走两步,如此循环下去。我后面把数组改成{0xfd,0xfe,0xfb,0xf7}就行了,好像正常情况下电机数组就该是0xfe,0xfd,0xfb,0xf7}但后面一种不行。现在的问题又出来了,频率提高不到1KZ,一旦频率设为1KZ的话,它加速一会儿就不动了。这是为什么啊。

使用特权

评论回复
地板
5880527| | 2009-8-17 09:53 | 只看该作者
你拿示波器观测脉冲频率,宽度,均匀程度

使用特权

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

本版积分规则

47

主题

378

帖子

0

粉丝