极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

楼主: 大连好人

分享好人经验:自己写个库,控制TB6560驱动步进电机

  [复制链接]
 楼主| 发表于 2013-4-17 21:28:18 | 显示全部楼层
Cola_DOG 发表于 2013-4-17 15:37
请问好人,对于arduino来说 TB6560上的 EN+/- CW+/- 和CLK+/-这六根线应该怎么接,急求?谢谢!

帖子上有说明啊(所有的 - 都接一块,然后接地):

输入端有3个:CLK、CW、EN,分表代表:

CLK:即 step 端口,给一个脉冲(HIGH-LOW)步进电机动一步;
CW:即 direction 端口,该板子定义为 LOW 为顺时针,HIGH 为逆时针;
EN:即 enable 端口,该板子定义为 LOW 为工作,HIGH 为脱机。

// define the pins
#define STEP_PIN 34
#define DIR_PIN 35
#define EN_PIN 36

回复 支持 反对

使用道具 举报

发表于 2013-4-17 21:35:19 | 显示全部楼层
大连好人 发表于 2013-4-17 21:28
帖子上有说明啊(所有的 - 都接一块,然后接地):

输入端有3个:CLK、CW、EN,分表代表:

谢谢你,我就是看到了你只定义了3个引脚,但驱动版上“+/-”一共6个引脚,是不是cw en clk的“-”脚都不用接线?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-4-18 09:28:54 | 显示全部楼层
Cola_DOG 发表于 2013-4-17 21:35
谢谢你,我就是看到了你只定义了3个引脚,但驱动版上“+/-”一共6个引脚,是不是cw en clk的“-”脚都不用 ...

所有 - 都接地啊。。。。
回复 支持 反对

使用道具 举报

发表于 2013-4-22 00:16:29 | 显示全部楼层
请问好人,如何让两个电机 同时 按不同速度、走不同的步数?
还有stepper.run()和stepper.rotate(speed,step)的关系是什么?是否run的函数需要一直循环?
按例子中的程序写了两个电机同时运动的代码,但发现速度可以改变,但运行的时间以最后停止的为准,另一电机走的步数会多于设定的
代码如下:
  1. #include <EasyStepper.h>
  2. #define STEP1_PIN 2
  3. #define STEP2_PIN 4
  4. #define DIR1_PIN 6
  5. #define DIR2_PIN 8
  6. #define EN1_PIN 12
  7. #define EN2_PIN 13//两个EN端悬空
  8. #define DIR1_PIN_INVERTED true
  9. #define DIR2_PIN_INVERTED true
  10. #define EN1_PIN_INVERTED true
  11. #define EN2_PIN_INVERTED true
  12. EasyStepper stepper1(STEP1_PIN, DIR1_PIN, EN1_PIN, DIR1_PIN_INVERTED, EN1_PIN_INVERTED);
  13. EasyStepper stepper2(STEP2_PIN, DIR2_PIN, EN2_PIN, DIR2_PIN_INVERTED, EN2_PIN_INVERTED);
  14. int times=0;
  15. int stepps=0;
  16. void setup()
  17. {
  18.   Serial.begin(9600);
  19.   stepper1.debugMode(false);
  20.   stepper1.startup();
  21.   stepper2.debugMode(false);
  22.   stepper2.startup();
  23. }
  24. void loop()
  25. {
  26.   if (Serial.available() > 0)
  27.   {
  28.       stepps=Serial.parseInt();
  29.       Serial.println(stepps);
  30.       while(stepps!=0)
  31.       {
  32.         if (times < 2)  
  33.        {
  34.           if (stepper1.isDone())
  35.           {      
  36.               stepper1.rotate(200,stepps);//速度可变,步数不由人...
  37.           }
  38.           stepper1.run();
  39.           if (stepper2.isDone())
  40.           {      
  41.               stepper2.rotate(400,stepps);
  42.               times++;
  43.           }
  44.           stepper2.run();
  45.           if(times==2)
  46.           {
  47.             stepps=0;
  48.             times=0;
  49.           }
  50.         }
  51.       }
  52.   }
  53. }
复制代码
此外,当第二次输入的时候,步进电机会先走第一次输入的那个值,然后再走第二次输入的值,这个是为什么?
回复 支持 反对

使用道具 举报

发表于 2013-5-9 14:29:34 | 显示全部楼层
我的驱动板子好像和你在同一个地方买的。
回复 支持 反对

使用道具 举报

发表于 2013-9-2 08:49:59 | 显示全部楼层
这一款的驱动器是使用的共阴极还是共阳极的解法啊???   为什么,我把测试程序输进去后,电机只是在很小的一个范围内不断的来回转,基本上像是振动的感觉
回复 支持 反对

使用道具 举报

发表于 2013-9-2 10:34:33 | 显示全部楼层
支持一下,
回复 支持 反对

使用道具 举报

发表于 2013-9-19 11:00:16 | 显示全部楼层
你那个库怎么安装?
回复 支持 反对

使用道具 举报

发表于 2013-11-22 16:09:34 | 显示全部楼层
我把程序往芯片里面下的时候老是IO错误我把程序从新看了两遍照着程序修改还是不行啊
回复 支持 反对

使用道具 举报

发表于 2014-4-8 21:54:24 | 显示全部楼层
存档~~~~~~~~~
回复 支持 反对

使用道具 举报

发表于 2014-5-7 17:07:32 | 显示全部楼层
Malc 发表于 2013-1-24 17:49
呵呵 这个easystepper 对付300rpm以下的应该还不错,再高估计就丢步了
该有的基本都有了吧
步进电机最好还 ...

请问accelstepper这个怎么把4kHZ频率提高,想把速度提高点
回复 支持 反对

使用道具 举报

发表于 2014-5-22 17:49:45 | 显示全部楼层
开拓思路了,先回复记录一下,过两天专门弄程序验证一下。
回复 支持 反对

使用道具 举报

发表于 2014-7-11 18:59:10 | 显示全部楼层
弱弱地问一句,怎么接线?非常感谢
回复 支持 反对

使用道具 举报

发表于 2014-8-6 13:36:47 | 显示全部楼层
先回复记录一下,谢谢楼主
回复 支持 反对

使用道具 举报

发表于 2014-12-26 09:14:18 | 显示全部楼层
看了你这个库之后发现对步进电机的驱动方便的好多。对于这个库我有些不懂的地方想请教一下:
     在Arduino程序中,当我调用rotate()函数时,比如说 速度是400步/s, 总步数是800步,在程序执行过程中,当执行到rotate()函数时,是需要走完rotate函数的800步才能继续执行下面的程序还是根据loop函数 不断的刷新这个rotate函数,直到800步结束。
  谢谢!
回复 支持 反对

使用道具 举报

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

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-4-25 15:11 , Processed in 0.051968 second(s), 29 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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