Типы шаговых двигателей
Шаговый двигатель с постоянным магнитом
Ротор такого мотора несет постоянный магнит в форме диска с двумя или большим количеством полюсов. Работает точно также как описано выше. Обмотки статора будут притягивать или отталкивать постоянный магнит на роторе и создавать тем самым крутящий момент. Ниже представлена схема шагового двигателя с постоянным магнитом.
Обычно, величина шага таких двигателей лежит в диапазоне 45-90°.
Шаговый двигатель с переменным магнитным сопротивлением
У двигателей этого типа на роторе нет постоянного магнита. Вместо этого, ротор изготавливается из магнитомягкого металла в виде зубчатого диска, типа шестеренки. Статор имеет более четырех обмоток. Обмотки запитываются в противоположных парах и притягивают ротор. Отсутствие постоянного магнита отрицательно влияет на величину крутящего момента, он значительно снижается. Но есть и большой плюс. У этих двигателей нет стопорящего момента. Стопорящий момент — это вращающий момент, создаваемый постоянными магнитами ротора, которые притягиваются к арматуре статора при отсутствии тока в обмотках. Можно легко понять, что это за момент, если попытаться повернуть рукой отключенный шаговый двигатель с постоянным магнитом. Вы почувствуете различимые щелчки на каждом шаге двигателя. В действительности то, что вы ощутите и будет фиксирующим моментом, который притягивает магниты к арматуре статора. Ниже показана работа шагового двигателя с переменным магнитным сопротивлением.
Шаговые двигатели с переменным магнитным сопротивлением обычно имеют шаг, лежащий в диапазоне 5-15°.
Гибридный шаговый двигатель
Данный тип шаговых моторов получил название «гибридный» из-за того, что сочетает в себе характеристики шаговых двигателей и с постоянными магнитами и с переменным магнитным сопротивлением. Они обладают отличными удерживающим и динамическим крутящим моментами, а также очень маленькую величину шага, лежащую в пределах 0.9-5°, обеспечивая великолепную точность. Их механические части могут вращаться с большими скоростями, чем другие типы шаговых моторов. Этот тип двигателей используется в станках ЧПУ high-end класса и в роботах. Главный их недостаток — высокая стоимость.
Обычный мотор с 200 шагами на оборот будет иметь 50 положительных и 50 отрицательных полюсов с 8-ю обмотками (4-мя парами). Из-за того, что такой магнит нельзя произвести, было найдено элегантное решение. Берется два отдельных 50-зубых диска. Также используется цилиндрический постоянный магнит. Диски привариваются один с положительному, другой к отрицательному полюсам постоянного магнита. Таким образом, один диск имеет положительный полюс на своих зубьях, другой — отрицательный.
Два 50-зубых диска помещены сверху и снизу постоянного магнита
Фокус в том, что диски размещаются таким образом, что если посмотреть на них сверху, то они выглядят как один 100-зубый диск! Возвышения на одном диске совмещаются со впадинами на другом.
Впадины на одном диске выровнены с возвышениями на другом
Ниже показана работа гибридного шагового двигателя, имеющего 75 шагов на оборот (1.5° на шаг). Стоит заметить, что 6 обмоток спарены, каждая имеет обмотку с противоположной стороны. Вы наверняка ожидали, что катушки расположены под углом в 60° следом друг за другом, но, на самом деле, это не так. Если предположить, что первая пара — это самая верхняя и самая нижняя катушки, тогда вторая пара смещена под углом 60+5° по отношению к первой, и третья смещена на 60+5° по отношению ко второй. Угловая разница и является причиной вращения мотора. Режимы управления с полным и половинным шагом могут использоваться, впрочем как и волновое управление для снижения энергопотребления. Ниже продемонстрировано полношаговое управление. В полушаговом режиме, число шагов увеличится до 150!
Не пытайтесь следовать за обмотками, чтобы понаблюдать, как это работает. Просто сфокусируйтесь на одной обмотке и ждите. Вы заметите, что всякий раз, когда обмотка задействована, есть 3 положительных полюса (красный) в 5° позади, которые притягиваются по направлению вращения и другие 3 отрицательных полюса (синий) в 5° впереди, которые толкаются в направлении вращения. Задействованная обмотка всегда находится между положительным и отрицательным полюсами.
Объяснение программы для платы Arduino
Перед тем как начать писать программу для платы Arduino давайте разберемся что должно происходить внутри этой программы. Как мы уже говорили ранее, мы будем использовать метод 4-шаговой последовательности, то есть нам нужно будет сделать 4 шага чтобы выполнить один полный оборот двигателя.
Номер шага | Контакты, на которое подается питание | Катушки, на которое подается питание |
Шаг 1 | 8 и 9 | A и B |
Шаг 2 | 9 и 10 | B и C |
Шаг 3 | 10 и 11 | C и D |
Шаг 4 | 11 и 8 | D и A |
На драйвере мотора есть 4 светодиода, по свечению которых можно судить о том, на какую катушку подается питание в конкретный момент. Более подробно все эти процессы можно посмотреть в видео, приведенном в конце статьи.
Мы напишем программу, в которой необходимое количество шагов для двигателя мы будем вводить в мониторе последовательного порта (serial monitor) платы Arduino. Полный текст программы приведен в конце статьи, здесь же мы рассмотрим наиболее важные его фрагменты.
Как мы рассчитали ранее, полное число шагов для полного оборота нашего шагового двигателя, равно 32, пропишем это в следующей строчке кода:
#define STEPS 32
Далее мы должны сказать плате Arduino через какие ее контакты мы будем управлять шаговым двигателем (то есть к каким ее контактам подключен драйвер мотора).
Stepper stepper (STEPS, 8, 10, 9, 11);
Примечание: последовательность номеров контактов, указанная в приведенной команде (8,10,9,11) – специально упорядочена таким образом чтобы подавать питание на катушки шагового двигателя в правильном порядке. Если вы измените номера контактов, к которым подключен шаговый двигатель, то вы соответствующим образом должны их упорядочить для подачи в приведенную команду.
Мы будем использовать специальную библиотеку для работы с шаговыми двигателями, поэтому для задания скорости вращения шагового двигателя мы можем использовать команду вида:
stepper.setSpeed(200);
Для двигателя 28-BYJ48 скорость вращения можно установить в диапазоне от 0 до 200.
Теперь, чтобы двигатель сделал один шаг, мы можем использовать следующую команду:
stepper.step(val);
Количество шагов, которое должен сделать двигатель, определяется переменной “val”. Поскольку мы имеем 32 шага (для оборота) и передаточное число 64 мы должны сделать 2048 (32*64=2048) “шагов” в этой команде для совершения одного полного оборота двигателя.
Соответственно, чтобы шаговый двигатель сделал один шаг по часовой стрелке, необходимо использовать команду:
stepper.step(1);
А один шаг против часовой стрелки:
stepper.step(-1);
В нашей программе мы будем считывать значение на аналоговом контакте A0 платы Arduino и сравнивать его с предыдущим значением (Pval). Если оно увеличилось, то мы будем делать 5 шагов двигателем по часовой стрелке, а если уменьшилось – то 5 шагов двигателем против часовой стрелки.
potVal = map(analogRead(A0),0,1024,0,500); if (potVal>Pval) stepper.step(5); if (potVal stepper.step(-5); Pval = potVal;
Типы и конструктивные особенности
Сегодня применяется несколько видов ШД, отличающихся по конструкции, типу обмоток, особенностям управления и иным параметрам. Рассмотрим каждую классификацию более подробно.
По конструкции ротора
Многие характеристики двигателя, касающиеся скорости вращения и режима работы, зависят от ротора.
С этой позиции выделяется три вида устройства.
Реактивный (синхронный). Особенность — отсутствие роторного магнита. Конструктивно изготавливается из специальных сплавов, позволяющих снизить индуктивные потери. Устройство имеет вид шестеренки с зубцами, а на полюсах статора подается напряжение со второй пары. Как результат, создается магнитная сила для перемещения ротора. По принципу действия реактивный шаговый агрегат имеет много общего с синхронным мотором, где поля ротора и статора вращаются в одном направлении.
- Двигатель с магнитами. В отличие от прошлого устройства подвижный элемент комплектуется постоянным магнитом с двумя и более полюсами. Ротор крутится, благодаря притягиванию и отталкиванию полюсов с помощью электрического поля в момент подачи разницы потенциалов на определенные обмотки.
- Смешанные. В гибридных устройствах совмещаются лучшие качества магнитных и реактивных моторов. В отличие от прошлых моделей угол и шаг здесь меньше. Конструктивно ротор оборудован постоянным магнитом, имеющим цилиндрическую форму. Внешне он имеет вид двух полюсов с круглым сечением, на поверхности которых находятся роторные зубцы. Такая особенность гарантирует хороший момент вращения и удерживания. Главные плюсы — максимальная плавность, точность и скорость перемещения.
По типу обмоток
Плавность функционирования шагового двигателя находится в прямой зависимости от числа обмоток, поэтому на этот фактор важно обращать особое внимание
Многие ошибочно считают, что количество обмоток зависит от числа фаз. Это не так, ведь даже 2-фазный мотор может иметь четыре и более обмотки.
Шаговые двигатели бывают:
- Униполярными. Особенность — наличие отпайки из средней точки, что позволяет с легкостью менять полюса. Минус состоит в применении части витков, поэтому уменьшается момент вращения. Для повышения мощности средний вывод подключать не рекомендуется. Конструктивно униполярные устройства содержат пять и шесть выводов.
- Биполярный. К этой группе относится шаговый двигатель, подключаемый к контроллеру через четыре отпайки. Обмотки могут объединятся в параллель или последовательно. Для изменения направления тока применяются так называемые чипы, обеспечивающие ручное управление. Достижение такого эффекта доступно с помощью Н-моста. Если сравнивать с униполярным видом, биполярный тип гарантирует тот же момент, но при меньших размерах.
По типу управления
Для расширения функционала и удобства применения предусмотрена система управления.
Она бывает следующих типов.
Волновая: возбуждение только одной обмотки. Недостатком является минимально доступный момент.
Полношаговая: одновременное включение обмоток.
Полушаговая: делание геометрии шагового мотора пополам. Обеспечивается увеличенное разрешение при позиционировании вала агрегата.
По типу
При выборе шаговых двигателей нужно понимать, что они бывают нескольких типов.
Кратко рассмотрим их особенности:
- Биполярные двигатели — двухфазные с угловым перемещением в 0,9 или 1,8 градуса. Разработчики гарантируют высокую точность шага без нагрузки величиной до 5%.
- С энкодером (часто называются гибридными серводвигателями). Особенность состоит в наличии инкрементального энкодера. Моторы объединяют лучшие качества серво- и шаговых электрических моторов, а цена таких устройств меньше в сравнении с сервосистемой. Применяются в комплексе с контроллером.
- Линейные (актуаторы). Принцип действия построен на преобразовании вращательного движения в линейное. Иными словами, в них сочетается винтовая передача и ШД, объединенные в общем блоке.
- Шаговые двигатели с редуктором. Применяются в ситуации, когда необходимо получить максимальное усилие на валу электрического привода с минимальной скоростью вращения. В роли редуктора используется планетарный тип, оборудованный прямозубыми шестеренками с небольшим люфтом передачи.
На рынке представлен большой выбор устройств, имеющих индивидуальные характеристики и подходящих для определенных сфер деятельности. Эти моменты необходимо учитывать при выборе модели.
Чем отличается синхронный двигатель от асинхронного для чайников кратко, простыми словами, сравнение по конструкции и принципу действия
Опыт изучения Arduino. Подключение шагового двигателя. Часть программная и наладочная. — DRIVE2
Всем привет!
В последней части своего рассказа о подключении шагового двигателя к ардуино я остановился на том, что собрал на макетной плате стабилизатор напряжения 5В, установил плату управления (КП) и пошагово подготовил выводы мотора. Настройка самой платы заключается в установке тока двигателя и выборе значения микрошага.
Начнем с тока двигателя. ПУ нужно только запитать от логической части, например. 5 В. Плюс подается на вывод VDD (может быть обозначен как VCC, VLOG), минус — на GND. Я до сих пор не обслуживаю СД и ее еду. Сам процесс настройки сводится к установке Vref.
Формула Vref для A4988 зависит от номинала резисторов считывания тока. Это два черных прямоугольника на плате драйвера. Обычно подписывается R050 или R100.
Самый простой способ измерить Vref — на подвижном выводе подстроечного резистора. Минус мультиметра (в режиме измерения постоянного напряжения он подключается к выводу GND, а плюс цепляется за кончик отвертки, которым я вращаю подстроечный резистор. Ток мотора не знал и ковырял его вверх эмпирически.
Побалуйте себя током. Теперь микрошаг.
Выходы MS (микрошаг) За микрошаг отвечают MS1, MS2, MS3 Теперь несколько слов о том, что такое микрошаг. В таблице видно, что это дробное число. Допустим, шаговый двигатель делает полный оборот за 200 шагов.
При выборе 1/4 микрошага полный оборот будет выполнен за 800 шагов, а при 1/16 микрошага — за 3200 шагов. Что нужно? Полный шаг означает больший крутящий момент, меньшую точность и больше шума.
Забегая вперед скажу, что играл с разными значениями, но остановился на 1/16, соединение пинов MS1, MS2, MS3 с пином VDD.PU настроено — можно подключать мотор и его блок питания.
Напомню, что одна из моих обмоток — это сине-зеленый провод, другая — бело-оранжевая.
Схематично подключение шагового двигателя к блоку управления мне выглядит так:
После подачи питающего напряжения на плату шаговый двигатель начал произвольно двигаться. Это происходит из-за индукции на выводах STEP (шаг) и DIR (направление): эти выводы отвечают за управление вращением шагового двигателя. Если вы подключите вывод DIR к выводу VDD, шаговый двигатель будет двигаться в одном направлении, а если с GND, то в другом.
Когда напряжение на выводе STEP повышается с низкого до высокого, SM делает 1 микрошаг. Те, которые заставляют двигатель вращаться, к этому выводу должны быть приложены прямоугольные импульсы с низким уровнем около нуля и высоким уровнем около 5 В, так называемые уровни TTL. В качестве генератора таких импульсов у меня будет плата ардуино.
Я загрузил скетч из примеров под названием Blink. В оригинале он формирует импульсы с частотой 1/2 Гц на выводе 13 платы (в моем случае Arduino Nano) (1 с высокий уровень, затем 1 с низкий уровень).
Операторы задержки в скетче пришлось заменить на delayMicroseconds, потому что задержка может работать только с временами 1 мс. В результате скетч стал выглядеть так:
Тогда я решил доработать скетч, чтобы мотор периодически менял направление вращения. Модифицированный скетч выглядит так:Подключение Ардуино.
Тест показал, что схема полностью работоспособна. Двигатель не перегревается и не пропускает ступенек. Цель была достигнута.
Для тех, кто усвоил весь материал, работают видеоустройства.
Это мое первое видео, предназначенное для публичного просмотра. И первая запись в блоге, сделанная мной.
Подключение шагового двигателя
Чтобы запитать обмотки, потребуется устройство способное выдать управляющий импульс или серию импульсов в определенной последовательности. В качестве таких блоков выступают полупроводниковые приборы для подключения шагового двигателя, микропроцессорные драйвера. В которых имеется набор выходных клемм, каждая из них определяет способ питания и режим работы.
Типичные схемы подключения ШД
В зависимости того, какое количество выводов представлено на конкретном шаговом двигателе: 4, 6 или 8 выводов, будет отличаться и возможность использования той или иной схемы их подключения Посмотрите на рисунки, здесь показаны типичные варианты подключения шагового механизма:
Схемы подключения различных типов шаговых двигателей
При условии запитки основных полюсов шаговой машины от одного и того же драйвера, по данным схемам можно отметить следующие отличительные особенности работы:
- Выводы однозначно подводятся к соответствующим клеммам устройства. При последовательном соединении обмоток увеличивает индуктивность обмоток, но понижает ток.
- Обеспечивает паспортное значение электрических характеристик. При параллельной схеме увеличивается ток и снижается индуктивность.
- При подключении по одной фазе на обмотку снижется момент на низких оборотах и уменьшает величину токов.
- При подключении осуществляет все электрические и динамические характеристики согласно паспорта, номинальный токи. Значительно упрощается схема управления.
- Выдает куда больший момент и применяется для больших частот вращения;
- Как и предыдущая предназначена для увеличения момента, но применяется для низких частот вращения.
Схема униполярных и биполярных шаговых двигателей
Вначале рассмотрим униполярный шаговый двигатель, ввиду простоты управления. В таком моторе ток в обмотке всегда течет в одном направлении. Это упрощает метод управления, в отличие от биполярного, где управление должно обеспечивать изменение полярности катушек шагового двигателя путем изменения направления тока через обмотку на противоположное.
Двух переключателей достаточно, чтобы построить простейший драйвер шагового двигателя, как показано на рисунке. Здесь используем 6-проводный униполярный двигатель. Также можно сказать, что двигатель в этом случае управляется однополярно, за счет использования средней обмотки катушки и постоянного напряжения питания на нее.
Переключая данные переключатели в последовательности S1, S2, S1, S2, S1, S2… заметим, что двигатель вращается. Рисунок выше иллюстрирует важный принцип управления: обе обмотки не могут питаться от одной пары одновременно. Каждое изменение переключателя поворачивает ротор на один шаг. Чем быстрее начнем переключать переключатели в последовательности S1, S2, S1, S2…, тем быстрее начнет вращаться ротор.
Подключение переключателей к катушкам шагового двигателя
Скорость шагового двигателя зависит не от величины напряжения, а от скорости подключения питания к отдельным обмоткам. Чтобы добиться полного вращения ротора с 200-шаговым двигателем, надо изменить положение каждого переключателя 100 раз, то есть выполнить до 200 последовательностей для двух переключателей. Это уже говорит о том, что шаговые двигатели не могут работать на высокой скорости. Из этого следует, что шаговые двигатели можно назвать «цифровыми двигателями», поскольку для вращения ротора необходимо переключать переключатели в соответствующей последовательности.
В нашем случае последовательность переключений также определяет направление вращения шагового двигателя. Когда меняем последовательность включения переключателей, то меняем и направление вращения, например S2, S1, S2, S1, S2, S1… влево, S1, S2, S1, S2, S1, S2… вправо. В этом примере есть двухпозиционные переключатели, которые всегда обеспечивают питание двух из четырех обмоток шагового двигателя в данный момент. Но использование трехпозиционных переключателей дает гораздо больше возможностей.
Опять же, обе обмотки никогда не питаются от одной пары, что является обязательным принципом управления шаговым двигателем. Благодаря трехпозиционным переключателям можно реализовать, например, полушаговое управление, благодаря разнообразию переключений. Одновременно могут быть под напряжением две, одна или ни одной из обмоток.
Упрощенная схема управления униполярным шаговым двигателем
Чтобы управлять таким мотором, надо обеспечить соответствующую последовательность импульсов. Например, только одна из четырех обмоток шагового двигателя находится под напряжением одновременно (это своего рода волновое управление). На каждый цикл двигателя подается питание на одну из четырех катушек униполярного шагового двигателя. Вращение его будет выглядеть так:
Вращение униполярного шагового двигателя в последовательных тактах цикла управления волной
Управляющая последовательность A +, B +, A-, B- повторяется каждые четыре импульса тактового генератора. Этот тип управления называется однофазным или волновым. Это полный шаг управления, потому что двигатель выполняет один полный ход (шаг) с одним импульсом генератора.
Самый простой способ изменить направление — поменять местами одну пару проводов катушки (поменять местами, например, B + с B — и B — с B +), затем дадим последовательность A +, B -, A -, B + импульсы, он вращает двигатель в противоположном направлении. Так управление направлением реализовано в некоторых контроллерах шаговых двигателей. Самый простой способ изменить последовательность импульсов — использовать, например, реле.
Форма волны (однофазная) импульсная последовательность драйвера
Упрощенная схема однофазного (волнового) регулятора с изменением направления вращения
Несомненное преимущество униполярных шаговых двигателей — простота управления. Но это связано с волновым управлением, с использованием только половины обмотки за раз, одна из них всегда не используется. Используется только 1/4 всех обмоток шагового двигателя, что значительно снижает максимальную производительность.
Преимущества и недостатки
Перед применением шагового двигателя необходимо изучить его плюсы и минусы. По ним проще судить об актуальности применения оборудования для решения задач разной сложности.
Плюсы:
- Точность. При подаче напряжения на определенные обмотки ротор поворачивается на строго определенный угол.
- Продолжительный срок службы. Если следить за оборудование, проводить периодические проверки и восстановительные процедуры, шаговый двигатель способен прослужить не меньше станка.
- Часто применяется в качестве более дешевой альтернативы сервопривода. Его часто применяют для автоматизации разного рода узлов.
- Стабильность. ШД работает при разных нагрузках и не боится колебания этого параметра.
- Легкость в применении. Управление шаговым двигателем не требует специальных знаний. Разобраться в принципе действия и правилах использования может даже новичок.
- Отличные характеристики: поддержка максимального момента вращения (даже при низкой скорости), четкость фиксации после остановки.
- Простота ремонта. Имеет простую конструкцию, поэтому с обслуживанием и восстановлением не возникает трудностей.
Минусы:
- Низкий момент. ШД не могут похвастаться достаточным моментом при повышении скорости вращения. Единственный выход — улучшение динамических параметров с помощью специальных ШИМ-драйверов.
- Вибрации. Из-за дискретности шага возникают вибрации, которые неизбежно приводят к уменьшению момента вращения и появлению резонансов в системе.
- Риск нарушения позиционирования. Изменение этого параметра возможно при повышении нагрузки выше допустимого параметра.
- Небольшая эффективность. Шаговый двигатель использует много энергии даже при минимальной нагрузке.
- Трудности с набором скорости. Агрегат с трудом набирает обороты после мгновенной перегрузки.
- Риск «проскальзывания» ротора. Это известная проблема, проявляющаяся в случае повышения нагрузки выше допустимого значения. Для ее решения можно установить датчик или увеличить мощность мотора.
Это не исчерпывающий список слабых и сильных характеристик шагового механизма, но достаточный для принятия решения.
Где купить шаговый двигатель
Самые простые двигатели Варианты на сайте AliExpress:
Шаговый двигатель Nema17 42BYGH 1.7A (17HS4401-S) для 3D принтера | Набор из 5 шаговых двигателей ULN2003 28BYJ-48 с платам драйверов для Ардуино | Шаговый двигатель с модулем драйвера 5V Stepper Motor 28BYJ-48 + ULN2003 |
Еще один вариант шагового двигателя для Arduino 28BYJ-48 5V 4 Phase DC Motor + ULN2003 Drive Test Board | Набор из трех шаговых двигателей Nema17 Stepper Motor 42BYGH 1.7A (17HS4401) для 3D приентера | AliExpress.com Product – 3D Printer Parts StepStick A4988 DRV8825 Stepper Motor Driver With Heat sink Carrier Reprap RAMPS 1.4 1.5 1.6 MKS GEN V1.4 board |
Преимущества шагового двигателя
- угол поворота ротора определяется числом импульсов, которые поданы на двигатель
- двигатель обеспечивает полный момент в режиме остановки (если обмотки запитаны)
- прецизионное позиционирование и повторяемость. Хорошие шаговые двигатели имеют точность от 3 до 5% от величины шага. Эта ошибка не накапливается от шага к шагу
- возможность быстрого старта/остановки/реверсирования
- высокая надежность, связанная с отсутствием щеток, срок службы шагового двигателя фактически определяется сроком службы подшипников
- однозначная зависимость положения от входных импульсов обеспечивает позиционирование без обратной связи
- возможность получения очень низких скоростей вращения для нагрузки, присоединенной непосредственно к валу двигателя без промежуточного редуктора
- может быть перекрыт довольно большой диапазон скоростей, скорость пропорциональна частоте входных импульсов
Управление шаговым двигателем на Ардуино
Рассмотрим управление шаговым мотором при помощи стандартной библиотеки stepper.h и с помощью более удобной и популярной библиотеки accelstepper.h, где реализовано намного больше дополнительных команд и функций. Схема подключения мотора при этом остается неизменной. Чуть дальше мы перечислили возможные команды, которые можно использовать в программе с этими библиотеками.
Скетч для шагового двигателя на Ардуино (Stepper.h)
#include <Stepper.h> // библиотека для шагового двигателя // количество шагов на 1 оборот, измените значение для вашего мотора const int stepsPerRevolution = 200; // устанавливаем порты для подключения драйвера Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11); void setup() { myStepper.setSpeed(60); // устанавливаем скорость 60 об/мин } void loop() { // поворачиваем ротор по часовой стрелке myStepper.step(stepsPerRevolution); delay(500); // поворачиваем ротор против часовой стрелки myStepper.step(-stepsPerRevolution); delay(500); }
Пояснения к коду:
- вместо портов 8,9,10,11 можно использовать любые цифровые порты;
- библиотека Stepper.h имеет маленький функционал, поэтому подходит только для тестирования шагового двигателя и проверки подключения драйвера.
Скетч для шагового мотора с библиотекой AccelStepper.h
#include // библиотека для шагового двигателя
Пояснения к коду:
- библиотеку AccelStepper.h можно использовать при подключении шагового двигателя к Motor Shield L293D совместно с библиотекой AFMotor.h;
- в программе можно задавать не только максимальную скорость, но и ускорение и замедление вала шагового двигателя.
Описание команд библиотеки AccelStepper.h
AccelStepper mystepper(DRIVER, step, direction);// Шаговый двигатель, управляемый платой AccelStepper mystepper(FULL2WIRE, pinA, pinB);// Шаговый двигатель, управляемый Н-мостом AccelStepper mystepper(FULL4WIRE, pinA1, pinA2, pinB1, pinB2);// Униполярный двигатель mystepper.setMaxSpeed(stepsPerSecond);// Установка скорости оборотов в минуту mystepper.setSpeed(stepsPerSecond);// Установка скорости в шагах за секунду mystepper.setAcceleration(stepsPerSecondSquared);// Установка ускорения
mystepper.currentPosition(); // Возвращает текущее положение в шагах mystepper.setCurrentPosition (long position); Обнуляет текущую позицию до нуля mystepper.targetPosition(); // Конечное положение в шагах mystepper.distanceToGo(); // Вернуть расстояние до указанного положения mystepper.moveTo(long absolute); // Переместиться в абсолютно указанное положение mystepper.move(long relative); // Переместиться в относительно указанное положение
mystepper.run(); // Начать движение с ускорением, функцию следует вызывать повторно mystepper.runToPosition(); // Начать движение до указанной точки mystepper.runToNewPosition(); // Начать движение с ускорением до заданной позиции mystepper.stop(); // Максимально быстрая остановка (без замедления) mystepper.runSpeed(); // Начать движение с заданной скоростью без плавного ускорения mystepper.runSpeedToPosition(); // Начать движение без плавного ускорения, до позиции
mystepper.disableOutputs(); // Деактивирует зарезервированные пины и устанавивает их в режим LOW. Снимает напряжение с обмоток двигателя, экономя энергию mystepper.enableOutputs(); // Активирует зарезервированные пины и устанавивает их в режим OUTPUT. Вызывается автоматически при запуске двигателя
КАК ПОДКЛЮЧИТЬ ШАГОВЫЙ ДВИГАТЕЛЬ
Как подключить шаговый двигатель с 4, 5, 6 и 8 выводами к драйверу.
В предыдущих статьях мы рассматривали процесс выбора шагового электродвигателя (см. статью«Как выбрать шаговый двигатель») в зависимости от способа его применения. В данной статье мы подробно рассмотрим как подключить шаговый двигатель.
Шаговые электродвигатели могут поставляться с несколькими вариантами схем подключения. Выбор схемы будет определяться типом двигателя. Большинство наиболее распространенных шаговых двигателей имеют схемы, предполагающие использование 4-х, 5-ти, 6-ти или 8-ми проводов.
КАК ПОДКЛЮЧИТЬ ШАГОВЫЙ ДВИГАТЕЛЬ С 4 ВЫВОДАМИ
Если в вашем распоряжении имеется шаговый двигатель, подключаемый при помощи только четырех проводов, это означает, что в нем две обмотки, это биполярный мотор и вы сможете использовать его только с биполярным драйвером
Обратите внимание на то, что каждая из фазных обмоток содержит пару проводов — для идентификации каждого провода используйте тестер (мультиметр)
Найдите замкнутые между собой провода(которые прозваниваются) и подключите их к шаговому двигателю. Лучше сразу свяжите их вместе, чтобы не повторять операцию постоянно
Схема подключения шаговых двигателей
Чтобы управлять шаговым двигателем необходим контроллер. Контроллер — схема, которая подает напряжение к любой из четырех катушек статора. Схемы управления достаточно сложны, по сравнению с обычными электромоторчиками, и имеют много особенностей. Подробно рассматривать тут мы их не будем, а просто приведём фрагмент популярного контроллера на ULN2003A.
В общем шаговые двигатели являются отличным способом для того, чтобы повернуть что-то в точный размер угла с большим количеством крутящего момента. Другое преимущество их в том, что скорость вращения может быть достигнута почти мгновенно при изменении направления вращения на противоположное.
Индукторные (гибридные шаговые двигатели)
Стремление совместить преимущества активного шагового двигателя (большой удельный синхронизирующий момент на единицу объема, наличие фиксирующего момента) и реактивного шагового двигателя (малая величина шага) привело к созданию гибридных индукторных шаговых двигателей.
В настоящее время имеется большое число различных конструкций индукторных двигателей, различающихся числом фаз, размещением обмоток, способом фиксации ротора при обесточенном статоре и т.д. Во всех конструкциях индукторных шаговых двигателей вращающий момент создается за счет взаимодействия магнитного поля, создаваемого обмотками статора и постоянного магнита в зубчатой структуре воздушного зазора. При этом синхронизирующий момент шагового индукторного двигателя по природе является реактивным и создается намагничивающей силой обмоток статора, а постоянный магнит, расположенный либо на статоре, либо на роторе, создает фиксирующий момент, удерживающий ротор двигателя в заданном положении при отсутствии тока в обмотках статора.