Управление шаговым мотором джойстиком ардуино

Один из подписчиков решил сделать привод для телескопа, и попросил меня помочь с написанием скетча.

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

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

Для его сборки понадобится:

Плата Arduino UNO, модуль двух осевой джойстик, два униполярных шаговых двигателя 28BYJ-48 5V, два драйвера на базе микросхемы ULN2003 и соединительные провода.

Загрузите на плату Arduino UNO этот скетч.

В скетче есть 4 настройки!

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

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

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

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

Чем больше значение этих переменных тем медленнее скорость вращения шагового двигателя!

//Начало скетча

//Конец скетча

После настройки и загрузки скетча соберите все согласно этой схемы.

Проверьте! И если все верно, то можете подключить устройство к блоку питания, павербанку или USB компьютера.

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

Чтобы инвертировать направление вращения вала шагового двигателя:

Поменяйте местами контакты 5, 6 или 4, 7 для 1 шагового двигателя.

Поменяйте местами контакты 11, 12 или 10, 13 для 2 шагового двигателя.

Чтобы поменять местами оси X, Y поменяйте местами контакты A0, A1.

Видео:Управление двумя униполярными шаговыми двигателями с помощью джойстика на базе Arduino uno.Скачать

Управление двумя униполярными шаговыми двигателями с помощью джойстика на базе Arduino uno.

Видео версия проекта «Управление двумя шаговыми двигателями с помощью джойстика на базе Arduino UNO.»

Творческая мастерская Мастер Колотушкин 2021

Проекты на базе Arduino для начинающих, электронные самоделки своими руками.

Видео:Управление моторами с ArduinoСкачать

Управление моторами с Arduino

Управление шаговым двигателем с помощью джойстика

Вывод 9 подключен к Steps драйвера EasyDriver

Вывод 8 подключен к Direction

Вывод 12 подключен к SLEEP

Вывод А0 подключенн к выводу джойстика Х

Вывод 4 подключен к Key и концевиком

Выводы 2 и 3 к выводу выходу (OUT) концевиков

Питание драйвера Easy Driver подключено к 12V отдельного блока питания

Питание Arduino и драйвера разделено Easy Driver

В программе не требуется использование дополнительных библиотек

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

Видео:ПОДКЛЮЧАЕМ ШАГОВЫЙ ДВИГАТЕЛЬ К ARDUINO [Уроки Ардуино #14]Скачать

ПОДКЛЮЧАЕМ ШАГОВЫЙ ДВИГАТЕЛЬ К ARDUINO [Уроки Ардуино #14]

Sketch code

#define step_pin 9 // Pin 9 connected to Steps pin on EasyDriver
#define dir_pin 8 // Pin 8 connected to Direction pin
#define MS1 10 // Pin 10 connected to MS1 pin
#define MS2 11 // Pin 11 connected to MS2 pin
#define SLEEP 12 // Pin 12 connected to SLEEP pin

#define X_pin A0 // Pin A0 connected to joystick x axis
#define Joy_switch 4 // Pin 4 connected to joystick switch

#define Limit01 2 // Pin 2 connected to Limit switch out
#define Limit02 3 // Pin 3 connected to Limit switch out

Читайте также: Мотор 12v в москве

int step_speed = 10; // Speed of Stepper motor (higher = slower)

if (analogRead(X_pin) > 712) // check if limit switch is activated

digitalWrite(dir_pin, LOW); // (HIGH = anti-clockwise / LOW = clockwise)
digitalWrite(step_pin, HIGH);
delay(step_speed);
digitalWrite(step_pin, LOW);
delay(step_speed);
>
>

if (analogRead(X_pin) Скопируйте код и вставьте в Arduino IDE

Видео:NEMA17 Управление шаговым двигателем - Stepper motor with ArduinoСкачать

NEMA17 Управление шаговым двигателем  - Stepper motor with Arduino

Шаговые двигатели и моторы Ардуино 28BYJ-48 с драйвером ULN2003

В этой статье мы поговорим о шаговых двигателях в проектах Ардуино на примере очень популярной модели 28BYJ-48. Так же как и сервоприводы, шаговые моторы являются крайне важным элементом автоматизированных систем и робототехники. Их можно найти во многих устройствах рядом: от CD-привода до 3D-принтера или робота-манипулятора. В этой статье вы найдете описание схемы работы шаговых двигателей, пример подключения к Arduino с помощью драйверов на базе ULN2003 и примеры скетчей с использованием стандартной библиотеки Stepper.

Видео:Управление шаговым двигателем. Драйвер A4988, подключение и настройкаСкачать

Управление шаговым двигателем. Драйвер A4988, подключение и настройка

Шаговый двигатель – принцип работы

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

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

Упрощенные анимированные схемы работы шагового двигателя

Читайте также: Ремонт мотора бриггс страттон

Основные виды шаговых моторов:

  • Двигатели с переменными магнитами (применяются довольно редко);
  • Двигатели с постоянными магнитами;
  • Гибридные двигатели (более сложные в изготовлении, стоят дороже, но являются самым распространенным видом шаговых двигателей).

Видео:Подключаем к Arduino джойстик. Управление servo сервоприводомСкачать

Подключаем к Arduino джойстик.  Управление servo сервоприводом

Где купить шаговый двигатель

Самые простые двигатели Варианты на сайте AliExpress:

Видео:Уроки Arduino. Управление моторами с библиотекой GyverMotorСкачать

Уроки Arduino. Управление моторами с библиотекой GyverMotor

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

Драйвер – это устройство, которое связывает контроллер и шаговый двигатель. Для управления биполярным шаговым двигателем чаще всего используется драйверы L298N и ULN2003.

Работа двигателя в биполярном режиме имеет несколько преимуществ:

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

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

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

Этот мостовой драйвер управляет двигателем с током до 2 А и питанием до 46В. Модуль на основе драйвера L298N состоит из микросхемы L298N, системы охлаждения, клеммных колодок, разъемов для подключения сигналов, стабилизатора напряжения и защитных диодов.

Управление шаговым мотором джойстиком ардуино

Драйвер двигателя L298N

Драйвер шагового двигателя ULN2003

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

Другие драйвера

Существует другой вид драйверов – STEP/DIR драйверы. Это аппаратные модули, которые работают по протоколу STEP/DIR для связи с микроконтроллером. STEP/DIR драйверы расширяют возможности:

  • Они позволяют стабилизировать фазные токи;
  • Возможность установки микрошагового режима;
  • Обеспечение защиты ключа от замыкания;
  • Защита от перегрева;
  • Оптоизоляция сигнала управления, высокая защищенность от помех.

В STEP/DIR драйверах используется 3 сигнала:

  • STEP – импульс, который инициирует поворот на шаг/часть шага в зависимости от режима. От частоты следования импульсов будет определяться скорость вращения двигателя.
  • DIR – сигнал, который задает направление вращения. Обычно при подаче высокого сигнала производится вращение по часовой стрелке. Этот тип сигнала формируется перед импульсом STEP.
  • ENABLE – разрешение/запрет работы драйвера. С помощью этого сигнала можно остановить работу двигателя в режиме без тока удержания.

Одним из самых недорогих STEP/DIR драйверов является модуль TB6560-V2. Этот драйвер обеспечивает все необходимые функции и режимы.

Видео:Простое управление оборотами шагового двигателя.Скачать

Простое управление оборотами шагового двигателя.

Подключение шагового двигателя к Ардуино

Подключение будет рассмотрено на примере униполярного двигателя 28BYj-48 и драйверов L298 и ULN2003. В качестве платы будет использоваться Arduino Uno.

Управление шаговым мотором джойстиком ардуино

Подключение шагового двигателя к Ардуино

Еще один вариант схемы с использованием L298:

Управление шаговым мотором джойстиком ардуино

Подключение шагового двигателя к Ардуино на базе L298

Схема подключения на базе ULN2003 изображена на рисунке ниже. Управляющие выходы с драйвера IN1-IN4 подключаются к любым цифровым контактам на Ардуино. В данном случае используются цифровые контакты 8-11. Питание подключается к 5В. Также для двигателя желательно использовать отдельный источник питания, чтобы не перегрелась плата Ардуино.

Читайте также: Лодочные моторы 350 кубов

Управление шаговым мотором джойстиком ардуино

Подключение шагового двигателя к Ардуино

Принципиальная схема подключения.

Управление шаговым мотором джойстиком ардуино

Принципиальная схема подключения шагового двигателя

Еще одна схема подключения биполярного шагового двигателя Nema17 через драйвер L298 выглядит следующим образом.

Управление шаговым мотором джойстиком ардуино

Видео:🕹️ Подключение ДЖОЙСТИКА к ARDUINOСкачать

🕹️ Подключение ДЖОЙСТИКА к ARDUINO

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

Nema 17 – биполярный шаговый двигатель, который чаще всего используется в 3D принтерах и ЧПУ станках. Серия 170хHSхххА мотора является универсальной.

Управление шаговым мотором джойстиком ардуино

Основные характеристики двигателя:

  • Угловой шаг 1,8°, то есть на 1 оборот приходится 200 шагов;
  • Двигатель – двухфазный;
  • Рабочие температуры от -20С до 85С;
  • Номинальный ток 1,7А;
  • Момент удержания 2,8 кг х см;
  • Оснащен фланцем 42 мм для легкого и качественного монтажа;
  • Высокий крутящий момент – 5,5 кг х см.

28BYJ-48 – униполярный шаговый двигатель. Используется в небольших проектах роботов, сервоприводных устройствах, радиоуправляемых приборах.

  • Номинальное питание – 5В;
  • 4-х фазный двигатель, 5 проводов;
  • Число шагов: 64;
  • Угол шага 5,625°;
  • Скорость вращения: 15 оборотов в секунду
  • Крутящий момент 450 г/сантиметр;
  • Сопротивление постоянного тока 50Ω ± 7% (25 ℃).

Видео:Панель управления шаговым двигателем на Arduino.Скачать

Панель управления шаговым двигателем на Arduino.

Описание библиотеки для работы с шаговым двигателем

В среде разработки Ардуино IDE существует стандартная библиотека Strepper.h для написания программ шаговых двигателей. Основные функции в этой библиотеке:

  • Stepper(количество шагов, номера контактов). Эта функция создает объект Stepper, которая соответствует подключенному к плате Ардуино двигателю. Аргумент – контакты на плате, к которым подключается двигатель, и количество шагов, которые совершаются для полного оборота вокруг своей оси. Информацию о количестве шагов можно посмотреть в документации к мотору. Вместо количества шагов может быть указан угол, который составляет один шаг. Для определения числа шагов, нужно разделить 360 градусов на это число.
  • Set Speed(long rpms) – функция, в которой указывается скорость вращения. Аргументом является положительное целое число, в котором указано количество оборотов в минуту. Задается после функции Step().
  • Step(Steps) –поворот на указанное количество шагов. Аргументом может быть либо положительное число – поворот двигателя по часовой стрелке, либо отрицательное – против часовой стрелки.

Видео:Подключение джойстика к Arduino Управление сервоприводами.Скачать

Подключение джойстика к Arduino Управление сервоприводами.

Пример скетча для управления

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

Видео:Согласованная работа двух шаговых двигателей на ардуино.Скачать

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

Заключение

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

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


    🌟 Видео

    Драйвер двигателей L298N - Обзор, Тест, Подключение к ArduinoСкачать

    Драйвер двигателей L298N - Обзор, Тест, Подключение к Arduino

    Шаговые двигатели, и как ими управлять с помощью микроконтроллераСкачать

    Шаговые двигатели, и как ими управлять с помощью микроконтроллера

    Управление ШД джойстиком.Скачать

    Управление ШД джойстиком.

    Как подключить шаговый двигатель к ArduinoСкачать

    Как подключить шаговый двигатель к Arduino

    Плавное управление Джойстиком в программе FlprogСкачать

    Плавное управление Джойстиком в программе Flprog

    Управление биполярным шаговым двигателем при помощи инкрементального энкодера. Инкрементный энкодер.Скачать

    Управление биполярным шаговым двигателем при помощи инкрементального энкодера. Инкрементный энкодер.

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

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

    управляем шаговым двигателем с телефона Двигатель 28byj 48Скачать

    управляем шаговым двигателем с телефона Двигатель 28byj 48
Поделиться или сохранить к себе:
Технарь знаток