Перейти к содержимому

04s.ru

Только полезные вещи…

Меню
  • Главная
  • Объявления
    • Добавить объявления
    • Мои объявления
  • Полезные ресурсы
    • Другое
  • Генератор QR
  • Карта сайта
  • Контакты
Меню

A4988 и Arduino

Опубликовано в 27.05.202001.03.2021 от Lis

Описание

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

A4988

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

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

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

Подключение 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

Правильное расположение драйверов DRV8825 и A4988 на плате Ramps

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

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

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

Расположение токоограничительных резисторов и потенциометра Vref

Формула 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

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

Таблица делителя шага A4988

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

Примеры кода

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

// пины для подключения контактов STEP, DIR
#define STEP_PIN 3
#define DIR_PIN 2

// задержка между шагами двигателя
#define DELAY_STEPS 10

// количество шагов на 1 оборот
#define STEP_ROUND 200

void setup() {
	// режим для STEP и DIR как OUTPUT
	pinMode(STEP_PIN, OUTPUT);
	pinMode(DIR_PIN, OUTPUT);
	// начальные значения
	digitalWrite(STEP_PIN, 1);
	digitalWrite(DIR_PIN, 0);
}

void loop() {
	// Крутимся в одну сторону
	digitalWrite(DIR_PIN, HIGH);
	//  1 оборот
	for(int i = 0; i < STEP_ROUND; i++) {
		digitalWrite(STEP_PIN, HIGH);
		delay(DELAY_STEPS);
		digitalWrite(STEP_PIN, LOW);
		delay(DELAY_STEPS);
	}
	// Затем меняем направление и крутимся в другую сторону
	digitalWrite(DIR_PIN, LOW);
	// сделать 1 оборот
	for(int i = 0; i < STEP_ROUND; i++) {
		digitalWrite(STEP_PIN, HIGH);
		delay(DELAY_STEPS);
		digitalWrite(STEP_PIN, LOW);
		delay(DELAY_STEPS);
	}
}
https://www.youtube.com/watch?v=VFbfA0wHO6I
5/5 - (1 голос)
Просмотров: 18 838


Место для продажи

14 комментариев для “A4988 и Arduino”

  1. Юлия:
    31.07.2020 в 01:09

    Давнешенько выискивал эту публикацию. Выискал на выше расположенном вебсайте. Благодарствую

    Ответить
  2. Маргарита:
    30.07.2020 в 03:53

    Указанная выше публикация оказала на мою сущность мощное ощущеньице. Поделюсь обязательно с приятелями

    Ответить
  3. Виктор:
    29.07.2020 в 17:48

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

    Ответить
  4. Карина:
    29.07.2020 в 09:30

    Безгранично полезная информация. К месту поразмыслить.

    Ответить
  5. Михаил:
    14.07.2020 в 23:36

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

    Ответить
  6. Артур:
    04.07.2020 в 04:58

    Кроме того, есть вариант использования микросхем L293D. Но A4988 считается более подходящим вариантом, так что на нем и остановились во избежание потенциальных проблем.

    Ответить
  7. Алексей:
    12.06.2020 в 13:51

    Используйте библиотеку AcclStepper вместо голого кода Arduino. Шаговый двигатель с использованием этой библиотеки будет работать без лишних вибраций.

    Ответить
    1. Lis:
      12.06.2020 в 18:38

      Алексей спасибо за совет…

      Ответить
  8. Алексей:
    11.06.2020 в 12:48

    Перед подключением Nema 17, за плечами был определенный опыт работы с шаговиком yj48 ( даташит ). Управлялся он и с помощью Arduino, и с помощью Raspberry pi, проблем не возникало. Основная прелесть этого двигателя — цена (около 3 долларов в Китае). Причем, за эту сумму вы приобретаете двигатель с драйвером в комплекте. Согласитесь, такое можно даже и спалить, не особо сожалея о содеянном.

    Ответить
  9. Максим:
    11.06.2020 в 01:47

    Второй код для Arduino для обеспечения плавного вращения двигателя. Используется библиотека AccelStepper library .

    Ответить
  10. Елена:
    07.06.2020 в 13:19

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

    Ответить
    1. Lis:
      07.06.2020 в 17:35

      Елена спасибо за более подробный и полезный совет.

      Ответить
  11. Софья:
    28.05.2020 в 22:50

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

    Ответить
    1. Lis:
      29.05.2020 в 11:35

      Полностью с Софьей согласен…

      Ответить

Добавить комментарий Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Свежие записи

  • Авто выключатель для мультиметра
  • Индикатор разряда аккумулятора
  • Схема индикатора заряда аккумулятора на светодиодах
  • Linux mint восстановление системы с помощью LiveCD/USB
  • Схема стабилизатора тока на LM358

Популярные записи

  • Металлоискатель пират своими руками подробная инструкция (67 712)
  • Авторегулировка диаметра филамента (66 008)
  • A4988 и Arduino (18 838)
  • DT9205a — ремонт мультиметра (15 624)
  • ШИМ-регулятор 220 В ( IGBT ) (14 138)
  • Пробник для проверки оптопар (13 613)
  • ШИМ-регулятор на Arduino (12 020)
  • Шим регулятор на NE555 (11 073)
  • Схема стабилизатора тока на LM358 (10 758)
  • Linux mint восстановление системы с помощью LiveCD/USB (10 409)

Разделы

3D (1) Android (1) Arduino (14) CCleaner (1) Controller (1) DT9205a (2) LG (1) Linux (3) LM339 (1) LM358 (1) NE555 (9) NTC 100K (2) Power Bank (2) Server (4) SSD (1) SSL (1) Ubuntu (3) USB (2) VPS (1) Windows (8) АКБ (6) Авто (18) Асинхронный (3) Вирусы (1) Датчик (2) Двигатель (5) Индикатор (2) Металлоискатель (2) Мультиметр (2) Оптопара (1) Пластик (2) Полезное (18) Примочка (1) Разное (18) Реле (1) Сабвуфер (2) Симистор (1) Система (12) Схемы (36) Телевизоры (1) Телефон (1) Термистор (2) Тиристор (1) Тюнинг (5) Электроника (57)

Коментарии

  • Lis к записи ШИМ-регулятор 220 В ( IGBT )
  • Hdns Klos к записи ШИМ-регулятор 220 В ( IGBT )
  • Lis к записи Схема индикатора заряда аккумулятора на светодиодах
  • Lis к записи Индикатор разряда аккумулятора
  • Lis к записи Авто выключатель для мультиметра

Форма подписки

Подпишитесь на блог и получайте новые статьи!



QR код

QR код

Telegram канал

И смех и Грех — Тут весело и Интересно))
Красиво, но не факт… — Поделки на лазерном гравёре.