A4988 и Arduino | 04s.ru

A4988 и Arduino

Описание

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 голос)


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

Обсуждение статьи: 14 коментарий
"A4988 и Arduino"

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

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

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

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

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

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

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

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

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

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

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

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