Управление шаговым двигателем с помощью Arduino и драйвера A4988

Управление шаговым двигателем с помощью Arduino и драйвера A4988

Если вы планируете создать свой собственный 3D-принтер или станок с ЧПУ, вам нужно будет управлять несколькими шаговыми двигателями. Если использовать для этого только Arduino, то большая часть скетча будет занята кодом управления шаговыми двигателями и не останется много места для чего-то еще.

Данную проблему можно решить, использовав специальный автономный драйвер шагового двигателя — A4988 .

Модуль A4988 может контролировать как скорость, так и направление вращения биполярного шагового двигателя, такого как NEMA 17, использую всего два вывода контроллера.

Вы знаете, как работают шаговые двигатели?

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

  • Последовательность импульсов определяет направление вращения двигателя.
  • Частота импульсов определяет скорость двигателя.
  • Количество импульсов определяет угол поворота.

Микросхема драйвера шагового двигателя A4988

Модуль собран на чипе A4988. Не смотря на свой малый размер (всего 0,8 ″ × 0,6 ″), но обладает хорошими характеристиками.

Драйвер шагового двигателя A4988 имеет высокую выходную мощность (до 35 В и 2 А) и позволяет управлять одним биполярным шаговым двигателем с выходным током до 2 А на катушку, например NEMA 17.

Для удобства работы драйвер имеет встроенный транслятор. Использование транслятора позволило уменьшить количество управляющих контактов до 2, один для управления шагами, а другой для управления направлением вращения.

Драйвер предлагает 5 различных разрешений шага, а именно:

  • полный шаг
  • 1/2 шага
  • 1/4 шага
  • 1/8 шага
  • 1/16 шага

Распиновка драйвера A4988

Драйвер A4988 имеет всего 16 контактов, которые связывают его с внешним миром. Распиновка у A4988 следующая:

распиновка модуля A4988

Давайте ознакомимся со всеми контактами по очереди.

Выводы питания

На самом деле A4988 требует подключения двух источников питания.

Подключение питания к A4988

VDD и GND используется для управления внутренней логической схемой. Напряжение питания должно находиться в пределах от 3 до 5,5 В.

Vmot и GND для обеспечения питания шагового двигателя. Тут напряжение в пределах от 8 до 35 В.

Согласно datasheet, для питания двигателя требуется соответствующий разделительный конденсатор рядом с платой, способный выдерживать ток 4 А.

Предупреждение:

Этот драйвер имеет на плате керамические конденсаторы с низким ESR , что делает его уязвимым для скачков напряжения. В некоторых случаях эти выбросы могут превышать 35 В (максимальное номинальное напряжение A4988), и это может потенциально необратимо повредить плату и даже двигатель.

Один из способов защитить драйвер от таких скачков — подключить электролитический конденсатор емкостью 100 мкФ (или как минимум 47 мкФ) к контактам источника питания двигателя.

Выводы выбора микрошага

Драйвер A4988 допускает использование режима микрошага. Это достигается за счет подачи питания на катушки с промежуточными уровнями тока.

Выводы выбора микрошага

Например, если вы решите управлять шаговым двигателем NEMA 17 с шагом 1,8 градуса (200 шагов на оборот) в режиме 1/4 шага, то двигатель будет выдавать 800 микрошагов на оборот.

Драйвер A4988 имеет три вывода селектора размера шага (разрешения), а именно: MS1, MS2 и MS3. Установив соответствующие логические уровни на эти контакты, мы можем настроить двигатели на одно из пяти ступенчатых разрешений.

Выводы выбора микрошага

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

Выводы управления

Драйвер A4988 имеет два управляющих входа, а именно: STEP и DIR.

Выводы управления A4988

STEP — управляет микрошагом мотора. Каждый высокий импульс, отправляемый на этот вывод, приводит двигатель в действие на количество микрошагов, заданное выводами Microstep Selection (MS1, MS2 и MS3). Чем быстрее импульсы, тем быстрее будет вращаться двигатель.

DIR — управляет направлением вращения двигателя. Если на него подать высокий уровень, то двигатель будет вращается по часовой стрелке, а если низкий — против часовой стрелки.

Если вы просто хотите, чтобы двигатель вращался только в одном направлении, то вы можете соединить вывод DIR непосредственно с VCC или GND соответственно.

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

Выводы управления питанием A4988

A4988 имеет три различных вывода для управления состоянием питания, а именно. EN, RST и SLP.

Выводы управления питанием A4988

EN — вывод включения (0)/ выключения (1) драйвера A4988. По умолчанию на этом выводе установлен низкий уровень, поэтому драйвер всегда включен.

SLP — подача на данный вывод сигнала низкого уровня переводит драйвер в спящий режим, сводя к минимуму потребление энергии. Вы можете использовать это для экономии энергии.

RST — при подаче сигнала низкого уровня все входные данные STEP игнорируются, до тех пор пока не будет установлен высокий уровень. Низкий уровень также сбрасывает драйвер, устанавливая внутренний транслятор в предопределенное состояние Home. Исходное состояние — это в основном начальное положение, с которого запускается двигатель, и оно различается в зависимости от разрешения микрошага.

Если вам не нужно использовать вывод RST, вы можете подключить его к соседнему контакту SLP / SLEEP, чтобы вывести его на высокий уровень и включить драйвер.

Выводы для подключения шагового двигателя

Выходные контакты: 1B, 1A, 2A и 2B.

выходные контакты

К этим выводам можно подключить любой биполярный шаговый двигатель с напряжением питания от 8 до 35 В.

Каждый выходной контакт модуля может обеспечить ток до 2 А. Однако величина тока, подаваемого на двигатель, зависит от источника питания системы, системы охлаждения и настройки ограничения тока.

Система охлаждения — радиатор

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

Даже если микросхема драйвера A4988 имеет максимальный номинальный ток 2 А на катушку, микросхема может подавать только около 1 А на катушку без перегрева.

Для достижения более 1 А на катушку требуется радиатор или другой метод охлаждения.

Система охлаждения - радиатор

Драйвер A4988 обычно поставляется с радиатором. Желательно установить его перед использованием драйвера.

Ограничение тока

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

Ограничение тока

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

Для этого есть два метода:

Способ 1:

В данном случае мы собираемся установить ограничение тока путем измерения напряжения (Vref) на выводе «ref».

  1. Взгляните на техническое описание вашего шагового двигателя. Запишите его номинальный ток. В нашем случае мы используем NEMA 17 200 шагов/об, 12 В 350 мА.
  2. Переведите драйвер в полношаговый режим, оставив три контакта выбора микрошага отключенными.
  3. Удерживайте двигатель в фиксированном положении, не синхронизируя вход STEP.
  4. Во время регулировки измерьте напряжение Vref (один щуп мультиметра на минус питания, а другой к металлическому корпусу потенциометра).
  5. Отрегулируйте напряжение Vref по формуле:

ограничение тока = Vref x 2,5

Например, если ваш двигатель рассчитан на 350mA, вы должны установить опорное напряжение 0,14В.

Ограничение тока - способ 1

Способ 2:

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

  1. Взгляните на техническое описание вашего шагового двигателя. Запишите его номинальный ток. В нашем случае мы используем NEMA 17 200 шагов / оборот, 12 В 350 мА.
  2. Переведите драйвер в полношаговый режим, оставив три контакта выбора микрошага отключенными.
  3. Удерживайте двигатель в фиксированном положении, не синхронизируя вход STEP. Не оставляйте вход STEP висящим в воздухе, подключите его к источнику питания логики (5 В)
  4. Подключите амперметр последовательно с одной из катушек шагового двигателя и измерьте фактический ток.
  5. Возьмите небольшую отвертку и отрегулируйте потенциометр ограничения тока, пока не установите номинальный ток шагового двигателя.

Ограничение тока - способ 2

Подключение драйвера шагового двигателя A4988 к Arduino UNO

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

Подключения довольно простое. Начните с подключения VDD и GND (рядом с VDD) к контактам 5V и минус на Arduino. Входные контакты DIR и STEP подключите к цифровым контактам №2 и №3 на Arduino соответственно. Шаговый двигатель подключите к контактам 2B, 2A, 1A и 1B.

Предупреждение:

Подключение или отключение шагового двигателя при включенном драйвере может привести к его повреждению.

Затем подключите вывод RST к соседнему выводу SLP/SLEEP, чтобы драйвер оставался включенным. Также держите контакты выбора микрошага отключенными, чтобы двигатель работал в полношаговом режиме.

Наконец, подключите источник питания двигателя к контактам VMOT и GND. Не забудьте установить большой развязывающий электролитический конденсатор 100 мкФ на контакты источника питания двигателя, рядом с платой.

Еще:  Причины по которым печка Peugeot 407 не греет

Код Arduino — простой пример

Следующий скетч даст вам полное представление о том, как управлять скоростью и направлением вращения биполярного шагового двигателя с помощью драйвера шагового двигателя A4988, и может служить основой для более практических экспериментов и проектов.

Пояснение к скетчу:

Скетч начинается с определения выводов Arduino, к которым подключены выводы STEP и DIR A4988. Мы также определяем stepsPerRevolution. Установите его в соответствии со спецификациями шагового двигателя.

В разделе setup() кода все контакты управления двигателем объявлены как цифровой выход.

В цикле loop() мы медленно вращаем двигатель по часовой стрелке, а затем быстро вращаем его против часовой стрелки с интервалом в секунду.

Управление направлением вращения: для управления направлением вращения двигателя мы устанавливаем вывод DIR в высокое или низкое положение. Сигнал высокого уровня вращает двигатель по часовой стрелке, а низкого — против часовой стрелки.

Скорость двигателя определяется частотой импульсов, которые мы посылаем на вывод STEP. Чем чаще импульсы, тем быстрее вращается двигатель. Импульсы — это не что иное, как установка высокого уровня, некоторое ожидание, затем установка низкого уровня и снова ожидание. Изменяя задержку между двумя импульсами, вы изменяете частоту этих импульсов и, следовательно, скорость двигателя.

Скетч Arduino — использование библиотеки AccelStepper

Управление шаговым двигателем без библиотеки идеально подходит для простых приложений с одним двигателем. Но если вы хотите управлять несколькими шаговыми двигателями, то вам понадобится библиотека.

Итак, для нашего следующего эксперимента мы будем использовать расширенную библиотеку шаговых двигателей под названием AccelStepper library. Она поддерживает:

  • Ускорение и замедление.
  • Одновременное управление несколькими шаговыми двигателями с независимым шагом для каждого двигателя.

Эта библиотека не включена в IDE Arduino, поэтому вам необходимо сначала установить ее.

Установка библиотеки

Чтобы установить библиотеку, перейдите в Эскиз> Include Library> Manage Libraries… Подождите, пока диспетчер библиотек загрузит индекс библиотек и обновит список установленных библиотек.

Установка библиотеки

Отфильтруйте результаты поиска, набрав «Accelstepper». Щелкните первую запись и выберите «Установить».

Скетч Arduino

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

Пояснение к скетчу:

Мы начинаем с подключения недавно установленной библиотеки AccelStepper.

Определяем выводы Arduino, к которым подключаются выводы STEP и DIR A4988. Устанавливаем motorInterfaceType значение 1. (1 означает внешний шаговый драйвер с выводами Step и Direction).

Затем мы создаем экземпляр библиотеки с именем myStepper.

В функции setup() мы сначала устанавливаем максимальную скорость двигателя 1000. Затем мы устанавливаем коэффициент ускорения для двигателя, чтобы добавить ускорение и замедление к движениям шагового двигателя.

Затем мы устанавливаем обычную скорость 200 и количество шагов, например, 200 (поскольку NEMA 17 совершает 200 шагов за оборот).

В функции loop() мы используем оператор If, чтобы проверить, как далеко двигателю нужно проехать (путем чтения distanceToGo), пока он не достигнет целевой позиции (moveTo). Как только distanceToGo станет равен нулю мы переключаем двигатель в противоположное направление, изменив moveTo на противоположное значение относительно его текущего положения.

Теперь в конце цикла мы вызываем функцию run(). Это самая важная функция, поскольку шаговый двигатель не будет работать, пока эта функция не будет выполнена.

Источник



Драйвер шагового двигателя A4988.

Драйвер шагового двигателя A4988 является электронным устройством, которое заставляет вращаться шаговый двигатель, путем совершение шагов. Данное устройство незаменимо при разработке высокоточных ЧПУ станков и 3D принтеров.

Применение драйвера для шагового двигателя A4988.

Применение драйвера для шагового двигателя A4988.

Для создания высокоточных станков используют шаговые двигатели, которые обладают рядом преимуществ перед коллекторными двигателями:

  • Шаговый двигатель быстро стартует, останавливается и совершает реверс.
  • Высокая точность перемещения и позиционирования.
  • Позволяет позиционировать без применения обратной связи.
  • Большой диапазон изменения скорости.
  • Возможность обеспечивать низкую скорость вращения без применения редуктора.

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

Управляет шаговым двигателем драйвер. Driver с английского языка «водитель». Одним из недорогих драйверов, и в связи с этим достаточно популярным, является драйвер A4988. Модуль A4988 имеет защиту от перегрузки и перегрева. Одним из параметров шаговых двигателей является количество шагов на один оборот 360°. Например, для шаговых двигателей Nema17 это 200 шагов на оборот, т.е 1 шаг равен 1.8°. Драйвер A4988 позволяет увеличить это значение за счёт возможности управления промежуточными шагами и имеет пять режимов микрошага (1(полный), 1/2, 1/4, 1/8 и 1/16).

Технические характеристики A4988

Технические характеристики A4988.

  • напряжение питания: 8-35 v
  • режим деления шага: 1, 1/2, 1/4, 1/8, 1/16
  • логическое напряжение: 3-5.5 В
  • защита от перегрева
  • максимальный фазный ток: — 1 А без радиатора; — 2 А с радиатором
  • габариты драйвера: 20 х 15 х 10 мм;
  • габариты радиатора: 9 х 5 х 9 мм;
  • вес с радиатором: 3 г;
  • вес без радиатора: 2 г

Распиновка драйвера A4988.

Распиновка драйвера A4988.

Драйвер A4988 имеет всего 16 контактов, которые позволяют управлять шаговыми двигателями. Распиновка у A4988 следующая:

Назначение контактов драйвера A4988.

Назначение контактов драйвера A4988.

  • ENABLE – включение/выключение драйвера
  • MS1,MS2,MS3 – контакты для установки микрошага
  • RESET — сброс микросхемы
  • STEP — генерация импульсов для движения двигателей (каждый импульс – шаг), можно регулировать скорость двигателя
  • DIR – установка направления вращения
  • VMOT – питание для двигателя (8 – 35 В)
  • GND – общий
  • 2B, 2A, 1A, 1B – контакты для подключения обмоток двигателя
  • VDD – напряжение питания микросхемы (3.5 –5В)

Выводы выбора микрошага.

Драйвер A4988 допускает использование режима микрошага. Это достигается за счет подачи питания на катушки с промежуточными уровнями тока.

Например, если вы решите управлять шаговым двигателем NEMA 17 с шагом 1,8 градуса (200 шагов на оборот) в режиме 1/4 шага, то двигатель будет выдавать 800 микрошагов на оборот.

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

Драйвер A4988 имеет три вывода селектора размера шага (разрешения), а именно: MS1, MS2 и MS3. Установив соответствующие логические уровни на эти контакты, мы можем настроить двигатели на одно из пятиступенчатых разрешений.

Выводы выбора микрошага драйвер A4988.

Выводы выбора микрошага драйвер A4988.

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

Выводы управления.

Драйвер A4988 имеет два управляющих вывода, а именно: STEP и DIR.

Драйвер A4988 имеет два управляющих вывода, а именно: STEP и DIR.

STEP — управляет микрошагом мотора. Каждыйвысокий импульс, отправляемый на этот вывод, приводит двигатель в действие на количество микрошагов, заданное выводами Microstep Selection (MS1, MS2 и MS3). Чем быстрее импульсы, тем быстрее будет вращаться двигатель.

DIR — управляет направлением вращения двигателя. Если на него подать высокий уровень, то двигатель будет вращаться по часовой стрелке, а если низкий — против часовой стрелки.

Если вы просто хотите, чтобы двигатель вращался только в одном направлении, то вы можете соединить вывод DIR непосредственно с VCC или GND соответственно.

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

Выводы управления питанием A4988.

A4988 имеет три различных вывода для управления состоянием питания, а именно. EN, RST и SLP.

Выводы управления питанием A4988.

EN — вывод включения (0)/ выключения (1) драйвера A4988. По умолчанию на этом выводе установлен низкий уровень, поэтому драйвер всегда включен.

SLP — подача на данный вывод сигнала низкого уровня переводит драйвер в спящий режим, сводя к минимуму потребление энергии. Вы можете использовать этодля экономии энергии.

RST — при подаче сигнала низкого уровня все входные данные STEP игнорируются, до тех пор, пока не будет установлен высокий уровень. Низкий уровень также сбрасывает драйвер, устанавливая внутренний транслятор в предопределенное состояние Home. Исходное состояние — это в основном начальное положение, с которого запускается двигатель, и оно различается в зависимости от разрешения микрошага.

Выводы для подключения шагового двигателя.

Выходные контакты: 1B, 1A, 2A и 2B.

Выводы для подключения шагового двигателя.

К этим выводам можно подключить любой биполярный шаговый двигатель с напряжением питания от 8 до 35 В.

Каждый выходной контакт модуля может обеспечить ток до 2 А. Однако величина тока, подаваемого на двигатель, зависит от источника питания системы, системы охлаждения и настройки ограничения тока.

Система охлаждения — радиатор.

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

Еще:  Назначение байпаса в системе отопления

Система охлаждения — радиатор.

Даже если микросхема драйвера A4988 имеет максимальный номинальный ток 2 А на катушку, микросхема может подавать только около 1 А на катушку без перегрева.

Для достижения более 1 А на катушку требуется радиатор или другой метод охлаждения.

Драйвер A4988 обычно поставляется с радиатором. Желательно установить его перед использованием драйвера.

Ограничение тока.

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

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

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

Расчет и установка ограничещего тока драйвер шагового двигателя A4988.

В данном случае мы собираемся установить ограничение тока путем измерения напряжения (Vref) на выводе «ref».

  • Взгляните на техническое описание вашего шагового двигателя. Запишите его номинальный ток. Для примера расчета будем использовать NEMA 17 200 шагов/об, 12 В 350 мА.
  • Переведите драйвер в полношаговый режим, оставив три контакта выбора микрошага отключенными.
  • Удерживайте двигатель в фиксированном положении, не синхронизируя вход STEP.
  • Во время регулировки измерьте напряжение Vref (один щуп мультиметра на минус питания, а другой к металлическому корпусу потенциометра).
  • Отрегулируйте напряжение Vref по формуле:

Vref = Imax * 8 * (RS)

Imax — ток двигателя;

RS — сопротивление резистора. В моем случае RS = 0,100.

Формула Vref для A4988 изменяется от номинала токочувствительных резисторов. Это два черных прямоугольника на плате драйвера. Обычно подписаны R050 или R100.

Формула Vref для A4988 изменяется от номинала токочувствительных резисторов. Это два черных прямоугольника на плате драйвера. Обычно подписаны R050 или R100.

  • Для 17HS4401 Vref = 1,7 * 8 * 0,100 = 1,36 В.

В связи с тем что рабочий ток двигателя равен 70% от тока удержания. Полученное значение нам нужно умножить на 0,7. В противном случае двигателя в режиме удержания будут сильно греться.

Для 17HS4401 Vref ист. = 1,36*0,7 = 0,952 В.

  • Аналогично можно рассчитать значения дляEM-181

Vref = 1,2 * 8 * 0,100 = 0,96 В

Vrefист. = ,96*0,7 = 0 ,672 В.

Электроника для ЧПУ станков, в которой можно использовать драйвер шагового двигателя A4988.

Драйвер шагового двигателя A4988 можно подключить к микроконтроллеру, например к Arduino, напрямую.

Драйвер шагового двигателя A4988 можно подключить к микроконтроллеру, например к Arduino, напрямую.

Скетч вращения шагового двигателя NEMA 17, драйвер A4988.

Программа для вращения шагового двигателя NEMA 17, драйвер A4988. Сначала мотор совершает полный оборот в одну сторону, потом в другую.

Подробнее о подключении шаговых двигателей к Ardiono смотрите на сайте Ардуино технологии.

Для более простого подключения шагового двигателя к Arduino или другому микроконтроллеру существуют модули. Модули бывают разные, на фото ниже приведен пример двух различных модулей.

Для более простого подключения шагового двигателя к Arduino или другому микроконтроллеру существуют модули.

Распиновку и как подключать модуль драйвера A4988 будем рассматривать в следующей статье.

Использование драйвера A4988 с CNC shield v3 и CNC shield v4.

Драйвер A4988 можно установить на CNC shield v3 и CNC shield v4. CNC shield используются для управления ЧПУ станками и облегчают сборку электроники.

Драйвер A4988 можно установить на CNC shield v3 и CNC shield v4

Данный набор позволяет без пайки собрать электронику для двух осевых, трех осевых, четырех осевых ЧПУ станков, а также для самостоятельной сборки 3D принтеров. При реализации ЧПУ станков данные шилды используются достаточно часто благодаря своей низкой цене и простоте сборки.

Более подробно CNC shield v3 и CNC shield v4

Более подробно CNC shield v3 и CNC shield v4 будем рассматривать в следующих статьях.

Мы еще не рассмотрели использование данных драйверов для создания 3D принтеров на основе Ramps. Но это совсем другая история.

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

Понравился Драйвер шагового двигателя A4988? Не забудь поделиться с друзьями в соц. сетях.

А также подписаться на наш канал на YouTube, вступить в группу Вконтакте, в группу на Facebook.

Источник

Драйвер шагового двигателя A4988. Подключения к Arduino и пример использования

Шаговые двигатели представляют собой электромеханические устройства, задачей которых является преобразование электрических импульсов в перемещение вала двигателя на определенный угол. Достоинствами шаговых двигателей по сравнению с простыми являются:

  • Высокая точность позиционирования и повторяемости — качественные ШД имеют точность не хуже 2,5 % от величины шага, при этом данная ошибка не накапливается при последующих шагах;
  • Шаговый двигатель может быстро стартовать, останавливаться и выполнять реверс;
  • Четкая взаимосвязь угла поворота ротора от количества входных импульсов (в штатных режимах работы) позволяет выполнять позиционирование без применения обратной связи;
  • Шаговые двигатели обеспечивают получение сверхнизких скоростей вращения вала без использования редуктора;
  • Шаговые двигатели работают в широком диапазоне скоростей, поскольку. скорость напрямую зависит от количества входных импульсов.

Шаговые двигатели применяются там, где требуется высокая точность перемещений. Примеры использования – принтеры, факсы и копировальные машины, станки с ЧПУ, 3D-принтеры. Для управления шаговыми двигателями используют специальные устройства – драйверы шаговых двигателей. Популярный драйвер шагового двигателя А4988 (рис. 1) работает от напряжения 8 — 35 В и может обеспечить ток до 1 А на фазу без радиатора (и до 2 A с радиатором). Модуль A4988 имеет защиту от перегрузки и перегрева. Одним из параметров шаговых двигателей является количество шагов на один оборот 360°. Например, для шаговых двигателей Nema17 это 200 шагов на оборот, т.е 1 шаг равен 1.8°. Драйвер A4988 позволяет увеличить это значение за счёт возможности управления промежуточными шагами и имеет пять режимов микрошага (1(полный), 1/2, 1/4, 1/8 и 1/16).

Технические характеристики A4988

  • напряжения питания: 8-35 В
  • режим микрошага: 1, 1/2, 1/4, 1/8, 1/16
  • напряжение логики: 3-5.5 В
  • защита от перегрева
  • максимальный ток на фазу: — 1 А без радиатора; — 2 А с радиатором
  • размер: 20 х 15 мм
  • без радиатора: 2 г

Назначение контактов драйвера A4988

  • ENABLE – включение/выключение драйвера
  • MS1, MS2, MS3 – контакты для установки микрошага
  • RESET — cброс микросхемы
  • STEP — генерация импульсов для движения двигателей (каждый импульс – шаг), можно регулировать скорость двигателя
  • DIR – установка направление вращения
  • VMOT – питание для двигателя (8 – 35 В)
  • GND – общий
  • 2B, 2A, 1A, 1B – для подключения обмоток двигателя
  • VDD – питание микросхемы (3.5 –5В)

Выводы драйвера A4988

Значение микрошага устанавливается комбинацией сигналов на входах MS1, MS2, и MS3. Есть пять вариантов дробления шага

Комбинация значений для выбора микрошага

MS1 MS1 MS1 Дробление шага
1
1 1/2
1 1/4
1 1 1/8
1 1 1 1/16

Для работы в режиме микрошага необходим слабый ток. На модуле A4988 поддерживает тока можно ограничить находящимся на плате потенциометром. Драйвер очень чувствителен к скачкам напряжения по питанию двигателя, поэтому производитель рекомендует устанавливать электролитический конденсатор большой емкости по питанию VMOT для сглаживания скачков.

Внимание ! — Подключение или отключение шагового двигателя при включённом драйвере может привести выходу двигателя из строя.

Подключение драйвера к Arduino

Схема подключения A4988 к плате Arduino

Схема подключения A4988 к плате Arduino

Схема подключения драйвера A4988 для управления биполярным шаговым двигателем показана на рисунке выше. Вывод RESET подключен к выводу SLEEP, чтобы на нем был высокий уровень HIGH. Загрузим на плату Arduino скетч из примера №1, который управляет движением биполярного шагового двигателя с постоянной скоростью на один оборот в одну сторону, затем в другую, и далее в цикле.

Если после загрузки скетча не происходит движения двигателя, проверьте правильность подключения обмоток к выводам драйвера A4988. К выводам 2B и 2A (1A и 1B) подключаются провода двигателя, которые «прозваниваются» тестером.

Второй пример использования

В качестве еще одного примера использования рассмотрим управление дроблением шага и направлением вращения шагового двигателя с платы Arduino. для этого нам потребуются следующие компоненты:

  • Плата Arduino Uno -1;
  • Драйвер A4988 — 1;
  • Шаговый двигатель NEMA17 — 1;
  • Потенциометр 10 кОм — 1;
  • Кнопка — 1;
  • Переключатель 2-х позиционный — 1;
  • Резистор 10 кОм – 3;
  • Провода MF — 20

Соединение деталей по схеме на рисунке ниже

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

Приступим к написанию скетча. Нажатие на кнопку включает/выключает двигатель, подавая сигнал LOW/HIGH на вход ENABLE драйвера A4988. С помощью переключателя выбираем направление вращения двигателя (сигнал с переключателя подается напрямую на вход DIR драйвера A4988). C помощью потенциометра мы выбираем один из режимов микрошага. Содержимое скетча представлено в примере кода №2. двигателя с постоянной скоростью на один оборот в одну сторону, затем в другую, и далее в цикле.

Источник

Обзор драйвера шагового двигателя A4988

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

Сегодня расскажу о драйвере A4988, данный драйвер подойдет тем, кто планирует создать свой собственный 3D-принтер или станок ЧПУ с управлением шаговым двигателям.

Еще:  Стальные радиаторы Zehnder Nova

Технические параметры

► Напряжения питания: от 8 до 35 В
► Установка шага: 1, 1/2, 1/4, 1/8, 1/16
► Напряжение логики: 3 В или 5.5 В
► Защита от перегрева: Есть
► Максимальный ток на фазу: 1 А без радиатора, 2 А с радиатором.
► Габариты модуля: 20 мм х 15 мм х 10 мм
► Габариты радиатора: 9 мм х 5 мм х 9 мм

Общие сведения о драйвере A4988

Основная микросхема модуля это драйвер от Allegro — A4988, которая имеет небольшие размеры (всего 8 мм х 6 мм), хоть микросхема и маленькая, но она может работать с выходным напряжение до 35 В с током до 1 А на катушку без радиатора и до 2 А с радиатором (дополнительным охлаждением). Для управления шаговым двигателем, необходимо всего два управляющих контакта (по сравнению с L298N необходимо четыре), один используется для управления шагами, второй для управления вращения двигателем.
Драйвер позволяет использовать пять вариантов шага, полный шаг, полшага, четверть шага, восьмой шаг и шестнадцатый шаг.

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

Распиновка драйвера A4988:
На драйвере A4988 расположено 16 контактов, назначение каждого можно посмотреть ниже:

Назначение контактов драйвера A4988

EN — включение и выключение модуля (0 — включен, 5 В — выключен).
MS1, MS2 и MS3 — выбор режима микро шаг (смотрите таблицу ниже).
RST — сброс драйвера.
SLP — вывод включения спящего режима, если подтянуть его к низкому состоянию драйвер перейдет в спящий режим.
STEP — управляющий вывод, при каждом положительном импульсе, двигатель делает шаг (в зависимости от настройки микро шага), чем быстрее импульсы, тем быстрее вращаться двигатель.
DIR — управляющий вывод, если подать +5 В двигатель будет вращается по часовой стрелке, а если подать 0 В против часовой стрелки.
VMOT & GND — питание шагового двигателя двигателя от 8 до 35 В (обязательное наличие конденсатора на 100 мкФ ).
2B, 2A, 1B, и 1A — подключение обмоток двигателя.
VDD & GND — питание внутренней логики от 3 В до 5,5 В.

Если не планируете использовать вывод RST необходимо подключить его к выводу SLP, чтобы подтянуть его к питанию, тем самым включить драйвер.

Настройка микрошага
Драйвер A4988 может работать микрошаговом режиме, то есть может подавать питание на катушки с промежуточным уровням. Например, если взять двигатель NEMA17 с шагом 1.8 или 200 оборотов, в режиме 1/4, двигатель будет выдавать 800 шагов за оборот
Дня настройки микрошагов, драйвер A4988 имеет три выхода, а именно MS1, MS2 и MS3. Установив соответствующие логические уровни для этих выводов, можно выбрать режим микрошага.

Настройка микрошага драйвера A4988

Вывода MS1, MS2 и MS3 в микросхеме A4988 подтянуты резистором к земле, поэтому, если не подключать их, двигатель будет работать в режиме полного шага.

Система охлаждения A4988
При интенсивной работе микросхемы A4988 начинает сильно греется и если температура превысит придельные значение, может сгореть. По документации A4988 может работать с током до 2 А на катушку, но на практике микросхема не греется если ток не превышает 1 А на катушку. Поэтому если ток выше 1 А необходимо устанавливать радиатор охлаждения, который идет в комплекте.

Система охлаждения драйвера A4988

Настройка тока A4988
Перед использованием мотора нужно сделать небольшую настройку, необходимо ограничить максимальную величину тока, протекающего через катушки шагового двигателя и ограничить его превышение номинального тока двигателя, регулировка осуществляется с помощью небольшого потенциометра.
Существует два способа настройки:
1. Замерить ток, для этого возьмем амперметр и подключим его в разрыв любой из обмоток (двигатель должен работать в полношаговом режиме), так же, при настройки ток должен составлять 70% от номинального тока двигателя.
2. Расчет значение напряжения Vref, согласно документации на A4988, есть формула I_TripMax = Vref / (8 × Rs), из которой мы можем получить формулу.

Vref = I_TripMax x 8 x Rs

где,
I_TripMax — номинальный ток двигателя
Rs — сопротивление на резисторе.

В моем случаи на драйвере A4988 установлены резисторы Rs = 0,100 Ом (R100), а номинальный ток двигателя 17HS4401 равняется 1,7 А.

Vref = 1,7 х 8 х 0,100 = 1,36 В

Мы рассчитали максимальное значение для двигателя 17HS4401, но при таком напряжение двигатель будет греться в режиме ожидания, необходимо уменьшить это значение на 70%, то есть:

Vref х 0,7 = 0,952 В

Осталось только настроить, берем отвертку и вольтметр, плюсовой шуп вольтметра устанавливаем на потенциометр, а шуп заземления на вывод GND и выставляем нужное значение.

Настройка тока драйвера A4988

Подключение драйвера шагового двигателя A4988 к Arduino UNO

Необходимые детали:
Arduino UNO R3 x 1 шт.
► Драйвер шагового двигателя A4988 x 1 шт.
► Шаговый двигатель 17HS4401 x 1 шт.
► Комплект проводов DuPont 2.54 мм, 20 см x 1 шт.

Подключение:
Теперь, можно приступить к сборке схемы. Первым делом, подключаем VDD и GND к 5 В и GND на Arduino. Контакты DIR и STEP подключим к цифровым контактам 2 и 3 на Arduino. Подключение шагового двигатель к контактам 2B, 2A, 1A и 1B.

Предупреждение: Подключение или отключение шагового двигателя при включенном приводе может привести к его повреждению.

Затем необходимо подключить контакт RST к соседнему контакту SLEEP, чтобы включить драйвер. Так-же контакты выбора микрошага необходимо оставить не подключенными, чтобы работал режим полный микрошаг. Теперь осталось подключить питание двигателя к контактам VMOT и GND, главное не забудьте подключить электролитический конденсатор на 100 мкФ, в противном случаи при скачке напряжение, модуль может выйти из строя.

Подключение драйвера A4988 к Arduino

Программа:
Теперь можно приступки к программной части и начать управлять шаговым двигателем с помощью драйвера A4988, загружайте данный скетч в Arduino.

Источник

Как подключить A4988 к Arduino

A4988 — Это драйвер шагового двигателя, достаточно популярный из-за своей цены и функционала. Часто используется в 3D принтерах или других не больших домашних ЧПУ станках.

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

  • Напряжения питания: 8-35 В
  • Режим микрошага: 1, 1/2, 1/4, 1/8, 1/16
  • Напряжение логики: 3-5.5 В
  • Максимальный ток на фазу: — 1 А без радиатора; — 2 А с радиатором
  • Защита от перегрева и короткого замыкания
  • Размер: 20 на 15 мм

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

  • ENABLE – включение/выключение драйвера
  • MS1, MS2, MS3 – контакты для установки деления шага
  • RESET — cброс микросхемы
  • STEP — Пин для сигналов от контроллера, один импульс один шаг
  • DIR – Если подать на пин +3.3V-5V, то вращение происходит в одну сторону, если там будет 0, то в другую.
  • VMOT – питание для двигателя (8 – 35 В)
  • GND – Земля или минус
  • 2B, 2A, 1A, 1B – для подключения обмоток двигателя
  • VDD – питание микросхемы (3.5 –5В)

Подключение к плате RAMPS 1.4

Обратите внимание, на то, каким образом должен стоять драйвер, неправильное расположение может и скорее всего выведет ваш драйвер из строя. В остальном, подключение не должно вызвать у вас, какие-либо, сложности. Для деления шага на плате предусмотрены джамперы прямо под колодкой драйвера.

Настройка тока двигателя на A4988

На плате драйвера предусмотрен потенциометр для регулировки тока. Для настройки понадобиться мультиметр, для замера напряжения на потенциометре.

Формула Vref для A4988 изменяется от номинала токочувствительных резисторов (Обведены на фото выше). . Обычно подписаны R050 или R100.

Vref = Imax * 8 * (RS)

Imax — максимальный ток двигателя;

RS — сопротивление резистора. В моем случае RS = 0,100.
Для 17HS4401 Vref = 1,7 * 8 * 0,100 = 1,36 В.

Рабочий ток двигателя равен 70% от тока удержания. Умножим полученные значения чтобы двигатель не грелся при простое.

Для 17HS4401 Vref ист. = 1,36*0,7 = 0,952 В.

Подключаем драйвер к микроконтроллеру, включаем и меряем напряжение Vref на драйвере. Если оно не соответствует нужному нам номиналу, а оно скорее всего будет не будет соответствовать, крутим потенциометр в какую то сторону и смотрим что поменялось. Доводим до нужного нам значения и радуемся, ведь ток на драйвере теперь настроен!

Настройка микрошага A4988

Для настройки микрошага на данном модуле, нужно подать напряжение на определенные пины.

На плате Ramps 1.4 предусмотрены специальные джамперы, для переключения микрошага, находятся под колодкой самого драйвера, подписаны как M0, M1, M2 или MS0, MS1, MS2.

Примеры кода

Программа крутит вал сначала в одну сторону, затем в другую.

Так же вы можете прочитать про подключение и настройку драйвера DRV8825, который является приемником этого драйвера на странице «Как подключить DRV8825 к Arduino».

Или приобрести товар на Aliexpress по самой выгодной цене, ссылка.

Источник