Помогите разобраться чайнику
- Войдите на сайт для отправки комментариев
Сб, 09/11/2013 - 11:42
Добрый день. Помогите разобраться чайнику. Прочитал много литературы за шаговики. Вот купил драйвер TB6600.
Теперь не пойму что дальше есть входы:
Dir+,Dir-,CP+,CP-,EN+,EN-.
С теорией я хорошо знаком но практика хромает . Объясните что куда. И для чего они. Как работает шаговик я знаю и понимаю. Но опыта работы с драйвером нет. В нэти не нашел. Есть примеры но не все что позволяет понять принцип
Соединяете между собой Dir-, CP-, EN- и подключаете их к GND дуины, остальные подключаете к цифровым выводам Dir+ к 4, CP+ к 3, EN+ к 5.
Качаете библиотеку AccelStepper, распаковываете в папку libraries.
01
#include <AccelStepper.h>
02
03
#define STEP 3
04
#define DIR 4
05
#define EN 5
06
07
AccelStepper stepper(1, STEP, DIR);
08
09
void
setup
()
10
{
11
pinMode(EN, OUTPUT);
12
digitalWrite(EN, 1);
13
stepper.setMaxSpeed(300.0);
14
stepper.setAcceleration(100.0);
15
stepper.moveTo(100);
16
}
17
18
void
loop
()
19
{
20
if
(stepper.distanceToGo() == 0) stepper.moveTo(-stepper1.currentPosition());
21
stepper.run();
22
}
Ну, если поиграться я бы брал что-то такое:
http://www.ebay.com/itm/TB6560-3-Axis-Step-Stepper-Motor-Driver-Controll...
или
http://www.ebay.com/itm/3-Axis-TB6560-CNC-Stepper-Motor-Driver-Controlle...
Они очень схожи. Но по советовали взять TB6600 говорят надежней. Maksim большое спасибо! Помогло. Правда с вашей прогой чтото не то, не работает
Единицу уберите из 20-й строки: stepper1.currentPosition()
01
#include <AccelStepper.h>
02
03
#define STEP 3
04
#define DIR 4
05
#define EN 5
06
07
AccelStepper stepper(1, STEP, DIR);
08
09
void
setup
()
10
{
11
pinMode(EN, OUTPUT);
12
digitalWrite(EN, 1);
13
stepper.setMaxSpeed(300.0);
14
stepper.setAcceleration(100.0);
15
stepper.moveTo(100);
16
}
17
18
void
loop
()
19
{
20
if
(stepper.distanceToGo() == 0) stepper.moveTo(-stepper.currentPosition());
21
stepper.run();
22
}
И на будующее, что бы вас не посылали к экстрасенсам и не давали ссылки на кнопку "что бы все заработало", запомните раз и навсегда в технике нет такого слова "неработает". В вашем случае вы должны были написать не компилируется и показать ошибки ,которые вам пишит компилятор.
Да с единицей разобрался. Но всеравно стоит
Рад за вас. У меня тоже стоит... по утрам. )))
Хахаха)).
Я имею ввиду стоит вал двигателя. Хотя примеры с библиотеки работаю.
Примеры из библиотеки в принципе работать не могут, так как в них либо 4-х проводное подключение, либо 2х. Тогда можно предположить что EN имеет инвертированную логику, уберите строки связанные с ним.
Хахаха)).
Я имею ввиду стоит вал двигателя. Хотя примеры с библиотеки работаю.
А хоть гудит-то ?
Библиотека не при чём. Проверьте чередование фаз.
Можно по простому: http://arduino.cc/en/Tutorial/StepperUnipolar
Только delayTime ставьте пару-тройку секунд и смотрите или щупайте чтобы шаги были в одну сторону.
Все работает!)))) спасибо!)