Arduino Pro Mini как тестер драйверов ШД

Контроллеры, драйверы, датчики, управляющие устройства.
tecnocat
Опытный
Сообщения: 101
Зарегистрирован: 09 июн 2014, 08:07
Репутация: 39
Контактная информация:

Arduino Pro Mini как тестер драйверов ШД

Сообщение tecnocat »

Собираю станок из готовых компонент, но понадобилось проверить драйвера шаговых двигателей - под рукой был Arduino Pro Mini,
накидал для него простенький скетч который шагает 2000 импульсов туда и обратно - подключив к драйверу можно и ток отстроить и микрошаг.
Сам скетч основан на Blink :)

Код: Выделить всё

const int pulsePin =  12;      // Вывод импульсов STEP
const int dirPin =  13;      // Вывод импульсов DIR

int pulseState = LOW;           // Начальное значение STEP
int dirState = LOW;             // Начальное значение DIR

unsigned long previousMillis = 0;        
unsigned long count = 0;        
const long interval = 1;           

void setup() {
  pinMode(pulsePin, OUTPUT);
  pinMode(dirPin, OUTPUT);
}

void loop()
{
  unsigned long currentMillis = millis();
 
  if(currentMillis - previousMillis >= interval) {
    previousMillis = currentMillis;   
    if (pulseState == LOW)
      pulseState = HIGH;
    else
      pulseState = LOW;
     count++;
    if (count>2000){
      count=0;
      if (dirState == LOW)
        dirState = HIGH;
      else
        dirState = LOW;
        
    }
    digitalWrite(pulsePin, pulseState);
    digitalWrite(dirPin, dirState);
  }
}
Может кому и пригодится ;)
Kopyloff
Мастер
Сообщения: 387
Зарегистрирован: 28 мар 2013, 07:40
Репутация: 117
Настоящее имя: Сергей
Откуда: Первоуральск
Контактная информация:

Re: Arduino Pro Mini как тестер драйверов ШД

Сообщение Kopyloff »

А если ШД не вращается - как определить - драйвер это неисправен или ШД? Может с выходов драйвера сигналы на вход ардуины завести и мониторить - правильно ли импульсы идут?
Kopyloff
Мастер
Сообщения: 387
Зарегистрирован: 28 мар 2013, 07:40
Репутация: 117
Настоящее имя: Сергей
Откуда: Первоуральск
Контактная информация:

Re: Arduino Pro Mini как тестер драйверов ШД

Сообщение Kopyloff »

А вообще интересно - как ведёт себя ШД если с полного хода зареверсить его? Без рамп разгона/торможения? Не пропускает шаги? Не срывается? Или в драйверах рампы организованы?
Noob
Кандидат
Сообщения: 95
Зарегистрирован: 26 ноя 2014, 10:17
Репутация: 26
Контактная информация:

Re: Arduino Pro Mini как тестер драйверов ШД

Сообщение Noob »

Зачем сюда пихать это непотребство? Для тестирования драйверов выше крыши энкодер, 2 конденсатора, 2 резистора и источник питания 5В
Kopyloff
Мастер
Сообщения: 387
Зарегистрирован: 28 мар 2013, 07:40
Репутация: 117
Настоящее имя: Сергей
Откуда: Первоуральск
Контактная информация:

Re: Arduino Pro Mini как тестер драйверов ШД

Сообщение Kopyloff »

Какой энкодер имеется в виду? Этот?
EC16-16mm-Low-profile-Rotary-Encoder.jpg (4034 просмотра) <a class='original' href='./download/file.php?id=48159&mode=view' target=_blank>Загрузить оригинал (163.77 КБ)</a>
Noob
Кандидат
Сообщения: 95
Зарегистрирован: 26 ноя 2014, 10:17
Репутация: 26
Контактная информация:

Re: Arduino Pro Mini как тестер драйверов ШД

Сообщение Noob »

Да, их куча разновидностей, но все они формируют 2 сдвинутых по фазе на 90град. импульсов. Один на STEP, другой на DIR.
Аватара пользователя
balomut
Почётный участник
Почётный участник
Сообщения: 889
Зарегистрирован: 06 апр 2015, 10:56
Репутация: 267
Настоящее имя: Олег
Откуда: Поланзбург
Контактная информация:

Re: Arduino Pro Mini как тестер драйверов ШД

Сообщение balomut »

Noob писал(а):Для тестирования драйверов выше крыши энкодер, 2 конденсатора, 2 резистора и источник питания 5В
А схемку ?
Каждый сходит с ума так , как ему нравится !
Kopyloff
Мастер
Сообщения: 387
Зарегистрирован: 28 мар 2013, 07:40
Репутация: 117
Настоящее имя: Сергей
Откуда: Первоуральск
Контактная информация:

Re: Arduino Pro Mini как тестер драйверов ШД

Сообщение Kopyloff »

Т.е. получается реверсивное управление? Т.к. ШД (драйвер) делает шаг при изменении уровня сигнала STEP с низкого на высокий, поэтому вращая в одну сторону сначала приходит сигнал DIR, а через 90 градусов - STEP, ШД крутится в одну сторону. Вращая в обратную сторону - STEP уже изменился а DIR eщё не пришёл, соответственно ШД вращается в другую сторону. Я правильно понимаю?
Если это так - то грамотное и изящное решение получается! +1 :)
Noob
Кандидат
Сообщения: 95
Зарегистрирован: 26 ноя 2014, 10:17
Репутация: 26
Контактная информация:

Re: Arduino Pro Mini как тестер драйверов ШД

Сообщение Noob »

Какгбэ да, крутишь энкодер влево - за ним крутится ШД, вправо - аналогично.

Стробирование DIR идет по фронту STEP(я понятно выразился?) Если на человеческий - то при детектировании фронта STEP драйвер смотрит в каком состоянии DIR 0 или 1 и делает шаг(микрошаг) в нужную сторону.
Kopyloff
Мастер
Сообщения: 387
Зарегистрирован: 28 мар 2013, 07:40
Репутация: 117
Настоящее имя: Сергей
Откуда: Первоуральск
Контактная информация:

Re: Arduino Pro Mini как тестер драйверов ШД

Сообщение Kopyloff »

Один минус только данного решения: у таких энкодеров обычно около 20 имп/оборот. Если драйвер настроен на шаг 1/32, то при повороте энкодера на 1 оборот - ШД не сделает даже полного шага. Глазом, наверное, не заметно даже поворот вала на 1,8 градуса.
tecnocat
Опытный
Сообщения: 101
Зарегистрирован: 09 июн 2014, 08:07
Репутация: 39
Контактная информация:

Re: Arduino Pro Mini как тестер драйверов ШД

Сообщение tecnocat »

Kopyloff писал(а):А если ШД не вращается - как определить - драйвер это неисправен или ШД? Может с выходов драйвера сигналы на вход ардуины завести и мониторить - правильно ли импульсы идут?
В принципе можно сделать такую штуку, но было лень лезть в дебри.
Самый простой выход в этом случае - осциллографом(если есть) ткнуть в выход драйвера и смотреть что происходит.
Если его нет - то мониторинг через вход Ардуинки - самое то.
Kopyloff писал(а):Один минус только данного решения: у таких энкодеров обычно около 20 имп/оборот. Если драйвер настроен на шаг 1/32, то при повороте энкодера на 1 оборот - ШД не сделает даже полного шага. Глазом, наверное, не заметно даже поворот вала на 1,8 градуса.
Полностью согласен - у меня стоит 1/16 и как раз 2000 импульсов хватает для проверки
Noob
Кандидат
Сообщения: 95
Зарегистрирован: 26 ноя 2014, 10:17
Репутация: 26
Контактная информация:

Re: Arduino Pro Mini как тестер драйверов ШД

Сообщение Noob »

Так если речь идет лишь о проверке работоспособности, то кто мешает переключить в режим 1/10 1/8 1/4 ?
Если надо гонять в разных режимах, то скорее всего без чего-то посложнее энкодера уже не обойтись
sser
Кандидат
Сообщения: 51
Зарегистрирован: 07 апр 2014, 11:15
Репутация: 7
Откуда: Н.Нов
Контактная информация:

Re: Arduino Pro Mini как тестер драйверов ШД

Сообщение sser »

Мне этот тестер больше понравился:
https://www.hackster.io/ashleyblack/tb6 ... ter-85a29e
Изображение
Слушайте моё радио http://sser.101.ru
Ответить

Вернуться в «Электроника»