EasyDriver步进电机驱动板测试笔记
您好,  [请登录]   [免费注册]   购物车 [0]

商品分类

EasyDriver 步进电机驱动板测试笔记

发布日期:2011-07-17

       

     步进电机是一个很酷的东西,在自动化系统中普遍应用,它可以精确的转到某个你指定的角度,这篇文章我们介绍一下我们的EasyDriver 步进电机驱动板的使用方法及程序代码。

        步进电机通常定义有步距角或者步数参数,一般的电机一转都是分为200步,也就是步距角为1.8度,EasyDriver 具有步距细分功能,这款驱动板的细分为8细分,也就是将电机的每一步再细分为8小步,这样能够能够得到更精确的控制,也就是说EasyDriver 需要1600步来完成一个完整的360度旋转。接下来,让我们来进行一个测试实验。

实验硬件:

实验硬件:

EasyDriver 步进电机驱动板 X1;

arduino UNO控制板 X1;

DC12V电源(取决于电机工作电压) X1;

杜邦线若干;

 

实验硬件连接图:

 

1.连接电机与EasyDriver 

      步进电机有4根线,分为A相和B相,其内部为两个线圈,用万用表的通断档可以测出,确定好之后分别接到EasyDriver 的电机脚。

2.连接arduino 控制板与EasyDriver 

3.下载测试代码

打开arduino IDE,将以下代码复制进去,编译下载到UNO板中

代码:

#define DIR_PIN 2
#define STEP_PIN 3

void setup() {
  pinMode(DIR_PIN, OUTPUT);
  pinMode(STEP_PIN, OUTPUT);
}

void loop(){

  //rotate a specific number of degrees
  rotateDeg(360, 1);
  delay(1000);

  rotateDeg(-360, .1);  //reverse
  delay(1000);

  //rotate a specific number of microsteps (8 microsteps per step)
  //a 200 step stepper would take 1600 micro steps for one full revolution
  rotate(1600, .5);
  delay(1000);

  rotate(-1600, .25); //reverse
  delay(1000);
}

void rotate(int steps, float speed){
  //rotate a specific number of microsteps (8 microsteps per step) - (negitive for reverse movement)
  //speed is any number from .01 -> 1 with 1 being fastest - Slower is stronger
  int dir = (steps > 0)? HIGH:LOW;
  steps = abs(steps);

  digitalWrite(DIR_PIN,dir);

  float usDelay = (1/speed) * 70;

  for(int i=0; i < steps; i++){
    digitalWrite(STEP_PIN, HIGH);
    delayMicroseconds(usDelay);

    digitalWrite(STEP_PIN, LOW);
    delayMicroseconds(usDelay);
  }
}

void rotateDeg(float deg, float speed){
  //rotate a specific number of degrees (negitive for reverse movement)
  //speed is any number from .01 -> 1 with 1 being fastest - Slower is stronger
  int dir = (deg > 0)? HIGH:LOW;
  digitalWrite(DIR_PIN,dir);

  int steps = abs(deg)*(1/0.225);
  float usDelay = (1/speed) * 70;

  for(int i=0; i < steps; i++){
    digitalWrite(STEP_PIN, HIGH);
    delayMicroseconds(usDelay);

    digitalWrite(STEP_PIN, LOW);
    delayMicroseconds(usDelay);
  }
}

 

4.接上DC12V电源

5.电机正常动作,下图可以看到小旗子在快速的旋转

至此,整个测试完毕,详细的有关EasyDriver的资料,请进我们的产品页面下载。

 

 
© 2001~2012 All rights reserved
本公司所有顾客个人信息将不会被泄漏给其他任何机构和个人
本商店logo和图片都已经申请保护,不经授权不得使用
有任何购物问题请联系我们在线客服 | 电话:0551-65365921-801 传真:0551-65365931 | 工作时间:周一至周五 9:00-17:30
Powered by ShopEx v4.8.5 |Gzip enabled 皖ICP备11003032号-2号