Как грамотно реализовать?

MeGaPk
Offline
Зарегистрирован: 07.09.2012

 Добрый День!
У меня такой вопрос.

Имеется драйвер Longs Motor DM420A и мотор Nema 17 17HS4417.
(Ссылка на сам драйвер: www.longs-motor.com/ProductsView.asp
Еще вот ссылка если первая не пашет: http://webcache.googleusercontent.com/search?q=cache:rCBAsbF1Jf4J:www.longs-motor.com/ProductsView.asp%3Fid%3D278+&cd=1&hl=ru&ct=clnk&gl=ee)

В данный момент я заставил работать мотор таким кодом:

int StopperLeft=6;
int StopperRight=7;
int ENBL = 3;
int DIR = 4;
int PUL = 5;
.....

void motor (long col , int side)
{
if(lock==false){
lock=true;
digitalWrite(ENBL, HIGH);

if(side==1)
digitalWrite(DIR, HIGH);
else if(side==2)
digitalWrite(DIR, LOW);

analogWrite(PUL, 127);

for(int x=0;x<col*s;x++)
{
// delay(215);
if(side==1){
if (digitalRead(StopperLeft) == HIGH) {
break;
}
}
else if (side==2){
if (digitalRead(StopperRight) == HIGH) {
break;
}
}

}
analogWrite(PUL, 0);
lock=false;
// digitalWrite(4, LOW);
}
}

 

Как видно, я сперва включаю драйвер (ENBL) затем указываю направление (DIR) и делаю 50% работы PWM на PUL, и мотор работает до того момента, пока я не сделаю 0%.
Вроде всё хорошо и работает, но мне что - то подсказывает, что есть более грамотный способ.

Если он существует, пожалуйста подскажите, заранее благодарю и надеюсь на адекватный ответ!

Спасибо за прочтение сие поста, Иван.

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

 Воспользуйтесь поиском по сайту...

MeGaPk
Offline
Зарегистрирован: 07.09.2012

 Я так понимаю надо использовать библиотеку:  http://arduino.ru/Reference/Library/Servo ?

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

 Нет, почему серва? Ищите про шаговые двигатели... гдето была тема как пользоваться библой AccelStepper и как инициализировать выводы при использовании драйвера.

MeGaPk
Offline
Зарегистрирован: 07.09.2012

 Спасибо за этот более чёткий ответ!

Я так понял юзать надо этом: http://www.pjrc.com/teensy/td_libs_AccelStepper.html

Так же в моем случае надо юзать так: AccelStepper Motor(1, PUL, DIR);  Верно ли?

Спрашиваю на всякий случай, что бы когда буду тестить (через часа 3-4) не тратить время на метод тыка :).

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

 Да, вроде она, тут на форуме тоже где то обсуждалось.