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

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

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

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

Контроллер шагового двигателя разработан на 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 проводами (выводами).

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

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

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

Читайте также:  Объем масел и жидкостей гсм рено каптур

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

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

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

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

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

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

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

  • Шаг 1.
  • Нам потребуется…
  • От старого сканера:

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

  • 1 шаговый двигатель
  • 1 микросхема ULN2003
  • 2 стальных прута

Для корпуса: — 1 картонная коробка

Инструменты:

  • Клеевой пистолет
  • Кусачки
  • Ножницы
  • Принадлежности для пайки
  • Краска

Для контроллера:

  • 1 разъем DB-25 — провод
  • 1 цилиндрическое гнездо для питания постоянного тока Для испытательного стенда
  • 1 стержень с резьбой
  • 1 подходящая под стержень гайка — разные шайбы и шурупы — куски древесины

Для управляющего компьютера:

  • 1 старый компьютер (или ноутбук)
  • 1 копия TurboCNC (отсюда)

Шаг 2.

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

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

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

Шаг 3.

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

Это потребует некоторого умения, но не так уж сложно. Сначала при помощи отсоса удалите как можно больше припоя. После этого осторожно просуньте под микросхему конец отвертки.

Осторожно прикоснитесь концом паяльника к каждому выводу, продолжая при этом нажимать на отвертку.

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

Шаг 4.

Пайка Теперь нам нужно припаять микросхему на макетную плату. Припаяйте к плате все выводы микросхемы.

На показанной здесь макетной плате имеется две шины электропитания, поэтому положительный вывод ULN2003 (смотрите схему здесь и на рисунке ниже) припаивается к одной из них, а отрицательный — к другой. Теперь, нужно соединить вывод 2 коннектора параллельного порта с выводом 1 ULN2003.

Вывод 3 коннектора параллельного порта соединяется с выводом 2 ULN2003, вывод 4 — с выводом 3 ULN2003 и вывод 5 — с выводом 4 ULN2003. Теперь вывод 25 параллельного порта припаивается к отрицательной шине питания. Далее к управляющему устройству припаивается мотор.

Делать это придется путем проб и ошибок. Можно просто припаять провода так, чтобы потом цеплять на них крокодилы. Еще можно использовать клеммы с винтовым креплением или что-нибудь подобное. Просто припаяйте провода к выводам 16, 15, 14 и 13 микросхемы ULN2003.

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

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

Шаг 5.

Установка программного обеспечения Теперь о программном обеспечении. Единственная вещь, которая точно будет работать с вашим новым устройством — это Turbo CNC. Скачайте его здесь. Распакуйте архив и запишите на CD.

Теперь, на компьютере, который вы собираетесь использовать для управления, перейдите на диск C:// и создайте в корне папку «tcnc». Затем, скопируйте файлы с CD в новую папку. Закройте все окна.

Вы только что установили Turbo CNC.

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

  1. Шаг 6.

Настройка программного обеспечения Перезагрузите компьютер чтобы перейти к работе в MS-DOS. В командной строке наберите «C: cncTURBOCNC». Иногда лучше использовать загрузочный диск, тогда копия TURBOCNC помещается на него и нужно набирать, соответственно «A: cncTURBOCNC». Возникнет экран, похожий на изображенный на рис. 3. Нажмите пробел.

Теперь вы находитесь в главном меню программы. Нажмите F1, и при помощи клавиш со стрелками выберите меню «Configure». При помощи клавиш со стрелками выберите «number of axis». Нажмите Enter. Введите количество осей, которые будут использоваться. Поскольку у нас только один мотор, выбираем «1». Нажмите Enter чтобы продолжить.

Снова нажмите F1 и в меню «Configure» выберите пункт «Configure axes», затем дважды нажмите Enter.

Появится следующий экран. Нажимайте Tab пока не перейдете к ячейке «Drive Type». При помощи стрелки вниз выберите пункт «Phase». Снова при помощи Tab выберите ячейку «Scale». Чтобы использовать калькулятор, нам нужно найти число шагов, которые двигатель делает за один оборот.

Зная номер модели двигателя, можно установить на сколько градусов он поворачивается за один шаг. Чтобы найти число шагов, которые двигатель делает за один оборот, теперь нужно поделить 360 на число градусов за один шаг. Например, если мотор поворачивается за один шаг на 7,5 градусов, 360 поделить на 7,5 получится 48.

Число, которое получится у вас, забейте в калькулятор шкалы (scale calculator).

Остальные настройки оставьте как есть. Нажмите OK, и скопируйте число в ячейке Scale в такую же ячейку на другом компьютере.

В ячейке Acceleration установите значение 20, поскольку установленных по умолчанию 2000 слишком много для нашей системы. Начальную скорость установите равной 20, а максимальную — 175.

Нажимайте Tab пока не дойдете до пункта «Last Phase». Установите в нем значение 4. Нажимайте Tab пока не дойдете до первого ряда иксов.

  • Скопируйте следующее в четыре первых ячейки:
  • 1000XXXXXXXX 0100XXXXXXXX 0010XXXXXXXX
  • 0001XXXXXXXX

Остальные ячейки оставьте без изменений. Выберите OK. Теперь вы настроили программное обеспечение.

  1. Шаг 7.

Строим тестовый вал Следующим этапом работы будет сборка простого вала для тестовой системы. Отрежьте 3 бруска дерева и скрепите их друг с другом. Чтобы получить ровные отверстия проведите на поверхности дерева ровную линию. Просверлите на линии два отверстия.

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

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

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

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

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

Читайте также:  Kia sorento стук двигателя

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

  • Шаг 8.

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

Соедините их все, и затем меняйте порядок соединения, если ваш двигатель делает два шага вперед и один назад или что-либо подобное. Для проведения тестирования подключите 12 В 350 мА источник питания постоянного тока в цилиндрическое гнездо. Затем соедините разъем DB25 c компьютером. В TurboCNC проверьте как соединен двигатель.

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

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

  1. TEST.CNC
  2. Шаг 9.
  3. Изготовление корпуса
  4. Часть 1

Изготовление корпуса — это завершительный этап. Присоединимся к защитникам природы и сделаем его из вторсырья. Тем более, что контроллер у нас тоже не с магазинных полок. У представленного вашему вниманию образца плата имеет размер 5 на 7,5 см, поэтому корпус будет размером 7,5 на 10 на 5 см, чтобы оставить достаточно места для проводов.

Из картонной коробки вырезаем стенки. Вырезаем 2 прямоугольника размером 7,5 на 10 см, еще 2 размером 5 на 10 см и еще 2 размером 7,5 на 5 см (см. рисунки). В них нужно вырезать отверстия для разъемов. Обведите контуры разъема параллельного порта на одной из 5 х 10 стенок. На этой же стенке обведите контуры цилиндрического гнезда для питания постоянного тока.

Вырежьте по контурам оба отверстия. То, что вы будете делать дальше, зависит от того, припаивали ли вы к проводам двигателя разъемы. Если да, то закрепите их снаружи второй пока пустой стенки размером 5 х 10. Если нет, проткните в стенке 5 отверстий для проводов. При помощи клеевого пистолета соедините все стенки вместе (кроме верхней, см. рисунки).

Корпус можно покрасить.

  • Шаг 10.
  • Изготовление корпуса
  • Часть 2

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

Из пенопласта вырежьте пару ушек. Затем вырежьте пару полос и четыре небольших квадратика. Приклейте по два квадратика к каждой из полос как показано на рисунке. Приклейте ушки по обеим сторонам корпуса. Сверху коробки приклейте полосы.

Этим завершается изготовление корпуса.

Шаг 11.

Возможные применения и заключение Этот контроллер можно применять как: — ЧПУ устройство — плоттер — или любую другую вещь, которой нужно точное управление движением. — добавление- Здесь приведены схема и инструкции по изготовлению контроллера с тремя осями. Чтобы настроить программное обеспечение, следуйте вышеуказанным шагам, но в поле «number of axis» введите 3.

  1. Для настройки первой оси делайте все как было сказано выше, для второй оси тоже, но в строках первых четырех фаз введите следующее:
  2. «XXXX1000XXXX XXXX0100XXXX XXXX0010XXXX
  3. XXXX0001XXXX»
  4. Для третьей оси в строках первых четырех фаз введите:
  5. «XXXXXXXX1000 XXXXXXXX0100 XXXXXXXX0010
  6. XXXXXXXX0001″

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

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

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

Схема драйвера шагового двигателя

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

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

Есть изменение направления вращения двигателя. Катушки шагового двигателя переключаются с помощью четырех МОП-транзисторов T1-T4.

Применение в блоке транзисторов большой мощности типа BUZ10 позволит подключить двигатели даже с очень большим током.

Особенности схемы и детали

  • управление четырехфазным шаговым двигателем
  • плавная регулировка скорости вращения в пределах всего диапазона
  • изменение направления вращения мотора
  • возможная остановка двигателя
  • блок питания 12 В постоянного тока

Детали – IC1: 4070, IC2: 4093, IC3: 4027, T1-T4: BUZ10, BUZ11

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

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

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

Блок, собранный из проверенных компонентов, не требует настройки и запускается сразу после подачи питания. Со значениями элементов, указанными на схеме, позволяет работать двигателю 5,25” и выполняет изменение скорости вращения в интервале от 40 об./мин. до 5 об./мин.

Полезное:  Электронная нагрузка на полевых транзисторах 500 — 1000 ВтБиполярный шаговый двигатель контроллер своими руками

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

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

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

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

Принципиальную схему можно разделить на следующие блоки:

  1. последовательный чип, генерирующий битовые строки,
  2. локальный генератор тактового сигнала,
  3. схема управления питанием катушек,
  4. выходные буферы Н-моста,
  5. схемы защиты входных сигналов управления.

Контроллер должен питаться постоянным напряжением, хорошо отфильтрованным, желательно стабилизированным.

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

Теперь пару слов про H-мосты, которые будут работать с этим драйвером. Они должны принимать на своих входах все возможные логические состояния (00, 01, 10, 11), без риска какого-либо повреждения.

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

Мосты выполненные в виде интегральных микросхем (например L293, L298), устойчивы к этому.

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

И в завершение третий вариант контроллера, на микросхемах STK672-440, имеющий все необходимые защиты и функции смотрите по ссылке.

НАЖМИТЕ ТУТ И ОТКРОЙТЕ КОММЕНТАРИИ

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

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

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

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

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

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

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

Читайте также:  Двигатель dxi 12 рено характеристики диаметр ход поршня

Можно конечно ваять самому, но я взял готовую микруху (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

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

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