Ардуино+шаговый двигатель+драйвер

Ridikxx
Offline
Зарегистрирован: 05.05.2016

Добрый день. Помогите разобраться. Есть два двигателя разных и к ним 2 драйвера.

Это первый :

Это второй

И драйвер к нему.

Для их упраления использую Ардуино Nano.

Первый двигатель питаю 60в блоком питания на 20А.

Второй, что по меньше 24В. на 15А.

Скетч для них использую один и тот же. С использованием кнопки. Вначале крутится в одну сторону, при нажптии крутится в обратную.

Теперь проблема:

На маленьком двигателе программа работает, а на большом (более мощном с энкодером) не работает. Видно, что дергается  немного, но не крутится. Подключение самое обычное что на одном, что на другом. Но один работает, а другой нет. Помогите разобраться. С меня магарыч на карту.

 

 

Ridikxx
Offline
Зарегистрирован: 05.05.2016
void setup()
{               
pinMode(8, OUTPUT);     // вывод в режим вывода
pinMode(9, OUTPUT);                   // то же            
digitalWrite(8, HIGH);     // низкий уровень на DIR – крутим против часовой стрелки
digitalWrite(9, LOW);   // низкий уровень на STP – начальная установка
}
void loop()
{
digitalWrite(9, HIGH);     //формируем импульс 1 мс на STP
delay(1);         
digitalWrite(9, LOW); 
delay(1);         
}

 

Ridikxx
Offline
Зарегистрирован: 05.05.2016

На этой программе работают оба двигателя

b707
Offline
Зарегистрирован: 26.05.2017

Ridikxx пишет:

На этой программе работают оба двигателя

Так работает или нет? Если у вас две программы - выкладывайте обе. В этом коде нет кнопки и нет изменения вращения, про которые вы пишете

Ridikxx
Offline
Зарегистрирован: 05.05.2016

А на этой только маленький

/*

Вариант с ручным управлением
-----------------------------------------
*/


int spd1 = 3;  // НАСТРОЙКА СКОРОСТИ двигателя  (больше цифра - медленнее крутит)

//------------------------------------------------------


// пины подключения драйверов --------------------------
int dirpin1 = 8;  //пин направления
int steppin1 = 9; //пин шага
int en1 = 10; // пин удержания

int imp = 5 ; //длительность импульса

int mot1plus = 5;
int mot1minus = 7;

//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx


void setup() {
//Serial.begin(9600);

// двигатель 1
pinMode(dirpin1, OUTPUT); //направление
pinMode(steppin1, OUTPUT);//шаг
//pinMode(en1, OUTPUT);

digitalWrite(dirpin1, LOW); // направление
digitalWrite(steppin1, LOW); // отключаем 
//digitalWrite(en1, HIGH); // отключаем удержание 
 
pinMode(mot1plus, INPUT_PULLUP); 
pinMode(mot1minus, INPUT_PULLUP); 

}
//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

void loop() {
 
  
    // двигатель 1    
  if ( digitalRead(mot1plus)== HIGH ) //крутим вперёд
 {
    //   digitalWrite(en1, LOW); // включаем удержание
       digitalWrite(dirpin1, HIGH); // Устанавливаем направление вперёд

       digitalWrite(steppin1, HIGH);
       delayMicroseconds(imp);
       digitalWrite(steppin1, LOW); // В этих двух строках LOW и HIGH дается команда шаговому двигателю двигаться
    
       delay(spd1); //скорость
    //   digitalWrite(en1, HIGH); // отключаем удержание
   
 }
 
  if ( digitalRead(mot1minus)== HIGH ) //крутим назад
 {
    //   digitalWrite(en1, LOW); // включаем удержание
       digitalWrite(dirpin1, LOW); // Устанавливаем направление назад

       digitalWrite(steppin1, HIGH);
       delayMicroseconds(imp);
       digitalWrite(steppin1, LOW); // В этих двух строках LOW и HIGH дается команда шаговому двигателю двигаться
    
       delay(spd1); //скорость
    //   digitalWrite(en1, HIGH); // отключаем удержание
   
 }
 
  
} //КОНЕЦ ПРОГРАММЫ

 

b707
Offline
Зарегистрирован: 26.05.2017

у вас по второй программе ни один мотор крутится не должен, потому что при отпущенных кнопках вы постоянно делаете один шаг вперед и один назад

В общем, пишите четко. что вы хотите от программы. Можно общаться по почте ded собака cur-ex.ru

sadman41
Offline
Зарегистрирован: 19.10.2016

b707 пишет:

В общем, пишите четко. что вы хотите от программы. Можно общаться по почте ded собака cur-ex.ru

Странно, да - http://arduino.ru/forum/ishchu-ispolnitelya/arduino-shagovyi-dvigatel ?

Ridikxx
Offline
Зарегистрирован: 05.05.2016

Это мой второй пост. 

Ridikxx
Offline
Зарегистрирован: 05.05.2016

Пока нет результата по нему. Даже двигатель не могу нормально запустить

sadman41
Offline
Зарегистрирован: 19.10.2016

Удивительно. Там дел на полдня и исполнитель нашёлся, как написано в последнем посте.

b707
Offline
Зарегистрирован: 26.05.2017

sadman41 пишет:

Удивительно. Там дел на полдня и исполнитель нашёлся, как написано в последнем посте.

наверно код #4 написал :)

Ridikxx
Offline
Зарегистрирован: 05.05.2016

Человек нашелся. Вчера пол дня провозились, так и не смогли запустить двигатель. Сейчас я ему пишу, но ответа нет. Возможно он на работе. Я решил время не терять , а попробовать запустить двигатель. А дальше, все норм будет, то человек продолжит писать программу.

sadman41
Offline
Зарегистрирован: 19.10.2016

Если на первом скетче оба мотора работают, значит вопрос о том, почему прошивка не работает, нужно обратить к исполнителю, а не к общественности. Я так думаю. 

b707
Offline
Зарегистрирован: 26.05.2017

Ridikxx пишет:

А дальше, все норм будет, то человек продолжит писать программу.

код из сообщения #4 этот "человек" написал?

b707
Offline
Зарегистрирован: 26.05.2017

sadman41 пишет:

Если на первом скетче оба мотора работают, значит вопрос о том, почему его прошивка не работает, нужно обратить к исполнителю, а не к общественности. Я так думаю. 

Поддерживаю. В принципе, пол-суток молчания - это вообще ни о чем. Мало ли какие обстоятельства у человека. Некрасиво сразу бежать жаловаться на форум

Ridikxx
Offline
Зарегистрирован: 05.05.2016

Да

Ridikxx
Offline
Зарегистрирован: 05.05.2016

Я не забираю его хлеб. Я пытаюсь быстрее найти проблему. Опла остается неизменной

Ridikxx
Offline
Зарегистрирован: 05.05.2016

.

Ridikxx
Offline
Зарегистрирован: 05.05.2016

 

код из сообщения #4 этот "человек" написал?

[/quote]

Да

sadman41
Offline
Зарегистрирован: 19.10.2016

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

b707
Offline
Зарегистрирован: 26.05.2017

Ridikxx пишет:

b707 пишет:

код из сообщения #4 этот "человек" написал?

Да

мдя... без комментариев.

Я вам внес в этот код две незначительные правки - если заработает, отпишитесь. Но дальше, как я уже сказал - вам следует решать вопросы с тем, с кем вы уже начали работу.

Ridikxx
Offline
Зарегистрирован: 05.05.2016

Всем спасибо. Программа заработала не без добрых людей. 

xDriver
xDriver аватар
Offline
Зарегистрирован: 14.08.2015

кто вам код #4 писал ?

хочется знать наших героев .

b707
Offline
Зарегистрирован: 26.05.2017

xDriver пишет:

кто вам код #4 писал ?

хочется знать наших героев .

причем "полдня бился" над этим кодом :)

 

karamzin01
Offline
Зарегистрирован: 08.03.2018

Р е а л и з у е м о - maslachenko767@mail.ru , консультации, подбор компонентов бесплатно, гарантии