Андрей Смирнов
Время чтения: ~8 мин.
Просмотров: 2

Драйвер шагового мотора Pololu на DRV8825 8,2-45В 2,2А

Описание драйвера, характеристики

drv8825.jpg
DRV8825

DRV8825 — Это драйвер шагового двигателя, с током до 2.2А и возможностью делить шаги микрошагом вплоть до 1/32. Драйвер пользуется популярностью из-за того, что рассчитан на хороший ток, хорошо делит шаги и его можно легко установить в в плату RAMPS 1.4.

Питание: от 8.2в — 45в

Микрошаг: 1/2, 1/4, 1/8, 1/16, 1/32

Ток: без радиатора до 1.5А на обмотку и 2.2А с радиатором

Защита: От перегрева, от перегрузки по току

Размеры: 20 х 15 х 10 мм

Как настроить микрошаг на DRV8825

Микрошаг, на этом драйвере, выбирается путем подачи нужных напряжений на пины M0, M1, M2. Ниже я приведу таблицу напряжений для разного деления шага. На пинах должен получаться либо высокий либо низкий уровень напряжения, в частности, можно брать напряжение пинов Arduino 5v и все будет работать как надо.

mikroshag-drv8825.jpg
Наличие перемычек на RAMPS 1.4. Соответственно где есть перемычка там есть 5v

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

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

У каждого радиолюбителя возникает тот момент, когда ему необходимо подключить к своему микроконтроллеру шаговый двигатель. Конечно, скажете вы, в «Интернетах» есть куча схем, готовых библиотек и все уже разжевано давным давно. Однако, когда я решил подключить к своей arduino nano драйвер DRV8825 и полез в интернет за схемкой, то обнаружил, что схем несколько. Если быть точным я нашел их 2.

minimal-wiring-diagram-for-connecting-a-microcontroller-to-a-drv8825.jpg
Минимальная схема подключения драйвера DRV8825
( почему то НЕ РАБОТАЕТ  ) Альтернативная схема подключения DRV8825

Посмотрев несколько статей, устройств, схем, я пришел к выводу, что вторя схема правильная (нет) и растравил плату. Собрав ее, долго думал почему на двигатель не поступает питание. Я менял драйвера как перчатки, но после 4 штук подумал, что дело не может быть в драйверах. Решил подать питание так как показано на первой схеме. И о чудо! Оно живое!

Возможно, только у меня такие драйвера ( или кривые руки ), однако запустилась только первая схема, которую я теперь постоянно и использую.

Возможные проблемы при подключении DRV8825 к Arduino или другому микроконтроллеру.

  1. Используется не правильная схема подключения.
  2. Не правильно настроен ток для двигателя, иногда он выкручен на минимум по умолчанию и поэтому двигатель может не работать. Далее мы это разберем.
  3. Не правильная программа (скетч).
  4. Пины которые вы используете не подходят для программы и не могут выдавать сигнал. Например на Arduino nano пины A6,A7 вообще не могут выдавать сигнал, поэтому проверяйте пины вашего контроллера на совместимость.

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

Как драйвера должны стоят на плате

На фото показано каким образом необходимо ставить драйвера на плате. Перемычки микрошага находятся под самими драйверами и подписаны M0, M1, M2 (иногда ms0, ms1, ms2).

У каждого двигателя свой ток работы. Для того, что-бы он правильно работал, необходимо правильно ограничить ток на плате драйвера. Для этого на платах есть потенциометр.

Настройка Vref drv8825

Для начала нужно рассчитать VRef, делается это очень просто.

Current Limit = Vref * 2

Vref = Current Limit / 2

Например для шагового двигателя 17HS4401: Vref = 1,7 / 2 = 0,85В

Что-бы двигатель не перегревался часто Vref снижают.

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

Отлично! Ток настроен, а драйвер правильно подключен!

Скетч для проверки драйвера шагового двигателя

#include  const int stepsPerRevolution = 200; Stepper myStepper(stepsPerRevolution, 5, 6);              void setup() {   myStepper.setSpeed(60);   Serial.begin(9600); }  void loop() {   Serial.println("clockwise");   myStepper.step(stepsPerRevolution);   delay(500);      Serial.println("counterclockwise");   myStepper.step(-stepsPerRevolution);   delay(500);  }

Кстати купить данный драйвер можно на Aliexpress:

ссылка на товар DRV8825 за примерно 60р

Так же вы можете прочитать про подключение и настройку популярного драйвера a4988 по ссылке.

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

Автор: Mike(admin) от 13-09-2019, 03:55

Шаговый двигатель – это тип двигателя постоянного тока, который работает дискретно и используется повсеместно, от камеры наблюдения до сложных роботов и машин. Шаговый двигатель NEMA 17 имеет угол шага 1,8°, что означает, что для поворота на 360 ° потребуется 200 шагов. Изменяя скорость подачи управляющего сигнала, мы можем легко контролировать скорость двигателя. Шаговый двигатель может работать в различных пошаговых режимах, таких как полный шаг, полшага, Вј шаг путем применения соответствующих логических уровней к контактам шагового модуля. В нашем предыдущем проекте мы контролировали шаговый двигатель 28-BYJ48 с помощью Arduino. 28-BYJ48 имеет относительно более низкий крутящий момент, чем другие шаговые двигатели, такие как NEMA 14, NEMA17.

В этом проекте мы собираемся управлять шаговым двигателем NEMA 17 с помощью Arduino и шагового модуля DRV8825. Мы также будем использовать потенциометр для управления направлением шагового двигателя, чтобы вращать его по часовой стрелке и против часовой стрелки.

Модуль шагового привода или драйвер контролирует работу шагового двигателя. Драйверы шагового двигателя посылают ток на шаговый двигатель через различные фазы. DRV8825 – это модуль микрошагового драйвера, аналогичный модулю A4988. Используется для управления биполярными шаговыми двигателями. Этот модуль управления шаговым двигателем Nema 17 имеет встроенный транслятор, который означает, что он может управлять как скоростью, так и направлением биполярного шагового двигателя, такого как NEMA 17, используя только два контакта, то есть STEP и DIR. Вывод STEP используется для управления шагами, а вывод DIR – для управления направлением вращения.

Драйвер двигателя Nema 17 DRV8825 имеет максимальную выходную мощность 45 В и ± 2,2А. Этот драйвер может управлять шаговым двигателем в шести различных пошаговых режимах, то есть с полным шагом, полушагом, четвертьшагом, одной восьмой шага, одной шестнадцатой шага и одной тридцать второй шага. Вы можете изменить разрешение шага, используя линии микрошага (M0, M1 и M2). Установив соответствующие логические уровни для этих контактов, мы можем установить двигатели на одно из шести шагов разрешения.

Схема подключения шагового двигателя NEMA 17, Arduino, DRV8825 и сопутствующих компонентов приведена на следующем изображении.

Питание шагового двигателя осуществляется от источника питания 12 В, а модуль DRV8825 получает питание от Arduino. Контакты RST и SLEEP оба подключены к 5V от Arduino, чтобы драйвер оставался включенным. Потенциометр подключен к выводу A0 Arduino; он используется для управления направлением двигателя. Если вы поворачиваете потенциометр по часовой стрелке, то шаговый двигатель будет вращаться по часовой стрелке, а если вы поворачиваете потенциометр против часовой стрелки, то он будет вращаться против часовой стрелки. Конденсатор 47 мкФ используется для защиты платы от скачков напряжения. Выводы M0, M1 и M2 оставлены отсоединенными, это означает, что драйвер будет работать в режиме полного шага.

Перед использованием двигателя измените ограничение тока модуля DRV8825 на 350 мА с помощью потенциометра ограничения тока. Вы можете измерить текущий предел с помощью мультиметра. Измерьте ток между двумя точками заземления и потенциометром и отрегулируйте его до требуемого значения.

Полный код для управления Nema 17 с помощью Arduino приведен далее.

<codeclude>  STEPS 200  //#define dirPin 2  //#define stepPin 3  // Определение соединения шагового двигателя и тип интерфейса двигателя. Тип интерфейса двигателя должен быть установлен на 1 при использовании драйвера  Stepper stepper(STEPS, 2, 3);  #define motorInterfaceType 1  int Pval = 0;  int potVal = 0;  void setup() {    // Установим максимальную скорость в шагах в секунду    stepper.setSpeed(800);   // pinMode(stepPin, OUTPUT);   // pinMode(dirPin, OUTPUT);  }  void loop() {       potVal = map(analogRead(A0),0,1024,0,500);    if (potVal>Pval)        stepper.step(10);    if (potVal<pval></codeclude>

В© digitrode.ru

Версия для печати &nbsp&nbsp&nbspБлагодарим Вас за интерес к информационному проекту digitrode.ru. &nbsp&nbsp&nbspЕсли Вы хотите, чтобы интересные и полезные материалы выходили чаще, и было меньше рекламы, &nbsp&nbsp&nbspВы можее поддержать наш проект, пожертвовав любую сумму на его развитие. —> Вернуться2877—> В 

Категория: Микроконтроллеры и микропроцессоры, Статьи

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

Комментарии:

Оставить комментарийЕсли кто не в теме, то это драйверы ШД типа NEMA17 для всяких настольных 3D-принтеров. вот что все обычно пишут:

A4988 стоит примерно $6.80, в то время как аналогичный набор из пяти «сделано в Китае» плат шагового драйвера DRV8825

Смешивание шаговых драйверов A4988 и DRV8825. Да, можно! (протестировано и замечательно работает)

Ещё достоверно не определили, насколько реально маленькие алюминиевые радиаторы, показанные на изображениях выше, влияют на охлаждении микросхем, так как для обоих шаговых драйверов гораздо больше зависимость от правильной разводки печатной платы и припоя площадки контакта (так же как надлежащий обдув воздухом, помните об этом!) для отвода тепла, а не для рассеивания через верхнюю часть корпуса микросхемы. Это потому, что оба шаговых драйвера имеют открытую металлические площадку ‘под’ чипом, который опирается на печатную плату, и это «путь наименьшего сопротивления» для рассеивания тепла. Второй путь рассеивания идет через выводы чипа и в этом аспекте DRV8825 обеспечивает, возможно, немного лучшее рассеивание мощности по сравнению с безвыводным A4988. По моему мнению, рассеивание через вершину микросхемы здесь практически не имеет значения.

Всё это, конечно, цитаты из одной и той же статьи, но тысячи их. Что же это за хрень? У меня есть ТРИ DRV8825 (корпус SOIC-xx) от ТРЁХ разных продаванов, купленные в РАЗНОЕ ВРЕМЯ!!! Они, суки, греются дай боже! Нагрев до обожжённых пальцев за 15 сек!!! При этом пропускают шаги только так!!! Часто гремит в резонансе. Потом пришли 2 A4988 — QFN микрушечка на платке. Она вообще не греется! Ход плавный, никаких намёков на пропуск шагов, мотор пальцами остановить нереально. 1/16 шага — очень плавно, никаких дёрганий. Когда стоит на точке, от движка идёт тихий шелест, как и должно быть, пальцем не свернуть (ну, если очень постараться, то, наверное, можно). Никаких намёков на резонанс! ХЗ, может лично мне попались левые DRV8825, но ввиду вышеизложенных обстоятельств это очень маловероятно. Мой вердикт: хоть A4988 можеть только 1/16 шага, в отличие от 1/32 у DRV8825, но она реально работает, как и должен работать драйвер ШД, и негреется.Используемые источники:

  • https://you-hands.ru/2018/10/07/kak-podklyuchit-drv8825-k-arduino/
  • http://digitrode.ru/computing-devices/mcu_cpu/2250-upravlyaem-shagovym-dvigatelem-s-pomoschyu-arduino-i-drayvera-drv8825.html
  • http://we.easyelectronics.ru/scaldov/esche-odin-post-na-nadoevshuyu-temu-a4988-vs-drv8825.html

Рейтинг автора
5
Подборку подготовил
Максим Уваров
Наш эксперт
Написано статей
171
Ссылка на основную публикацию
Похожие публикации