Шаговый двигатель и драйвер(DMA860H)

Евгения
Offline
Зарегистрирован: 12.05.2016

Использую шаговый двигатель: http://www.электродвигатели-редукторы.рф/product/stoegra-sm107218m8/

И дравер:DMA860H http://www.leadshine.com/UploadFile/Down/MA860Hm.pdf

Не могу разобраться с SW1-SW8, какова логика их переключения?

Как подклюить DIR -,  DIR +, PUL -, PUL + к ардуино?

vvadim
Offline
Зарегистрирован: 23.05.2012

в описании драйвера все ответы на ваши вопросы, даже с картинками))))

Евгения
Offline
Зарегистрирован: 12.05.2016

Нужно ли ставить резисторы, между ардуино и драйвером? 

По схеме они есть.

 

DangerD
Offline
Зарегистрирован: 23.08.2014

Судя по подписи на этой картинке то нет, на аурдуине 5вольт.

Кстати у меня такой же регуль, хочу переделать китайский станок.

У вас уже есть идеи под что его запилить? (какую прогу)

У меня только есть идея адаптировать под Repeiter Host с использованием готового кода...

Евгения
Offline
Зарегистрирован: 12.05.2016

Спустя полгода возвращаюсь снова к этой теме, может немного поумнела... 

Не могу разобраться с подключением драйвера к ардуино. Выводы на драйвере DIR -, DIR +, PUL -, PUL +. На просторах интерна драйверы с выходами PUI, DIR, +5V. Может кто то подключал подобный драйвер? 

Andy
Andy аватар
Offline
Зарегистрирован: 01.01.2016
Евгения
Offline
Зарегистрирован: 12.05.2016

Чтение мануала помогло:). Шаговый двигатель заработал с этим скетчем. Теперь нужен скетч, на котором будет работать шаговый двигатель. Нужна возможность менять скорость вращения и количество шагов за цикл. Поможете? Может готовый кто видел?   

 

const int buttonPin = 2; // номер входа, подключенный к кнопке 

int pul = 13; 

int dir = 12; 

int buttonState = 0; 



void setup() { 

pinMode(pul, OUTPUT); 

pinMode(dir, OUTPUT); 

digitalWrite(dir, HIGH); 

pinMode(buttonPin, INPUT); 





void loop(){ 

// считываем значения с входа кнопки 

buttonState = digitalRead(buttonPin); 



// проверяем нажата ли кнопка 

// если нажата, то buttonState будет HIGH: 

if (buttonState == HIGH) { 

digitalWrite(pul, HIGH); 

delay(10); 

digitalWrite(pul, LOW); 

delay(10); 



else { 

digitalWrite(pul, LOW); 



}