1 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Step dir драйвер шагового двигателя своими руками

Сигналы управления драйвера ШД: PUL/DIR, STEP/DIR, CW/CCW. Управление шаговыми драйверами DM860H, DM556, TB6600. с Arduino.

Шаговый двигатель это бесколлекторный двигатель, ротор которого вращается не плавно, а шагами (дискретно). Один оборот ротора (360°) состоит из определённого количества шагов. Количество полных шагов в одном обороте указывается в технической документации двигателя.

Например, ротор шагового двигателя 17HS1352-P4130, за один полный шаг, поворачивается на 1,8°. Значит для поворота ротора на 360° двигатель должен совершить 200 полных шагов.

Для совершения одного полного шага на обмотки двигателя поступает серия сигналов от драйвера (как в полношаговом «1», так и в микрошаговых режимах «2», «4», «8», «16»).

С принципом работы шаговых двигателей можно ознакомиться в разделе Wiki — ШД.

Все регулировки выполняются или внешними элементами (резисторами и конденсаторами) или установкой логических уровней на определенных ногах.

1. Установка номинального тока . Регулируется резисторами на ногах 14 и 11 соответственно для обмотки A и B. Включается в разрыв земли моста. С одной стороны — упрощается внутренняя схемотехника (измерение напряжения относительно земли несколько проще), с другой стороны — любой ток, текущий на землю мимо этого резистора не учитывается и приводит к вылетанию транзисторов. К этому вернемся в разделе «Надежность». Поскольку через этот резистор течет весь рабочий ток, то на нем может выделяться до двух ватт тепла. Не забыть про это!

2. Установка рабочего тока . Имеется четыре комбинации, в зависимости от уровней на ножках TQ1 и TQ2 (2 и 1 соответственно). Часто на них ставят джамперы или микропереключатели. Возможны варианты 100%, 75%, 50%, 20% от номинального. Иногда эту группу пинов обзывают Torque control.

3. Частота работы ШИМ (PWM). На самом деле регулировка тока производится отсечкой по достижении установленного значения (chopper-type PWM). Но тем не менее включение и выключение ключей происходит с некоторой частотой, которая, собственно, и задается внешним конденсатором.

4. Режимы микрошага . Выставляются комбинацией уровне на ногах M1 и M2. Возможны варианты — шаг, полушаг, 1/8 шага и 1/16 шага за один импульс STEP. Диаграммы токов, что будут на обмотках, можно глянуть в даташите. Не забываем, что чем мельче шаг, тем меньше усилие на валу двигателя.

5. Decay mode – режим гашения тока. Выставляется, как и рабочий ток, уровнями на ножках Dcy1 и Dcy2 (25 и 24 соответственно). В чем его пафос? Когда ток в обмотке достиг нужного уровня, то ключи моста закрываются. При этом, поскольку обмотка двигателя обладает значительной индуктивностью, ток в обмотке никуда не девается и ищет выход. По умолчанию он рассасывается через паразитные диоды ключей и через внешние диоды, которые обычно ставят для защиты от индуктивных скачков напряжения. Когда мы работаем в режиме шага или полушага, проблем от этого обычно не возникает. Ну рассасывается и ладно. Все равно при следующем шаге подадим обратное напряжение, все нормализуется. А вот в режиме микрошага, нам надо точно соблюдать соотношение токов в обмотках. И может получиться, что ток в обмотках будет спадать не так быстро, как нам надо. Некоторые до 1-2 тысячи шагов в секунду двигатели гоняют. И тут нам на помощь приходит принудительное гашение тока.

Читать еще:  Om600 что за двигатель

Посмотрим на режимы работы транзисторов в мосту:

Charge mode – рабочий режим. Мост открыт, ток в обмотке растет.
Slow mode – когда произошла отсечка по току, то открываются два нижних транзистора. Чтобы было куда деваться току из обмотки. Паразитные диоды в транзисторах обладают неважными характеристиками, поэтому чтобы их не перегружать, открывают транзисторы, которые уже более продуктивно пропускают через себя ток. Катушка получается фактически замкнута сама на себя.
Fast mode – в этом режиме на катушку подается обратное напряжение. В этом случае ток гасится максимально эффективно.

Все эти пляски происходят с частотой ШИМ, то есть Charge-Slow-Fast и опять по кругу. Так вот, настройки decoy mode и определяют, когда включится Fast режим. При установке Slow mode он не используется вообще, при увеличении процентов — включается все ранее.

Смотрим на картинку:

Один период управления ШИМ происходит в течение четырех тактов управляющего генератора (частота которого, как мы помним, задается внешним конденсатором). Соответственно fast mode либо не используется, либо включается в последнем такте (25%), либо в двух последних (50%) или сразу (100%) по достижении установленного тока.

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

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

Код для Arduino управления драйвером A4988 (DRV8825)с использованием библиотеки AccelStepper.

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

AccelStepper library поддерживает.

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

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

Чтобы установить библиотеку, перейдите в «Скетч» -> «Подключить библиотеку» -> «Управление» библиотеками. Подождите, пока диспетчер библиотек загрузит индекс библиотек и обновит список установленных библиотек.

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

Код Arduino с использованием библиотеки AccelStepper.

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

Пояснение к коду:

Подключаем библиотеку AccelStepper.

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

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

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

Читать еще:  4216 двигатель датчик температуры сколько штук

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

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

Понравился Урок 2. Как подключить A4988 (DRV8825) к Arduino? Скетч, библиотека? Не забудь поделиться с друзьями в соц. сетях.

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

Спасибо за внимание!

Технологии начинаются с простого!

Описание драйвера шаговых двигателей SMD‑4.2DIN ver.2

SMD-4.2DIN ver.2 является драйвером шаговых двигателей нового поколения. Драйвер предназначен для управления двух и четырехфазными гибридными шаговыми двигателями с током фазы до 4,2А. Блок предусматривает крепление на DIN рейку, что является удобным для размещения его в условиях производства. Принципиальным отличием от предыдущего исполнения драйвера SMD-4.2 является новая улучшенная схемотехника, дающая возможность подерживать большой крутящий момент двигателя на высоких скоростях.

Благодаря улучшенной конструкции SMD-4.2DIN ver.2 обеспечивает такую динамику, при которой шаговый двигатель разгоняется до скорости более 1000 об/мин за доли секунды и с легкостью достигает рабочих скоростей более 4000 об/мин с поддержанием крутящего момента, достаточного для выполнения полезной работы.

Для случаев работы шагового двигателя с высокоинерционной нагрузкой предусмотрен разъем для подключения внешнего тормозного резистора.

Драйвер SMD-4.2DIN ver.2 предусматривает как импульсное управление положением, так и аналоговое регулирование скорости или угла поворота.

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

Драйвер позволяет дробить шаг двигателя до 1/128, устанавливать ток удержания в процентах от значения рабочего тока.

Габаритные размеры драйвера шаговых двигателей SMD‑4.2DIN ver.2

Схема подключения драйвера шаговых двигателей SMD‑4.2DIN ver.2

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

SMD-4.2DIN ver.2 предусматривает три типа управления шаговым двигателем:

  • Импульсное управление положением внешними сигналами
  • Аналоговый режим управления скоростью
  • Аналоговый режим управления углом поворота

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

В режиме импульсного управления положением есть возможность инверсии сигнала разрешения EN.

Читать еще:  Что такое экологичность двигателя

В режиме аналогового управления предусмотрена возможность задания плавности разгона и торможения.

Драйвер предусматривает два варианта коммутации обмоток шагового двигателя:

  • Токовое регулирование
  • Вольтовое регулирование

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

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

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

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

Поскольку драйвер определяет все, то нам только необходимо на вывод STEP отправить необходимое количество импульсов соответствующее количеству шагов. Вывод модуля DIR используется для определения направления вращения двигателя и может быть установлен как «1» или «0», в зависимости от желаемого направления.

Внутри драйвера находятся MOSFET-транзисторы, которые позволяют драйверу подавать на катушку ток до 2 А.

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

Таким образом, у нас есть полный шаг, 1/2, 1/4, 1/8, 1/16 шага. При использовании этой функции мы должны иметь в виду, что в этом случае двигатель будет выполнять больше шагов за один оборот, и это также займет больше времени.

Для выбора функции микро-шага на выводы MS1, MS2, MS3 необходимо подать сигнал в соответствии с желаемым микро-шагом согласно следующей таблице:

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

Установка рабочего тока обмотки

При помощи DIP-переключателей SW1, SW2, SW3 можно выставлять целевой рабочий ток обмотки (RMS). Значение тока обмотки также можно управнавливать при помощи программного обеспечения, все три переключателя при этом выставляются в положение OFF.

ТОК (пиковый), АмперТОК (RMS), АмперSW1SW2SW3
DEFAULTDEFAULTOFFOFFOFF
2.21.6OFFOFFOFF
3.22.3OFFONOFF
4.23.2ONONOFF
5.23.7OFFOFFON
6.34.4ONOFFON
7.25.2OFFONON
8.25.9ONONON
голоса
Рейтинг статьи
Ссылка на основную публикацию
Adblock
detector