Шаговый двигатель NEMA 17 FL42STH47-1684 B

Шаговый двигатель NEMA 17 FL42STH47-1684 B

Драйвер шагового двигателя EasyDriver A3967

драйвер шагового двигателя EasyDriver V4.4

Плата arduino Uno

Плата arduino Uno

Драйвер шагового двигателя EasyDriver A3967

Драйвер биполярного шагового двигателя с поддержкой «микрошага», разработанный товарищами из www.schmalzhaus.com, базируется на микросхеме A3967.

Характеристики:

  • Максимальный ток: 750 мА на одну фазу.
  • Напряжение привода двигателя: от 7В до 30В.
  • Возможность ограничения выходного тока: от 150мА до 750мА
  • 1/8, 1/4 и 1/2  микрошаговые режимы работы.
  • Управление 3 и 5 вольтовой логикой.
  • Не требует отдельного питания логической части, для этого на плате находится стабилизатор LM317.
  • Драйвер не поддерживает униполярные двигатели.

Назначение элементов и выводов драйвера EasyDriver A3967

Назначение элементов и выводов драйвера EasyDriver A3967

Выводы:

  • MOTOR и выходы A и B — Подключение обмоток шагового двигателя. (A+ A- B+ B-)
  • PFD — Percent Fast Decay Input, тонкие настройки ШИМ драйвера микросхемы, скорость нарастания ШИМ.
  • RST — Сброс драйвера, при низком уровне сбрасывает внутренний транслятор и отключает все выходные драйверы.
  • ENABLE — При низком уровне, отключатся все выходы драйвера.
  • MS1 и MS2 — Управление микрошаговым режимом. По умолчанию входы притянуты к питанию и выставлен шаг 1/8. Для установки полного шага, на оба входа нужно подать низкий уровень, для полушага только на MS2, для 1/4 шага, только на MS1. (полный шаг (0,0), полушаг (1,0), шаг 1/4 (0,1) и шаг 1/8 (1,1).
  • PWR IN и вход M+ — Напряжение питания драйвера и моторов, также это напряжение подается на стабилизатор LM317 для питания логической части микросхемы.
  • +5V — Выход напряжения со стабилизатора LM317, можно использовать для питания Arduino
  • SLP — Сон, если подать низкий уровень, будет отключена внутренняя схема для минимизации потребления энергии.
  • STEP — Шаг, При переходе с низкого уровня на высокий, драйвер делает один шаг или микрошаг, если драйвер работает в микрошаговом режиме.
  • DIR — Состояние входа (высокий\низкий) определяет направление вращения двигателя.
  • GND — масса, все массы соединены.

Элементы:

  • Потенциометр CUR ADJ — Установка ограничения максимального тока подаваемого на двигатель, от 150 мА до 750 мА.
  • Перемычка APWR — отключает стабилизатор LM317 от цепи питания 5 вольт. По умолчанию соединена.
  • Перемычка 3/5 — Установка напряжения на выходе LM317, 5 или 3.3 вольта, По умолчанию разомкнута.

Кратко про особенности микрошагового режима драйвера A3967

Кратко про особенности микрошагового режима драйвера A3967
Кратко про особенности микрошагового режима драйвера A3967

Сверху графики работы драйвера в полношаговом и микошаговом режиме.

В полношагом режиме, драйвер запитывает обмотки двигателя полным током, а направление тока в обмотках двигателя изменяется с каждым шагом. Считается штатным режим работы двигателя. Главное достоинство, простота реализации. Из недостатков, двигатель сильнее подвержен вибрации и резонирует на низких скоростях.

В микрошаговом режиме происходит деление шага, в данном случаи на 8, с каждым шагом обмотки запитаны не полным током, а уровнем изменяемым по синусоидальному закону. Такой метод дает возможность фиксировать вал в промежуточных положениях между шагами, увеличить количество шагов и точность позиционирования вала двигателя, уменьшает вибрацию двигателя, особенно на низких скоростях, но требует применения специализированных драйверов.

Подключение шагового двигателя NEMA 17 FL42STH47-1684 B

Шаговый двигатель NEMA 17 FL42STH47-1684 B

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

блок питания системного блока компьютера

Подключение шагового двигателя к ардуино

Схема одключения драйвера шагового драйвера EasyDriver V4.4 и шагового двигателя NEMA 17 FL42STH47-1684 B к плате ардуино Uno
Подключение шагового двигателя к ардуино
Подключение шагового двигателя к ардуино
Подключение шагового двигателя к ардуино

Код

#define STEP 7
#define DIR 6

void setup() {
  pinMode(STEP, OUTPUT);
  pinMode(DIR, OUTPUT);
}

void stepper(unsigned int Step, int Speed, boolean Set) {
  digitalWrite(DIR, Set);    
  for (int i = 0; i < Step; i++){
     digitalWrite(STEP, HIGH);
     delayMicroseconds(Speed);
     digitalWrite(STEP, LOW);
     delayMicroseconds(Speed);
  }   
}

void loop(){
  stepper(500, 500, 1);
  stepper(1000, 200, 0); 
  stepper(500, 2000, 1); 
  stepper(100, 6000, 0);
}

Видео