Avtoargon.ru

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

Рекомендации по выбору ШИМ-драйвера биполярного шагового двигателя

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

Первый параметр, на который стоит обратить внимание – это сила тока, которую может обеспечить драйвер. Как правило, она регулируется в достаточно широких пределах, но стоит драйвер нужно выбирать такой, который может выдавать ток, равный току фазы выбранного шагового двигателя. Желательно, конечно, чтобы максимальная сила тока драйвера была еще на 15-40% больше (в нашем случае 5,6А*1,15=6,44А – выбираем драйвер, не мене 6,44А – это 8.2 А). С одной стороны, это даст запас на случай, если вы захотите получить больший момент от мотора, или в будущем поставите более мощный двигатель, с другой – не будет излишней: производители иногда «подгоняют» номиналы радиоэлектронных компонентов к тому или иному виду/размеру двигателей, поэтому слишком мощный драйвер на 8 А, управляющий двигателем NEMA 17 (42 мм), может, к примеру, вызывать излишние вибрации.

Второй момент – это напряжение питания. Весьма важный и неоднозначный параметр. Его влияние достаточно многогранно – напряжение питания влияет на динамику(момент на высоких оборотах), вибрации, нагрев двигателя и драйвера. Обычно максимальное напряжение питания драйвера примерно равно максимальному току I , умноженному на 8-10. Если максимальное указанное напряжение питания драйера резко отличается от данных величин – стоит дополнительно поинтересоваться, в чем причина такой разницы. Чем больше индуктивность двигателя — тем большее напряжение требуется для драйвера. Существует эмпирическая формула U = 32 * sqrt(L)=32*sqrt(9,2)=97В, но сам производитель этой фирмы шаговых двигателей рекомендует напряжение не более 85в!

где L — индуктивность обмотки шагового двигателя (9,2мГн). Величина U (97В), получаемая по этой формуле, весьма приблизительная, но она позволяет ориентироваться при выборе драйвера: U должно примерно равняться максимальному значению напряжения питания драйвера. Выходит, что U не более 85В, то по данному критерию проходят драйверы LEADSHINE AM882, LEADSHINE EM806.

Третий аспект – наличие опторазвязанных входов. Практически во всех драйверах и контроллерах, выпускаемых на заводах, тем более брендовых, опторазвязка стоит обязательно, ведь драйвер – устройство силовой электроники, и пробой ключа может привести к мощному импульсу на кабелях, по которым подаются управляющие сигналы, и выгоранию дорогостоящего ЧПУ-контроллера. Однако, приобретая незнакомую модель, стоит дополнительно поинтересоваться наличием оптоизоляции входов и выходов.

Четвертый аспект – наличие механизмов подавления резонанса. Резонанс шагового двигателя – явление, которое проявляется всегда, разница только в резонансной частоте, которая прежде всего зависит от момента инерции нагрузки, напряжения питания драйвера и установленной силы тока фазы мотора. При возникновении резонанса шаговый двигатель начинает вибрировать и терять крутящий момент, вплоть до полной остановки вала. Для подавления резонанса используется микрошаг и – встроенные алгоритмы компенсации резонанса. Колеблющийся в резонансе ротор шагового двигателя порождает микроколебания ЭДС индукции в обмотках, и по их характеру и амплитуде драйвер определяет, есть ли резонанс и насколько он силен. В зависимости от полученных данных драйвер несколько смещает шаги двигателя во времени относительно друг друга – такая искусственная неравномерность нивелирует резонанс. Механизм подавления резонанса встроен во все драйверы Leadshine серий DM, AM и EM. Драйверы с подавлением резонанса – высококачественные драйверы, и если бюджет позволяет – лучше брать именно такие. Впрочем, и без этого механизма драйвер остается вполне рабочим устройством – основная масса проданных драйверов – без компенсации резонанса, и тем не менее десятки тысяч станков без проблем работают по всему миру и успешно выполняют свои задачи.

Пятый аспект – протокольная часть. Надо убедиться, что драйвер работает по нужному вам протоколу, а уровни входных сигналов совместимы с требуемыми Вам логическими уровнями. Эта проверка идет пятым пунктом, потому что за редким исключением подавляющее число драйверов работает по протоколу STEP/DIR/ENABLE и совместимо с уровнем сигналов 0..5 В, вам надо только лишь на всякий случай убедиться.

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

Седьмой аспект – наличие микрошаговых режимов. Сейчас практически в каждом драйвере есть множество микрошаговых режимов. Однако, из каждого правила есть исключения, и в драйверах Geckodrive режим только один – деления шага 1/10. Мотивируется это тем, что большее деление не приносит большей точности, а значит, в нем нет необходимости. Однако, практика показывает, что микрошаг полезен вовсе не повышением дискретности позиционирования или точности, а тем, что чем больше деление шага, тем плавней движение вала мотора и меньше резонанс. Соответственно, при прочих равных условиях стоит использовать деление чем больше, тем лучше. Максимально допустимое деление шага будет определяться не только встроенными в драйвер таблицами Брадиса, но и максимальной частотой входных сигналов – так, для драйвера со входной частотой 100 кГц нет смысла использовать деление 1/256, так как скорость вращения будет ограничена 100 000 / (200 * 256) * 60 = 117 об/мин, что для шагового двигателя очень мало. Кроме того, персональный комьютер тоже с трудом сможет генерировать сигналы с частотой более 100 кГц. Если вы не планируете использовать аппаратный ЧПУ контроллер, то 100 кГц скорее всего будет Вашим потолком, что соответствует делению 1/32.

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

Девятый, и самый важный аспект – качество драйвера. Оно практически не связано с характеристиками и т.п. На рынке существует множество предложений, и иногда характеристики драйверов двух производителей совпадают практически до запятой, а установив их по очереди на станок, становится ясно, что один из производителей явно занимается не своим делом, и в производстве недорогих утюгов ему больше повезет. Определить уровень драйвера заранее по каким-то косвенным данным новичку достаточно трудно. Можно попробовать ориентироваться на количество интеллектуальных функций, таких как «stall detect» или подавление резонанса, а также воспользоваться проверенным способом — ориентироваться на бренды.

В разработке электроники для шаговых двигателей давно удерживает пальму первенства корпорация Leadshine.

ЦИФРОВОЙ НАСТРАИВАЕМЫЙ ДРАЙВЕР ШАГОВОГО ДВИГАТЕЛЯ LEADSHINE EM806

Драйвер базируется на цифровом сигнальном процессоре и сочетает в себе лучшие достижения в области управления шаговыми двигателями. В данном контроллере реализованы самые передовые алгоритмы управления током обмоток. Особая технология Multistepping позволяет добиться максимально плавного движения вала при любом микрошаге, в том числе в режиме полного шага. Большой радиатор обеспечивает надежный теплоотвод с силовых ключей. Высокое напряжение питание позволяет использовать EM806 для двигателей практически любого размера. На текущий момент EM806 — один из самых мощных и производительных драйверов шаговых двигателей в мире.

ТЕХНИЧЕСКИЕ ХАРАКТЕРИСТИКИ

Ток фазы0.35..8.2 А
Напряжение питания24..80 Vdc
Частота входного сигналадо 200 кГц
Деление шагаДо 1:512
Размеры139х151х97 мм
ПротоколSTEP/DIR

Уникальные функции драйверов шаговых двигателей Leadshine EM806:

Определение остановки вала(sensorless stall detection)

Драйвер EM806 без дополнительных датчиков или энкодеров способен определить момент «срыва» — непредвиденной остановки вала, и подать сигнал ошибки на свой выход. Благодаря этой функции можно остановить станок, и тем самым избежать его повреждения или повреждения заготовки.

Мультистеппинг предоставляет все преимущества микрошагового режима вне зависимости от выбранного деления шага: на каждый поданный импульс драйвер выполняет необходимое число микрошагов с делением 1/512. Такой подход позволяет одинаково плавно перемещать вал при любом выбранном микрошаге, в том числе и в режиме полного шага.

Читать еще:  Что такое позднее и раннее зажигание в дизельном двигателе

Фильтр импульсов STEP

Фильтр сглаживает резкие изменения частоты управляющих сигналов, что полезно при использовании источников нестабильных сигналов, таких как LPT-порт компьютера под управлением Mach3 или LinuxCNC. Сглаживание сигналов положительно сказывается на динамике привода.

Точная настройка алгоритмов подавления резонанса.

Компенсация несимметричности фаз двигателя.

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

Автоматическая подстройка драйвера под двигатель.

Способность хранить несколько конфигураций в памяти под разные двигателей.

Плавный пуск двигателя путем постепенного наращивания тока обмоток устраняет характерный удар при включении привода

Автоматическое снижение тока обмоток(настраиваемая степень снижения)

Защита от превышения напряжения питания, превышения тока фаз, неправильного подключения фаз двигателя

Оптоизолированные входы и выходы

Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет

Контроллер на 2 сигнала STEP/DIR

Тема раздела Драйверы и контроллеры для CNC в категории Станки ЧПУ, Hobby CNC, инструмент; Приветствую всех! Надо тут разработать контроллер для двух драйверов на основе микроконтроллера PIC18Fxxxx. Драйверы готовые китайского производства. Управляются с помощью .

Опции темы
  • Версия для печати
  • Отправить по электронной почте…
  • Подписаться на эту тему…

Контроллер на 2 сигнала STEP/DIR

Приветствую всех!
Надо тут разработать контроллер для двух драйверов на основе микроконтроллера PIC18Fxxxx.
Драйверы готовые китайского производства. Управляются с помощью стандартных сигналов типа STEP/DIR.

Есть готовый девайс-контроллер STEP/DIR на одном PIC18F.
Но он умеет управлять только одной парой сигналов STEP/DIR.

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

Какие грабли могут ждать меня при таком алгоритме?

PIC18F Был выбран по причине наличия в нем нескольких 16 разрядных таймеров. Для создания независимых временных периодов необходимых для двух сигналов
STEP/DIR.
А скорость у меня задается с помощью АЦП. АЦП нужен для джойстика-потенциометра который указывает направление и скорость вращения ШД.

Последний раз редактировалось Гани; 22.01.2010 в 19:35 . Причина: дополнение

А в чем суть? Управление в ручном режиме? Руками неудобно рулить.

Пока совсем небольшой. Но.

Кто нибудь разрабатывал такой 2 осевой контроллер на базе МК?
Сам немного программирую PIC контроллеры. Но именно на одном контроллере две независимые частоты еще не реализовывал.
Ну ясно что будет использовано прерывание и таймеры. Ну кто знает какие грабли меня ждут. пока делаем как было, два PIC18 работают каждый на свою координату.
Захотелось сделать индикатор, кнопки и.т.д. А это значить(да и вообще так правильно) что должен быть ОДИН управляющий контроллер.

Где то уважаемый AT_LAB писал про какие то недостатки подобной реализации управления. Но никак не смог найти эту тему.

Есть два варианта. Управление с помощью компьютера и джойстика
со встроенным контроллером(ручной режим). Оба варинта генерируют
стандартные сигналы STEP/DIR.
Хотя в будущем кто знает. В МК можно залить и операционную систему.
Подключить внешнюю память типа SD, загонять туда какие нибудь операции или даже алгоритмы и.т.д. Но это потом конечно.

Ну, система хорошая. Понравилось. Но что-то не понял сколько они просят за прошитый контроллер.
Но к сожалению там Атмега, а я не умею писать под Атмелы.
А программу все равно придется переделывать.
Причина по вышеописанным причинам. Мне все же нужен именно ручной режим, причем с управлением от джойстика-потенциометра. Где отклоняя угол можно менять скорость и направление.(дозировать)

Неужели здесь никто не разрабатывает свои контроллеры для ШД?

Я на форуме не часто бываю. Но вы mura кажется имеете достаточный уровень квалификации по разработкам контроллеров ШД. Не так ли?
Пробовали создавать нечто подобное что я собираюсь делать?
Пишите для АВР?

Пишу и для AVR то-же, скажу что для получения двух независимых частот хватит и одного таймера. Был пульт, но там было все кнопками.

Я бы делал для каждой координаты свой кристалл, максимально быстрый алгоритм роботы и обработки данных. Насчет SD это хорошо, но для хобииста это лишнее. Если бы я рассчитывал на массовость своей продукции, то есть тысячами, так бы и сделал, а одну две или 100 – незачем нагружать микроконтроллер лишними движениями. Насчет PIC, у AVR тоже есть несколько таймеров 16-ти разрядных таймеров, и тоже есть прерывания по переполнению. Дело привычки. А кристалл бы сделал с возможностью подключения би- и униполярных ШД. Большой шаг деления скажем 1/32 или 1/256 .

А в результате получается, что дешевле и быстрее поставить старый комп с ДОС и какой-нибудь программой. Или даже с win XP/Linux — что-нибудь в ITX формате.
Разработка — дело дорогое и небыстрое, особенно когда ТЗ толком не сформулировано, а все держится на неясных вопросах/пожеланиях.

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

Алгоритм довольно прост. Это даже за разработку считать нельзя.
С потенциометра измеряем напряжение с помощью АЦП.
Результат через перекодировочную таблицу помещается в таймер, и ждем пока не установится флаг.
Как только флаг таймера установится, все повторяется снова. (следующий микрошаг)
Просто, как лучше сделать чередование для двух сигналов. То есть уже не один а два процесса. (временных интервалов.)
Я хотел посоветоваться только на счет этого и все.

Это правда!
Но в этом случае, похоже, запуск станка не цель.

Так что же советоваться то? Это же не разработка: минут 10 посидел и готово
«Нравится» мне такой подход: мне самому думать лень и свое время тратить не хочется, а вам что, трудно? Это же фигня, не разработка.

Делал я такую ерундовину, когда в мастерской компа не было, а станок покрутить хотелось.
Система элементарная — два джойстика — 4 потенциометра на АЦП
AVR, один таймер на максимальную частоту шага. В прерывании таймера выставляем степ на нужном канале по перекодированным через таблицу данным АЦП и запускаем второй таймер, который сбрасывает степ. Заодно вывод скорости по осям на ЖКИ, пару кнопок, светодиодов, два выхода вкл/выкл.

Делалось на макетке ATmega32.

если надо — могу забросить схему и программу.

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

Думаю будут проблемы с контроллером для двух драйверов и самая большая – синхронизация двух потоков step.

Делал я такую ерундовину, когда в мастерской компа не было, а станок покрутить хотелось.
Система элементарная — два джойстика — 4 потенциометра на АЦП
AVR, один таймер на максимальную частоту шага. В прерывании таймера выставляем степ на нужном канале по перекодированным через таблицу данным АЦП и запускаем второй таймер, который сбрасывает степ. Заодно вывод скорости по осям на ЖКИ, пару кнопок, светодиодов, два выхода вкл/выкл.

Делалось на макетке ATmega32.

если надо — могу забросить схему и программу.

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

Спасибо за толковый ответ! Если вас не затруднит с удовольствием бы посмотрел на программу и схему.

И еще хотел спросить. А где запускаете измерение АЦП. В основной программе?
Измеряете сразу все 4 канала? Или идет случайный характер?

К сожалению нашел только промежуточный вариант на два канала.

Коротко о программе:

Таймер 1 — по прерыванию от переполнения выводит на контроллер станка частоту для Charge Pomp.

Таймер 2 — определяет длительность импульса step, по переполнению сбрасывая его.

Таймер 0 — прерывание по переполнению — собственно генерит step сигналы. Период таймера определяется заданной максимальной частотой сигнала step. Сигналы step устанавливаются каждый T[i] — й период, где T[i] — от 1 — частота максимальна до 255, 0 — выключен.
Значение T[i] для каждого step определяется соответствующим каналом АЦП.
Если в текущем прерывании был установлен хоть один сигнал step, то при выходе запускается Таймер 2.

Читать еще:  Что обозначает amp на двигателе

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

2,5В, значение приводится к числу градаций, одновременно выставляется соответствующий сигнал dir. Далее устанавливается значение T[i] по вектору TT. Значения TT подбираются эмпирически и зависят от мотора, джойстика, требуемого диапазона шагов.

INT0,INT1 – по нажатию кнопки инвертируют соответствующие выход и светодиод.

Програмка писалась не для повседневного использования, так что если есть желание на ее основе сделать что нибудь полезное нужно:
— ввести защиту от дребезга на кнопки;
— ввести контроль максимального ускорения для step.

Программа написана на IAR C, схема на Proteus и в pdf.

ЗЫ. Конечно ATmega32 здесь абсолютно избыточна, просто валялась под рукой.

К сожалению нашел только промежуточный вариант на два канала.

Коротко о программе:

Таймер 1 — по прерыванию от переполнения выводит на контроллер станка частоту для Charge Pomp.

Таймер 2 — определяет длительность импульса step, по переполнению сбрасывая его.

Таймер 0 — прерывание по переполнению — собственно генерит step сигналы. Период таймера определяется заданной максимальной частотой сигнала step. Сигналы step устанавливаются каждый T[i] — й период, где T[i] — от 1 — частота максимальна до 255, 0 — выключен.
Значение T[i] для каждого step определяется соответствующим каналом АЦП.
Если в текущем прерывании был установлен хоть один сигнал step, то при выходе запускается Таймер 2.

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

2,5В, значение приводится к числу градаций, одновременно выставляется соответствующий сигнал dir. Далее устанавливается значение T[i] по вектору TT. Значения TT подбираются эмпирически и зависят от мотора, джойстика, требуемого диапазона шагов.

INT0,INT1 – по нажатию кнопки инвертируют соответствующие выход и светодиод.

Програмка писалась не для повседневного использования, так что если есть желание на ее основе сделать что нибудь полезное нужно:
— ввести защиту от дребезга на кнопки;
— ввести контроль максимального ускорения для step.

Программа написана на IAR C, схема на Proteus и в pdf.

ЗЫ. Конечно ATmega32 здесь абсолютно избыточна, просто валялась под рукой.

Благодарю от души! Будем изучать алгоритм! Блин, надо Си учить.

Что такое step dir для шаговых двигателей

Производительная библиотека для управления шаговыми моторами с Arduino

  • Поддержка 4х пинового (шаг и полушаг) и STEP-DIR драйверов
  • Автоматическое отключение питания при достижении цели
  • Режимы работы:
    • Вращение с заданной скоростью. Плавный разгон и торможение с ускорением
    • Следование к позиции с ускорением и ограничением скорости
    • Следование к позиции с заданной скоростью (без ускорения)
  • Быстрый алгоритм управления шагами
  • Два алгоритма плавного движения
    • Мой планировщик обеспечивает максимальную производительность: скорость до 30’000 шагов/сек с ускорением (активен по умолчанию)
    • Модифицированный планировщик из AccelStepper: максимальную плавность и скорость до 7’000 шагов/сек с ускорением (для активации пропиши дефайн SMOOTH_ALGORITHM)
  • Поддержка «виртуальных» драйверов

Совместима со всеми Arduino платформами (используются Arduino-функции)

  • Установка
  • Инициализация
  • Использование
  • Пример
  • Версии
  • Баги и обратная связь
  • Библиотеку можно найти по названию GyverStepper и установить через менеджер библиотек в:
    • Arduino IDE
    • Arduino IDE v2
    • PlatformIO
  • Скачать библиотеку .zip архивом для ручной установки:
    • Распаковать и положить в C:Program Files (x86)Arduinolibraries (Windows x64)
    • Распаковать и положить в C:Program FilesArduinolibraries (Windows x32)
    • Распаковать и положить в Документы/Arduino/libraries/
    • (Arduino IDE) автоматическая установка из .zip: Скетч/Подключить библиотеку/Добавить .ZIP библиотеку… и указать скачанный архив
  • Читай более подробную инструкцию по установке библиотек здесь

Остальные примеры смотри в examples!

  • v1.1 — добавлена возможность плавного управления скоростью в KEEP_SPEED (см. пример accelDeccelButton)
  • v1.2 — добавлена поддержка ESP8266
  • v1.3 — изменена логика работы setTarget(, RELATIVE)
  • v1.4 — добавлена задержка для STEP, настроить можно дефайном DRIVER_STEP_TIME
  • v1.5 — пофикшен баг для плат есп
  • v1.6 — Исправлена остановка для STEPPER4WIRE_HALF, скорость можно задавать во float (для медленных скоростей)
  • v1.7 — Исправлен баг в отрицательной скорости (спасибо Евгению Солодову)
  • v1.8 — Исправлен режим KEEP_SPEED
  • v1.9 — Исправлена ошибка с esp функцией max
  • v1.10 — повышена точность
  • v1.11 — повышена точность задания скорости
  • v1.12 — пофикшена плавная работа в KEEP_SPEED. Добавлена поддержка «внешних» драйверов. Убран аргумент SMOOTH из setSpeed
  • v1.13 — исправлены мелкие баги, оптимизация
  • v1.14 — исправлены ошибки разгона и торможения в KEEP_SPEED
  • v1.15 — оптимизация, исправлены мелкие баги, stop() больше не сбрасывает maxSpeed
  • v1.15.2 — добавил включение EN если указан, даже при отключенном autoPower

Баги и обратная связь

При нахождении багов создавайте Issue, а лучше сразу пишите на почту alex@alexgyver.ru
Библиотека открыта для доработки и ваших Pull Request‘ов!

About

Производительная библиотека для управления шаговыми моторами с Arduino

ЦП Автоматизированные системы управления и промышленная безопасность

БК Автоматизированные системы управления и кибернетика

Управление ШД

Существует несколько способов управления фазами шагового двигателя.

Первый способ обеспечивается попеременной коммутации фаз, при этом они не перекрываются, в один момент времени включена только одна фаза (рис а). Этот способ называют ”one phase on” full step или wave drive mode. Точки равновесия ротора для каждого шага совпадают с «естественными» точками равновесия ротора у незапитанного двигателя. Недостатком этого способа управления является то, что для биполярного двигателя в один и тот же момент времени иcпользуется 50% обмоток, а для униполярного – только 25%. Это означает, что в таком режиме не может быть получен полный момент.

Различные способы управления фазами шагового двигателя.

Второй способ — управление фазами с перекрытием: две фазы включены в одно и то же время. Его называют ”two-phase-on” full step или просто full step mode. При этом способе управления ротор фиксируется в промежуточных позициях между полюсами статора (рис. б) и обеспечивается примерно на 40% больший момент, чем в случае одной включенной фазы. Этот способ управления обеспечивает такой же угол шага, как и первый способ, но положение точек равновесия ротора смещено на пол-шага.

Третий способ является комбинацией первых двух и называется полушаговым режимом, ”one and two-phase-on” half step или просто half step mode, когда двигатель делает шаг в половину основного. Этот метод управления достаточно распространен, так как двигатель с меньшим шагом стоит дороже и очень заманчиво получить от 100-шагового двигателя 200 шагов на оборот. Каждый второй шаг запитана лишь одна фаза, а в остальных случаях запитаны две (рис. в). В результате угловое перемещение ротора составляет половину угла шага для первых двух способов управления. Кроме уменьшения размера шага этот способ управления позволяет частично избавиться от явления резонанса. Полушаговый режим обычно не позволяет получить полный момент, хотя наиболее совершенные драйверы реализуют модифицированный полушаговый режим, в котором двигатель обеспечивает практически полный момент, при этом рассеиваемая мощность не превышает номинальной.

Еще один способ управления называется микрошаговым режимом или micro stepping mode. При этом способе управления ток в фазах нужно менять небольшими шагами, обеспечивая таким образом дробление половинного шага на еще меньшие микрошаги. Когда одновременно включены две фазы, но их токи не равны, то положение равновесия ротора будет лежать не в середине шага, а в другом месте, определяемом соотношением токов фаз. Меняя это соотношение, можно обеспечить некоторое количество микрошагов внутри одного шага. Кроме увеличения разрешающей способности, микрошаговый режим имеет и другие преимущества, которые будут описаны ниже. Вместе с тем, для реализации микрошагового режима требуются значительно более сложные драйверы, позволяющие задавать ток в обмотках с необходимой дискретностью. Полушаговый режим является частным случаем микрошагового режима, но он не требует формирования ступенчатого тока питания катушек, поэтому часто реализуется.

Читать еще:  Аварийный режим работы двигателя ваз 2114

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

Шаговые двигатели имеют широкий диапазон угловых разрешений. Более грубые моторы обычно вращаются на 90° за шаг, в то время как прецизионные двигатели могут иметь разрешение 1,8° или 0,72° на шаг. Если контроллер позволяет, то возможно использование полушагового режима или режима с более мелким дроблением шага (микрошаговый режим), при этом на обмотки подаются дробные значения напряжений, зачастую формируемые при помощи ШИМ-модуляции.

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

Для правильного управления биполярным шаговым двигателем необходима электрическая схема, которая должна выполнять функции старта, стопа, реверса и изменения скорости. Шаговый двигатель транслирует последовательность цифровых переключений в движение. «Вращающееся» магнитное поле обеспечивается соответствующими переключениями напряжений на обмотках. Вслед за этим полем будет вращаться ротор, соединенный посредством редуктора с выходным валом двигателя.

Каждая серия содержит высокопроизводительные компоненты, отвечающие все возрастающим требованиям к характеристикам современных электронных применений.

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

На рисунке 3 показана последовательность управления для режима с единичным шагом.

На рисунке 4 показана последовательность для полушагового управления.

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

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

Если в качестве исполнительного двигателя использовать синхронный шаговый двигатель, то можно обойтись без датчика обратной связи (Дт) и упростить систему управления двигателем (СУ), так как отпадает необходимость использования в ней цифро%аналоговых (ЦАП) и аналого-цифровых (АЦП) преобразователей.

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

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

Описанное выше, как раз то как вы должны управлять своим ШД. Управление ШД — это послание управляющего сигнала(+) в определенной последовательности на каждую из его обмоток.

Как же посылать эти сигналы? :На самом деле все проще чем кажется. Существует множество схем управления, рассмотрим самые простые варианты.

Управление делится на два типа: 1. Ручное. 2. Автоматическое.
При этом надо отметить, что автоматическое — это выполнение алгоритма действий без участия человека.
Теперь рассмотрим, что же необходимо для управления ШД:
1. Контроллер.
2. Драйвер ШД.
3. Силовой мост

Тут тоже надо подметить, что бывают управляющие Контроллеры с интегрированными силовыми мостами .

Принцип управления прост: Контроллер подает сигнал на драйвер, драйвер подает очередность сигналов на силовой мост, а мост подает сигнал на обмотки ШД.

Рассмотрим две проверенные мной схемы, которые очень просты и легки:
1. Дешевая, простая, но для нее нам понадобятся детальки и умение паять.
Детальки: Управляющий контроллер L297, Силовой мост L298N(l293 — выбор зависит от тока) , и l6210(ее можно заменить диодами), набор сопротивлений и конденсаторов.

  • На вход CW/CCW подаем направление вращения — 0 в одну сторону, 1 — в другую.
  • на вход CLOCK — импульсы. Один импульс — один шаг.
  • вход HALF/FULL задает режим работы — полный шаг/полушаг
  • RESET сбрасывает драйвер в дефолтное состояние ABCD=0101.
  • CONTROL определяет каким образом задается ШИМ, если он в нуле, то ШИМ образуется посредством выходов разрешения INH1 и INH2, а если 1 то через выходы на драйвер ABCD. Это может пригодится, если вместо L298 у которой есть куда подключать входы разрешения INH1/INH2будет либо самодельный мост на транзисторах, либо какая-либо другая микросхема.
  • На вход Vref надо подать напряжение с потенциометра, которое будет определять максимальную перегрузочную способность. Подашь 5 вольт — будер работать на пределе, а в случае перегрузки сгорит L298, подашь меньше — при предельном токе просто заглохнет. Я вначале тупо загнал туда питание, но потом передумал и поставил подстроечный резистор — защита все же полезная вещь, плохо будет если драйвер L298 сгорит.
    Если же на защиту пофигу, то можешь заодно и резисторы, висящие на выходе sense выкинуть нафиг. Это токовые шунты, с них L297 узнает какой ток течет через драйвер L298 и решает сдохнет он и пора отрубать или еще протянет. Там нужны резисторы помощней, учитывая что ток через драйвер может достигать 4А, то при рекомендуемом сопротивлении в 0.5 Ом, будет падение напряжения порядка 2 вольт, а значит выделяемая моща будет около 4*2=8 Вт — для резистора огого! Я поставил двухваттные, но у меня и шаговик был мелкий, не способный схавать 4 ампера.

2. Это не требует пайки, но дорого.
Детальки: Freeduino Nano v5 , Драйвер шаговых двигателей EasyDriver V3, Макетная плата WB-102 с набором джамперов.

покупаем все это. и тупо собираем на макетной плате) .

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

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

В силу столь радикального уменьшения размеров изменены все внешние разъемы: для связи с ПК используется mini-USB, интерфейсные гнезда заменены на штыревые разъемы со стандартным шагом 2,54 мм, что позволяет установить микроконтроллер в макетную плату или DIP-панель.

Несмотря на то, что непосредственно состыковать Freeduino Nano и дополнительный модуль, вроде Ethernet Shield не получится, совместимость остается – Вам потребуется только правильно соединить выводы Freeduino Nano и дополнительного модуля в соответствии с принципиальными схемами.

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

Технические характеристики

* Миниатюрный размер: 18×43 мм
* Микроконтроллер: ATmega328
* Цифровые порты ввода/вывода: 14 портов (из них 6 с ШИМ-сигналом)
* Аналоговые порты ввода: 8 портов
* ППЗУ (Flash Memory): 32 К (из них 2 К используются загрузчиком)
* ОЗУ (SRAM): 2 Кбайт
* ПЗУ (EEPROM): 1024 байт
* Тактовая частота: 16 МГц
* Интерфейс с ПК: USB (разъем Mini-USB)
* Питание от USB, либо от внешнего источника, выбор автоматически

EasyDriver способен управлять до 750mA на фазу би-полярнымм шаговым двигателем. Он использует 8-шаговый микрошаговый режим (8 step microstepping mode). (Таким образом, если ваш мотор делает 200 полных шагов на оборот, используя EasyDriver вы получите 1600 шагов на оборот). Это chopper microstepping контроллер, построенный на чипе Allegro A3967. Полные технические характеристики можно найти в даташите к A3967.

голоса
Рейтинг статьи
Ссылка на основную публикацию
ВсеИнструменты
Adblock
detector