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

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

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

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

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

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

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

  • Про режимы и способы управления шаговым двигателем можно почитать здесь, про дайверы здесь.
  • Схема контроллера униполярного шагового двигателя с драйвером на биполярных транзисторах.
  • Биполярный контроллер шагового двигателя схема
  • Объяснять в схеме особенно нечего. К PIC контроллеру подключены:
  • кнопки «+» и «–» (через аналоговый вход компаратора);
  • сигнал ВКЛ (включение двигателя);
  • драйвер ( транзисторы VT1-Vt4 , защитные диоды VD2-VD9).

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

  1. Схема драйвера на биполярных транзисторах КТ972 обеспечивает ток коммутации до 2 А, напряжение обмоток до 24 В.
  2. Я спаял контроллер на макетной плате размерами 45 x 20 мм.
  3. Биполярный контроллер шагового двигателя схема

Если ток коммутации не превышает 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 транзисторах.

  • Подключение к контроллеру униполярных шаговых двигателей.
  • В униполярном режиме могут работать двигатели с конфигурациями обмоток 5, 6 и 8 проводов.
  • Схема подключения униполярного шагового двигателя с 5 и 6 проводами (выводами).
  • Биполярный контроллер шагового двигателя схема
  • Для двигателей FL20STH, FL28STH, FL35ST, FL39ST, FL42STH, FL57ST, FL57STH с конфигурацией обмоток 6 проводов выводы промаркированы следующим цветами.
 Обозначение вывода на схеме  Цвет провода
 A  черный
 0  желтый
 C  зеленый
 B  красный
 0*  белый
 D  синий

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

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

  1. Биполярный контроллер шагового двигателя схема
  2. Документацию по шаговому двигателю PM35S-048 в PDF формате можно загрузить здесь.
  3. Схема подключения униполярного шагового двигателя с 8 проводами (выводами).
  4. Биполярный контроллер шагового двигателя схема
  5. То же самое как и для предыдущего варианта, только все соединения обмоток происходят вне двигателя.
  6. Как выбирать напряжение для шагового двигателя.
  7. По закону Ома через сопротивление обмотки и допустимый ток фазы.
  8. U = Iфазы * Rобмотки
  9. Сопротивление обмотки постоянному току можно измерить, а ток надо искать в справочных данных.

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

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

В униполярных двигателях с 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  синий
  1. Схема подключения биполярного шагового двигателя с 6 проводами (выводами).
  2. Для двигателей FL20STH, FL28STH, FL35ST, FL39ST, FL42STH, FL57ST, FL57STH с такой конфигурацией обмоток выводы промаркированы следующим цветами.
 Обозначение вывода на схеме  Цвет провода
 A  черный
 C  зеленый
 B  красный
 D  синий

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

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

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

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

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

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

Читайте также:  Egr принцип работы дизельного двигателя

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

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

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

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

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

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

Введение.

Шаговый двигатель (далее ШД) — особая разновидность двигателей, который позволяет точно управлять углом поворота ротора. ШД  относится к синхронным безщёточным двигателям, имеет несколько обмоток на статоре (2, 4 или 8), ротор же выполнен из магнито-мягких (способных намагничиваться) или магнито-твердых материалов  (постоянных магнитов) и их сочетаний.

На данный момент распространены биполярные ШД, обладающие двумя обмотками на статоре. Например, ШД типоразмера NEMA17, одни из самых распространенных биполярных ШД.

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

Ток в обмотках статора течет то в одну, то в другую сторону попеременно. Поэтому для управления биполярным ШД необходимы два Н-моста, по одному мосту на обмотку. 

На следующей схеме приведена реализация управления биполярным ШД при помощи двух Н-мостов, каждый из которых построен из 6 транзисторов. Управление осуществляется при помощи микроконтроллера, у которого задействовано 4 выхода. Да и в самой прошивке микроконтроллера придется перебирать выводы управления ШД “вручную”.

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

Также можно использовать, например, микросхему L293 и аналогичные ей микросхемы (сдвоенный Н-мост), но и в этом случае для управление одним биполярным ШД потребуется 4 вывода микроконтроллера.

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

На фото пример готовой платы с микросхемой L298 для подключения по вышеприведенной схеме.

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

Следующая схема состоит из сдвоенного Н-моста  L298 и специального драйвера L297, который преобразует протокол step/dir в понятный микросхеме L298 порядок переключения обмоток. Кроме того, L297 способна реализовать полушаговый режим работы ШД. То есть логика управления упростилась, но драйвер “оброс” ещё одной микросхемой.

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

На данный момент все вышеприведенные схемы управления биполярными ШД потеряли актуальность. Потому что рынок наполнен драйверами биполярных ШД, стоимость которых достаточно низка, чтобы перестать заниматься изобретением велосипеда.

Драйверы для управления биполярными ШД работают по протоколу step/dir, содержат в себе защитные диоды, позволяют устанавливать силу тока, протекающую через обмотки ШД и позволяют устанавливать дробный шаг ШД (?, ?, ? и так далее), что в свою очередь позволяет контролировать угол поворота ротора с большей точностью.

Промышленный драйвер для больших ШД, качественный и дорого стоит:

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

Драйвер для не больших ШД, типа NEMA17  и меньше:

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

Сейчас это всё доступно, как по цене, так и по наличию в онлайн и оффлайн магазинах. Но изначально на рынке отсутствовали доступные решения для управления биполярными ШД, поэтому широкое распространение получили униполярные ШД с 4 (реже с 8) обмотками, ток в каждой из которых течет только в одном направлении.

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

Но в этом случае, используется всего 4 транзистора, а не 12, как в случае с биполярным ШД.

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

Изготовление драйверов униполярных ШД, работающих по протоколу  step/dir представляет некоторые сложности для новичков-радиолюбителей, но является вполне выполнимой задачей.

Реализация драйвера униполярного ШД показана на следующей схеме.

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

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

Но позвольте, те ШД, что в обилии встречаются в магазинах, предназначены для биполярных ШД. Причем тут униполярные?

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

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

  • 5 выводов — униполярный ШД, в котором один из выводов каждой из четырех катушек  соединен с остальными (смотрите изображение). Пример такого ШД — распространенный в настоящее время компактный ШД 28BYJ-48. 

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

В случае с 28BYJ-48 (на фото выше) переделка сводится к снятию крышки и перерезанию одной дорожки на печатной плате. Ну и соответственно один провод (красный) можно будет выпаять и удалить. При этом момент увеличится в 1,4 раза.

  • 6 выводов — очень похож на 5-выводной, за исключением того, что центральные выводы катушек не соединены между собой. Для такого ШД существует 2 способа использования: 
  1. игнорируем центральные выводы катушек, при этом момент увеличивается в 1.4 раза (корень из 2). Момент стабилен на низких частотах.
  2. игнорируем один из крайних выводов катушки — ШД работает с параметрами, заявленными в даташите (момент, ток). Момент стабилен на высоких частотах.
  • 8 выводов, четыре независимых катушки. Существует три способа подключения таких ШД:
  1. игнорируем одну из обмоток в паре обмоток, ШД работает с параметрами, заявленными в даташите (момент, ток), момент стабилен на высоких частотах.
  2. соединяем пару обмоток последовательно — момент увеличивается в 1,4 раза, момент становится стабилен на более низких частотах, чем в первом варианте.
  3. соединяем пару обмоток параллельно — момент увеличивается в 2 раза и становится стабилен на более высоких частотах, чем в первом варианте.

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

Заключение.

На данный момент у меня набралась коллекция униполярных ШД от старых матричных принтеров, жестких дисков 80-х годов и прочего устаревшего оборудования. К тому же, я активно использую миниатюрные 28BYJ-48, каждый из которых переделываю для работы с биполярным драйвером для шаговых двигателей.

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

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

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

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

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

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

Читайте также:  Бмв е60 какой двигатель самый лучший

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

Итак, что нам понадобится для экспериментов. Во-первых, шаговый двигатель. Я брал 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 — на один шаг в другую сторону.

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

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

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

  • Ниже представлена принципиальная схема драйвера биполярных шаговых двигателей с двумя 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.

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

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

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

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

IC L297 DIP 1
IC L298 Multiwatt 2
IC 7805 1
IC 7812 1
Diode FR207 8
Resistor 0R47 5Watt 2
CAP 100nF Ceramic 7
POT 10k Multiturn 1
Header 40pin DIL 0,2
Connector 3 pin 3
Terminal-block 2 pin 4
IDC IDC10 1
IC_Socket DIP20 1
CAP 100uF, 50V Electrolytic 2
CAP 10uF, 25V Electrolytic 1
CAP 330uF, 100V Electrolytic 1
CAP 3.3nF Ceramic 3
Resistor 4k7 5
Resistor 15k 1
Читайте также:  Мойка двигателя парогенератором - взгляд на реальность

Список радиоэлементов

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

Прикрепленные файлы:

  • driver_297-298.rar (196 Кб)

bekor Опубликована: 2011 г. 0 Вознаградить Я собрал 1 0

x

  • Техническая грамотность
  • Актуальность материала
  • Изложение материала
  • Полезность устройства
  • Повторяемость устройства
  • Орфография

Изучаем миниатюрный шаговый двигатель

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

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

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

Хочу поговорить об особой разновидности шаговых моторов — миниатюрные шаговые двигатели, которые применяются в конструкциях оптических систем. Такие малыши имеются в свободной продаже. Но в сети, особенно в русскоязычной, очень мало информации по таким моторчикам. Потому, когда мне потребовалось использовать их в своём проекте, пришлось изрядно поискать информации и провести пару экспериментов. Результатами своих поисков и экспериментами я поделюсь в этой статье. Мы рассмотрим вопросы управления такими маленькими моторчиками, а именно:

  • драйвер L293D + микроконтроллер ATtiny44;
  • драйвер TMC2208 + микроконтроллер ATtiny44;
  • микроконтроллер ATtiny44 (без драйвера).

Собственно вопросы тут может вызвать только последний пункт. Поверьте, я тоже был удивлён, когда наткнулся на ролик (вот он), где парень просто берёт и напрямую цепляет шаговый мотор к пинам микроконтроллера! Но давайте обо всём по порядку.

Знакомство

Сначала немного посмотрим на внешний вид нашего героя: Биполярный контроллер шагового двигателя схема Он действительно очень маленький! Согласно умной книжке Петренко С.Ф. «Пьезоэлектрические двигатели в приборостроении», меньших размеров электромагнитные моторчики создать в принципе невозможно… то есть возможно, но с уменьшением диаметра проволоки, из которой изготавливают обмотки, всё больше энергии рассеивается в виде тепла в окружающую среду, что приводит к уменьшению КПД моторчика и делает их использование нерациональным. Из примечательного, можно отметить, что его вал очень короткий и имеет специальную проточку для установки шестерни или рычага.

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

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

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

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

Убедимся, что он биполярный, прозвонив обмотки. Действительно биполярный, всё как на картинке выше. Сопротивление обмоток около 26Ом, хотя продавец указал 14Ом.

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

Эксперимент №1. L293D + ATtiny44

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

Для этого на каждую обмотку нужен собственный Н-мост. Чтобы не городить его из транзисторов, был взят готовый в лице микросхемы L293D. Ещё одно её преимущество — у микросхемы имеются специальные выводы Enable1 и Enable2, который включают и выключают каждый мост.

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

Кроме того, L293D может коммутировать напряжения до 36В и выдавать до 1,2А на каждый канал, чего вполне должно хватить для питания обмоток нашего моторчика.

Итак, схема: Биполярный контроллер шагового двигателя схема Управляющие входы L293D подключены к выходам OC0A и OC0B, что позволит в будущем подавать на них ШИМ сигнал. Прошивать контроллер будем через внутрисхемный программатор (на схеме не указан). Вот как выглядит собранная схема на макетной плате: Биполярный контроллер шагового двигателя схема И вот так расположен наш подопытный: Биполярный контроллер шагового двигателя схема Теперь можно приступать к экспериментам. Рассчитаем ток, который будет течь через обмотки двигателя при подключении их к напряжению 5В: I=U/R = 5В/26Ом = 190мА Совсем небольшой. Интересно как долго он сможет держать такой ток и не перегреться. Включим в цепь одной из обмоток амперметр и вольтметр, и проведём замеры соответствующих величин при подачи питания на эту обмотку через драйвер.

При падении напряжения на обмотке 2.56В амперметр показывает ток 150мА, причём хорошо заметно, как начинает падать величина силы тока в процессе нагревания обмоток. Надо отметить, что не так уж и сильно он греется.

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

Об этом довольно хорошо сказано здесь.

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

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

Попробуем реализовать первые два режима на микросхеме L293D а для микрошагового режима оставим специальный драйвер из второго эксперимента. Исходный код программы выглядит следующим образом: Исходный код в среде WinAVR #define F_CPU 8000000UL // указываем частоту в герцах

// фьюзы необходимо выставить L: E2; H:DF; Ex:FF;
// это будет частота 8МГц от внутреннего генератора с выключенным предделителем тактовый частоты (включен по умолчанию и равен 8)

#include // подключаем библиотеку АВР

#include // подключаем библиотеку задержек

#include // подключаем библиотеку прерываний

// управление штатным светодиодом

#define LED_pin PA5

#define LED_ON PORTA |=(1

Ссылка на основную публикацию
Adblock
detector