Arduino学习笔记8:驱动两相四线步进电机

典型的两相四线步进电机有四根线,常常标记为:A+、A-、B+、B-。

用Arduino驱动它们的时候需要一个驱动板,实验用的小电机功率不大,所以直接用这个红色的小驱动板。小驱动板价格便宜、小巧方便,用来驱动小电机是非常好的。

Arduino驱动两相四线步进电机接线方法:

1 将Arduino的D7、D8、D9、D10与驱动板的IN1、IN2、IN3、IN4依次连接。

2 将驱动板的MotorA、MotorB的个引脚与A+、A-、B+、B-依次连接。这里需要说明:许多小电机是非常小的,通常使用软排线接口。软排线尺寸非常小,而且又怕热不适合焊接,但是通过软排线转接板转成插针就可以通过杜邦线连接了。

1.jpg

3 驱动板的供电需要独立供电,不能从Arduino引电。

Arduino驱动两相四线步进电机连接好之后的实物图:

2.jpg

Arduino驱动两相四线步进电机源代码:

#include #define STEPS 200
Stepper stepper(STEPS, 7,8,9,10);
int previous = 0;

void setup() {
  stepper.setSpeed(300);
}

void loop() {
  stepper.step(400);
  delay(1000);
}

针对不同的步进电机需要修改几个设置项:

  • #define STEPS 200,这个200怎么计算的我现在还不是特别确定,只是通过经验知道:稍微大一些的35步进电机对应的设置为400,上文这个小蜗杆电机对应的设置为200。我推测计算公式可能是:360 / 步距角,根据商家的资料,35步进电机的步距角是0.9度,带入上面的公式正好是400。而这个小电机的商家资料显示:步距角是18度,代入上面的公式是20。我觉得有点不对劲,我怀疑商家的资料少写了一个小数点,正确的步距角应该是1.8度才对。

  • Stepper stepper(STEPS, 7,8,9,10);这个很简单,就是对应Arduino的4个引脚

  • setSpeed(300);设置步进电机的速度,这个数字每个电机不一样,经过测试,速度在设置为400的时候,电机只剩下抖动,所以速度最快能达到300,噪音很小,但此时扭力也很小,基本啥也干不了。当速度设置为30的时候,电机转动缓慢,噪音很大。设置为60的时候,电机转动快一些了,扭力比较大。但到底设置为多少最核实还有待精细调试。

特别注意:步进电机工作时温度很高,如果要长时间工作最好加个风扇。

扫码关注我的公众号