看看我的步进电机

[复制链接]
2612|2
 楼主| 子蘅 发表于 2011-8-15 20:31 | 显示全部楼层 |阅读模式
#include<reg52.h>  
#define uchar unsigned char
#define uint unsigned int
code unsigned char runz[8]={0x08,0x0a,0x02,0x06,0x04,0x05,0x01,0x09};  // 正转数组 0x08,0x0a,0x02,0x06,0x04,0x05,0x01,0x09
code unsigned char runf[8]={0x09,0x01,0x05,0x04,0x06,0x02,0x0a,0x08};   //反转数组 0x09,0x01,0x05,0x04,0x06,0x02,0x0a,0x08
uchar keycan=0;  //键值
int y=20;           //定义转动速度,数值越大电机转速越慢反之则快  
sbit P34=P3^4 ; //正转按键  
sbit P35=P3^5;  //反转按键
void delay(i)//延时函数
  {
      uchar j,k;
      for(j=0;j<i;j++)
      for(k=0;k<250;k++);
  }
  void INT_init (void)
{
EA = 1; //中断总开关
EX1 = 1; //允许外部中断1中断   
EX0 = 1; //允许外部中断0中断
IT1 = 1; //1:下沿触发  0:低电平触发
IT0 = 1; //1:下沿触发  0:低电平触发
}
void INT_1 (void) interrupt 2  using 2 //切换寄存器组到2
{
   y-=1;delay(y+1);
}         
void INT_0 (void) interrupt 0  using 2 //切换寄存器组到2
{
    y+=1;delay(y+1);
}
///////////////////////////////////////////////////////// 正转运行
void zrun()
{
   uchar z;
   for(z=0;z<8;z++)
       {
         P1=runz[z];
         delay(y+5);
       }
}
/////////////////////////////////////////////////////////// 反转运行
void frun()
{
     uchar z;
     for(z=0;z<8;z++)
        {
            P1=runf[z];
           delay(y+5);
         }
}
/////////////////////////////////////////////////////////////没停住

main()
{
  INT_init(); //外部中断初始化
  while(1)
    {
       if(P34==0) //如果电机正转按键按下
      {
        keycan=1;  //键值等于1
      }
         if(P35==0) //如果电机反转按键按下
      {
        keycan=2;  //键值等于2
       }
              switch (keycan)
             {
              case 1: zrun();  //键值等于1 正转
     break;
              case 2: frun();  //键值等于2 反转
              break;
              }
   }
}
/////////////////////////////////
为什么电机抖动较大,速度提不上去!
刚玩这个,不知道怎么处理了,高手提个意见啊!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
airwill 发表于 2011-8-17 21:23 | 显示全部楼层
电机抖动较大,速度提不上去!
这个问题的可能性很多.
负载方面: 负载不匹配, 过轻, 有共振等.
驱动方面: 电压驱动导致电流振荡.
如果想要好的效果, 可以从多个方面考虑
 楼主| 子蘅 发表于 2011-8-18 15:44 | 显示全部楼层
刚开始改这个,前几天翻阅了一些资料,讲的和你说得差不多。我想了一下,程序应该是没太大问题的,就从硬件上着手了、、、、期待很快出来效果!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

4

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部