极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 27491|回复: 110

Arduino Uno 同时控制两个工业步进电机

    [复制链接]
发表于 2015-9-10 19:48:41 | 显示全部楼层 |阅读模式
前天刚刚拿到第二套驱动器与步进电机,就迫不及待地想要尝试尝试两个电机的同时控制了。
先上视频


材料清单:
Arduino Uno 一块
工业步进电机两个
驱动器两个
面包板一块
稳压电源一个

源码我整理整理就发上来。


回复

使用道具 举报

发表于 2015-9-12 14:39:40 | 显示全部楼层
关注,感兴趣
回复 支持 反对

使用道具 举报

发表于 2015-9-25 09:21:15 | 显示全部楼层
感兴趣,想看看代码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-9-25 13:38:14 | 显示全部楼层
5721 发表于 2015-9-25 09:21
感兴趣,想看看代码

你好,代码已经发你消息了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-9-25 13:43:00 | 显示全部楼层
bh7jec 发表于 2015-9-12 14:39
关注,感兴趣

你好,代码已发你聊天了
回复 支持 反对

使用道具 举报

发表于 2015-10-3 07:39:18 | 显示全部楼层
请问稳压电源可以换成其他电源吗,正准备改一台数控车床,能给我帮助吗。谢谢
回复 支持 反对

使用道具 举报

发表于 2015-10-3 12:19:05 | 显示全部楼层
感觉程序不难,主要是控制脉冲频率
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-10-5 16:12:16 | 显示全部楼层
sxyu98 发表于 2015-10-3 07:39
请问稳压电源可以换成其他电源吗,正准备改一台数控车床,能给我帮助吗。谢谢

这个应该可以,
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-10-5 16:15:45 | 显示全部楼层
lm4766 发表于 2015-10-3 12:19
感觉程序不难,主要是控制脉冲频率

是的,程序主要是控制脉冲频率的,我也是刚入手,现在还在更改中,已经更新了一版了,运用到了机械臂上了
回复 支持 反对

使用道具 举报

发表于 2015-10-7 21:34:02 | 显示全部楼层
正准备搞步进电机,来对地方了
回复 支持 反对

使用道具 举报

发表于 2015-10-9 17:14:31 | 显示全部楼层
感兴趣,想看看代码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-10-11 18:41:36 | 显示全部楼层
子不语我投降 发表于 2015-10-9 17:14
感兴趣,想看看代码

你好,代码已经发你短消息了,请查收
回复 支持 反对

使用道具 举报

发表于 2015-10-12 02:57:49 | 显示全部楼层
本帖最后由 迷你强 于 2017-4-6 13:46 编辑

  1. //

  2. #define EN        8       //步进电机使能端,低电平有效

  3. #define X_DIR     5       //X轴 步进电机方向控制

  4. #define X_STP     2       //x轴 步进控制

  5. /*

  6. //函数:step    功能:控制步进电机方向,步数。

  7. //参数:dir 方向控制, dirPin对应步进电机的DIR引脚,stepperPin 对应步进电机的step引脚, steps 步进的步数

  8. //无返回值

  9. */

  10. void step(boolean dir, byte dirPin, byte stepperPin, int steps)

  11. {

  12.   digitalWrite(dirPin, dir);

  13.   delay(50);

  14.   for (int i = 0; i < steps; i++) {

  15.     digitalWrite(stepperPin, HIGH);

  16.     delayMicroseconds(800);  

  17.     digitalWrite(stepperPin, LOW);

  18.     delayMicroseconds(800);  

  19.   }

  20. }

  21. void setup(){//将步进电机用到的IO管脚设置成输出

  22.   pinMode(X_DIR, OUTPUT); pinMode(X_STP, OUTPUT);

  23.   pinMode(EN, OUTPUT);

  24.   digitalWrite(EN, LOW);

  25. }

  26. void loop(){

  27.   step(false, X_DIR, X_STP, 200); //X轴电机 反转1圈,200步为一圈

  28.   delay(1000);

  29.   step(true, X_DIR, X_STP, 200); //X轴电机 正转1圈,200步为一圈

  30.   delay(1000);

  31. }
复制代码
回复 支持 反对

使用道具 举报

发表于 2015-11-3 12:54:59 | 显示全部楼层
看看程序可以么,,不懂怎样同时发2个脉冲啊
回复 支持 反对

使用道具 举报

发表于 2015-11-3 13:15:47 | 显示全部楼层
好东西,等LZ代码好好学习下,我最近正好有这方面的想法,同时控制两个L298N分别给出不同的参数调整线圈。
回复 支持 反对

使用道具 举报

高级模式  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊 ( 浙ICP备09023225号 )

GMT+8, 2018-9-26 23:15 , Processed in 0.097791 second(s), 6 queries , File On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表