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”