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

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



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

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

 


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

Выводы:

  • 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 вольта, По умолчанию разомкнута.

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

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

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

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


Подключение к Arduino:

код из видео.
/// код из видео https://youtu.be/yXoJgDPRips

#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);
}

 


Видео: