Arduino对57步进电机的控制

最近实验室的智能车从大车路线改到了小车路线,于是笔者也跟着学习一些新的知识。大车的控制可以使用标准的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信号即可改变电机旋转方向。
接下来可以通过串口通信,实现对电机的转动方向、转动速度、角度的控制。

  • 9
    点赞
  • 92
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值