Шаговый двигатель 4 провода подключение

Шаговые двигатели (подробный разбор 4 типов)

Общие сведения:

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

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

Виды шаговых двигателей по типу ротора:

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

  • Двигатель с постоянными магнитами (ротор из магнитотвердого материала). На роторе установлен один, или несколько, постоянных магнитов. Количество полных шагов в одном обороте таких двигателей, зависит от количества постоянных магнитов на роторе, и количества электромагнитов на статоре. Обычно в одном обороте от 4 до 48 шагов (один шаг от 7,5° до 90° ).
  • Реактивный двигатель (ротор из магнитомягкого материала). Еще такие двигатели называют двигателями с переменным магнитным сопротивлением. Ротор не имеет постоянных магнитов, он выполнен из магнитомягкого материала в виде многоконечной звезды. Данные двигатели встречаются редко, так как у них наименьший крутящий момент, по сравнению с остальными, при тех же размерах. Количество полных шагов в одном обороте таких двигателей, зависит от количества зубцов на звезде ротора, и количества электромагнитов на статоре. Обычно в одном обороте от 24 до 72 шагов (один шаг от 5° до 15°.)
  • Гибридный двигатель (совмещает технологии двух предыдущих двигателей). Ротор выполнен из магнитотвердого материала (как у двигателя с постоянными магнитами), но имеет форму многоконечной звезды (как у реактивного двигателя). Количество полных шагов в одном обороте таких двигателей, зависит от количества постоянных магнитов на звезде ротора, и количества электромагнитов на статоре. Количество шагов в одном обороте таких двигателей может доходить до 400 (один шаг от 0,9°).

Какой тип шагового двигателя у меня?

Если вручную покрутить ротор отключённого двигателя, то можно заметить, что он движется не плавно, а шагами. После того, как Вы покрутили ротор, замкните все провода двигателя и покрутите ротор повторно. Если ротор крутится также, значит у Вас реактивный двигатель. Если для вращения ротора требуется прикладывать больше усилий, значит у вас двигатель с постоянными магнитами или гибридный. Отличить двигатель с постоянными магнитами от гибридного можно подсчитав количество шагов в одном обороте. Для этого не обязательно считать все шаги, достаточно примерно понять, их меньше 50 или больше. Если меньше, значит у Вас двигатель с постоянными магнитами, а если больше, значит у Вас гибридный двигатель.

Виды шаговых двигателей по типу соединения электромагнитов статора:

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

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

  • Биполярный двигатель имеет 4 вывода. Выводы A и A питают обмотку AA, выводы B и B питают обмотку BB. Для включения электромагнита, на выводы обмотки необходимо подать разность потенциалов (два разных уровня), поэтому двигатель называется биполярным. Направление магнитного поля зависит от полярности потенциалов на выводах.
  • Униполярный двигатель имеет 5 выводов. Центральные точки его обмоток соединены между собой и являются общим (пятым) выводом, который, обычно, подключают к GND. Для включения электромагнита, достаточно подать положительный потенциал на один из выводов обмотки, поэтому двигатель называется униполярным. Направление магнитного поля зависит от того, на какой именно вывод обмотки подан положительный потенциал.
  • 6-выводной двигатель имеет ответвление от центральных точек обмоток, но обмотка AA не соединена с обмоткой BB. Если не использовать выводы центральных точек обмоток, то двигатель будет биполярным, а если эти выводы соединить и подключить к GND, то двигатель будет униполярным.
  • 8-выводной двигатель является наиболее гибким в плане подключения электромагнитов. Данный двигатель можно не только использовать как биполярный или униполярный, но и самим определять, как соединить электромагниты обмоток, последовательно или параллельно.

Какой тип шагового двигателя у меня?

Если у Вашего двигателя 4 вывода, значит он биполярный. Если у Вашего двигателя 5 выводов, значит он униполярный. Но если у Вашего двигателя 6 и более выводов, то это не значит что некоторые из них являются центральными выводами катушек электромагнитов. Дело в том, что есть двигатели, некоторые выводы которых (обычно крайние), электрически замкнуты, так биполярный двигатель может иметь 6 выводов. Точно определить тип соединений, для двигателей с 6 и более выводами, можно только измеряя сопротивление между выводами.

Режимы работы шаговых двигателей:

    Для работы шагового двигателя (вне зависимости от его вида) можно выбрать один из трех режимов работы:
  • Полношаговый режим — ротор поворачивается на 1 шаг за 1 такт.
  • Полушаговый режим — ротор поворачивается на ½ шага за 1 такт.
  • Микрошаговый режим — ротор поворачивается на ¼, ⅛ и т.д. шагов за 1 такт.

Ниже рассмотрены режимы работы, на примере биполярного двигателя с постоянным магнитом и полным шагом 90°.

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

Полношаговый режим (две фазы на полный шаг). Этот режим позволяет увеличить крутящий момент почти в половину от номинального.

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

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

Если подавать уровни не «0» — «½» — «1» (как на картинке), а «0» — «¼» — «½» — «¾» — «1», то количество шагов в полном обороте увеличится не в 4 раза, а в 8 раз. Можно увеличить количество шагов в 16, 32, 64 раза и т.д., а если заменить дискретные уровни сигналов на синусоиды, то мотор будет вращаться плавно (без шагов).

Режимы пониженного энергопотребления — доступны только для 8-выводных двигателей. Эти режимы отличаются от обычных тем, что используют только половину фазы (половину электромагнитов). Данные режимы используются редко, так как они значительно снижают крутящий момент двигателя.

Пример работы шаговых двигателей с разными видами роторов:

Подключение шаговых двигателей к Arduino:

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

Большинство драйверов работают либо с биполярными двигателями, либо с униполярными.

  • Биполярный двигатель можно подключить только к драйверу биполярных двигателей.
  • 6-выводной двигатель можно подключить к любому драйверу. Если не использовать выводы центральных точек обмоток, то двигатель будет биполярным, а если эти выводы соединить и подключить к GND, то двигатель будет униполярным.
  • 8-выводной двигатель является наиболее гибким в плане подключения. Данный двигатель можно не только использовать как биполярный или униполярный, но и самим определять, как соединить электромагниты обмоток внутри двигателя, последовательно или параллельно.
  • Униполярный двигатель, при необходимости, можно подключить и к драйверу биполярного двигателя по простой схеме из нескольких диодов (лучше использовать диоды Шоттки), но такое подключение гарантирует корректность работы униполярного двигателя только в полношаговом режиме.

Подключение униполярного шагового двигателя NEMA 23 57HM56-2006 к RAMPS 1.4

Подпишитесь на автора

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

Отписаться от уведомлений вы всегда сможете в профиле автора.

Статья относится к принтерам:

Добрый день 3д печатники и ‘колхозники’.

Подключение униполярного шагового двигателя NEMA 23 57HM56-2006 к RAMPS 1.4.

Шаговый униполярный двигатель NEMA 23 57HM56-2006 имеет шесть проводов, и что бы подключить его к Ramp 1.4 или любой другой плате нам потребуется переделать его из униполярного в биполярный.

Шаговый униполярный двигатель NEMA 23 57HM56-2006 имеет ток 2 А, поэтому обычный драйвер шагового двигателя A4998 нам не подойдёт. Я буду использовать драйвер ШД TB6600 и плату MKS CD 57/86, что бы подключить его к ramps.

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

Униполярный двигатель также имеет одну обмотку в каждой фазе, но от середины обмотки сделан отвод. Это позволяет изменять направление магнитного поля, создаваемого обмоткой, простым переключением половинок обмотки. При этом существенно упрощается схема драйвера. Драйвер должен иметь только 4 простых ключа. Таким образом, в униполярном двигателе используется другой способ изменения направления магнитного поля. Средние выводы обмоток могут быть объединены внутри двигателя, поэтому такой двигатель может иметь 5 или 6 выводов. Иногда униполярные двигатели имеют раздельные 4 обмотки, по этой причине их ошибочно называют 4-х фазными двигателями. Каждая обмотка имеет отдельные выводы, поэтому всего выводов 8. При соответствующем соединении обмоток такой двигатель можно использовать как униполярный или как биполярный. Униполярный двигатель с двумя обмотками и отводами тоже можно использовать в биполярном режиме, если отводы оставить неподключенными.

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

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

Аналогичная схема ниже, но у же с буквенным обозначением выводов.

Слева биполярный, справа униполярный двигатель.

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

Я соберу тестовый стенд для наглядности, который включает в себя: ramps 1.4, arduino mega 2560, драйвер шагового двигателя TB6600, плата MKS CD 57/86 для внешнего драйвера ШД TB6600, LCD Display 2004, шаговый двигатель NEMA 23 57HM56-2006.

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

Пошаговая инструкция для чайников :).

1) Устанавливаем плату MKS CD 57/86 в штатный разъем ramps 1.4 для шагового драйвера, соблюдая полярность.

Пошаговая инструкция уже для опытных мейкеров 8).

1) Устанавливаем плату MKS CD 57/86 в штатный разъем ramps 1.4 для шагового драйвера, соблюдая полярность.

2) Подключаем драйвер шагового двигателя TB6600 к плате MKS CD 57/86 кабелем с разъемом PH-4 и PH-4.

3) Подключаем шаговый двигатель NEMA 23 57HM56-2006 к драйверу ШД TB6600. Зеленый провод в разъём 1A, желтый в разъём 1B, белый в разъём 2A, красный в разъём 2B. Черный и синий провода лучше заизолировать, не ну если Вам нравится прыгать с бубном то не делайте этого.

Таким образом, подключить униполярный шаговый двигатель к ramps 1.4 не так уж и сложно, достаточно немного знать теории и быть внимательным. Надеюсь, что теперь Вам помощь бубна в этой теме не потребуется ;).

Подключение шагового двигателя к Arduino Uno

Шаговые двигатели с каждым годом находят все большее применение в мире электроники. Начиная от обычной камеры наблюдения до сложных станков с ЧПУ и роботов шаговые двигатели используются в качестве исполнительных механизмов, поскольку они обеспечивают точное управление. В этом проекте мы рассмотрим один из наиболее распространенных шаговых двигателей 28BYJ-48 и его подключение к плате Arduino с помощью модуля ULN2003.

Общие принципы работы шаговых двигателей

Внешний вид шагового двигателя 28BYJ-48 представлен на следующем рисунке:

Первый вопрос, который напрашивается при взгляде на этот рисунок – почему в отличие от обычного двигателя из этого шагового двигателя выходят 5 проводов различных цветов? Чтобы понять это давайте сначала разберемся с принципами работы шагового двигателя.

Начнем с того, что шаговые двигатели не вращаются, а “шагают”, поэтому они и называются шаговыми двигателями. То есть в один момент времени они будут передвигаться только на один шаг. Чтобы добиться этого в устройстве шаговых двигателей присутствует несколько катушек и на эти катушки нужно подавать питание в определенной последовательности чтобы двигатель вращался (шагал). При подаче питания на каждую катушку двигатель делает один шаг, при последовательной подаче питания на катушки двигатель будет совершать непрерывные шаги, то есть вращаться. Давайте более подробно рассмотрим катушки, присутствующие внутри шагового двигателя.

Как можно видеть из рисунка, двигатель имеет однополярную катушку с 5 выводами. Но фактически это 4 катушки, на которые нужно подавать питание в определенной последовательности. На красные провода необходимо подать +5V, на остальные 4 провода необходимо подать землю чтобы запустить в работу соответствующую катушку. Мы будем использовать плату Arduino чтобы подавать питание на эти катушки в определенной последовательности и тем самым заставлять двигатель вращаться. Более подробно ознакомиться с принципами работы шаговых двигателей можно в статье про подключение шагового двигателя к микроконтроллеру AVR.

Так почему же этот двигатель называется 28BYJ-48? Честно говоря, мы не знаем точного ответа на этот вопрос. Некоторые наиболее важные технические характеристики этого шагового двигателя приведены на следующем рисунке.

На первый взгляд от такого количества характеристик может закружиться голова, но давайте попробуем выделить из них самые важные, те, которые нам понадобятся для дальнейшей работы. Во-первых, мы знаем, что это шаговый двигатель 5V, поэтому необходимо подавать на красный провод 5V. Также мы знаем что это четырехфазный шаговый двигатель поскольку в нем четыре катушки. Передаточное число этого двигателя — 1: 64. Это означает, что вал, который вы видите снаружи, сделает одно полное вращение в том случае, когда двигатель внутри сделает 64 оборота. Это происходит благодаря шестерням, которые включены между двигателем и выходным валом. Эти шестерни помогают в увеличении крутящего момента.

Еще одним важным показателем, который нам следует знать, является угол шага: 5.625°/64. Это значит что когда двигатель сделает последовательность в 8 шагов он будет поворачиваться на 5.625° при каждом шаге и за один полный оборот он сделает 64 шага (5.625*64=360).

Расчет шагов на оборот для шагового двигателя

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

В Arduino для управления двигателем мы будем использовать 4-шаговую последовательность, поэтому угол шага будет составлять 11.25°. Поскольку изначально он равен 5.625°(приведен в даташите), то для 8 шаговой последовательности получим 11.25° (5.625*2=11.25).

Справедлива следующая формула:

Количество шагов за оборот = 360 / угол шага.

В нашем случае 360/11.25 = 32 шага за оборот.

Зачем нужен драйвер мотора для управления шаговым двигателем

Большинство шаговых двигателей будут работать только с помощью модуля драйвера мотора. Это связано с тем, что микроконтроллер (в нашем случае плата Arduino) не может обеспечить достаточный ток на своих контактах ввода/вывода для работы двигателя. Поэтому мы будем использовать внешний драйвер мотора для управления нашим шаговым двигателем — модуль ULN2003 (купить на AliExpress). В сети интернет можно найти рейтинги эффективности различных драйверов мотора, но эти рейтинги будут меняться в зависимости от типа используемого шагового двигателя. Основной принцип, которого следует придерживаться при выборе драйвера мотора – он должен обеспечивать достаточный ток для управления шаговым двигателем.

Работа схемы

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

Мы использовали шаговый двигатель 28BYJ-48 и драйвер мотора ULN2003. Для подачи питания на 4 катушки шагового двигателя мы будем использовать контакты платы Arduino 8, 9, 10 и 11. Драйвер мотора запитывается от контакта 5V платы Arduino.

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

Разработка программы для платы 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) – специально упорядочена таким образом чтобы подавать питание на катушки шагового двигателя в правильном порядке. Если вы измените номера контактов, к которым подключен шаговый двигатель, то вы соответствующим образом должны их упорядочить для подачи в приведенную команду.

Мы будем использовать специальную библиотеку для работы с шаговыми двигателями, поэтому для задания скорости вращения шагового двигателя мы можем использовать команду вида:

Для двигателя 28-BYJ48 скорость вращения можно установить в диапазоне от 0 до 200.

Теперь, чтобы двигатель сделал один шаг, мы можем использовать следующую команду:

Количество шагов, которое должен сделать двигатель, определяется переменной “ val ”. Поскольку мы имеем 32 шага (для оборота) и передаточное число 64 мы должны сделать 2048 (32*64=2048) “шагов” в этой команде для совершения одного полного оборота двигателя.

Значение переменной “val” в нашей программе мы будем вводить из окна монитора последовательной связи.

Работа проекта

Когда вы сделаете все необходимые соединения в аппаратной части нашего проекта у вас должна получиться примерно следующая конструкция:

Теперь загрузите код программы в плату Arduino UNO и откройте окно монитора последовательной связи (serial monitor). Как мы уже указывали, мы должны сделать 2048 шагов для совершения одного полного оборота, то есть если мы в окне монитора последовательной связи введем 2048, то вал шагового двигателя совершит один полный оборот по часовой стрелке, а сам двигатель в это время сделает 2048 шагов. Для вращения против часовой стрелки просто вводите нужное число шагов со знаком “–“. То есть если вы введете -1024, то вал мотора совершит пол-оборота против часовой стрелки. Чтобы протестировать работу проекта вы можете вводить любые числа.

Исходный код программы

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

#include // заголовочный файл библиотеки для работы с шаговыми двигателями
// измените необходимое число шагов в зависимости от модели вашего шагового двигателя
#define STEPS 32
// создайте класс для шагового двигателя и запишите для него правильную последовательность контактов
Stepper stepper(STEPS, 8, 10, 9, 11);
int val = 0;
void setup() <
Serial.begin(9600);
stepper.setSpeed(200);
>
void loop() <
if (Serial.available()>0)
<
val = Serial.parseInt();
stepper.step(val);
Serial.println(val); //for debugging
>
>

Видео, демонстрирующее работу схемы

Электроника для всех

Блог о электронике

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

Первая модификация силового блока. L293 вытащена.
Вид снизу

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

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

Типы шаговых двигателей
Если не углубляться во внутреннюю конструкцию, число шагов и прочие тонкости, то с пользовательской точки зрения существует три типа:

  • Биполярный — имеет четыре выхода, содержит в себе две обмотки.
  • Униполярный — имеет шесть выходов. Содержит в себе две обмотки, но каждая обмотка имеет отвод из середины.
  • Четырехобмоточный — имеет четыре независимые обмотки. По сути дела представляет собой тот же униполярник, только обмотки его разделены. Вживую не встречал, только в книжках.

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

Где взять шаговый двигатель.
Вообще шаговики встречаются много где. Самое хлебное место — пятидюймовые дисководы и старые матричные принтеры . Еще ими можно поживиться в древних винчестерах на 40Мб, если, конечно, рука поднимется покалечить такой антиквариат.
А вот в трехдюймовых флопарях нас ждет облом — дело в том, что там шаговик весьма ущербной конструкции — у него только один задний подшипник, а передним концом вал упирается в подшипник закрепленный на раме дисковода. Так что юзать его можно только в родном креплении. Либо городить высокоточную крепежную конструкцию. Впрочем, тебе может повезет и ты найдешь нетипичный флопарь с полноценным движком.

Схема управления шаговым двигателем
Я разжился контроллерами шаговиков L297 и мощным сдвоенным мостом L298N.

Схема включения L298N+L297 до смешного проста — надо тупо соединить их вместе. Они настолько созданы друг для друга, что в даташите на L298N идет прямой отсыл к L297 , а в доке на L297 на L298N .


Осталось только подключить микроконтроллер.

  • На вход 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 ампера.

Правда на будущее, когда я буду делать роботу шаговый привод, я возьму не связку L297+L293 , а микруху L6208 которая может и чуть слабей по току, но зато два в одном! Сразу подключай двигатель и работай. Если же их покупать, то на L6208 получается даже чуть дешевле.

Спасибо. Вы потрясающие! Всего за месяц мы собрали нужную сумму в 500000 на хоккейную коробку для детского дома Аистенок. Из которых 125000+ было от вас, читателей EasyElectronics. Были даже переводы на 25000+ и просто поток платежей на 251 рубль. Это невероятно круто. Сейчас идет заключение договора и подготовка к строительству!

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

201 thoughts on “Управление шаговым двигателем”

А можешь посоветовать шаговик из тех, которые сейчас можно купить?
Я не знаю как у всех, но я д аже двухдюймовые флопики повыкидывал лет пять назад, а 5-ти дюймовых и в помине не было.

По продаваемым не в курсе. В нашей деревне их в продаже нету, а что там в Московии я даже не знаю.

Оппа, теперь самое время разбираться, что за шаговики у меня имеются по результатам годового потрошения CD-DVD ROM’ов. 🙂

А в сидюках/дивдюках вроде бы стоят обычные коллекторники+синхронный на шпиндель. Хотя могут быть и шаговики, но я не встречал ни разу.

Шаговики во многих CD/DVD приводах стоят — для таскания каретки с лазером (у меня минимум 3 таких экземпляра валяются). Но конструкция двигателя — как в трехдюймовых дисководах, для практического применения неудачная.

ну когда я расотрошил сиди ром там был безколлекторник + еще какойто на шпиндель
для безколлекторника я думаю применение в моделизме
http://forum.rcdesign.ru/index.php?showtopic=12183&st=560
может пригодится кому

http://forum.rcdesign.ru/index.php?showtopic=12183&st=560
может чем пригодится там модельный регултор хода
может управлять сдромным безколлекторником

работал с шаговыми движками на своей фирме.
ещё с нашими совеццкими и руссийскими.

сколько раз коротыш верещал на источниках — не счесть ) единственное оправдание — я про них ещё тогда ничего не знал и доков не имел. работал методом тыка…

всё хорошо, но нету обратной связи.

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

. в смысле от постоянных замыкани? Как ты умудрялся его коротнуть? Одновременным замыканием ключей верхнего и нижнего плеча? Так там Dead Time надо ставить!

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

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

Полезно, спасибо. Мне в свое время довелось раскурочить 8″ дисковод. Два шаговика лежат дожидаются своего часа. Так, что информация может пригодиться.

У меня этих дисководов полтора десятка штук!

Есть интересная статья по использованию шаговых двигателей
Журнал Современная электроника Октябрь 2004 г. стр. 46-47
Автор: Олег Пушкарев, Омск, конструкция на базе PIC16F84 и
драйвера — ULN2003A. (WWW.SOEL.RU)
Журнал очень рульный, советую почитать, статьи высылают
по почте, по запросу или подписка (в том числе бесплатная).

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

кто знаком с драйвером шины ULN2804a b ULN2004a , какая разници между ними.

Кажется, один для КМОП, другой — для ТТЛ. Схема отличается только номиналом сопротивления от входного штырька до базы транзистора. В одном случае — 10ком (для КМОП), в другом — кажется, 1,5 ком, точно не помню. Ну, и входные уровни соответственно разные. В остальном — одинаково. Я сам года три назад выбирал, какие брать. А использую все же чаще ULN2003 (привычка, чтоли)…

У меня есть движок от древнего лазерного принтера. Двигатель фирмы CANON PM60-H418Z21B можно ли запустить таку вещь? Торчат из него по 3 провода с каждой обмотки. P.S. С шаговиками я делов не имел пока, но очень интересно.

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

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

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

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

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

Это и есть две обмотки шагового двигателя.

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

Если они включены в разъем так как показано на рисунке, то двигатель можно смело подключать к большинству устройств, т.к. стандартом принято размещение на разъемах выводов обмоток как А1-А2-В1- В2, или В1-В2-А1-А2 где А1 и А2 выводы одной обмотки, а В1 и В2 – выводы другой обмотки(на фото)

Если же выводы обмоток перепутаны, например, чередуются как А1-В1-А2-В2,то можно либо перепаять провода, но лучше просто вынув среднюю пару контактов из разъема, воткнуть их в нужные гнезда. Устройство разъема позволяет делать это многократно.

Нажав сверху отверткой или иглой на зуб-фиксатор вынимаем провод вместе с контактом из корпуса разъема, затем лезвием ножа слегка поднимаем зуб-фиксатор(как показано на фото) и вставляем его в нужное гнездо .

После этого снова проверяем обмотки, закорачивая выводы разъема отрезком провода, и если обмотки размещены правильно – подключаем шаговый двигатель к устройству, не забывая убрать «закоротку».

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

Разъемы типа DUPONT можно просто перевернуть «задом наперед» , тогда направление вращения двигателя тоже поменяется.

На фото разъем типа DUPONT

Настройка двигателей без приборов.

Первое — настройку надо всегда начинать с минимальных токов двигателя.

Ориентировочно определить ток можно по шуму двигателя, чем ток больше, тем сильнее шумит двигатель. Также можно определить по усилию, нообходимому для поворота вала вручную, чем больше ток, тем сильнее двигатель. Также можно определить ток по нагреву драйвера или самого двигателя. Чем сильнее греется то и (или) другое, тем больше ток.

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

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