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

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

Подключение шагового двигателя FL86STH65-2808A к микроконтроллеру.

Попал ко мне в руки на днях шаговый двигатель FL86STH65-2808A с драйвером SMD-4.2, задача была научиться управлять ним, используя микроконтроллер.

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

Подключение шагового двигателя FL86STH65-2808A к микроконтроллеру.

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

Подключение шагового двигателя FL86STH65-2808A к микроконтроллеру.

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

Скручиваем провода между собой и зажимаем их в клеммнике.

Подключение шагового двигателя FL86STH65-2808A к микроконтроллеру.

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

Что имелось в виду под получением нужного тока?

Так как мы соединили обмотки двигателя параллельно, то ток, протекающий через двигатель, равен Iфазы * √2 или 1.4*Iфазы. Понять это очень просто,в документации указывается рабочий ток обмотки/фазы и её сопротивление. Максимальная мощность потребляемая двигателем, остаётся одинаковой при параллельном и последовательном включении обмоток и равна

При параллельном соединении обмоток, полное сопротивление двигателя в 2 раза меньше сопротивления обмотки, давайте подставим его в формулу

Что и требовалось доказать.

Силовые линии подключили, осталось подключить сигнальные. Для управления двигателем используются три сигнала: ENABLE, DIR и STEP, если перевести их названия, становится понятно какой за что отвечает. Для тех кто учил немецкий разъясню, уровень сигнала DIR определяет направление вращения, по каждому фронту сигнала STEP делается шаг. Отключение обмоток двигателя осуществляется при переходе сигнала ENABLE с низкого в высокое состояние. Ниже изображена осциллограмма управляющих сигналов.

Подключение шагового двигателя FL86STH65-2808A к микроконтроллеру.

Если посмотреть на драйвер, то можно увидеть, что под управляющие сигналы выделены 6 входов, вместо трёх, это сделано для того, чтобы можно было управлять вращением двигателя сигналами любой полярности.

Подключение шагового двигателя FL86STH65-2808A к микроконтроллеру.

Ток, протекающий через сигнальные линии может быть от 10 до 16mA, поэтому их можно напрямую подключать к выводам МК.

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

Подключение шагового двигателя FL86STH65-2808A к микроконтроллеру.

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

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

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

Шаг 1. Что такое шаговый двигатель?

Шаговый двигатель состоит из двух основных частей: ротора и статора.

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

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

Шаг 2: Список деталей

Необходимые детали для проекта Ардуино шагового двигателя:

  • Шаговый двигатель (этот двигатель был взят от старого принтера)
  • Arduino
  • Изолированный медный провод
  • Проволочные резаки / стрипперы
  • Регулятор тока
  • транзистор
  • драйвер двигателя H-Bridge 1A
  • моторный шилд
  • паяльник
  • припой
  • инструменты
  • безопасные очки

Шаг 3: Присоединяем провода

Большинство шаговых двигателей имеют четыре провода, поэтому вам нужно будет обрезать четыре медных провода (обратите внимание, что цвет не коррелирует с чем-либо конкретным (обычно есть правило, что черный — это земля, но не сейчас). Различные цвета были использованы только для облегчения понимания. Эти выводы будут использоваться для управления, какая катушка в настоящее время активна в двигателе. Для этого проекта Ардуино шаговый двигатель был взят от старого принтера, поэтому пайка проводов была самым простым вариантом для этого проекта. В любом случае, вы можете безопасно установить соединение (пайка, штекер, клипы).

Шаг 4: Эскиз/скетч Arduino

Arduino уже имеет встроенную библиотеку для шаговых двигателей. Просто перейдите в меню:

Файл → Примеры → Шаговые → stepper_oneRevolution
File → Examples → Stepper → stepper_oneRevolution

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

То, что на самом деле делает библиотека Stepper — чередует сигналы HIGH и LOW для каждой катушки, как показано в анимации выше.

Шаг 5: Что такое мост H-bridge?

H-Bridge — схема, состоящая из 4 переключателей, которые могут безопасно управлять двигателем постоянного тока или шаговым двигателем. Эти переключатели могут быть реле или (чаще всего) транзисторами. Транзистор представляет собой твердотельный переключатель, который можно закрыть, посылая небольшой ток (сигнал) на один из его контактов.

В отличие от одного транзистора, который позволяет вам контролировать скорость двигателя, H-мосты позволяют вам также контролировать направление вращения двигателя. Он делает это, открывая различные переключатели (транзисторы), чтобы ток тек в разных направлениях и, таким образом, изменяя полярность на двигателе.

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

Хотя H-Bridges можно легко сделать самому многие предпочитают покупать H-Bridge (например, чип L293NE / SN754410) из-за удобства. Это чип, который мы будем использовать в этом уроке. Физические номера контактов и их назначение ниже:

  • Пин 1 (1, 2EN) → Мотор 1 Включен/Выключен (HIGH/LOW)
  • Пин 2 (1A) → Мотор 1 логический выход 1
  • Пин 3 (1Y) → Мотор 1 терминал 1
  • Пин 4 → Земля
  • Пин 5 → Земля
  • Пин 6 (2Y) → Мотор 1 терминал 2
  • Пин 7 (2A) → Мотор 1 логический выход 2
  • Пин 8 (VCC2) → Питание для двигателей
  • Пин 9 → Мотор 2 Включен/Выключен (HIGH/LOW)
  • Пин 10 → Мотор 2 логический выход 1
  • Пин 11 → Мотор 2 терминал 1
  • Пин 12 → Земля
  • Пин 13 → Земля
  • Пин 14 → Мотор 2 терминал 2
  • Пин 15 → Мотор 2 логический выход 2
  • Пин 16 (VCC1) → Питание для H Bridge (5В)

Шаг 6: Схема соединения

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

Для шагового двигателя Ардуино 4 вывода на H-Bridge должны подключаться к 4 выводам двигателя. Затем 4 логических вывода подключаются к Arduino (8, 9, 10 и 11). Как показано на диаграмме выше, для питания двигателей можно подключить внешний источник питания. Чип может обрабатывать внешний источник питания от 4,5 до 36 В (мы выбрали батарею 9В).

Шаг 7: Загрузка кода и тестирование

Загрузите свой код в Ардуино. Если вы запустите свой код и все сработает так, как ожидалось, это потрясающе! Если провода вставлены в неправильные контакты, двигатель просто вибрирует, а не полностью вращается. Играйте со скоростью и направлением двигателя, как сочтете нужным.

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

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

В статье приводится краткий обзор семейства микроконтроллеров 78k и рассматривается система управления двумя шаговыми двигателями, работающими асинхронно на базе микроконтроллера uPD78F0893 компании Renesas.

Продукция Renesas Electronics давно заслужила репутацию одной из самых надежных и отказоустойчивых — не случайно она широко используется в ответственных областях применения, таких как автомобильная электроника и устройства промышленной автоматизации. Всего у этой компании насчитывается более десятка различных семейств микроконтроллеров, но часть из них, например, M16C, M32C, H8, H8S, не рекомендована для новых проектов. Однако эти изделия производятся для поддержки клиентов, все еще их использующих. Остальные, безусловно, заслуживают самого пристального внимания разработчика. Одно из таких популярных семейств — 78k. Микроконтроллеры этого семейства предназначены для широкого спектра применений и, в свою очередь, подразделяются на следующие подсемейства:
– 78K0 — 8-разрядные энергоэффективные и многофункциональные решения (см. рис. 1);
– 78K0S — упрощенная версия 78K0 с малым количеством выводов и более низкой стоимостью;
– 78K0R — 16-разрядное решение от Renesas с производительностью, сравнимой с 32-разрядными устройствами (см. рис. 2).

Типичным представителем семейства 78k является микроконтроллер uPD78F0893 серии FF2, обладающий следующими характеристиками:
– CISC-ядро 78K0;
– объем флэш-памяти: 128 Кбайт;
– объем ОЗУ: 7 Кбайт;
– количество IO-портов: 71;
– максимальная тактовая частота: 20 МГц (минимальное время исполнения инструкции при этом составляет 0,1 мкс);
– диапазон напряжения питания: 1,8–5,5 В (@ 5 МГц);
– 16-канальный 10-разрядный АЦП со временем преобразования от 6,6 мкс;
– 5 таймеров, среди них: WDT, Watch, два 8- и один 16-разрядный;
– последовательные интерфейсы UART LIN (Local Interconnect Network), UART, CAN, SCI;
– диапазон рабочих температур: –40…125°С.
Отличительной особенностью мик­роконтроллера является наличие UART LIN и CAN — двух взаимодополняющих интерфейсов, часто применяющихся в автомобильных устройствах. CAN-интерфейс обеспечивает высокую скорость помехоустойчивого соединения (до 1 Мбит/с) и работает в режиме жесткого реального времени, тогда как UART LIN разработан для недорогих локальных сетей с пропускной способностью до 20 Кбит/с.
В случае если такие объемы ОЗУ и флэш-памяти являются для конкретного приложения избыточными, применяются более дешевые версии uPD78F0891 (флэш-память: 60 Кбайт и ОЗУ: 3 Кбайт) и uPD78F0892 (флэш-память: 96 Кбайт и ОЗУ: 5 Кбайт). Такая возможность выбора является характерной чертой для всего семейства 78k.
Для разработки программного обеспечения используется как среда разработки от IAR Systems [1], так и фир­менный софт от Renesas [2] — CubeSuite+, компилятор CC78K0, ассемблер RA78K0, симуляторы SM+ и SM78K0, отладчик ID78K0-NS, генератор кодов Applilet, который также способен создавать код и проекты для IAR IDE.
Среди микроконтроллеров подсемейства 78k0 имеется специа­ли­зи­рованная линейка 78K0/Dx пред­назначенная для управления шаговыми двигателями (ШД). Тем не менее, в качестве одного из примеров практического применения микроконтроллера uPD78F0893 Renesas можно привести устройство управления ШД, разработанное в центре Современных электронных элементов и технологий (СЭЭТ) Дагестанского государственного технического университета (ДГТУ) как один из узлов подвижного двустороннего светодиодного информационного табло. Микроконтроллер uPD78F0893 в данном приложении обеспечивает асинхронное управление одновременно двумя ШД и позволяет перемещать объект в двух плоскостях. Один из двигателей перемещает табло в горизонтальной плоскости, а другой — в вертикальной. Их управление осуществляется как с клавиатуры, так и в соответствии с разработанными алгоритмами. В случае ручного способа управления реализуются пять различных режимов функционирования для каждого двигателя. В автоматическом режиме двигатели работают в соответствии с заданной программой. Текущие режимы работы двигателей отображаются на индикационном устройстве.
Шаговый электродвигатель представляет собой синхронный бесщеточный двигатель с несколькими обмотками статора. Импульс тока, поданный в одну из этих обмоток, вызывает фиксацию, а последовательное включение обмоток вызывает дискретные угловые перемещения (шаги) ротора.
Преимуществом такого двигателя является высокая точность позиционирования, но при разработке систем с шаговыми двигателями необходимо также учитывать тот факт, что достаточно высокий момент можно получить только при низких скоростях вращения. Для улучшения динамических характеристик двигателя целесообразно использовать специализированные драйверы со стабилизацией выходного тока на базе ШИМ.
Таким образом, структурная схема устройства управления двигателями должна включать в себя кроме непосредственно двигателя микроконтроллер и драйвер, обеспечивающий формирование требуемых последовательностей управляющих сигналов и согласование по нагрузке (см. рис. 3).

Распространенной формой практической реализации драйвера является комплект микросхем L297 и L298N, представляющий собой формирователь управляющих сигналов и мощный сдвоенный H-мост. Такое решение обеспечивает необходимые динамические характеристики при минимальном количестве дополнительных внешних компонентов и сохраняет значительный объем вычислительных ресурсов микроконтроллера.
Алгоритм управления двигателем посредством контроллера L297 подробно описан в ряде источников, в частности в [3], а функциональное назначение выводов этого компонента приведены в таблице 1.

Управление шаговым двигателем с использованием микроконтроллера ATmega16 и LabVIEW

Шибеко, Р. В. Управление шаговым двигателем с использованием микроконтроллера ATmega16 и LabVIEW / Р. В. Шибеко, А. В. Ульянов. — Текст : непосредственный // Молодой ученый. — 2016. — № 9 (113). — С. 341-346. — URL: https://moluch.ru/archive/113/27780/ (дата обращения: 10.12.2021).

Управление шаговым двигателем сиспользованием микроконтроллера ATmega16 иLabVIEW

Шибеко Роман Владимирович, старший преподаватель;

Ульянов Александр Владимирович, старший преподаватель

Комсомольский-на-Амуре государственный технический университет

В настоящей статье рассмотрен один из множества вариантов управления шаговым двигателем (ШД) Nanotec ST5918M1008. Статья будет полезна разработчикам столкнувшихся с реализацией управляющей программы для разработки алгоритмов связанных с шаговыми двигателями.

Ключевые слова: шаговый двигатель, управление, драйвер шагового двигателя, микроконтроллер, Atmel, AVR, ATmega 16, L297, L298N, LabVIEW.

В современной технике, в качестве исполнительного устройства для различных систем управления часто используют ШД. В качестве примера будет рассмотрен восьми- проводной ШД модели Nanotec ST5918M1008. Данный ШД будем подключать по схеме подключения 8-ми проводного ШД с последовательным соединением обмоток (см. рисунок 1).

Рис. 1. Схема подключения ШДNanotec ST5918M1008

В качестве драйвера ШД будем использовать распространенную связку микросхем L297 + L298N схема включения, которых взята с технической документации показана на рисунке 2.

Рис. 2. Драйвер для управления ШД на базе связки микросхем L297 + L298N

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

 CLOCK (CLK, pin 18): тактовая частота вращения ротора ШД;

 CW/CCW (DIR, pin 17): задается направление вращения ротора ШД (условно — при лог. «1», присутствующей на данном входе, ротор ШД будет вращаться по часовой стрелке, при лог. «0» — против часовой стрелки);

 Vref (pin 15): управление максимальным током обмотки ШД. Если напряжение на токосчитывающих резисторах R15 и R16 превысит напряжение на входе Vref, соответствующая обмотка отключается до того момента, пока напряжение на R15/R16 не станет меньше Vref;

 HALF/FULL (H/F, pin 19): выбор между полношаговым и полушаговым режимами вращения ротора ШД. Если на этом входе логический 0 — выбран полношаговый режим работы, если единица-полушаговый;

 CONTROL (CTRL, pin 11): по этой линии можно выбрать группу сигналов управления ШД, которые будут промодулированы («изрезаны») сигналом от внутренних «токовых» компараторов (это которые осуществляют контроль тока обмотки). Если на данной линии логический нуль — модулируются сигналы INH1 и INH2, если единица — сигналы A, B, C, D.

На имеющимся отладочном стенде для изучения основ микропроцессорной техники установлен 8 — разрядный микроконтроллер семейства Atmel AVR модель ATmega 16A, его мы и будем использовать в качестве микроконтроллера для рассматриваемой задачи управления ШД.

Отладочный стенд подключен к ПК, на ПК написана программа управления ШД, программа посылает команды на наш МК, а тот в подает нужные управляющие сигналы на драйвер ШД такой подход применялся за частою во всех проектах где требуется участие ПК [1–3].

Функция приема команд от ПК:

// USART Receiver buffer

#define RX_BUFFER_SIZE 2

#if RX_BUFFER_SIZE шаговый двигатель, управление, драйвер шагового двигателя, микроконтроллер, Atmel, AVR, ATmega 16, L297, L298N, LabVIEW

Читайте также  Схема подключения газового оборудования на...
Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

Adblock
detector