Содержание
Как написать скетч для ардуино для шагового двигателя
Содержание
- Шаговые двигатели и моторы Ардуино 28BYJ-48 с драйвером ULN2003
- Шаговый двигатель – принцип работы
- Где купить шаговый двигатель
- Драйвер для управления шаговым двигателем
- Драйвер шагового двигателя на базе L298N
- Драйвер шагового двигателя ULN2003
- Другие драйвера
- Подключение шагового двигателя к Ардуино
- Обзор основных моделей шаговых двигателей для ардуино
- Описание библиотеки для работы с шаговым двигателем
- Пример скетча для управления
- Заключение
- Подключение шагового двигателя к Ардуино
- Принцип работы шагового двигателя
- Драйвер шагового двигателя Ардуино
- Как подключить шаговый двигатель к Ардуино
- Управление шаговым двигателем с помощью Arduino и драйвера A4988
- Микросхема драйвера шагового двигателя A4988
- Распиновка драйвера A4988
- Выводы питания
- Выводы выбора микрошага
- Выводы управления
- Выводы управления питанием A4988
- Выводы для подключения шагового двигателя
- Система охлаждения — радиатор
- Ограничение тока
- Способ 1:
- Способ 2:
- Подключение драйвера шагового двигателя A4988 к Arduino UNO
- Код Arduino — простой пример
- Пояснение к скетчу:
- Скетч Arduino — использование библиотеки AccelStepper
- Установка библиотеки
- Скетч Arduino
- Пояснение к скетчу:
- Видео
Шаговые двигатели и моторы Ардуино 28BYJ-48 с драйвером ULN2003
В этой статье мы поговорим о шаговых двигателях в проектах Ардуино на примере очень популярной модели 28BYJ-48. Так же как и сервоприводы, шаговые моторы являются крайне важным элементом автоматизированных систем и робототехники. Их можно найти во многих устройствах рядом: от CD-привода до 3D-принтера или робота-манипулятора. В этой статье вы найдете описание схемы работы шаговых двигателей, пример подключения к Arduino с помощью драйверов на базе ULN2003 и примеры скетчей с использованием стандартной библиотеки Stepper.
Шаговый двигатель – принцип работы
Шаговый двигатель – это мотор, перемещающий свой вал в зависимости от заданных в программе микроконтроллера шагов и направления. Подобные устройства чаще всего используются в робототехнике, принтерах, манипуляторах, различных станках и прочих электронных приборах. Большим преимуществом шаговых двигателей над двигателями постоянного вращения является обеспечение точного углового позиционирования ротора. Также в шаговых двигателях имеется возможность быстрого старта, остановки, реверса.
Шаговый двигатель обеспечивает вращения ротора на заданный угол при соответствующем управляющем сигнале. Благодаря этому можно контролировать положение узлов механизмов и выходить в заданную позицию. Работа двигателя осуществляется следующим образом – в центральном вале имеется ряд магнитов и несколько катушек. При подаче питания создается магнитное поле, которое воздействует на магниты и заставляет вал вращаться. Такие параметры как угол поворота (шаги), направление движения задаются в программе для микроконтроллера.
Упрощенные анимированные схемы работы шагового двигателя
Основные виды шаговых моторов:
Где купить шаговый двигатель
Самые простые двигатели Варианты на сайте AliExpress:
Драйвер для управления шаговым двигателем
Драйвер – это устройство, которое связывает контроллер и шаговый двигатель. Для управления биполярным шаговым двигателем чаще всего используется драйверы L298N и ULN2003.
Работа двигателя в биполярном режиме имеет несколько преимуществ:
Но существенным минусов в биполярном режиме является сложность самого драйвера. Драйвер униполярного привода требует всего 4 транзисторных ключа, для обеспечения работы драйвера биполярного привода требуется более сложная схема. С каждой обмоткой отдельно нужно проводить различные действия – подключение к источнику питания, отключение. Для такой коммутации используется схема-мост с четырьмя ключами.
Драйвер шагового двигателя на базе L298N
Этот мостовой драйвер управляет двигателем с током до 2 А и питанием до 46В. Модуль на основе драйвера L298N состоит из микросхемы L298N, системы охлаждения, клеммных колодок, разъемов для подключения сигналов, стабилизатора напряжения и защитных диодов.
Драйвер двигателя L298N
Драйвер шагового двигателя ULN2003
Шаговые двигателями с модулями драйверов на базе ULN2003 – частые гости в мастерских Ардуино благодаря своей дешевизне и доступности. Как правило, за это приходится платить не очень высокой надежностью и точностью.
Другие драйвера
Существует другой вид драйверов – STEP/DIR драйверы. Это аппаратные модули, которые работают по протоколу STEP/DIR для связи с микроконтроллером. STEP/DIR драйверы расширяют возможности:
В STEP/DIR драйверах используется 3 сигнала:
Одним из самых недорогих STEP/DIR драйверов является модуль TB6560-V2. Этот драйвер обеспечивает все необходимые функции и режимы.
Подключение шагового двигателя к Ардуино
Подключение будет рассмотрено на примере униполярного двигателя 28BYj-48 и драйверов L298 и ULN2003. В качестве платы будет использоваться Arduino Uno.
Подключение шагового двигателя к Ардуино
Еще один вариант схемы с использованием L298:
Подключение шагового двигателя к Ардуино на базе L298
Схема подключения на базе ULN2003 изображена на рисунке ниже. Управляющие выходы с драйвера IN1-IN4 подключаются к любым цифровым контактам на Ардуино. В данном случае используются цифровые контакты 8-11. Питание подключается к 5В. Также для двигателя желательно использовать отдельный источник питания, чтобы не перегрелась плата Ардуино.
Подключение шагового двигателя к Ардуино
Принципиальная схема подключения.
Принципиальная схема подключения шагового двигателя
Еще одна схема подключения биполярного шагового двигателя Nema17 через драйвер L298 выглядит следующим образом.
Обзор основных моделей шаговых двигателей для ардуино
Nema 17 – биполярный шаговый двигатель, который чаще всего используется в 3D принтерах и ЧПУ станках. Серия 170хHSхххА мотора является универсальной.
Основные характеристики двигателя:
28BYJ-48 – униполярный шаговый двигатель. Используется в небольших проектах роботов, сервоприводных устройствах, радиоуправляемых приборах.
Описание библиотеки для работы с шаговым двигателем
В среде разработки Ардуино IDE существует стандартная библиотека Strepper.h для написания программ шаговых двигателей. Основные функции в этой библиотеке:
Пример скетча для управления
В наборе примеров библиотеки Stepper.h существует программа stepper_oneRevolution, в которой задаются все параметры для шагового двигателя – количество шагов, скорость, поворот.
Заключение
В этой статье мы с вами узнали, что такое шаговый двигатель, как можно его подключить к ардуино, что такое драйвер шагового двигателя. Мы также рассмотрели пример написания скетча, использующего встроенную библиотеку Stepper. Как видим, ничего особенно сложного в работе с шаговыми моторами нет и мы рекомендуем вам обязательно поэкспериментировать самостоятельно и попробовать включить его в своих проектах Arduino.
Источник
Подключение шагового двигателя к Ардуино
Шаговый двигатель 28byj-48 Arduino ► предназначен для перемещения объекта на заданное количество шагов вала. Рассмотрим управление шаговым двигателем от Ардуино
Шаговый двигатель (stepper motor) предназначен для точного позиционирования или перемещения объекта на заданное количество шагов вала. Плата Arduino может управлять шаговым двигателем с помощью драйвера и библиотеки stepper.h или accelstepper.h. Рассмотрим принцип работы и схему подключения шагового двигателя к Arduino Uno / Nano, а также разберем скетч для управления шаговым мотором.
Принцип работы шагового двигателя
В зависимости от конструкции, сегодня применяются три вида шаговых двигателей: с постоянным магнитом, с переменным магнитным сопротивлением и гибридные двигатели. У двигателей с постоянным магнитом число шагов на один оборот вала доходит до 48, то есть один шаг соответствует повороту вала на 7,5°. Гибридные двигатели обеспечивают не меньше 400 шагов на один оборот (угол шага 0,9°).
Фото. Устройство шагового мотора в разрезе
Подсчитав количество сделанных шагов, можно определить точный угол поворота ротора. Таким образом, шаговый двигатель является сегодня идеальным приводом в 3D принтерах, станках с ЧПУ и в другом промышленном оборудовании. Это лишь краткий обзор устройства и принципа работы stepper motor, нас больше интересует, как осуществляется управление шаговым двигателем с помощью Ардуино.
Драйвер шагового двигателя Ардуино
Шаговый двигатель — это бесколлекторный синхронный двигатель, как и все двигатели, он преобразует электрическую энергию в механическую. В отличие от двигателя постоянного тока в которых происходит вращение вала, вал шаговых двигателей совершает дискретные перемещения, то есть вращается не постоянно, а шагами. Каждый шаг вала (ротора) представляет собой часть полного оборота.
Фото. Виды драйверов для управления шаговым двигателем
Вращение вала двигателя осуществляется с помощью сигнала, который управляет магнитным полем катушек в статоре драйвера. Сигнал генерирует драйвер шагового двигателя. Магнитное поле, возникающее при прохождении электрического тока в обмотках статора, заставляет вращаться вал, на котором установлены магниты. Количество шагов задаются в программе с помощью библиотеки Arduino IDE.
Схема подключения шагового двигателя 28BYJ-48 к Arduino Uno через драйвер ULN2003 изображена на рисунке ниже. Основные характеристики мотора 28BYJ-48: питание от 5 или 12 Вольт, 4-х фазный двигатель, угол шага 5,625°. Порты драйвера IN1 — IN4 подключаются к любым цифровым выводам платы Arduino Mega или Nano. Светодиоды на модуле служат для индикации включения катушек двигателя.
Как подключить шаговый двигатель к Ардуино
Для этого занятия нам потребуется:
Источник
Управление шаговым двигателем с помощью Arduino и драйвера A4988
Если вы планируете создать свой собственный 3D-принтер или станок с ЧПУ, вам нужно будет управлять несколькими шаговыми двигателями. Если использовать для этого только Arduino, то большая часть скетча будет занята кодом управления шаговыми двигателями и не останется много места для чего-то еще.
Модуль A4988 может контролировать как скорость, так и направление вращения биполярного шагового двигателя, такого как NEMA 17, использую всего два вывода контроллера.
Шаговые двигатели используют зубчатое колесо и электромагниты (катушки), позволяющие вращать ось по одному шагу за раз.
Драйвер двигателя посылает высокий импульс на соответствующую катушку, которая в свою очередь притягивает ближайший зуб зубчатого колеса, в результате чего ось двигателя проворачивается на определенный градус (шаг).
От характера управляющих импульсов зависит поведение шагового двигателя, а именно:
Микросхема драйвера шагового двигателя A4988
Модуль собран на чипе A4988. Не смотря на свой малый размер (всего 0,8 ″ × 0,6 ″), но обладает хорошими характеристиками.
Драйвер шагового двигателя A4988 имеет высокую выходную мощность (до 35 В и 2 А) и позволяет управлять одним биполярным шаговым двигателем с выходным током до 2 А на катушку, например NEMA 17.
Для удобства работы драйвер имеет встроенный транслятор. Использование транслятора позволило уменьшить количество управляющих контактов до 2, один для управления шагами, а другой для управления направлением вращения.
Драйвер предлагает 5 различных разрешений шага, а именно:
Распиновка драйвера A4988
Драйвер A4988 имеет всего 16 контактов, которые связывают его с внешним миром. Распиновка у A4988 следующая:
Давайте ознакомимся со всеми контактами по очереди.
Выводы питания
На самом деле A4988 требует подключения двух источников питания.
VDD и GND используется для управления внутренней логической схемой. Напряжение питания должно находиться в пределах от 3 до 5,5 В.
Vmot и GND для обеспечения питания шагового двигателя. Тут напряжение в пределах от 8 до 35 В.
Согласно datasheet, для питания двигателя требуется соответствующий разделительный конденсатор рядом с платой, способный выдерживать ток 4 А.
Один из способов защитить драйвер от таких скачков — подключить электролитический конденсатор емкостью 100 мкФ (или как минимум 47 мкФ) к контактам источника питания двигателя.
Выводы выбора микрошага
Драйвер A4988 допускает использование режима микрошага. Это достигается за счет подачи питания на катушки с промежуточными уровнями тока.
Например, если вы решите управлять шаговым двигателем NEMA 17 с шагом 1,8 градуса (200 шагов на оборот) в режиме 1/4 шага, то двигатель будет выдавать 800 микрошагов на оборот.
Драйвер A4988 имеет три вывода селектора размера шага (разрешения), а именно: MS1, MS2 и MS3. Установив соответствующие логические уровни на эти контакты, мы можем настроить двигатели на одно из пяти ступенчатых разрешений.
По умолчанию эти три контакта подтянуты к земле внутренним резисторам. Если мы оставим эти выводы не подключенными, то двигатель будет работать в режиме полного шага.
Выводы управления
Драйвер A4988 имеет два управляющих входа, а именно: STEP и DIR.
STEP — управляет микрошагом мотора. Каждый высокий импульс, отправляемый на этот вывод, приводит двигатель в действие на количество микрошагов, заданное выводами Microstep Selection (MS1, MS2 и MS3). Чем быстрее импульсы, тем быстрее будет вращаться двигатель.
DIR — управляет направлением вращения двигателя. Если на него подать высокий уровень, то двигатель будет вращается по часовой стрелке, а если низкий — против часовой стрелки.
Если вы просто хотите, чтобы двигатель вращался только в одном направлении, то вы можете соединить вывод DIR непосредственно с VCC или GND соответственно.
Выводы STEP и DIR не подтянуты внутренними резисторами, поэтому вы не должны оставлять их не подключенными.
Выводы управления питанием A4988
A4988 имеет три различных вывода для управления состоянием питания, а именно. EN, RST и SLP.
EN — вывод включения (0)/ выключения (1) драйвера A4988. По умолчанию на этом выводе установлен низкий уровень, поэтому драйвер всегда включен.
SLP — подача на данный вывод сигнала низкого уровня переводит драйвер в спящий режим, сводя к минимуму потребление энергии. Вы можете использовать это для экономии энергии.
RST — при подаче сигнала низкого уровня все входные данные STEP игнорируются, до тех пор пока не будет установлен высокий уровень. Низкий уровень также сбрасывает драйвер, устанавливая внутренний транслятор в предопределенное состояние Home. Исходное состояние — это в основном начальное положение, с которого запускается двигатель, и оно различается в зависимости от разрешения микрошага.
Если вам не нужно использовать вывод RST, вы можете подключить его к соседнему контакту SLP / SLEEP, чтобы вывести его на высокий уровень и включить драйвер.
Выводы для подключения шагового двигателя
Выходные контакты: 1B, 1A, 2A и 2B.
К этим выводам можно подключить любой биполярный шаговый двигатель с напряжением питания от 8 до 35 В.
Каждый выходной контакт модуля может обеспечить ток до 2 А. Однако величина тока, подаваемого на двигатель, зависит от источника питания системы, системы охлаждения и настройки ограничения тока.
Система охлаждения — радиатор
Чрезмерное рассеивание мощности микросхемы драйвера A4988 приводит к повышению температуры, которая может выйти за пределы возможностей микросхемы, что, вероятно, приведет к ее повреждению.
Даже если микросхема драйвера A4988 имеет максимальный номинальный ток 2 А на катушку, микросхема может подавать только около 1 А на катушку без перегрева.
Для достижения более 1 А на катушку требуется радиатор или другой метод охлаждения.
Драйвер A4988 обычно поставляется с радиатором. Желательно установить его перед использованием драйвера.
Ограничение тока
Перед использованием драйвера нам нужно сделать небольшую настройку. Нам нужно ограничить максимальный ток, протекающий через катушки шагового двигателя, и предотвратить превышение номинального тока двигателя.
На драйвере A4988 есть небольшой потенциометр, который можно использовать для установки ограничения тока. Вы должны установить ограничение по току равным или ниже номинального тока двигателя.
Для этого есть два метода:
Способ 1:
В данном случае мы собираемся установить ограничение тока путем измерения напряжения (Vref) на выводе «ref».
ограничение тока = Vref x 2,5
Например, если ваш двигатель рассчитан на 350mA, вы должны установить опорное напряжение 0,14В.
Способ 2:
В данном случае мы собираемся установить ограничение тока, измеряя ток, протекающий через катушку двигателя.
Подключение драйвера шагового двигателя A4988 к Arduino UNO
Подключения довольно простое. Начните с подключения VDD и GND (рядом с VDD) к контактам 5V и минус на Arduino. Входные контакты DIR и STEP подключите к цифровым контактам №2 и №3 на Arduino соответственно. Шаговый двигатель подключите к контактам 2B, 2A, 1A и 1B.
Подключение или отключение шагового двигателя при включенном драйвере может привести к его повреждению.
Затем подключите вывод RST к соседнему выводу SLP/SLEEP, чтобы драйвер оставался включенным. Также держите контакты выбора микрошага отключенными, чтобы двигатель работал в полношаговом режиме.
Наконец, подключите источник питания двигателя к контактам VMOT и GND. Не забудьте установить большой развязывающий электролитический конденсатор 100 мкФ на контакты источника питания двигателя, рядом с платой.
Код Arduino — простой пример
Следующий скетч даст вам полное представление о том, как управлять скоростью и направлением вращения биполярного шагового двигателя с помощью драйвера шагового двигателя A4988, и может служить основой для более практических экспериментов и проектов.
Пояснение к скетчу:
Скетч начинается с определения выводов Arduino, к которым подключены выводы STEP и DIR A4988. Мы также определяем stepsPerRevolution. Установите его в соответствии со спецификациями шагового двигателя.
В разделе setup() кода все контакты управления двигателем объявлены как цифровой выход.
В цикле loop() мы медленно вращаем двигатель по часовой стрелке, а затем быстро вращаем его против часовой стрелки с интервалом в секунду.
Управление направлением вращения: для управления направлением вращения двигателя мы устанавливаем вывод DIR в высокое или низкое положение. Сигнал высокого уровня вращает двигатель по часовой стрелке, а низкого — против часовой стрелки.
Скорость двигателя определяется частотой импульсов, которые мы посылаем на вывод STEP. Чем чаще импульсы, тем быстрее вращается двигатель. Импульсы — это не что иное, как установка высокого уровня, некоторое ожидание, затем установка низкого уровня и снова ожидание. Изменяя задержку между двумя импульсами, вы изменяете частоту этих импульсов и, следовательно, скорость двигателя.
Скетч Arduino — использование библиотеки AccelStepper
Управление шаговым двигателем без библиотеки идеально подходит для простых приложений с одним двигателем. Но если вы хотите управлять несколькими шаговыми двигателями, то вам понадобится библиотека.
Итак, для нашего следующего эксперимента мы будем использовать расширенную библиотеку шаговых двигателей под названием AccelStepper library. Она поддерживает:
Эта библиотека не включена в IDE Arduino, поэтому вам необходимо сначала установить ее.
Установка библиотеки
Чтобы установить библиотеку, перейдите в Эскиз> Include Library> Manage Libraries… Подождите, пока диспетчер библиотек загрузит индекс библиотек и обновит список установленных библиотек.
Отфильтруйте результаты поиска, набрав «Accelstepper». Щелкните первую запись и выберите «Установить».
Скетч Arduino
Вот простой код, который ускоряет шаговый двигатель в одном направлении, а затем замедляется, чтобы остановиться. Как только двигатель совершает один оборот, он меняет направление вращения. И он повторяет это снова и снова.
Пояснение к скетчу:
Мы начинаем с подключения недавно установленной библиотеки AccelStepper.
Определяем выводы Arduino, к которым подключаются выводы STEP и DIR A4988. Устанавливаем motorInterfaceType значение 1. (1 означает внешний шаговый драйвер с выводами Step и Direction).
Затем мы создаем экземпляр библиотеки с именем myStepper.
В функции setup() мы сначала устанавливаем максимальную скорость двигателя 1000. Затем мы устанавливаем коэффициент ускорения для двигателя, чтобы добавить ускорение и замедление к движениям шагового двигателя.
Затем мы устанавливаем обычную скорость 200 и количество шагов, например, 200 (поскольку NEMA 17 совершает 200 шагов за оборот).
В функции loop() мы используем оператор If, чтобы проверить, как далеко двигателю нужно проехать (путем чтения distanceToGo), пока он не достигнет целевой позиции (moveTo). Как только distanceToGo станет равен нулю мы переключаем двигатель в противоположное направление, изменив moveTo на противоположное значение относительно его текущего положения.
Теперь в конце цикла мы вызываем функцию run(). Это самая важная функция, поскольку шаговый двигатель не будет работать, пока эта функция не будет выполнена.
Источник
Видео
ПОДКЛЮЧАЕМ ШАГОВЫЙ ДВИГАТЕЛЬ К ARDUINO [Уроки Ардуино #14]
Урок: Управление шаговым двигателем NEMA17 — Stepper motor control. Working with a sketch
Шаговый двигатель 28BYJ-48 с драйвером ULN2003 — Подключение к Arduino
Уроки Arduino. Управление моторами с библиотекой GyverMotor
Как подключить A4988 DRV8825 к Arduino. Скетч, библиотека AccelStepper library.
Ардуино для начинающих. Загрузка скетча на плату. Установка Arduino IDE
Управление моторами с Arduino
Программирование Ардуино с нуля. Arduino для начинающих.
Урок: Управление шаговым двигателем NEMA17 в реальном времени. Real time NEMA17 control. Sketch
Управление шаговым двигателем. Драйвер A4988, подключение и настройка
Как управлять шаговым двигателем с arduino
Управление Ардуино шаговым двигателем от принтера
В этом уроке вы узнаете, как управлять с помощью Ардуино шаговым двигателем, который был взят от старого принтера.
Шаг 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. То, что вы сделаете дальше, зависит только от вас.
Arduino и шаговый мотор
Шаговый мотор, в отличие от обычного мотора постоянного вращения, вращается пошагово и позволяет точно установить свой вал на заданный угол. В отличие от сервопривода не имеет обратной связи по углу поворота (не знает, где сейчас находится вал), но зато может вращаться без ограничений. Шаговые моторы используются в ЧПУ станках и прочих устройствах с точным позиционированием частей механизма (2D/3D принтеры, манипуляторы, плоттеры…). В наборе GyverKIT идёт шаговый мотор 28BYJ-48 с драйвером ULN2003:
Данный мотор питается от 5V, имеет 32 шага на оборот (в полношаговом режиме) и встроенный редуктор с отношением 1/63.68395. Таким образом получается 2038 шагов на один оборот выходного вала.
Фазы мотора выведены следующим образом:
Подключение
Мотор управляется через драйвер, который по сути усиливает сигнал с пинов микроконтроллера (подключать моторы напрямую к пинам нельзя!). Драйвер подключается к питанию 5V, а 4 управляющих входа – к любым цифровым пинам МК. Фаза мотора потребляет около 100 мА, поэтому возможно питание драйвера напрямую от платы Arduino.
Библиотеки
Для шаговых моторов существует несколько библиотек, самые известные из них:
- Stepper – стандартная (идёт в комплекте с Arduino IDE) библиотека с минимальными возможностями – позволяет вращать мотор с плавным ускорением и торможением – моя библиотека с большим количеством возможностей и эффективными алгоритмами движения, читайте на странице библиотеки. Также есть расширенная документация
В примерах на этом сайте мы будем использовать GyverStepper как самую удобную и функциональную. Библиотека идёт в архиве к набору GyverKIT, а свежую версию всегда можно установить/обновить из встроенного менеджера библиотек Arduino по названию GyverStepper. Краткая документация находится по ссылке выше, базовые примеры есть в самой библиотеке.
Примеры
Воспользуемся версией библиотеки GyverStepper2 (входит в набор GyverStepper). Создаём объект GStepper2 , в угловых скобках указываем тип драйвера STEPPER4WIRE , так как используем 4х проводной драйвер. Далее в круглых скобках – количество шагов на один оборот и пины в порядке (фаза А1, фаза А2, фаза В1, фаза В2). Из второй картинки (с описанием проводов мотора) видно, что первая фаза это провода 2 и 4, а вторая – 3 и 1. Драйвер не меняет порядок проводов, поэтому в программе нам нужно будет указать пины в порядке (1, 3, 2, 4), т. е. центральные нужно поменять местами. На схеме я подключил драйвер к пинам D2, D3, D4, D5, и в программе укажу их как (2, 4, 3, 5). Если прописать по порядку пинов – мотор будет работать некорректно!
Данный пример просто крутит мотор на один пол оборота, затем возвращает обратно. Каждый раз ждём, когда мотор приедет на позицию.
Библиотека позволяет двигать мотор не блокируя выполнение кода, поэтому можно переписать следующим образом:
В этом примере также вывожу позицию мотора в порт, можно открыть плоттер и увидеть график:
Позиция здесь выводится в шагах, максимум как раз соответствует половине оборота
В библиотеке также есть поддержка движения с ускорением, добавим настройку setAcceleration()
Мотор перестанет дёргаться при смене направления движения, а график будет выглядеть вот так:
Подключение шагового двигателя к Ардуино
Шаговый двигатель (stepper motor) предназначен для точного позиционирования или перемещения объекта на заданное количество шагов вала. Плата Arduino может управлять шаговым двигателем с помощью драйвера и библиотеки stepper.h или accelstepper.h. Рассмотрим принцип работы и схему подключения шагового двигателя к Arduino Uno / Nano, а также разберем скетч для управления шаговым мотором.
Принцип работы шагового двигателя
В зависимости от конструкции, сегодня применяются три вида шаговых двигателей: с постоянным магнитом, с переменным магнитным сопротивлением и гибридные двигатели. У двигателей с постоянным магнитом число шагов на один оборот вала доходит до 48, то есть один шаг соответствует повороту вала на 7,5°. Гибридные двигатели обеспечивают не меньше 400 шагов на один оборот (угол шага 0,9°).
Фото. Устройство шагового мотора в разрезе
Подсчитав количество сделанных шагов, можно определить точный угол поворота ротора. Таким образом, шаговый двигатель является сегодня идеальным приводом в 3D принтерах, станках с ЧПУ и в другом промышленном оборудовании. Это лишь краткий обзор устройства и принципа работы stepper motor, нас больше интересует, как осуществляется управление шаговым двигателем с помощью Ардуино.
Драйвер шагового двигателя Ардуино
Шаговый двигатель — это бесколлекторный синхронный двигатель, как и все двигатели, он преобразует электрическую энергию в механическую. В отличие от двигателя постоянного тока в которых происходит вращение вала, вал шаговых двигателей совершает дискретные перемещения, то есть вращается не постоянно, а шагами. Каждый шаг вала (ротора) представляет собой часть полного оборота.
Фото. Виды драйверов для управления шаговым двигателем
Вращение вала двигателя осуществляется с помощью сигнала, который управляет магнитным полем катушек в статоре драйвера. Сигнал генерирует драйвер шагового двигателя. Магнитное поле, возникающее при прохождении электрического тока в обмотках статора, заставляет вращаться вал, на котором установлены магниты. Количество шагов задаются в программе с помощью библиотеки Arduino IDE.
Схема подключения шагового двигателя 28BYJ-48 к Arduino Uno через драйвер ULN2003 изображена на рисунке ниже. Основные характеристики мотора 28BYJ-48: питание от 5 или 12 Вольт, 4-х фазный двигатель, угол шага 5,625°. Порты драйвера IN1 — IN4 подключаются к любым цифровым выводам платы Arduino Mega или Nano. Светодиоды на модуле служат для индикации включения катушек двигателя.
Как подключить шаговый двигатель к Ардуино
Для этого занятия нам потребуется:
- плата Arduino Uno / Arduino Nano / Arduino Mega;
- драйвер шагового двигателя ULN2003;
- шаговый двигатель 28BYJ-48;
- провода «папа-мама».
Схема подключения шагового двигателя к Arduino UNO
Управление шаговым двигателем на ардуино в Казани: 505-товаров: бесплатная доставка, скидка-55% [перейти]
Партнерская программаПомощь
Казань
Каталог
Каталог Товаров
Одежда и обувь
Одежда и обувь
Стройматериалы
Стройматериалы
Здоровье и красота
Здоровье и красота
Текстиль и кожа
Текстиль и кожа
Детские товары
Детские товары
Продукты и напитки
Продукты и напитки
Электротехника
Электротехника
Дом и сад
Дом и сад
Мебель и интерьер
Мебель и интерьер
Вода, газ и тепло
Вода, газ и тепло
Сельское хозяйство
Сельское хозяйство
Все категории
ВходИзбранное
Управление шаговым двигателем на ардуино
regmarkets.ru/listpreview/idata2/17/15/17159d14b7d9e57f45c7c1db11cc4ac6.jpg»>
137
517
Модуль драйвера шагового двигателя A4988 зелёный с радиатором Arduino / Ардуино Тип: Электронный
В МАГАЗИНЕще цены и похожие товары
149
246
Модуль драйвера шагового двигателя A4988 зелёный с радиатором Arduino/ардуино Тип: Электронный
В МАГАЗИНЕще цены и похожие товары
mds.yandex.net/get-marketpic/7434999/pic1132fd0100bea9163a7fa06cf5438b47/300×300″>
ULN2003 модуль управления шаговым двигателем
ПОДРОБНЕЕЕще цены и похожие товары
2 873
3379
Шаговый двигатель Nema17, 42, 4-проводной 17hs4401S + ЧПУ v3 гравировальный станок + 4 шт. A4988 Плата расширения драйвера для Arduino UNO R3
ПОДРОБНЕЕЕще цены и похожие товары
TB6560 3A плата драйвера CNC маршрутизатор с одним 1-осевым контроллером шаговых двигателей. Мы являемся производителем arduino
ПОДРОБНЕЕЕще цены и похожие товары
Гравировальный станок с ЧПУ Shield V3/3D-принтер/+ 4 драйвера шагового двигателя A4988, плата расширения для Arduino с ЧПУ, набор сделай сам
ПОДРОБНЕЕЕще цены и похожие товары
Драйвер ULN2003 управления шаговым двигателем
ПОДРОБНЕЕЕще цены и похожие товары
jpeg/300×300″>
Генератор сигналов ШИМ/ИМПУЛЬС для ручного управления шаговым двигателем
ПОДРОБНЕЕЕще цены и похожие товары
Гравировальный станок с ЧПУ Shield v3/3D-принтер/+ 4 шт. A4988 / 4 шт. DRV8825 Драйвер шагового двигателя для Arduino
ПОДРОБНЕЕЕще цены и похожие товары
115
164
ЧПУ щит V3 гравер 3D принтер A4988/DRV8825 Драйвер шагового двигателя Плата расширения V3. 0 для Arduino ЧПУ щит расширения
ПОДРОБНЕЕЕще цены и похожие товары
13 751
HSC940 ЖК, Контроллер ручного запуска генератора (управление шаговым двигателем) Вид продукции*:
ПОДРОБНЕЕЕще цены и похожие товары
Гравировальный станок с ЧПУ Shield v3/3D-принтер/+ 4 шт. A4988 / 4 шт. DRV8825 Драйвер шагового двигателя для Arduino
ПОДРОБНЕЕЕще цены и похожие товары
Плата контроллера L9110 L9110S H-bridge с двумя шаговыми двигателями постоянного тока, модуль платы управления для привода Arduino 2,5-12 В А, входной
ПОДРОБНЕЕЕще цены и похожие товары
regmarkets.ru/listpreview/idata2/0c/c8/0cc8af376a4f055402879629720a620b.jpg»>
1 091
1309
Шаговый двигатель Nema 17 (17HS4401) Тип: Электронный модуль, Размер: Длина 22.000 Ширина 17.000
В МАГАЗИНЕще цены и похожие товары
21 500
Шаговый двигатель Cloudray Nema 23 23CS09-P5/10
ПОДРОБНЕЕЕще цены и похожие товары
Шаговый двигатель 17HS2408S Nema17
ПОДРОБНЕЕЕще цены и похожие товары
Шаговый двигатель NEMA 17 40 мм, вал 8 мм, двойной вал
ПОДРОБНЕЕЕще цены и похожие товары
Шаговый двигатель NEMA 17 34 мм, 8 мм вал
ПОДРОБНЕЕЕще цены и похожие товары
Шаговый двигатель Nema 11 с редуктором 1:5 (28HS51-0674)
ПОДРОБНЕЕЕще цены и похожие товары
Шаговый двигатель NEMA 17 34 мм с тормозом
ПОДРОБНЕЕЕще цены и похожие товары
Шаговый двигатель 17HS3401S Nema17 Тип запчастей: моторы
ПОДРОБНЕЕЕще цены и похожие товары
Шаговый двигатель NEMA 17 40 мм
ПОДРОБНЕЕЕще цены и похожие товары
Шаговый двигатель (NEMA 17) 42BYGHW208
ПОДРОБНЕЕЕще цены и похожие товары
Шаговый двигатель NEMA 17 34 мм
ПОДРОБНЕЕЕще цены и похожие товары
regmarkets.ru/listpreview/images3/55/01/5501bd5af202057324e08c89f6eacb12.jpg»>
Шаговый двигатель Nema 17 42HD4027-01 с проводом
ПОДРОБНЕЕЕще цены и похожие товары
Шаговый двигатель Nema 17, JK42HS48-1684
ПОДРОБНЕЕЕще цены и похожие товары
Шаговый двигатель NEMA 17 34 мм, вал 8 мм, шпонпаз
ПОДРОБНЕЕЕще цены и похожие товары
Шаговый двигатель Moons PG22L45.2-20P020L0 в сборе с редуктором Gamers Delight
ПОДРОБНЕЕЕще цены и похожие товары
Двигатель шаговый PL20h38-D4
ПОДРОБНЕЕЕще цены и похожие товары
Шаговый двигатель 42BYGh50
ПОДРОБНЕЕЕще цены и похожие товары
Шаговый двигатель NEMA 17 48 мм
ПОДРОБНЕЕЕще цены и похожие товары
regmarkets.ru/listpreview/images3/e1/17/e11787bd0b318bb8c13ad165a2303fad.jpg»>
Шаговый двигатель Nema 17 42HD2037-01 с проводом
ПОДРОБНЕЕЕще цены и похожие товары
Шаговый двигатель Nema 17, JK42HM40-1684 (0.9°)
ПОДРОБНЕЕЕще цены и похожие товары
Двигатель шаговый NEMA 17 42BYG45040-24D
ПОДРОБНЕЕЕще цены и похожие товары
Управление бензиновыми двигателями BOSСH Издательство: Bosch
ПОДРОБНЕЕЕще цены и похожие товары
23 918
Двигатель шаговый с энкодером 110J12190EC-1000-YH
ПОДРОБНЕЕЕще цены и похожие товары
EM-142 Шаговый двигатель
ПОДРОБНЕЕЕще цены и похожие товары
regmarkets.ru/listpreview/idata2/fd/16/fd166c8d65576e993087cc806ee7de53.jpg»>
23 000
Шаговый мотор двигателя 21EN-32220
ПОДРОБНЕЕЕще цены и похожие товары
Шаговый двигатель Nema 23 57HD4016-01 с проводом Угловой шаг: 1.8, Номинальный ток: 2, Номинальное
ПОДРОБНЕЕЕще цены и похожие товары
Шаговый двигатель SL42STh50-1684B
ПОДРОБНЕЕЕще цены и похожие товары
regmarkets.ru/listpreview/idata2/1d/c1/1dc1fdeb54be7fa708658dfd213fc032.jpg»>
Шаговый двигатель 28HS45-0674A05 Фланец, мм: 28 (NEMA 11), Число фаз: 2, Угловой шаг: 1,8°
ПОДРОБНЕЕЕще цены и похожие товары
Шаговый двигатель 42BYGh44
ПОДРОБНЕЕЕще цены и похожие товары
Шаговый двигатель ST57-100D
ПОДРОБНЕЕЕще цены и похожие товары
22 747
Двигатель шаговый с энкодером 110J12160EC-1000-YH
ПОДРОБНЕЕЕще цены и похожие товары
regmarkets.ru/listpreview/idata2/12/cc/12cc65c63a69b1440148a2046ece4844.jpg»>
Шаговый двигатель 28BYJ-48 (5В)
ПОДРОБНЕЕЕще цены и похожие товары
Двигатель шаговый PL86H75-D14
ПОДРОБНЕЕЕще цены и похожие товары
Шаговый двигатель Nema 17 42HD4027-01 с проводом Угловой шаг: 1.8, Номинальный ток: 1.5,
ПОДРОБНЕЕЕще цены и похожие товары
Шаговый двигатель ST42-47
ПОДРОБНЕЕЕще цены и похожие товары
Шаговый двигатель nema 17 17HS4023S
ПОДРОБНЕЕЕще цены и похожие товары
Шаговый двигатель Nema 23, 57HM76-2804 (0. 9°)
ПОДРОБНЕЕЕще цены и похожие товары
127 758
Шаговый двигатель LEXIUM Ф110 13,5НМ
ПОДРОБНЕЕЕще цены и похожие товары
25 000
Шаговый мотор двигателя 21EN-32380
ПОДРОБНЕЕЕще цены и похожие товары
jpg»>
Двигатель бензиновый для мотоблока BRAIT BR225P19 (7,8л.с., 19мм, провод для управления зажиганием на руле))
ПОДРОБНЕЕЕще цены и похожие товары
Шаговый двигатель 39BYG 1.8° JK39HY34-0166-01 NEMA16
ПОДРОБНЕЕЕще цены и похожие товары
2 страница из 18
Управление шаговым двигателем в Украине. Цены на Управление шаговым двигателем на Prom.ua
Работает
Блок Управления Шаговыми Двигателями
Под заказ
Доставка по Украине
от 4 500 грн
Купить
TEG (technical engineering group)
Работает
ARDUINO CNC SHIELD A4988 управление мини ЧПУ, 3Д принтером шаговыми двигателями
На складе
Доставка по Украине
145 грн
116 грн
Купить
Интернет магазин «Стек»
Работает
Шаговый двигатель 28BYJ-48 управление 5V
На складе в г. Вознесенск
Доставка по Украине
45 грн
Купить
ArduinoKit обучающие наборы
Работает
TB6560 модуль управления шаговым двигателем 10…35V 3A
Доставка из г. Днепр
304 грн
Купить
Інтернет-магазин «Електроніка»
Работает
Модуль для ручного управления шаговым двигателем, генератор импульсов
Доставка из г. Острог
226 грн
Купить
Mehanika
Работает
Модуль управления шаговым двигателем
На складе в г. Чернигов
Доставка по Украине
263 грн
Купить
Ником радио-маркет
Работает
Модуль управления шаговым двигателем 3,0 A
На складе в г. Чернигов
Доставка по Украине
273 грн
Купить
Ником радио-маркет
Работает
L293D Arduino motor control shield — драйвер управления шаговым двигателем
Заканчивается
Доставка по Украине
94 — 99. 3 грн
от 2 продавцов
99.30 грн
Купить
Інтернет-магазин «Електроніка»
Работает
Плата управления шаговым двигателем для кофемашин WMF 8000S (33.2493.1000)
Доставка по Украине
5 610 грн
Купить
Coffeebar Pro
Работает
Микросхема L297/1 ИМС МК управление шаговым двигателем DIP20, Производитель: STM
Доставка из г. Киев
387 грн
Купить
Філур Електрик ЛТД
Работает
Драйвер управления шаговым двигателем
На складе в г. Чернигов
Доставка по Украине
105 грн
Купить
Ником радио-маркет
Работает
Модуль управления шаговыми двигателями на L293D для Arduino.
Доставка из г. Киев
62 грн
Купить
sk-электрон. Интернет магазин электронных изделий и компонентов.
Работает
Шаговый сервопривод с энкодером (обратной связью) 86EBP111ALC-TKA + HBS86H, 5.0 Nm
На складе в г. Ровно
Доставка по Украине
5 016 грн
Купить
CNCPROM
Работает
Шаговый сервопривод с энкодером (обратной связью) 86EBP181ALC-TKA + HBS86H, 12. 5 Nm
На складе в г. Ровно
Доставка по Украине
6 897 грн
Купить
CNCPROM
Работает
D4184 модуль управления нагрузкой 0-36В Arduino
На складе в г. Умань
Доставка по Украине
39 грн
Купить
Интернет-магазин «FreeBuy.in.ua»
Смотрите также
Работает
Драйвер шагового двигателя DRV8825
На складе в г. Ровно
Доставка по Украине
109 грн
Купить
CNCPROM
Работает
Цифровой гибридный шаговый серводрайвер 2HSS86H-N для шагового двигателя с энкодером серии 86
На складе в г. Ровно
Доставка по Украине
5 016 грн
Купить
CNCPROM
Работает
Драйвер цифровой Leadshine DM556 5.6 A (ОРИГИНАЛ) для двухфазного шагового двигателя
На складе в г. Ровно
Доставка по Украине
2 926 грн
Купить
CNCPROM
Работает
Драйвер двигателя TB6612FNG Arduino (аналог L298N) [#9-6]
На складе в г. Запорожье
Доставка по Украине
54 грн
Купить
Ardu.prom.ua (наложка НП от 150 грн!)
Работает
IRF520 модуль управления нагрузкой 0-24В Arduino
Доставка из г. Умань
36 грн
Купить
Интернет-магазин «FreeBuy.in.ua»
Работает
Motor Shield L293D мотор шайлд шилд Arduino
На складе в г. Умань
Доставка по Украине
92 грн
Купить
Интернет-магазин «FreeBuy.in.ua»
Работает
Шаговый двигатель 4-фазный 5v мотор для Arduino
На складе в г. Умань
Доставка по Украине
60 грн
Купить
Интернет-магазин «FreeBuy.in.ua»
Работает
Драйвер шагового двигателя ULN2003
На складе в г. Умань
Доставка по Украине
27 грн
Купить
Интернет-магазин «FreeBuy.in.ua»
Работает
Драйвер шагового двигателя 9-42В 4А TB67, TB6600 на TB67S109AFTG
На складе в г. Ровно
Доставка по Украине
570 грн
Купить
Double-Shop
Работает
Чпу контроллер 5 осей Mach 3
Доставка из г. Винница
1 200 грн
Купить
ЧПУ и комплектующие
Работает
Драйвер шагового двигателя M542, Leadshine
Доставка из г. Киев
2 984 грн
Купить
ТОВ «Кюгель Украина»
Работает
Драйвер шагового двигателя M860, Leadshine
Доставка из г. Киев
4 313.37 грн
Купить
ТОВ «Кюгель Украина»
Работает
Драйвер шагового двигателя EM705, Leadshine
Доставка из г. Киев
4 313.37 грн
Купить
ТОВ «Кюгель Украина»
Работает
Драйвер шагового двигателя EM806, Leadshine
Доставка из г. Киев
4 887.79 грн
Купить
ТОВ «Кюгель Украина»
L298N подключение к Ардуино — RadioRadar
Нет так давно мы рассматривали алгоритм сборки ЧПУ своими руками, где затрагивалась тема управления шаговыми двигателями, ведь именно они позволяют просто и точно спозиционировать фрезу в заданной точке.
Конечно, шаговые двигатели (ШД) используются не только в ЧПУ и 3D-принтерах, им есть масса и других применений. Например, вкупе с популярным «конструктором для взрослых», Arduino, на базе которого можно создать всё что угодно. Однако, связка «Ардуино – шаговый двигатель» требует дополнительный элемент – драйвер.
Из-за того, что двигатель требует повышенного напряжения и силы тока, непосредственное подключение его к микроконтроллеру невозможно, напряжения логического нуля в +5В и силы тока в 40 мА не хватит для работы любого шагового двигателя. Функцию усилителя/переключателя берет на себя драйвер.
О нём мы и поговорим подробнее ниже.
L298N описание
Модуль L298N выполняет роль Н-моста (напряжение, прикладываемое к двигателю постоянного тока, может менять полярность для того, чтобы изменить направление вращения в противоположную сторону) и универсального драйвера для независимого управления сразу двумя двигателями постоянного тока или для одного шагового двигателя.
Модуль собирается на основе одноименной микросхемы (L298N).
К L298N можно подключить двигатели, питающиеся напряжением от 5 до 35 вольт. Управление может быть реализовано в активном или пассивном режимах.
1.Активный – доступно не просто включение и отключение вращения мотора, но и управление его скоростью.
2.Пассивный – контроллер будет понимать только логику «включить/выключить двигатель». Управление уровнем выходного напряжения будет недоступно.
L298N – это облегчённая версия платы L293D. По сравнению с последней на L298N отсутствуют защитные диоды (их можно установить самостоятельно при необходимости защиты от скачков тока в процессе пуска двигателей).
Подключение
Чтобы логика управления была понятнее, сначала разберёмся с джамперами и клеммами на плате.
Рис. 1. Джамперы и клеммы на плате
К клеммникам 1 и 2 подключаются двигатели, логика подключения зависит от моделей двигателей и логики их работы.
Блок клемм 3 отвечает за подключение питания двигателей. Первый контакт — +12. На него подаётся питание от 5 до 12 вольт, если джампер 3 одет, и от 12 до 35 воль, если джампер 3 снят.
При питании до +12В встроенный стабилизатор сам генерирует питание для логической части схемы, поэтому контакт +5В можно не использовать.
Если джампер 3 снят, то контакт +5В требуется запитать отдельно.
Управляющие сигналы от Ардуино или с другого микроконтроллера должны подаваться на контакты IN1-IN4, ENA, ENB. В зависимости от логических уровней и конфигурации джамперов 1,2 будет подаваться питание на двигатели/двигатель.
Джамперы 1 и 2 отвечают за переключение между активным и пассивным режимами работы драйвера. Если джампер одет, то реализуется логика «пассивного» управления.
Теперь для наглядности рассмотрим пару реальных схем подключения.
Управление двумя двигателями постоянного тока
Схема соединения будет выглядеть следующим образом.
Рис. 2. Схема соединения
Напряжение питания двигателей ниже 12 вольт, значит джампер 3 установлен, джамперы 1 и 2 на контактах ENA и ENB сняты.
Стоит особое внимание уделить пинам на Ардуино с ШИМ-модуляцией (рядом с цифровым значением есть специальный символ «~»). Они необходимы для управления скоростью вращения вала (чем выше уровень напряжения, тем выше скорость).
Теперь о логике, на примере левого двигателя (см. изображение выше).
Таблица
Логический уровень на контакте ENA | Логический уровень на контакте IN1 | Логический уровень на контакте IN2 | Результат работы двигателя |
1 | 1 | 0 | Вращается по часовой стрелке |
1 | 0 | 1 | Вращается против часовой |
0 | 1 | 0 | Не вращается |
0 | 0 | 1 | Не вращается |
Логический уровень на контакте ENAЛогический уровень на контакте IN1Логический уровень на контакте IN2Результат работы двигателя
Получается, что контакт ENA отвечает за разрешение работы двигателя. А от комбинации на входах IN1, IN2 зависит направление вращения.
Если на контакт ENA подать не логическую единицу, а заданный уровень напряжения из доступного диапазона (0-255), то изменится скорость вращения.
Управление шаговым двигателем
Соединение схемы управления, включающей в себя драйвер, двигатель Nema17 и Arduino Nano, выглядит следующим образом.
Рис. 3. Соединение схемы управления,
Назначение контактов A+, A-, B+ и B- может отличаться на вашей модели привода, поэтому необходимо изучить документацию для определения правильного назначения.
Ввиду того, что логика работы данной схемы предполагает наличие на выходах только логических нулей и единиц, то джамперами 1 и 2 модуль L298N переключается в пассивный режим.
Скетч для работы с шаговым двигателем есть во встроенной библиотеке IDE для Ардуино (называется Stepper Library, найти её можно так — File -> Examples -> Stepper).
Константа stepsPerRevolution отвечает за количество шагов в одном обороте, по умолчанию установлено значение 200. Его необходимо изменить, если модель вашего двигателя имеет другой показатель.
Метод myStepper.setSpeed() отвечает за настройку скорости вращения, по умолчанию в скетче указан показатель 60, его можно изменить под свои требования.
Вызов функции, инициализирующей вращение, осуществляется через метод step с параметром stepsPerRevolution, при отрицательном параметре вращение осуществляется в обратную сторону.
Пример с использованием этой библиотеки можно найти ниже во вложениях. Полную документацию по API можно найти на официальном сайте проекта.
Скетчи двигателей постоянного тока и шаговых двигателей можно найти здесь.
Автор: RadioRadar
Stepper Motor Demo
Управляйте двумя шаговыми двигателями с помощью Android-устройства.
на Bluetooth-модуле HC-06.
Об этой демонстрации
Два шаговых двигателя 28BYJ-48 управляются блоками ULN2003, управляемыми Arduino Uno.
В комплект входит Bluetooth-модуль HC-06, так что двигателями можно управлять с устройства Android под управлением
Приложение Bluetooth Electronics от Keulsoft.
Чтобы сделать эту демонстрацию немного более захватывающей, два шаговых двигателя были соединены между собой.
к колесам, так что мы управляем маленькой машиной. Обратите внимание, что скорости медленные, очень медленные,
поэтому используйте большие колеса. Шаговые двигатели отлично подходят, если требуется точность положения.
Если требуется скорость, лучше подойдет обычный мотор.
В этом примере демонстрируются элементы управления акселерометром и пэдом в приложении «Bluetooth Electronics».
показывая, как они могут быть связаны с вашими электронными схемами через Bluetooth.
Если переключатель управления акселерометром включен, наклон устройства Android будет управлять движением автомобиля.
Если он выключен, то любая из двух кнопок управления заставит автомобиль двигаться.
Накладка слева позволит управлять движением автомобиля на максимальной скорости, тогда как
накладка справа позволит автомобилю двигаться с разной скоростью. 4 кнопки есть
управлять 4 светодиодами на автомобиле, хотя при желании их можно опустить или поменять местами для какого-либо другого эффекта.
28BYJ-48 Шаговые двигатели и драйвер ULN2003
28BYJ-48 Шаговый двигатель и драйвер ULN2003
Это небольшие дешевые униполярные двигатели. Может работать примерно до 15 об/мин.
и иметь приличный крутящий момент. В полном (8-шаговом) режиме имеется 4096 (приблизительно) шагов.
за оборот, хотя мы используем библиотеку Arduino stepper.h и
работает в 4-ступенчатом режиме. Таким образом, на один оборот приходится 2048 шагов.
Двигатель имеет внутренний редуктор с передаточным числом 64. Каждый шаг будет вращать внутренний редуктор.
ротор 5,625° (или 11,25° в 4-ступенчатом режиме). Есть 5 соединений, красный
общий, а остальные четыре цвета подключены к концам соленоидов в двигателе,
с синим (A), розовым (B), желтым (C) и оранжевым (D), подключенным к драйверу UNL2003
цепей, у которых есть соответствующие светодиоды, обозначенные от A до D.
UNL2003 используется для обеспечения достаточного тока для привода
двигатель и защитить цифровую схему от любых противо-ЭДС. УНЛ2003
состоит из массива из 8 пар транзисторов Дарлингтона, подходящих для коммутации индуктивных нагрузок.
Они часто поставляются на печатной плате с разъемом для подключения двигателя и светодиодами для индикации.
состояние переключения упрощает отладку и прототипирование.
Используемые компоненты
- Arduino Uno
- Модуль Bluetooth HC-06
- Шаговый двигатель 28BYJ-48 и драйвер ULN2003
- Резисторы 10k и 20k
- Prototype Shield для Arduino Uno
Принципиальная схема
Модули Bluetooth имеют 4 разъема: GND, 5V, RX и TX. Контакт TX
на модуле Bluetooth подключается к контакту RX на Arduino и наоборот. За
последовательной связи, соединение передачи (TX) должно быть получено соединением (RX).
Обратите внимание, что модуль Bluetooth работает при напряжении 3,3 В. Подача 5В на
Контакт Bluetooth RX может повредить его, поэтому для
подайте сигнал 3,3 В на контакт RX. Это достигается в этой демонстрации с резистором 20k и 10k.
Контакт TX модуля Bluetooth не требует модификации и может подключаться напрямую к
контакт Arduino RX. Это связано с тем, что HIGH на логике 3,3 В все равно будет распознан как
HIGH на логической схеме 5V на Arduino.
Код Arduino
// Демонстрация управления двигателем через Bluetooth // Автор: keuwlsoft: www.keuwl.com 4 октября 2015 г. // копия Attribution-ShareAlike // Этот скетч управляет двумя шаговыми двигателями 28BYJ-48 с помощью Arduino Uno // и драйверы ULN2003. Управление осуществляется по Bluetooth с помощью HC-06. // модуль и устройство Android с приложением keuwlsofts 'Bluetooth Electronics'. // Sketch предполагает, что он управляет двигателями, прикрепленными к двум колесам автомобиля. #include < Степпер .h> int steps_per_rev = 2048; Шаговый двигатель Шаговый двигатель2 (шаги_на_оборот, 4,6,5,7); // Левый степпер Stepper stepper1(steps_per_rev, 8,10,9,11); //правый шаговый целые шаги1=0; //количество шагов для левого степпера в каждом цикле целые шаги2=0; внутр. крен, шаг; //крен и тангаж, отправленные с устройства Android интервал pad_x, pad_y; //значения панели управления, отправленные с устройства Andorid char Данные Bluetooth; // полученные данные Bluetooth логическое значение acc_on=false; //Флажок для указания, следует ли использовать значения акселерометра недействительная установка () { stepper1.setSpeed (10); //Установить скорость шагового двигателя в об/мин stepper2.setSpeed (10); // Установите цифровые выводы 2, 3, 12 и 13 в качестве выходных pinMode(2,ВЫХОД); pinMode(3,ВЫХОД); pinMode(12,ВЫХОД); pinMode(13,ВЫХОД); Серийный номер . begin(9600); // Инициализация связи для Bluetooth } недействительный цикл () { //Проверить Bluetooth для новых инструкций если ( серийный номер .доступно()){ BluetoothData= Серийный номер .read(); //Получить следующий символ из bluetooth //**** Акселерометр - отправляет 'Aroll,pitch*' каждые 150 мс если (BluetoothData == 'А') { roll= Серийный номер .parseInt(); пока (BluetoothData!='*'){ если ( серийный номер .доступно()){ BluetoothДанные = Серийный номер .read(); //Получить следующий символ из bluetooth if(BluetoothData==',')pitch= Serial .parseInt(); } } если (соотв.){ //Алгоритм преобразования крена и тангажа в шаговые движения для каждого цикла если (бросок>50) рулон=50; если (бросок<-50) бросок=-50; если (шаг<45) шаг=45; если (высота > 135) высота тона = 135; шаги 1 = шаги 2 = (90,0-шаг) / 4,5; if (roll>0) steps2-=steps1*roll/25.0; if (roll<0) steps1+=steps2*roll/25.0; } } если(BluetoothData=='B')acc_on=true; если(BluetoothData=='b'){ acc_on=ложь; шаги1=шаги2=0; } //**** светодиоды if(BluetoothData=='P') digitalWrite(2,HIGH); if(BluetoothData=='p') digitalWrite(2,LOW); if(BluetoothData=='Q') digitalWrite(3,HIGH); if(BluetoothData=='q') digitalWrite(3,LOW); if(BluetoothData=='R') digitalWrite(12,HIGH); if(BluetoothData=='r') digitalWrite(12,LOW); if(BluetoothData=='S') digitalWrite(13,HIGH); if(BluetoothData=='s') digitalWrite(13,LOW); //**** Панель управления справа — отправляет «X__,Y___*» каждые 150 мс если(BluetoothData=='X'){ pad_x = Серийный номер . parseInt(); пока (BluetoothData!='*'){ если ( серийный номер .доступно()){ BluetoothData= Серийный номер .read(); //Получить следующий символ из bluetooth if(BluetoothData=='Y')pad_y=- Серийный номер .parseInt(); } } // Алгоритм преобразования положения колодки в количество шагов для каждого двигателя float mag=sqrt(pad_y*pad_y+pad_x*pad_x); если (mag>10) mag=10; если (pad_y<0) mag=0-mag; шаги1=шаги2=маг; if (pad_x>0){ //поворот направо step2=steps2-mag*pad_x/5.0; }else{ // повернуть налево шаги1=шаги1+mag*pad_x/5.0; } } //**** Панель управления слева если (BluetoothData == '0') шаги 1 = шаги 2 = 0; //Выпускать если (BluetoothData == '1') шаги 1 = шаги 2 = 10; //Вверх если(BluetoothData=='3') steps1=steps2=-10; //Вниз if(BluetoothData=='4') { //Слева шаги1=-10; шаги2=10; } if(BluetoothData=='2') { //Правильно шаги 1=10; шаги2=-10; } } //**** Перемещение шаговых двигателей (Длится ~60 мс, если нет, добавляется задержка, чтобы сделать его ~60 мс) unsigned long t=millis(); stepper1. step(шаги1); stepper2.step(-steps2); //степпер 2 расположен напротив шагового двигателя 1 т=миллис()-т; //рассчитываем время с начала шага если (t<60) задержка (60-t); // добавляем любое дополнительное время, чтобы сделать его до 60 мс }
Программирование
Чтобы запрограммировать устройство, убедитесь, что вы отключили контакты 0 и 1 от Bluetooth.
модуль, иначе Arduino запутается, пытаясь связаться с двумя
последовательные устройства одновременно на одних и тех же выводах. Повторно подключите их после программирования.
Выберите правильный COM-порт и устройство Arduino в меню «Инструменты». Скопировать и вставить
приведенный выше эскиз и нажмите «Загрузить».
Обратите внимание, что шаговые двигатели работают по очереди, что ограничивает скорость двигателей.
Это также делает движение немного нервным. Это связано с тем, что функция шагового шага
блокируется и ожидает завершения, прежде чем перейти к следующей команде. Для оптимального
скорость и контроль, вам нужно будет найти другую подходящую библиотеку или написать свой шаг
Функция для включения и выключения цифровых контактов обоих шаговых двигателей в правильной последовательности.
Приложение Bluetooth Electronics
1) Запустите приложение Bluetooth Electronics, нажмите изменить.
2) Выберите библиотеку, перейдите к «Motor Control Demo» и скопируйте на панель.
3) Теперь подключитесь к устройству Bluetooth. Включите питание вашей схемы, чтобы
что светодиод на модуле Bluetooth начнет мигать. Нажмите подключить на главной
экран приложения. Если сопряжение еще не выполнено, нажмите «Обнаружить» и подождите, пока устройство
появиться в списке ниже. Выберите устройство (например, HC-06) и нажмите сопряжение. Когда
вам нужно будет ввести пин-код, который для этих устройств обычно равен 1234.
После сопряжения устройство появится справа. Выберите его и нажмите на
соединять. Надеюсь, это удалось, вернитесь на главный экран.
4) Кнопка запуска должна быть активирована после того, как мы подключились к
Bluetooth-устройство. Нажмите «Выполнить» и протестируйте.
Управление униполярным шаговым двигателем Arduino
Рис. 1. Схемы подключения шагового двигателя.
Используйте омметр для определения типа.
, автор Lewis Loflin
Для любителей один из способов отличить обычный провод от провода на конце катушки — измерить сопротивление. Сопротивление между общим проводом и проводом на конце катушки всегда вдвое меньше, чем между проводами на конце катушки и проводом на конце катушки. Это связано с тем, что фактически длина катушки между концами вдвое больше, а от центра (общий провод) до конца - только половина.
Здесь мы рассмотрим основные принципы работы униполярного шагового двигателя. Я расскажу о биполярном шаговом двигателе на другой странице. Униполярный шаговый двигатель имеет две обмотки на фазу, по одной на каждое направление магнитного поля.
Поскольку при таком расположении магнитный полюс может быть изменен на противоположное без изменения направления тока, схема коммутации может быть сделана очень простой (например, с одним транзистором) для каждой обмотки.
Как правило, при наличии фазы один конец каждой обмотки делается общим: получается три провода на фазу и шесть проводов для типичного двухфазного двигателя. Часто эти две общие фазы соединены внутри, поэтому двигатель имеет только пять выводов. У других может быть шесть отведений.
Микроконтроллер или контроллер шагового двигателя можно использовать для активации транзисторов привода в правильном порядке, и эта простота эксплуатации делает униполярные двигатели популярными среди любителей. Это, вероятно, самый дешевый способ получить точные угловые движения.
Биполярный двигатель: Биполярные двигатели имеют одну обмотку на фазу. Ток в обмотке необходимо изменить на противоположный, чтобы изменить магнитный полюс, поэтому схема управления должна быть более сложной, обычно с Н-образным мостом. На каждую фазу приходится два вывода, ни один из них не является общим.
Шаговые двигатели состоят из вращающегося вала с постоянными магнитами, называемого ротором, и электромагнитов на неподвижной части, окружающей двигатель, называемой статором. Управление последовательностью заставит ротор двигаться. Электромагниты запитываются от внешней цепи управления, такой как микроконтроллер.
Рис. 2. Базовая конструкция шагового двигателя.
Рис. 3. Две фазы для увеличения крутящего момента.
При полушаге привод попеременно включает две фазы и одну фазу. Это увеличивает угловое разрешение (меньше градусов на шаг), но двигатель также имеет меньший крутящий момент в положении полушага (где включена только одна фаза). Это можно уменьшить, увеличив ток в активной обмотке для компенсации. Преимущество полушага заключается в том, что для его поддержки не нужно менять электронику привода. В приведенных ниже примерах я использую только двухфазный одноступенчатый привод для высокого крутящего момента.
Для получения более подробной технической информации см. Stepper Motor Basis от Microchip. (файл PDF)
Схема для этой программы.
- Базовые схемы управления транзисторами для микроконтроллеров
- Драйверы оптоизолированных транзисторов для микроконтроллеров
- Программы шагового двигателя Arduino
- stepper_arduino1.txt
- stepper_arduino2.txt
Дата: 7-11-2021
- Arduino Power Magnetic Driver Board для шаговых двигателей
- Теоретические испытания источника постоянного тока
- Ознакомьтесь с законом Ома для устранения неисправностей цепей CCS
- Источник постоянного тока, управляемый Arduino
Видео, связанное с предыдущим:
- Мультиметр с постоянным током Поиск и устранение неисправностей
- Обзор закона Ома для источника постоянного тока
- с кодом Arduino
- Источник постоянного тока, управляемый Arduino
Плата драйвера униполярного шагового двигателя Arduino
- Быстрая навигация по этому сайту:
- Базовое обучение электронике и проекты
- Основные проекты твердотельных компонентов
- Проекты микроконтроллеров Arduino
- Электроника Raspberry Pi, Программирование
Шаговые двигатели
- Микрошаговый контроллер Easy Driver для Arduino
- с Arduino
- Рекомендации по использованию шаговых двигателей
- Подключение Arduino к L298N Н-мост
- Контроллер двигателя L298N Теория и проекты
- Контроллер двигателя H-Bridge TA8050
Униполярный шаговый двигатель
- Rotary Encoder, использующий аппаратные прерывания Arduino
- Зарядное устройство для аккумулятора:
- Контроллер заряда солнечной панели с использованием Arduino
- с использованием Arduino
- Цепь включения контроллера заряда батареи солнечной панели
Контроллер заряда батареи солнечной панели
- Руководство по управлению питанием переменного тока Arduino
- Rotary Encoder, использующий аппаратные прерывания Arduino
- Управление Arduino 74C164 Сдвиговый регистр
- Интерфейс Arduino MC3479 Контроллер шагового двигателя
Последовательный ЖК-дисплей и различные датчики
- ЖК-дисплей Arduino с использованием регистра сдвига 74164
- ЖК-дисплей Arduino с DS18B20
- ЖК-дисплей Arduino с датчиком DHT11
- Arduino с драйвером светодиодного дисплея MM5451
- Ардуино MAX7219Работает со светодиодной матрицей 8X8
- Часы Arduino RTC MAX7219 Светодиодный дисплей
- BCD с помощью MAX7219
Преобразование
- Инкубация куриных яиц с помощью Arduino
- Датчик температуры Arduino TMP37
- Учебное пособие по датчику температуры Arduino TMP37
- В следующих компонентах используются устаревшие детали, и они хранятся в качестве справочных материалов.
- Тестирование модуля ИК-датчика Keyes с Arduino
- Arduino для MCP23016, ЖК-дисплей
- Дата-время с Arduino, ЖК-дисплей, DS1307 RTC
- Управление освещением проезжей части с помощью Arduino
- Преобразователь света в частоту TSL230R
- Arduino с расширителем ввода/вывода MCP23016
- Часы реального времени Arduino DS1307
- Arduino с серийной EEPROM 24LC08
- Контроллер шагового двигателя MC3479 с Arduino
Веб-сайт Copyright Lewis Loflin, Все права защищены.
Если вы используете этот материал на другом сайте, укажите ссылку на мой сайт.
Управление скоростью и направлением шагового двигателя с помощью Arduino и модуля Bluetooth HC-06 через приложение для Android
By EG Projects
Это простое руководство по управлению скоростью и направлением шагового двигателя с помощью Arduino Uno и модуля bluetooth hc-06 через приложение для телефона Android. Двигатель, который я использую, представляет собой однонаправленный шаговый двигатель. Их два типа шаговых двигателей однонаправленный и двунаправленный. Однонаправленный имеет четыре фазы, а двунаправленный — 6 фаз. Фазы должны контролироваться должным образом, иначе желаемый результат не может быть получен. Прежде чем идти дальше, я предполагаю, что вы знаете о более крутых фазах двигателя и знаете, как эффективно управлять ими, чтобы получить максимальную отдачу.
Проект управления шаговым двигателем Arduino через Bluetooth. Принцип работы
Пользователь подключает свой телефон Android к модулю bluetooth hc-06. После сопряжения пользователь может запустить двигатель, может перемещать вал в любом направлении по часовой стрелке или против часовой стрелки, может изменять скорость вращения двигателя, может останавливать двигатель с помощью команд, встроенных в код. Команды могут быть изменены в соответствии с потребностями пользователя. Мы вернемся к части кода позже в этом руководстве.
Схема управления шаговым двигателем Arduino
Принципиальная схема проекта приведена ниже. Шаговый двигатель, который я использую, работает от 12 В постоянного тока. Катушки шагового двигателя потребляют от 80 мА до 250 мА, поэтому мы не можем управлять более крутым двигателем напрямую от контактов Arduino. Для этой цели нам нужен какой-то драйвер, и ULN2003, дорогая микросхема массива, хорошо подходит. ULN2003 способен генерировать ток 500 мА при 50 В, он может легко генерировать ток 25 0 мА при 12 В.
Катушки шагового двигателя
управляются цифровыми контактами 2,3,4 и 5 Arduino. Эти контакты напрямую подключены к входам. ульн2003. Соответствующие выходы uln2003 подают питание на катушки двигателя. Arduino питается от внешнего адаптера 12 В, а uln2003 питается от того же адаптера. Hc06 питается от 3,3-вольтового выхода Arduino.
Примечание: Заземление Arduino должно быть заземлено с помощью заземления ULN2003. Обе микросхемы должны иметь одинаковый потенциал, чтобы стать функциональными. Если заземление не выполнено должным образом, цепь плавает, и выходной сигнал непредсказуем.
Управление скоростью и направлением шагового двигателя с использованием модуля Arduino и Bluetooth Модуль HC-06 через приложение для Android
Требование к переключателям уровней
Arduino взаимодействует с модулем Bluetooth hc06 по протоколу последовательной связи. Скорость передачи данных для последовательной связи можно изменить. Я работаю со скоростью передачи данных по умолчанию, которая равна 9.600 бит/с. Модуль Bluetooth hc06 работает от 3,3 В и может питаться от источника 3,3 В на выходе Arduino Uno. Поскольку bluetooth hc06 работает от 3,3 В, он выводит данные в виде сигнала TTL с номинальным напряжением 3,3 В. В то время как Arduino Uno работает от 5 В, а его контакты выводят данные в виде сигнала TTL с номинальным напряжением 5 вольт. Для балансировки напряжения уровня TTL. Между штырьками вставлены просеиватели уровня напряжения. Arduino TX передает сигнал 5 В, который смещается до 3,3 В простой схемой делителя напряжения. hc06 TX передает сигнал 3,3 В, уровень которого сдвинут до 5 В.
Команды для запуска и управления шагом -двигателем от Bluetooth
Отправка следующих команд из приложения Android после того, как он сочетается с HC06 Bluetooth Mod ULE сделает Arduino 9063 903 903 9065 9065 9065 9065 9065 9065 9065 9063 906695306 90663 3 9066 9065 . шаговый двигатель .
s или S = Запускает и останавливает шаговый двигатель. Первая s запускает двигатель, а следующая останавливает его.
f или F = Вращает шаговый двигатель по часовой стрелке.
b или B = Вращает шаговый двигатель против часовой стрелки.
Скорость вращения шагового двигателя, встроенная в код
0 = —————————————————— Скорость вращения=1000;
1 = ————————————————— Скорость вращения = 900;
2 = ————————————————— Скорость вращения = 800;
3 = ————————————————— Скорость вращения = 700;
4 = ————————————————— Скорость вращения = 500;
5 = ————————————————— Скорость вращения = 400;
6 = ————————————————— Скорость вращения = 300;
7 = ————————————————— Скорость вращения = 200;
8 = ————————————————— Скорость вращения = 100;
9 = ————————————————— Скорость вращения = 50;
Приложение для Android, которое я использовал, можно найти ЗДЕСЬ .