Содержание

Управление биполярным шаговым двигателем. Часть 1. Теория. Схема с контроллером PIC12F629 и драйвером LB1838 — radiohlam.ru

  1. Часть 1. Теория. Схема с PIC12F629 и драйвером LB1838
  2. Часть 2. Схема с PIC12F629 и драйвером L293D

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

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

IN1EN1Out1 (a)Out2(b)IN2EN2Out3(c)Out4(d)
LowHigh+LowHigh+
HighHigh+HighHigh+
XLowотклотклXLowотклоткл

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

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

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

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

Схема:

Элементы:

R1..R2 = 1 кОм. Когда соответствующая кнопка не нажата — резистор подтягивает напряжение на входе контроллера к +5 В (высокий уровень). При нажатии на кнопку напряжение на входе подтягивается к земле (низкий уровень).

С1, С2 = 0,1 мкФ — керамические конденсаторы.

С3 = 470 мкФ х 16В — электролитический конденсатор.

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

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

Простейшая программа управления (.asm + .hex)

Скачать плату в формате DipTrace 2.0

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

продолжение (для драйвера L293D)…

Управление биполярным шаговым двигателем без использования драйвера

Как-то раз мне захотелось поэксперементировать с шаговыми двигателями. С униполярным двигателем всё очень просто, достаточно полумоста на очень бюджетной микросхеме ULN2003 или ULN2803. А вот с биполярным двигателем всё гораздо сложнее. Он имеет минимум две обмотки, на каждом конце которых полярность питания должна меняться на противоположную. Кто-то скажет «зачем изобретать велосипед? Купи драйвер на L239 и радуйся жизни», может быть это и правильно, но мы же не ищем лёгких путей, да и что-нибудь спаять руки чешутся (а драйверы были куплены, просто они ещё ехали из Китая). Немного покопавшись в интернете, я заинтересовался такой штукой, как H-мост.

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

Так как у биполярного двигателя две обмотки, то нам понадобится два H-моста. Тогда для управления двумя мостами у нас получается восемь управляющих проводов (на затворы каждого транзистора). Это очень неудобно, потому что, во первых, нужно много проводов цеплять к управляющему микроконтроллеру, а во вторых, если подать управляющий сигнал одновременно на верхний и на нижний транзисторы одного плеча моста, то мы получим короткое замыкание и просто сожжём два транзистора. Поэтому я решил сделать одну хитрость: затворы нижних транзисторов каждого плеча (они у нас коммутируют минус к обмотке мотора) необходимо подключить через инвертор (в данном случае логический элемент «не»), а затворы верхних транзисторов — на вход того же инвертора. Таким образом мы получаем уже четыре управляющих сигнала (A, B, C ,D).

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

Теперь подключаем нашу схему к arduino (или просто микроконтроллеру): линии A,B,C,D — к любому свободному пину, так же же подключаем минус и плюс 5 вольт от платы контроллера. Сами мосты запитываем от отдельного блока питания (у меня был не стабилизированный на 15 вольт).  

Осталось написать программу управления

Будем управлять двигателем в полушаговом режиме (8 шажков). В моей программе написаны три функции: forward — будет крутить двигатель в одну сторону, backward — в обратную, stope — остановка. Функции запускаются с помощью терминала путём отправки символов (f,b и s соответственно). Переменная dl служит для управления скоростью вращения двигателя. Так как программа выполняется по кругу, то двигатель вращается постоянно. По аналогии можно добавить подпрограммы для одного шага или нужного количества шагов.

Внешний вид готового устройства:

Как видно из фотографии, мосты собраны из разных транзисторов (в верхних плечах пары ceb703al и 76129s выпаянные из старых материнок, в нижних плечах irf640  и irf610), так как восемь одинаковых у меня просто не было. Тем не менее схема вполне работоспособна. Так же на фото заметна пара «соплей» — перемычек — как всегда ошибки при рисовании платы.

И в конце статьи — демонстрационное видео работы устройства.

Список радиоэлементов
ОбозначениеТипНоминалКоличествоПримечаниеМагазинМой блокнот
IC1Микросхемак1533лн1174als04Поиск в магазине ОтронВ блокнот
R1-R8Резистор

100Ом-1кОм

1любой мощностиПоиск в магазине ОтронВ блокнот
T1-T8ТранзисторIRF7401IRF610, IRF630, IRF640, IRF730,Поиск в магазине ОтронВ блокнот
Добавить все

Скачать список элементов (PDF)

Теги:
  • Шаговый двигатель

  • Arduino

  • Sprint-Layout

Драйвер биполярного шагового двигателя — PoStep25-256

17,80 € вкл. НДС и стоимость доставки

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

Драйвер биполярного шагового двигателя

— количество PoStep25-256

— ИЛИ —

— ИЛИ  —

Артикул

: Драйвер биполярного шагового двигателя — PoStep25-256
Категории: Драйверы, Двигатели, Драйверы и мощность
Теги: Драйвер биполярного шагового двигателя, PoStep, Драйвер шагового двигателя

  • Описание

  • Дополнительная информация

  • Загрузки

  • Отзывы (0)

Описание

PoStep25-256 — это высокопроизводительный и недорогой драйвер биполярного шагового двигателя с плавной настройкой — управление шаговым двигателем.

PoStep25-256 — это высокопроизводительный экономичный драйвер шагового двигателя с плавной настройкой — интеллектуальным управлением шаговым двигателем. Драйвер включает в себя передовую архитектуру и технологию поверхностного монтажа для достижения исключительной плотности мощности. К тому же медь на печатной плате в 2 раза толще, чем в большинстве печатных плат. В заключение, PoStep25-256 имеет современную тепловую конструкцию. Толстая медь и дополнительный радиатор гарантируют наилучшие тепловые характеристики и низкий нагрев. Малая занимаемая площадь, высокая удельная мощность и прочная конструкция являются ключом к надежному управлению биполярным шаговым двигателем.

Может управлять биполярными шаговыми двигателями с максимальной силой тока 2,5 А. Помимо Nema17, также можно управлять некоторыми шаговыми двигателями Nema23.

Функции PoStep25-256

  • Фазный ток от 0,5 до 2,5 А,
  • Простая установка тока с помощью перемычки,
  • Совместим с 4-, 6- и 8-проводными шаговыми двигателями любого напряжения,
  • Источник питания от +9 В до +30 В постоянного тока,
  • Защита от обратного напряжения питания,
  • 1, 2, 4, 8, 16, 32, 128 и 256 микрошагов на шаг
  • 2 микрошага в режиме высокого крутящего момента
  • Макс. частота шагов 500 кГц
  • Логические совместимые входы 3 В и 5 В,
  • Рабочая температура от 0°C до 70°C,
  • Светодиод питания, индикаторы ошибки и включения,
  • Малый размер 48 мм X 48 мм,
  • Более плавное и бесшумное движение шагового двигателя,
  • Улучшенный крутящий момент,
  • Функции защиты:
  • Защита от перегрузки по току,
  • Обнаружение открытой нагрузки,
  • Термическое отключение,
  • Выход состояния неисправности,
  • Блокировка при пониженном напряжении.

Дополнительная информация

Вес 21 г
Размеры 1 × 1 × 1 см

Загрузки

PoStep25-256 руководство пользователя

PoStep25-256 3d модель

Только авторизованные клиенты, которые приобрели этот продукт, могут оставить отзыв.

Вам также может понравиться…

  • Кабельный пакет PoKeys57CNC

    18,90 € вкл. НДС и доставка
    В корзину

  • USB контроллер ЧПУ – PoKeys57U – авиасимуляторы, автоматизация

    42,00 € 50,00 € вкл. НДС и доставка
    Выберите опции

  • Шаговый двигатель NEMA-17 (одновальный SY42STh57-1684A)

    17,00 € 45,00 € вкл. НДС и доставка
    Выберите опции

  • Контроллер ЧПУ Ethernet – PoKeys57E – авиасимуляторы, автоматизация

    52,00 € 60,00 € вкл. НДС и доставка
    Выберите опции

  • Контроллер ЧПУ USB и Ethernet – PoKeys57CNC

    119,00 € вкл. НДС и доставка
    В корзину

  • Шаговый двигатель NEMA-17 (двойной вал SY42STh57-1684B)

    17,00 € 45,00 € вкл. НДС и доставка
    Выберите опции

  • PoPower24-100 Импульсный блок питания 24В 100Вт

    24,90 € вкл. НДС и доставка
    В корзину

Контроллер биполярного шагового двигателя — слаботочный

Перейти к содержимому

Одноосный малоточный контроллер шагового двигателя (SSMicroLC-4x)

236 $

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

Количество

Одноосный малоточный контроллер шагового двигателя (SSMicroLC-4x)

  • Описание

  • Дополнительная информация

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

Минимум Максимум
Соответствует RoHS Да
Общая ось двигателя/плата: 1
Тип драйвера двигателя (на ось): Драйвер биполярного шагового двигателя
Диапазон шага драйвера двигателя (на ось): Полный, 1/2, 1/4, 1/8, 1/16, 1/32
Шаговая скорость двигателя (на ось): 1 с/с 30 000 с/с
Предварительный делитель шагового двигателя (на ось): Да (от 1 (по умолчанию) до 255) (предделитель=255=0,003922 с/с)
Режимы мощности холостого хода двигателя (на ось): ВЫКЛ до максимального значения
Настройка управления максимальным током (на ось): Одиночный 8-битный ЦАП с программным управлением
Контроль затухания тока драйвера (на ось) Да
Защита от короткого замыкания фазы драйвера: Да
Защита драйвера от перегрева: Да
Температура соединения драйвера (тепловое отключение): +165 градусов C (+329 градусов F)
Ограничения тока двигателя (на ось)
Работает:
Бездействие:
0,100 А/фаза
0,00 А/фаза
1,50 А/фаза
До максимального значения
Рабочее напряжение: 15,0 В пост. тока 50,0 В пост. тока
Диапазон температур окружающей среды
Эксплуатация:
Хранение:
0 градусов C (32 градуса F)
-40 градусов C (-40 градусов F)
+70 градусов C (158 градусов F)
+125 градусов C ( 257 градусов по Фаренгейту
Максимальное количество плат SSXYMicro на одной (1) последовательной линии 16
Средства связи: Платы связи продаются отдельно
Скорость передачи данных: 9600, 19200, 38400, 57600 (по умолчанию), 115200, 230400, 460800
Вход датчика исходного положения (на ось): Инфракрасный (ток ограничен 25 мА) Вход датчика или прямой привод 5 В постоянного тока
Вход датчика ограничения (на ось): Вход типа микропереключателя (нормально открытый)
Выделенные линии пользовательского ввода (на ось): 3 входа со встроенными подтяжками 10K, вход 0–5,0 В постоянного тока, выход 0–3,3 В постоянного тока
3 входа без подтяжек, вход 0–3,3 В постоянного тока /Вывод
Выделенные пользовательские выходные линии (на ось):
Выходы (каждый):
2 — МОП-транзистор 0,5 А — 0 В пост.