大连好人 发表于 2013-4-17 21:28:18

Cola_DOG 发表于 2013-4-17 15:37 static/image/common/back.gif
请问好人,对于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

Cola_DOG 发表于 2013-4-17 21:35:19

大连好人 发表于 2013-4-17 21:28 static/image/common/back.gif
帖子上有说明啊(所有的 - 都接一块,然后接地):

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


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

大连好人 发表于 2013-4-18 09:28:54

Cola_DOG 发表于 2013-4-17 21:35 static/image/common/back.gif
谢谢你,我就是看到了你只定义了3个引脚,但驱动版上“+/-”一共6个引脚,是不是cw en clk的“-”脚都不用 ...

所有 - 都接地啊。。。。

JasmineL 发表于 2013-4-22 00:16:29

请问好人,如何让两个电机 同时 按不同速度、走不同的步数?
还有stepper.run()和stepper.rotate(speed,step)的关系是什么?是否run的函数需要一直循环?
按例子中的程序写了两个电机同时运动的代码,但发现速度可以改变,但运行的时间以最后停止的为准,另一电机走的步数会多于设定的
代码如下:#include <EasyStepper.h>
#define STEP1_PIN 2
#define STEP2_PIN 4
#define DIR1_PIN 6
#define DIR2_PIN 8
#define EN1_PIN 12
#define EN2_PIN 13//两个EN端悬空
#define DIR1_PIN_INVERTED true
#define DIR2_PIN_INVERTED true
#define EN1_PIN_INVERTED true
#define EN2_PIN_INVERTED true
EasyStepper stepper1(STEP1_PIN, DIR1_PIN, EN1_PIN, DIR1_PIN_INVERTED, EN1_PIN_INVERTED);
EasyStepper stepper2(STEP2_PIN, DIR2_PIN, EN2_PIN, DIR2_PIN_INVERTED, EN2_PIN_INVERTED);
int times=0;
int stepps=0;
void setup()
{
Serial.begin(9600);
stepper1.debugMode(false);
stepper1.startup();
stepper2.debugMode(false);
stepper2.startup();
}
void loop()
{
if (Serial.available() > 0)
{
      stepps=Serial.parseInt();
      Serial.println(stepps);
      while(stepps!=0)
      {
      if (times < 2)
       {
          if (stepper1.isDone())
          {      
            stepper1.rotate(200,stepps);//速度可变,步数不由人...
          }
          stepper1.run();
          if (stepper2.isDone())
          {      
            stepper2.rotate(400,stepps);
            times++;
          }
          stepper2.run();
          if(times==2)
          {
            stepps=0;
            times=0;
          }
      }
      }
}
}此外,当第二次输入的时候,步进电机会先走第一次输入的那个值,然后再走第二次输入的值,这个是为什么?

zyzsorry 发表于 2013-5-9 14:29:34

我的驱动板子好像和你在同一个地方买的。

Roger_Gao 发表于 2013-9-2 08:49:59

这一款的驱动器是使用的共阴极还是共阳极的解法啊???   为什么,我把测试程序输进去后,电机只是在很小的一个范围内不断的来回转,基本上像是振动的感觉

y2k 发表于 2013-9-2 10:34:33

:)支持一下,:)

yaoze权 发表于 2013-9-19 11:00:16

你那个库怎么安装?

for 发表于 2013-11-22 16:09:34

我把程序往芯片里面下的时候老是IO错误我把程序从新看了两遍照着程序修改还是不行啊

honyfox 发表于 2014-4-8 21:54:24

存档~~~~~~~~~

幸福快线2 发表于 2014-5-7 17:07:32

Malc 发表于 2013-1-24 17:49 static/image/common/back.gif
呵呵 这个easystepper 对付300rpm以下的应该还不错,再高估计就丢步了
该有的基本都有了吧
步进电机最好还 ...

请问accelstepper这个怎么把4kHZ频率提高,想把速度提高点

wangqiyy 发表于 2014-5-22 17:49:45

开拓思路了,先回复记录一下,过两天专门弄程序验证一下。

xiaxiadianyou 发表于 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步结束。
谢谢!
页: 1 [2] 3
查看完整版本: 分享好人经验:自己写个库,控制TB6560驱动步进电机