Помогите разобраться чайнику

Atlas
Offline
Зарегистрирован: 12.08.2013
Добрый день. Помогите разобраться чайнику. Прочитал много литературы за шаговики. Вот купил драйвер TB6600. 
 
 
Теперь не пойму что дальше есть входы:
Dir+,Dir-,CP+,CP-,EN+,EN-.
С теорией я хорошо знаком но практика хромает . Объясните что куда. И для чего они. Как работает шаговик я знаю и понимаю. Но опыта работы с драйвером нет. В нэти не нашел. Есть примеры но не все что позволяет понять принцип
maksim
Offline
Зарегистрирован: 12.02.2012

Соединяете между собой Dir-, CP-, EN- и подключаете их к GND дуины, остальные подключаете к цифровым выводам Dir+ к 4, CP+ к 3, EN+ к 5.

Качаете библиотеку AccelStepper, распаковываете в папку libraries.

#include <AccelStepper.h>

#define STEP 3
#define DIR  4
#define EN   5

AccelStepper stepper(1, STEP, DIR);

void setup()
{  
  pinMode(EN, OUTPUT);
  digitalWrite(EN, 1);
  stepper.setMaxSpeed(300.0);
  stepper.setAcceleration(100.0);
  stepper.moveTo(100);
}

void loop()
{
  if (stepper.distanceToGo() == 0) stepper.moveTo(-stepper1.currentPosition());
  stepper.run();
}

 

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011
Atlas
Offline
Зарегистрирован: 12.08.2013

Они очень схожи. Но по советовали взять TB6600 говорят надежней. Maksim большое спасибо! Помогло. Правда с вашей прогой чтото не то, не работает

maksim
Offline
Зарегистрирован: 12.02.2012

Единицу уберите из 20-й строки: stepper1.currentPosition()

#include <AccelStepper.h>

#define STEP 3
#define DIR  4
#define EN   5

AccelStepper stepper(1, STEP, DIR);

void setup()
{  
  pinMode(EN, OUTPUT);
  digitalWrite(EN, 1);
  stepper.setMaxSpeed(300.0);
  stepper.setAcceleration(100.0);
  stepper.moveTo(100);
}

void loop()
{
  if (stepper.distanceToGo() == 0) stepper.moveTo(-stepper.currentPosition());
  stepper.run();
}

И на будующее, что бы вас не посылали к экстрасенсам и не давали ссылки на кнопку "что бы все заработало", запомните раз и навсегда в технике нет такого слова "неработает". В вашем случае вы должны были написать не компилируется и показать ошибки ,которые вам пишит компилятор.

Atlas
Offline
Зарегистрирован: 12.08.2013

Да с единицей разобрался. Но всеравно стоит

maksim
Offline
Зарегистрирован: 12.02.2012

Рад за вас. У меня тоже стоит... по утрам. )))

Atlas
Offline
Зарегистрирован: 12.08.2013

Хахаха)). 

Я имею ввиду стоит вал двигателя. Хотя примеры с библиотеки работаю. 

maksim
Offline
Зарегистрирован: 12.02.2012

Примеры из библиотеки в принципе работать не могут, так как в них либо 4-х проводное подключение, либо 2х. Тогда можно предположить что EN имеет инвертированную логику, уберите строки связанные с ним.

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

Atlas пишет:

Хахаха)). 

Я имею ввиду стоит вал двигателя. Хотя примеры с библиотеки работаю. 

А хоть гудит-то ?

Библиотека не при чём.    Проверьте чередование фаз.

Можно по простому:  http://arduino.cc/en/Tutorial/StepperUnipolar

Только delayTime ставьте пару-тройку секунд и смотрите или щупайте чтобы шаги были в одну сторону.

Atlas
Offline
Зарегистрирован: 12.08.2013

Все работает!)))) спасибо!)