Драйвер для управления шаговым двигателем. Как работает шаговый электродвигатель? Достоинства шаговых двигателей

Шаговые двигатели интересны тем, что позволяют повернуть вал на определённый угол. Соответственно, с их помощью можно повернуть вал и на определённое число оборотов, потому что N оборотов — это тоже определённый угол, равный 360*N, и, в том числе, на нецелое число оборотов, например на 0.75 оборота, 2.5 оборота, на 3.7 оборота и т.д. Этими возможностями шаговых двигателей определяется и область их применения. В основном они используются для позиционирования различных устройств: считывающих головок в дисководах, печатающих головок в принтерах и плоттерах и т.д.

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

Итак, что нам понадобится для экспериментов. Во-первых, шаговый двигатель. Я брал 5-ти вольтовый китайский биполярный шаговик с загадочным названием, выдранный из старого 3,5" дисковода, аналог M20SP-GW15. Во-вторых, поскольку обмотки двигателя потребляют значительный ток (в данном случае до 300 мА), то вполне понятно, что подключить шаговик к контроллеру напрямую не удастся, нужен драйвер.

В качестве драйвера для биполярных шаговых двигателей обычно используют схему так называемого H-моста или специальную микросхему (в которой всё равно встроен H-мост). Можно конечно ваять самому, но я взял готовую микруху (LB1838) из того же старого дисковода. Собственно, кроме всего вышеописанного, для наших экспериментов также понадобятся: PIC-контроллер (был взят PIC12F629, как самый дешёвый) и пара кнопок.

Перед тем, как перейти непосредственно к схеме, давайте немного разберёмся с теорией.

Биполярный шаговый двигатель имеет две обмотки и, соответственно, подключается по четырём проводам. Найти концы обмоток можно простой прозвонкой — концы проводов, относящиеся к одной обмотке, будут между собой звониться, а концы, относящиеся к разным обмоткам, — нет. Концы первой обмотки обозначим буквами "a", "b", а концы второй обмотки буквами "c", "d".

На рассматриваемом экземпляре есть цифровая маркировка контактов возле мотора и цветовая маркировка проводов (бог его знает, может это тоже какой-то стандарт): 1 — красный, 2 — голубой — первая обмотка; 3 — жёлтый, 4 — белый — вторая обмотка.

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

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

Для правильной работы, должна строго соблюдаться указанная в таблице последовательность коммутаций. То есть, например, после второй комбинации (когда мы подали + на вывод "c" и минус на вывод "d") мы можем подать либо третью комбинацию (отключить вторую обмотку, а на первой подать — на "a" и + на "b"), тогда двигатель повернётся на один шаг вперёд, либо первую комбинацию (двигатель повернётся на один шаг назад).

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

То есть, допустим мы повернули двигатель на 5 шагов вперёд, подавая на него комбинации 2-3-4-1-2, потом обесточили, а потом захотели повернуть ещё на один шаг вперёд. Для этого на обмотки надо подать комбинацию 3. Пусть после этого мы его опять обесточили, а через какое-то время захотели вернуть его на 2 шага назад, тогда нам нужно подать на двигатель комбинации 2-1. И так далее в таком же духе.

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

На этом мы закончим с двигателем и перейдём к драйверу LB1838.

У этой микрухи есть четыре управляющие ноги (IN1, IN2, EN1, EN2), на которые мы как раз и будем подавать сигналы с контроллера, и четыре выходных ноги (Out1, Out2, Out3, Out4), к которым подключаются обмотки двигателя. Обмотки подключаются следующим образом: провод "a" подключается к Out1, провод "b" — к Out2, провод "c" — к Out3, провод "d" — к Out4.

Ниже представлена таблица истинности для микросхемы драйвера (состояние выходов в зависимости от состояния входов):

IN1 EN1 Out1 (a) Out2(b) IN2 EN2 Out3(c) Out4(d)
Low High + Low High +
High High + High High +
X Low откл откл X Low откл откл

Теперь давайте нарисуем на диаграмме, какую форму должны иметь сигналы IN1, EN1, IN2, EN2 для одного полного цикла вращения (4 шага), т.е. чтобы на выходах появились последовательно все 4 комбинации подключения обмоток:

Если присмотреться к этой диаграмме (слева), то становится очевидно, что сигналы IN1 и IN2 можно сделать абсолютно одинаковыми, то есть на обе этих ноги можно подавать один и тот же сигнал. В этом случае наша диаграмма будет выглядеть так:

Итак, на последней диаграмме нарисовано, какие комбинации уровней сигналов должны быть на управляющих входах драйвера (EN1, EN2, IN1, IN2) для того, чтобы получить соответствующие комбинации подключения обмоток двигателя, а также стрелками указан порядок смены этих комбинаций для обеспечения вращения в нужную сторону.

Вот в общем-то и вся теория. Необходимые комбинации уровней на управляющих входах формируются контроллером (мы будем использовать PIC12F629).

Схема :

Готовый девайс :

Программа управления реализует следующий алгоритм: при нажатии кнопки КН1 двигатель поворачивается на один шаг в одну сторону, а при нажатии кнопки КН2 — на один шаг в другую сторону.

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

Драйвер шагового двигателя - электронное устройство, которое заставляет "шагать" по . Стандартом де-факто в области управления ШД являются . STEP это сигнал шага, DIR это сигнал направления вращения, ENABLE это сигнал включения драйвера.

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

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

К драйверу ШД подключается источник питания, сам ШД (его обмотки) и сигналы управления. Стандартом по сигналам управления является управление сигналами STEP/DIR или CW/CCW и сигнал ENABLE.

Протокол STEP/DIR:

Сигнал STEP - Тактирующий сигнал, сигнал шага. Один импульс приводит к повороту ротора ШД на один шаг (не физический шаг ШД, а шаг выставленный на драйвере - 1:1, 1:8, 1:16 и т.д.). Обычно драйвер отрабатывает шаг по переднему или заднему фронту импульса.

Сигнал DIR - Потенциальный сигнал, сигнал направления. Логическая единица - ШД вращается по часовой стрелке, ноль - ШД вращается против часовой стрелки, или наоборот. Инвертировать сигнал DIR обычно можно либо из программы управления или поменять местами подключение фаз ШД в разъеме подключения в драйвере.

Протокол CW/CCW:

Сигнал CW - Тактирующий сигнал, сигнал шага. Один импульс приводит к повороту ротора ШД на один шаг (не физический шаг ШД, а шаг выставленный на драйвере - 1:1, 1:8, 1:16 и т. д.) по часовой стрелке. Обычно драйвер отрабатывает шаг по переднему или заднему фронту импульса.

Сигнал CW - Тактирующий сигнал, сигнал шага. Один импульс приводит к повороту ротора ШД на один шаг (не физический шаг ШД, а шаг выставленный на драйвере - 1:1, 1:8, 1:16 и т. д.) против часовой стрелки. Обычно драйвер отрабатывает шаг по переднему или заднему фронту импульса.

Сигнал ENABLE - Потенциальный сигнал, сигнал включения/выключения драйвера. Обычно логика работы такая: логическая единица (подано 5В на вход) - драйвер ШД выключен и обмотки ШД обесточены, ноль (ничего не подано или 0В на вход) - драйвер ШД включен и обмотки ШД запитаны.

Драйверы ШД могут иметь дополнительные функции:

Контроль перегрузок по току.

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

Контроль переполюсовки при подключении сигналов управления и питающих напряжений.

Режим автоматического снижения тока обмотки при простое (отсутствии сигнала STEP) для снижения нагрева ШД и потребляемого тока (режим AUTO-SLEEP).

Автоматический компенсатор среднечастотного резонанса ШД. Резонанс обычно проявляется в диапазоне 6-12 об/сек, ШД начинает гудеть и ротор останавливается. Начало и сила резонанса сильно зависит от параметров ШД и его механической нагрузки. Автоматический компенсатор среднечастотного резонанса позволяет полностью исключить резонирование ШД и сделать его вращение равномерным и устойчивым во всем диапазоне частот.

Схему изменения формы фазовых токов с увеличением частоты (морфинг, переход из режима микрошага в режим шага при увеличении частоты). ШД способен отдать заявленный в ТХ момент только в режиме полного шага, поэтому в обычном драйвере ШД без морфинга при использовании микрошага ШД работает на 70% от максимальной мощности. Драйвер ШД с морфингом позволяет получить от ШД максимальную отдачу по моменту во всем диапазоне частот.

Встроенный генератор частоты STEP – удобная функция для пробного запуска драйвера без подключения к ПК или другому внешнему генератору частоты STEP. Также генератор будет полезен для построения простых систем перемещения без применения ПК.

Итак, задумывая драйвер на полевиках для биполярников, я и не думал что тема вызовет такой интерес и придется писать маленькую статью по сборке и настройке. Здесь будет рассматриваться драйвер как отдельный блок. Т.к. я использую блочную конструкцию. Т.е. три драйвера, интерфейсная плата, блок питания. Во первых при выходе из строя одного драйвера, просто меняется драйвер на запасной, а во вторых (и главное) планируется модернизация, мне проще снять один драйвер, и поставить модернизируемый вариант для обкатки. «Одноплатник» это уже развитие темы, и на вопросы по настройке ИБП я думаю с удовольствием ответит Dj _ smart , а также дополнит и поправит мой труд. А теперь к делу…

Пункт первый (набившим плату можно не читать J ). После травления, лужения, и сверловки, внимательно осмотрите всю плату на предмет косяков. Сопли, протравленные дорожки, и т.д. могут серьезно обломать весь кайф. Далее набиваем плату, сначала все перемычки, затем сопротивления, диоды, панели, емкости и биполярные транзисторы. Хочу обратить особое внимание на Ваше внимание, извините за… Не ленитесь перед впайкой проверить деталь на исправность. Прозвонка иногда спасает от дыма… Я зная цветовую кодировку резисторов на ура, подкалывался несколько раз, причем со спец. эффектами. Когда используешь резисторы из загашников которые годами выпаивались из всего что под руку попадет, забываешь, что при нагреве красный может стать оранжевым, а оранжевый - желтым… Впаиваем провода питания +5В, степ, GND , и провода контроля Vref . Примерно вот так это выглядит:

Пункт второй (настраиваем режимы работы и удержания). 555 я лично впаиваю в плату, кто поставил панель, значит втыкаем, блок индикации должен быть отключен. Подстроечники на середину. Вывод степ замыкаем на общий (раб. режим). Прозваниваем цепь +5В и если нет короткого, включаем питание. Тестер подключен к контрольным точкам Vref (молодец Dj _ smart , предусмотрел на плате), если номиналы подстроечников и сопротивления между ними соответствуют схеме, то подстроечником раб. режима можно регулировать напряжение около 0 - 1В т.е. ток 0 - 5А. Настроим на 1А. Тут все просто. R изм. у нас 0,2 Ом. Нам нужен 1А. 0,2х1=0,2В. Т.е. если мы установим Vref - 0,2В, ток в обмотке будет 1А. Если нам нужен ток в обмотке скажем 2,5А, то Vref =0,2х2,5=0,5В.

Короче мы выставили 0,2В.

Теперь размыкаем степ и общ. Если все элементы в норме и по схеме, то после размыкания примерно через полсекунды Vref снизится вдвое (если второй подстроечник посередине) Настраиваем им Vref удержания. У меня 50 проц. от рабочего:

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

Пункт третий (настраиваем блок индикации). Печатка разведена под 315-361, как и у Dj _ smarta тоже мешок, надо куда то паять… Но в принципе туда можно паять любую пару, из наших я испытывал 502 - 503, 3102 - 3107, все пашет, только будьте внимательны с цоколевкой! Если все правильно впаяно и рабочее, то работает без проблем. Индикация вносит небольшую корректировку в Vref , так что после подключения индикации, окончательно отрегулируйте ток под свой ШД (лучше для начала 70% от номинального). Фотки как горят светодиоды делать не стал J .

Пункт четвертый, важный (297) Выключив питание втыкаем 297 на свое место. Еще раз проверяем монтаж, и элементы обвязки, если все ОК (при любом сомнении проверяем дважды) врубаем питание. Проверяем осциллографом сигнал на первой ноге, он такой:

Либо на 16 ноге, он такой:

Это означает что шим запустился, счастливчики имеющие частотомер могут померить частоту, она очень приблизительно должна соответствовать 20кГц.

ВНИМАНИЕ!!! Это важно!!! Даже если шим не запустится, логическая часть 297 будет работать, т.е. при подключении нагрузки все сигналы пойдут… Но прикиньте 24В без шима на ШД 2Ом. Так что важно убедиться в запуске генератора микросхемы.

Пункт пятый. Опять выключаем питание и вставляем IR , впаиваем полевики. При использовании ШД с током обмотки более 2,5А, необходимо полевики вынести на радиатор. Обратите внимание при впайке диодов, они могут различаться по меткам. Мне правда не встречалось (у меня в перемешку 522 и 1 N 4148 (аналог) у них цоколевка совпадает) Но учитывая что людям IR

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

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

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


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

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

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

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

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

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

Подробнее смотрите со схемами здесь:

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

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

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


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

Контроллер шагового двигателя

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

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

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

Возможности контроллеров

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

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

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

В зависимости от характера поставленной цели выбирают способ управления шаговым двигателем. Если необходимо настроить простое управление маломощным электроприводом, когда в каждый момент времени один импульс подается на одну катушку статора: на полный оборот нужно, скажем, 48 шагов, и ротор будет перемещаться на 7,5 градусов при каждом шаге. Режим одиночных импульсов в этом случае подойдет.

Для достижения более высокого вращающего момента применяют двойной импульс - в две соседние катушки подается одновременно по импульсу. И если для полного оборота нужно 48 шагов, то опять же нужно 48 таких двойных импульсов, каждый приведет к шагу в 7,5 градусов но с на 40% большим моментом нежели в режиме одиночных импульсов. Скомбинировав оба способа можно получить 96 импульсов разделив шаги - получится 3,75 градуса на шаг - это комбинированный режим управления (полушаговый).

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

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

Один из недостатков шаговиков, по крайней мере для меня, это довольно большой ток. Так как на обмотки напруга подается все время, а такого явления как противоЭДС в нем, в отличии от коллекторных двигателей, не наблюдается, то, по сути дела, мы нагружаемся на активное сопротивление обмоток, а оно невелико. Так что будь готов к тому, что придется городить мощный драйвер на 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 получается даже чуть дешевле.

Что еще почитать