Меню

Схема контроллера для биполярных двигателей

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

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

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

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

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

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

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

АВТОНОМНЫЙ КОНТРОЛЛЕР БИПОЛЯРНОГО ШАГОВОГО ДВИГАТЕЛЯ.

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

Для запуска 4 выводные двигателей по схеме биполярного включения был разработан
новый контроллер . Он позволяет запускать 4, 6 и 8 выводные двигатели с большим КПД.

Фотография собранного контролера. Транзисторы отогнуты в разные стороны для крепления двух раздельных пластинчатых радиаторов.

Фотография со стороны проводников

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

При использованных деталях допускается напряжение питания ШД до 40 вольт и током обмотки до 5 ампер (паспортно). Есть прошивки для работы в полушаговом, шаговом однофазном и шаговом двухфазном режимах.

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

Ниже представлена принципиальная схема драйвера биполярных шаговых двигателей с двумя L298 (усиленный) 48В, 4А.

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

Драйвер поддерживает режимы работы full step и half step которые можно выбрать с помощю джапмпера H/F. Джампер CTRL предназначен для установки типа двигателя униполярный/биполярный, в позиции биполярного ШИМ работает на выходы INHIBIT в противном случае на выходы ABCD. Питание драйвера 12-35В для двигателя и 15-24В для схемы, диоды D1-D8 быстрые на 3 ампера, желательно Шоттки. Цепочкой R9 и C15 можно подбирать частоту ШИМ, при указанных номиналах она выше диапазона слышимых звуков, так что движок не жужжит. Потенциометром RV1 устанавливается рабочий ток двигателя.

Читайте также:  Как определить вес шины автомобиля

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

Схема и плата нарисованы в программе Proteus 7.7.

Схема протестированна и показала полную работоспособность драйвера

Используемые радиоэлементы:

ОБОРУДОВАНИЕ
ТЕХНОЛОГИИ
РАЗРАБОТКИ

Блог технической поддержки моих разработок

Простой контроллер шагового двигателя на PIC12F629

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

Общее описание.

Контроллер шагового двигателя разработан на PIC контроллере PIC12F629. Это 8 выводной микроконтроллер стоимостью всего 0,5 $. Несмотря на простую схему и низкую стоимость комплектующих, контроллер обеспечивает довольно высокие характеристики и широкие функциональные возможности.

  • Контроллер имеет варианты схем для управления как униполярным, так и биполярным шаговым двигателем.
  • Обеспечивает регулировку скорости вращения двигателя в широких пределах.
  • Имеет два режима управления шаговым двигателем:
    • полношаговый;
    • полушаговый.
  • Обеспечивает вращение в прямом и реверсивном направлениях.
  • Задание режимов, параметров, управление контроллером осуществляется двумя кнопками и сигналом ВКЛ (включение).
  • При выключении питания все режимы и параметры сохраняются в энергонезависимой памяти контроллера и не требуют переустановки при включении.

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

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

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

Объяснять в схеме особенно нечего. К PIC контроллеру подключены:

  • кнопки «+» и «–» (через аналоговый вход компаратора);
  • сигнал ВКЛ (включение двигателя);
  • драйвер ( транзисторы VT1-Vt4 , защитные диоды VD2-VD9).

PIC использует внутренний генератор тактирования. Режимы и параметры хранятся во внутреннем EEPROM.

Схема драйвера на биполярных транзисторах КТ972 обеспечивает ток коммутации до 2 А, напряжение обмоток до 24 В.

Я спаял контроллер на макетной плате размерами 45 x 20 мм.

Если ток коммутации не превышает 0,5 А, можно использовать транзисторы серии BC817 в корпусах SOT-23. Устройство получится совсем миниатюрным.

Программное обеспечение и управление контроллером.

Резидентное программное обеспечение написано на ассемблере с циклической переустановкой всех регистров. Программа зависнуть в принципе не может. Загрузить программное обеспечение (прошивку) для PIC12F629 можно здесь.

Управление контроллером достаточно простое.

  • При активном сигнале «ВКЛ» (замкнут на землю) двигатель крутится, при неактивном (оторван от земли) – остановлен.
  • При работающем двигателе ( сигнал ВКЛ активен) кнопки «+» и «–» меняют скорость вращения.
    • Каждое нажатие на кнопку «+» увеличивает скорость на минимальную дискретность.
    • Нажатие кнопки «–» — уменьшает скорость.
    • При удержании кнопок «+» или «–» скорость вращения плавно увеличивается или уменьшается, на 15 значений дискретности в сек.
  • При остановленном двигателе ( сигнал ВКЛ не активен).
    • Нажатие кнопки «+» задает режим вращения в прямом направлении.
    • Нажатие кнопки «–» переводит контроллер в режим реверсивного вращения.
  • Для выбора режима – полношаговый или полушаговый необходимо при подаче питания на контроллер удерживать кнопку «–» в нажатом состоянии. Режим управления двигателем будет изменен на другой (проинвертирован). Достаточно выдержать кнопку – нажатой в течение 0,5 сек.

Схема контроллера униполярного шагового двигателя с драйвером на MOSFET транзисторах.

Низкопороговые MOSFET транзисторы позволяют создать драйвер с более высоким параметрами. Применение в драйвере MOSFET транзисторов, например, IRF7341 дает следующие преимущества.

  • Сопротивление транзисторов в открытом состоянии не более 0,05 Ом. Значит малое падение напряжения (0,1 В при токе 2 А), транзисторы не греются, не требуют радиаторов охлаждения.
  • Ток транзисторов до 4 А.
  • Напряжение до 55 В.
  • В одном 8 выводном корпусе SOIC-8 размещены 2 транзистора. Т.е. на реализацию драйвера потребуется 2 миниатюрных корпуса.

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

Читайте также:  Устройство управляемого моста автомобиля камаз 532059

Подключение к контроллеру униполярных шаговых двигателей.

В униполярном режиме могут работать двигатели с конфигурациями обмоток 5, 6 и 8 проводов.

Схема подключения униполярного шагового двигателя с 5 и 6 проводами (выводами).

Для двигателей FL20STH, FL28STH, FL35ST, FL39ST, FL42STH, FL57ST, FL57STH с конфигурацией обмоток 6 проводов выводы промаркированы следующим цветами.

Обозначение вывода на схеме Цвет провода
A черный
желтый
C зеленый
B красный
0* белый
D синий

Конфигурация с 5 проводами это вариант, в котором общие провода обмоток соединены внутри двигателя. Такие двигатели бывают. Например, PM35S-048.

Документацию по шаговому двигателю PM35S-048 в PDF формате можно загрузить здесь.

Схема подключения униполярного шагового двигателя с 8 проводами (выводами).

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

Как выбирать напряжение для шагового двигателя.

По закону Ома через сопротивление обмотки и допустимый ток фазы.

U = Iфазы * Rобмотки

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

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

Как определить обмотки шаговых двигателей, если нет справочных данных.

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

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

Только надо помнить, что к такому же эффекту приводит слишком высокая скорость вращения (выход из синхронизации). Т.е. надо скорость вращения установить заведомо низкую.

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

Биполярный режим дает два преимущества:

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

Создавать схему биполярного драйвера на дискретных элементах – дело неблагодарное. Проще использовать интегральный драйвер L298N. Описание на русском языке есть здесь.

Схема контроллера с биполярным драйвером L298N выглядит так.

Драйвер L298N включен по стандартной схеме. Такой вариант контроллера обеспечивает фазные токи до 2 А, напряжение до 30 В.

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

В этом режиме может быть подключен двигатель с любой конфигурацией обмоток 4, 6, 8 проводов.

Схема подключения биполярного шагового двигателя с 4 проводами (выводами).

Для двигателей FL20STH, FL28STH, FL35ST, FL39ST, FL42STH, FL57ST, FL57STH с конфигурацией обмоток 4 провода выводы промаркированы следующим цветами.

Обозначение вывода на схеме Цвет провода
A черный
C зеленый
B красный
D синий

Схема подключения биполярного шагового двигателя с 6 проводами (выводами).

Для двигателей FL20STH, FL28STH, FL35ST, FL39ST, FL42STH, FL57ST, FL57STH с такой конфигурацией обмоток выводы промаркированы следующим цветами.

Обозначение вывода на схеме Цвет провода
A черный
C зеленый
B красный
D синий

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

Схема подключения биполярного шагового двигателя с 8 проводами (выводами).

Может быть два варианта:

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

Схема последовательного включения обмоток.

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

Схема параллельного включения обмоток.

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

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

  • максимальный ток драйвера;
  • максимальное напряжение драйвера;
  • скорость вращения двигателя.

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

Adblock
detector