2019-8-13 21:21:41 [显示全部楼层]
3979浏览
查看: 3979|回复: 3

[求助] 42步机使用仅有单方向求解

[复制链接]
I.背景:
刚学,如果提出了太过基础的问题,请多包涵。


II.主要环境:
1.使用Arduino MEGA2560作为主控,用了拓展板,链接放最下方
2.使用的是42步进电机,并且使用【SKU: DRI0023 双路步进电机驱动扩展板(DRV8825)】作为连接,链接放最下方


III.问题主体:
1.照着42电机驱动板的官方WIKI上的接线复制并改的,(代码与接线照片放在下方)
2.步进电机Y不论是HIGH还是LOW,都为同一方向。【问题核心】
3.步进电机X能够根据代码digitalWrite(M1dirpin,HIGH);的HIGH改变成LOW而改变方向
4.两个电机运动时均无杂音,并且接线正反都试过,无果


IV.链接
1.拓展版:https://www.dfrobot.com.cn/goods-970.html
2.步进电机WIKI:https://wiki.dfrobot.com.cn/index.php?title=SKU:_DRI0023_%E5%8F%8C%E8%B7%AF%E6%AD%A5%E8%BF%9B%E7%94%B5%E6%9C%BA%E9%A9%B1%E5%8A%A8%E6%89%A9%E5%B1%95%E6%9D%BF(DRV8825)


V.图片








ColdString  学徒
 楼主|

发表于 2019-8-13 21:22:02

VI.代码/*
This sample code is for testing the 2 stepper motors
The rotation velocity can be adjusted by the code switch
Microcontroller: Arduino UNO  
*/
int M1dirpin = 24;   //电机Y方向引脚
int M1steppin = 25;  //电机Y驱动引脚
int M1en=29;        //电机Y使能引脚
int M2dirpin = 27;   //电机X方向引脚
int M2steppin = 26;  //电机X驱动引脚
int M2en= 28;        //电机X使能引脚

void setup()
{
  pinMode(M1dirpin,OUTPUT);
  pinMode(M1steppin,OUTPUT);
  pinMode(M1en,OUTPUT);
  pinMode(M2dirpin,OUTPUT);
  pinMode(M2steppin,OUTPUT);
  pinMode(M2en,OUTPUT);
  
  digitalWrite(M1en,LOW); //低电平使能
  digitalWrite(M2en,LOW); //低电平使能
  
}
void loop()
{
    int j;
  delayMicroseconds(2);
  digitalWrite(M1dirpin,HIGH);
  digitalWrite(M2dirpin,HIGH);
  for(j=0;j<=5000  ;j++){
    digitalWrite(M1steppin,LOW);
    digitalWrite(M2steppin,LOW);
    delayMicroseconds(2);
    digitalWrite(M1steppin,HIGH);  //上升沿步进
    digitalWrite(M2steppin,HIGH);  //上升沿步进
    delay(1);
  }
}
回复

使用道具 举报

gada888  版主

发表于 2019-8-15 09:09:10

支持一下
回复

使用道具 举报

大圈biubiu  中级技师

发表于 2019-8-16 11:52:25

有个不成熟的问题,就是交换2个的电机后,原本是只能运动一个方向的电机还是保持这个样子吗?(我想知道驱动是好是坏)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
关于楼主

楼主的其它帖子

上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail