Arduino对57步进电机的控制「建议收藏」

Arduino对57步进电机的控制「建议收藏」最近实验室的智能车从大车路线改到了小车路线,于是笔者也跟着学习一些新的知识。大车的控制可以使用标准的CAN协议,很多方便的指令都能够通过CAN来传输给ECU并得到相应的反馈。然而对于最近接触的电动小白车,控制策略只能使用物理机械去控制。因此使用步进电机拉杆成为目前的解决方案之一。

大家好,欢迎来到IT知识分享网。

最近实验室的智能车从大车路线改到了小车路线,于是笔者也跟着学习一些新的知识。大车的控制可以使用标准的CAN协议,很多方便的指令都能够通过CAN来传输给ECU并得到相应的反馈。然而对于最近接触的电动小白车,控制策略只能使用物理机械去控制。因此使用步进电机拉杆成为目前的解决方案之一。

1. 设备

【设备】:
– 57步进电机套装,包括2相4线的电机以及对应驱动板;
– Arduino UNO;
– 杜邦线若干;
– 电源输出设备一台(提供24V电压);
这里写图片描述

2. 电机连线

【信号输入端】:

  • PUL+:脉冲信号正
  • PUL-:脉冲信号负
  • DIR+:电机正反控制信号正
  • DIR-:电机正反控制信号负
  • EN+:电机脱机信号正
  • EN-:电机脱机信号负

【电源电压】:
DC:9-40V,这里我们用电源输出设备输出24V即可。
【电路接法】:
我们使用共阴极接法:分别将 PUL-,DIR-,EN-连接到控制系统的地端, 脉冲输入信号通过PUL+接入,方向信号通过DIR+接入,使能信号通过EN+接 入。若需限流电阻,则接入限流电阻R。(EN信号可不接,并且下图的CP即指脉冲信号PUL)
这里写图片描述

3. 拨码开关设定细分以及电流

【细分数】:
根据驱动板上面的开关状态设定,细分后步进电机步距 角按下列方法计算:步距角=电机固有步距角/细分数。

4. Arduino输出脉冲信号

上述连接完毕后,我们用Arduino模拟输出脉冲信号:

#define PUL 9

void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);

  // Set the port function, output or input. pinMode(PUL, OUTPUT);

}

void loop() {
  // put your main code here, to run repeatedly:
  analogWrite(PUL, 100);
}

如果需要进一步的左右控制,我们定义Arduino的一个数字管脚,连接驱动板的DIR+,给出HIGH或者LOW信号即可改变电机旋转方向。
接下来可以通过串口通信,实现对电机的转动方向、转动速度、角度的控制。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/26321.html

(0)

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信