大家好,欢迎来到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