Arduino使用Stepper库驱动2byjs8步进电机及计算每步延时

Arduino ide1.8中自带stepper库,但是ide2.0里没有。可以手动把1.8里的文件复制到ide2.0的库里,默认是在C:\Users\(你的账号名)\Documents\Arduino\libraries.  重启ide后就可以看到第三方库还有例子了。如果在文件里引用了不存在的库,那么代码补全就只能补全文档里的变量了,没法提示函数。

接线

 

 

程序没啥说的,2byjs8步进电机最高也就 能收1000hz脉冲,再快就堵转了,根据参数,可以算出最快也就每分钟15转。

电机是64步/圈,每步360° / 64 = 5.625°,出来还有1 / 64减速箱,所以是64 * 64 = 4096步/圈,1000步/s / 4096步/圈 = 0.25圈/秒 = 15RPM。
#include "Stepper.h"

const int stepsPerRevolution = 2000;//每次动作的步数,实测用2000可以做到最快速度,改小会变慢

// initialize the stepper library on pins 8 through 11:
Stepper myStepper(stepsPerRevolution, 8, 10, 9, 11);

int stepCount = 0;         // number of steps the motor has taken

void setup() {
  // initialize the serial port:
  //Serial.begin(9600);
  myStepper.setSpeed(15);//每分钟转速,stepper库自动根据stepsPerRevolution算出脉冲延时
}

void loop() {
  // step one step:
  myStepper.step(2000);
  //Serial.print("steps:");
  //Serial.println(stepCount);
  stepCount++;
  delay(5000);
}

 

posted @ 2021-05-16 12:00  kyo413  阅读(986)  评论(0编辑  收藏  举报