快捷搜索: 王者荣耀 脱发

Arduino(关于驱动步进电机的学习)

步进电机(stepper motor):一种将电信号转换成相应或的电动机。每输入一个,就转动一个角度或前进一步(每次能转动的最小角度为步距角),其输出的或与输入的脉冲数成正比,与成正比(可以通过控制脉冲的个数来控制步进电机的角位移量,控制脉冲的频率来控制电机转动的速度),步进电机也分为单相、双相和多项等不同相数电机。因此,又称

关于Stepper库函数:

此库函数用于控制步进电机

Stepper(steps, pin1, pin2);    //双相步进电机
Stepper(steps, pin1, pin2, pin3, pin4);    //四相步进电机
//steps为步进电机转一周需要的步数(即脉冲数)
//pin1, pin2分别为驱动板对应接入主板的引脚
//此函数作用为初始化步进电机的控制
setSpeed(rmps);
//rmps:转速(即脉冲频率,每分钟步进电机转动的步数)
//此函数作用为控制步进电机的转速
step(steps);
//此函数作用为使电机转动固定的步数,当电机转动指定步数后才执行下一条语句
//steps:指定的步数,整数类型,符号控制旋转方向

电路连接图(实现通过电位器控制步进电机转动):

代码控制:

#include<Stepper.h>
#define steps 200
Stepper stepper(steps, 2, 3, 4, 5);//创建一个步进电机对象并初始化
int previous = 0;

void setup() {
 stepper.setSpeed(90);  //步进电机转速设置为每分钟转动90次
}

void loop() {
  int val = analogRead(0);  //读取电位器的角度信息
  stepper.step(val - previous);  //步进电机执行角度指令
  previous = val;  
}

注:学习资源来自博主“TonylOT”

经验分享 程序员 微信小程序 职场和发展