Управление шаговым двигателем с Arduino

Статьи

Устройство для управления роботизированными системами и автоматикой – Arduino – имеет интерфейсы ввода-вывода, а также встроенную программируемую плату. В зависимости от модели Ардуино имеет различное количество устройств ввода-вывода, набор периферии платформы также может отливаться.

Чем больше устройств внешней периферии установлено в составе Ардуины, тем большим функционалом он обладает: USB, Ethernet, GSM, card-reader и другие. Дополнительный аналоговый джойстик позволяет управлять системой более точно. Дополнительная плавность движений организуется при помощи регулировки движения по трем осям.

Аппаратно вычислительная платформа Arduino

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

Модуль управления Motor Shield

Отдельный модуль Motor Shield используется в составе Ардуино для управления шаговым двигателем. В зависимости от модели он поддерживает различные типы силовых установок:

  • Постоянного тока
  • Шаговые двигатели (биполярные и униполярные)
  • Сервоприводы

При помощи этого устройства может быть подключено одновременно несколько силовых установок в различных комбинациях. Разные модели Motor Shield используют различные комбинации. Имейте ввиду, что для соединения Arduino и модуля потребуется отдельный переходник, поскольку штатные разъемы не обеспечивают абсолютной совместимости плат.

Микросхема (например L293D) является драйвером. Для управления силовой установки используется одновременно две микросхемы. Защита по напряжению организована посредствам обратных диодов.

Схема имеет силовую и слаботочную цепи питания. Силовая цепь может быть запитана от внешнего источника (6…24В) или от управляющей платы. Для слаботочной цепи предусматривается питание от стабилизированного источника 5В. Подключение внешнего питания осуществляется при установленном джемпере, в обратном случае может возникнуть замыкание.

Увеличить максимальное пороговое напряжение модуля управления с 25 до 36В возможно при помощи использования в составе микросхемы отдельных конденсаторов.

Программное обеспечение для Arduino

Платформа Ардуино уже имеет штатную библиотеку софта, которая находится в библиотеке Hardware. Тем не менее для работы с Motor Shield существуют дополнительные библиотеки, которые в значительно мере упрощают работу, а также предусматривают поддержку дополнительных режимов работы.

Управление шаговым двигателем постоянного тока с ардуины

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

Выводы агрегата подключаются к Motor Shield и электрической цепи модуля GND.  Количество шагов на оборот и номер канала задается командой Stepper. В зависимости от использования первых двух или третьего и четвертого канала при программировании используется команда 1 и 2 соответственно.

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

Индивидуальная настройка движения ротора программируется командой Step и предусматривает следующий функционал:

  • Задание часа шагов
  • Движение вперед и назад
  • Типы шагов: при помощи одной обмотки, с помощью двух обмоток, чередование режима 1 и 2, микрошаг

Отключение силовой установки осуществляется через команду release.

arduino — идентификация проводки шагового двигателя

спросил

Изменено
1 год, 3 месяца назад

Просмотрено
175 раз

\$\начало группы\$

У меня есть mt-1703hs168a, который должен быть стандартным двигателем с ЧПУ NEMA 17, но я не могу найти, какой из проводов правильно a+ a- b+ b-.

На данный момент с простым кабелем 6pin-4pin я вижу, как двигатель вибрирует, а драйвер сильно нагревается.

Ссылка на цвет катушек в техническом описании, но у меня нет оригинального кабеля, я проверил несколько контактов, которые замыкают вместе, что является признаком «катушки», верно?

Я установил их только на машину для 3D-печати, но никогда не использовал драйвер с Arduino, поэтому я пытаюсь понять, сломан ли драйвер или это просто неправильная проводка.

  • Arduino
  • шаговый двигатель

\$\конечная группа\$

1

\$\начало группы\$

При проверке разъема двигателя вы должны увидеть два контакта с сопротивлением между ними 1,24 Ом. Два других контакта должны показать такое же сопротивление. Между двумя парами должно быть бесконечное сопротивление.

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

Если драйвер нагревается, возможно, с ним что-то не так. Для проверки:

1 — возьмите 6 резисторов, два ватта, 5 Ом. Соедините их, скрутив их выводы вместе, чтобы получились две сборки с 3 резисторами, каждая с 3 резисторами, включенными параллельно.
2 — Подключите эти два пучка резисторов к драйверу, один набор идет от a+ к a-, а другой от b+ к b-.
3 — Подать питание. Резисторы должны сильно греться, но не драйвер. Вы должны увидеть около 3 вольт (технически 2,7) на каждом резисторе. Ступенчатое управление контроллером должно привести к изменению полярности напряжения на резисторах, но не по амплитуде. Только один резистор должен менять полярность за шаг.

Если вы хотите исследовать вещи в течение длительного периода времени, используйте резисторы на 3 или 5 Вт вместо 2-ваттных. Они будут стоить дороже, но прослужат дольше.