Жёлтый мотор-редуктор (Gear Motor) 48:1
Мотор-редуктор в жёлтом корпусе часто используется робототехниками для создания роботележек на базе Ардуино. Два вала по бокам корпуса позволяют крепить колесо с любой стороны.
Здесь используется коллекторный (щёточный) электродвигатель постоянного тока, который можно найти под названием «130 Motor DC». Питание подключается просто — есть всего две клеммы. Полярность подключения не важна. Менять ее, а значит и направление вращения колёс, можно с помощью драйвера моторов.
Достаточно большие габариты могут быть как плюсом, так и минусом. Маленькую тележку на базе этого мотор-редуктора не соберешь. Для миниатюрных устройств больше подойдет GA12-N20.
Общая черта всех мотор-редукторов — наличие электромотора, как правило он щеточный (коллекторный), и редуктора для снижения скорости и увеличения силы, т.е. крутящего момента.
Редуктор понижает скорость вращения электродвигателя и увеличивает силу (крутящий момент) на выходе. Соотношение зубчатых колес в редукторе будет определять передаточное число. Чем больше передаточное число, тем ниже скорость на выходе, но тем больше сила. У данного мотор-редуктора передаточное число равно 48:1. То есть при 48 оборотах электромотора (скорость на входе) редуктор понизит скорость до одного оборота (скорость на выходе).
Потребление тока будет больше при включении. Это пусковой ток. Также ток сильно возрастает, когда нагрузка чрезмерна, и колесо тормозится. Когда мотор перегружен, будет нагреваться его корпус и провода. Это приводит к заметному уменьшению срока службы. Старайтесь не перегружать мотор!
Как подключить моторчик к Ардуино
Подключение мотора постоянного тока к Ардуино (коллекторного двигателя) требуется при сборке машинки или катера на микроконтроллере Arduino. Рассмотрим различные варианты подключения двигателей постоянного тока: напрямую к плате, через биполярный транзистор, а также с использованием модуля L298N. В обзоре размещены схемы подключения и коды программ для всех перечисленных вариантов.
Управление двигателем на Ардуино
Коллекторный моторчик может быть рассчитан на разное напряжения питания. Если двигатель работает от 3-5 Вольт, то можно моторчик подключать напрямую к плате Ардуино. Моторы для машинки с блютуз управлением, которые идут в комплекте с редукторами и колесами рассчитаны уже на 6 Вольт и более, поэтому ими следует управлять через полевой (биполярный) транзистор или через драйвер L298N.
Принцип работы и устройство мотора постоянного тока
На схеме показано устройство моторчика постоянного тока и принцип его работы. Как видите, для того, чтобы ротор двигателя начал крутиться к нему необходимо подключить питание. При смене полярности питания, ротор начнет крутиться в обратную сторону. Драйвер двигателей L298N позволяет инвертировать направление вращения мотора fa 130, поэтому его удобнее использовать в своих проектах.
Перед выбором способа управления двигателем от Arduino Uno r3, уточните на какое напряжение рассчитан ваш моторчик. Если питание требуется более 5 Вольт, то следует использовать транзистор или драйвер. Распиновка транзисторов может отличаться от приведенного примера (следует уточнить распиновку для своего типа). Драйвер L298N позволит не только включать мотор, но и изменять направление вращения.
Как подключить моторчик к Arduino
Для этого занятия потребуется:
- Arduino Uno / Arduino Nano / Arduino Mega;
- мотор постоянного тока (Motor DC);
- транзистор полевой/биполярный;
- драйвер двигателей L298N;
- провода «папа-папа», «папа-мама».
Подключение мотора через транзистор к Ардуино потребуется, если двигатель никак не хочет включаться от платы напрямую, то следует использовать порт 5 Вольт на микроконтроллере или внешний источник питания. Транзистор будет играть роль ключа, замыкая/размыкая электрическую цепь. Сам транзистор управляется цифровым портом. Соберите схему, как на картинке и загрузите программу.
Скетч. Подключение мотора через транзистор
Пояснения к коду:
- при необходимости можно подключить два мотора FA-130 к Ардуино;
- в зависимости от характеристик, двигатель подключается к 3,3 или 5 Вольтам.
Скетч. Подключение мотора через драйвер
Подключение мотора к Ардуино через драйвер L298N или Motor Shield L293D позволит менять направление вращения ротора. Но для использования данных модулей потребуется установить соответствующие библиотеки для Ардуино. В примере мы использовали схему подключения двигателя с помощью модуля L298N. Соберите схему, как на картинке ниже и загрузите следующий скетч с использованием.
Шаговый мотор 28BYJ-48 (5V) + драйвер SBT0811 (на микросхеме ULN2003) + Arduino NANO.
Управление шаговым двигателем с помощью платы Arduino.
В этой и нескольких следующих статьях я планирую продемонстрировать, как управлять различными видами моторов.
Начнём мы своё изучение с шагового двигателя Step motor 28BYJ-48 (5V).
Этот миниатюрный и довольно дешёвый моторчик, как нельзя лучше подходит для экспериментов и обучения электронным премудростям.
Шаговый двигатель — это двигатель, который может точно перемещаться на минимально возможный угол, называемый шагом. Этот угол обусловлен устройством каждого конкретного мотора.
Преимуществом шаговых двигателей является возможность его неприрывного вращения, подобно двигателю постоянного тока, тогда как сервоприводы, обычно, ограничены углом поворота в диапазоне от 0 до 180°.
Недостатком шаговых двигателей является более сложное управление, чем в случаях с другими типами моторов.
Двигатель данного мотора имеет четыре обмотки, которые запитываются последовательно, чтобы повернуть вал с магнитом.
Получается 4 фазы, поэтому такой электромагнитный прибор называют шаговый 4-х фазный двигатель. Каждый из контактов четырех фаз соединен с красным проводом. Двигатель является к униполярным (однополярным) благодаря схеме соединения фаз. К красному проводу подключается питание. Перемещение вала на шаг происходит под действием импульса тока.
28BYJ-48-5V содержит пластмассовый понижающий редуктор с передаточным числом 64:1.
Основные характеристики мотора:
Тип мотора | униполярный шаговый двигатель | |
Число фаз | 4 | |
Рабочее напряжение | 5 вольт | |
Угол шага двигателя без учета редуктора | при 4-ступенчатой последовательности (шаговый режим) 11,25 ° (32 шага на оборот), при 8-ступенчатой последовательности (полушаговый режим — рекоммендован) 5,625 ° (64 шага на оборот) | |
Передаточное отношение редуктора | 64:1 | |
Количество шагов вала мотора за один оборот | в 4-ступенчатой последовательности 32 x 64 = 2048 в 8-ступенчатой последовательности 64 x 64 = 4096. | |
Cкорость вращения | номинальная 15 об/мин, максимальная 25 об/мин | |
Подключение | 5-выводов (к контроллеру двигателя) | |
Частота | 100 Гц | |
Сопротивление по постоянному току | 50 Ом ± 7%(25°C) | |
Частота под нагрузкой | > 600 Гц | |
Частота на холостом ходу | > 1000 Г | |
Крутящий момент | > 34.3 мН*м (120 Гц) | |
Момент самопозиционирования | > 34.3 мН*м | |
Стопорящий момент | 600-1200 г*см | |
Тяга | 300 г*см | |
Сопротивление изоляции | > 10 МОм (500 В) | |
Класс изоляции | A | |
Шум | /*Программа для шагового двигателя 28BYJ-48 (5V). Двигатель делает полный оборот в одну сторону, затем в другую*/ /*У данного мотора 4 провода (син., розов., жёлт., оранж.), которые мы подключаем к контактам ардуино. Номера контактов /*Целочисленная константа, показывающая количество фаз подачи сигналов для одного шага мотора. Для полушагового режима — 8 /*Целочисленная константа, показывающая задержку в миллисекундах между фазами подачи сигналов мотору. Для полушагового режима — 2, /*Целочисленная константа, показывающая задержку в миллисекундах между переходами к вращению в другую сторону*/ /*Целочисленная константа, показывающая количество шагов, которые должен выполнить двигатель за полный оборот на 360 град. /*Целочисленная переменная, показывающая количество шагов, которые выполнил двигатель в одном направлении*/ /*Целочисленная переменная, показывающая номер текущей фазы*/ /*Целочисленная переменная, показывающая направление вращения мотора: 1 — по часовой стрелке, -1 — против*/ // Для полушагового режима /*Массив, в котором указано какие сигналы подавать на контакты мотора в той или иной фазе. [фаза][контакт]. Контакты даются в порядке, перечисленном в массиве MotorPins — оранж., жёлт., розов., син. 0 — нет сигнала, 1 — есть сигнал*/ /*Функция CheckLastPhase проверяет не вышел ли номер текущей фазы за пределы размера массива MotorTurnPhases, который определяется переменной OneTurnPhasesCount и не пора ли поменять направление вращения*/ //проверяем не совершил ли мотор полный оборот /*Функция, в которой происходит инициализация всех переменных программы*/ /*подаём напряжения на контакты мотора соответственно фазе, заданной в массиве MotorTurnPhases*/ // Пауза между фазами Если мы имеем дело с другими, моторами, требующими напряжение более 5В, то нужен дополнительный драйвер. Обычно, вместе с мотором 28BYJ-48 поставляется модуль SBT0811, содержащий микросхему ULN2003. Он позволяет управлять мощными нагрузками с током до 500 мА и напряжением до 12 В на канал с помощью слабого тока микроконтроллера, такого как Arduino. Схема соединения такая. Для того, чтобы её собрать воспользуемся такими, заблаговременно подготовленными проводочками, у которых на одном конце разъём, на другом штырёк. Для удобства их присоединения к плате Arduino UNO, воспользуемся пластиковым элементом, напечатанным на 3D принтере, к которому приклеены два ряда контактов попарно спаянные с обратной стороны. В один ряд втыкается плата Arduino, в другой провода. Вот так выглядит наша схема в сборке. Подключаем питание к плате Arduino с предыдущей залитой программой. Устройство должно работать точно таким же образом, как и в предыдущем примере, с прямым подключением мотора к Arduino. Добавляем кнопку и потенциометр (переменный резистор) в схему. Теперь усложним схему и внесём в неё кнопку, которая будет задавать направление вращения мотора и потенциометр, задающий скорость вращения. Мы к ним припаяли провода со штырьками. Всё подключаем согласно схеме. Вот что получилось. Пишем код программы.
|