Онлайн курс по робототехнике для детей: урок №5

Онлайн курс по робототехнике для детей: урок №5

Тема урока: Продолжаем собирать робота, подключаем motor-shield и моторы.

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

Какие бывают моторы

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

Шаговые моторы

Шаговый мотор
Шаговый мотор хорошо подходит там, где нужно точное позиционирование

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

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

Шаговые двигатели являются отличным выбором для проектов на Arduino (и не только) по нескольким причинам. Они стоят относительно недорого, у них маленькая погрешность.

Сервомоторы

С помощью сервомоторов можно собрать манипулятор или шагоход

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

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

Моторы постоянного тока

Мотор постоянного тока
Такой мотор-редуктор используется при строительстве нашего робота

Двигатели постоянного тока (DC motor) во многом являются самыми простыми электродвигателями. Большинство «щеточных» двигателей работают одинаково. Есть ротор и статор. Имеются магниты на статоре и катушка на роторе с магнитным полем, которое генерируется с помощью подачи на нее силы тока. Есть щетки внутри мотора, которые заставляют двигаться ротор.

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

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

Вибрационные моторы

Вибромотор = мотор постоянного тока+ эксцентрик

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

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

Так какой же мотор у нас?

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

Как подключить?

Вот это уже правильный вопрос. Двигатели несколько отличаются от другой периферийной электроники которую мы используем совместно с ардуино. Все дело в том, что моторам нужен ток, больший чем предлагают пины контроллера. Если подключить их напрямую, то в моменты старта\тормоза наших движков, будет происходить скачок тока, который выведет из строя контроллер. Но не стоит особо огорчаться по этому поводу, выход есть и он достаточно прост!

Motor-shield и с чем его едят.

Motor Shield — это плата расширения, предназначенная для двухканального управления скоростью и направлением вращения  двигателей постоянного тока, напряжением 5–24 В и максимальным током до двух ампер на канал.

Т.е. говоря простым языком, плата перекрывает недостатки arduino в области работы с высокими напряжениями\силами тока, и дает возможность подключать моторы. От 2 до 4 в зависимости от модели платы.

Начинаем сборку робота.

Первым делом необходимо подключить шилд к плате Arduino. Для этого нам понадобятся: Макетная плата, Arduino Nano, Motor-shield, 6 проводов папа-мама.

  • Вставляем Arduino Nano в макетную плату.
  • Размещаем Motor-Shield на основе для робота
  • Подключаем входы шилда IN1,IN2,IN3,IN4 соответсвенно в D2,D3,D4,D5
  • Подключаем VCC шилда в +5v, GND в GND.
Оранжевый провод D2-In1, Желтый провод D3-In2, Зеленый D4-In3, Синий D5-In4

На этом подключение шилда к контроллеру окончено. Теперь необходимо подключить моторы к шилду. Для этого нам понадобится схема которую мы только что собрали и 2 мотора постоянного тока.

Сначала нужно определить полярность мотора, что-бы это сделать, необходимо посмотреть в то место откуда растут ноги и мотора где расположены провода, там рядом с плюсом будет маркировка +. Плюсовый провод первого мотора вставляем в выход A+, минусовый провод первого мотора вставляем в выход A-. То же самое повторяем для второго мотора, только используем порт B.

Оранжевые провода от моторов вставлены в порты А+\А- и В+\В-

Приступаем к программированию.

Сейчас мы с вами напишем небольшую программу(буквально 30 строк) согласно которой наш робот сможет вращать моторы во все 4 стороны.

Первое что необходимо сделать — настроить контроллер на работу с моторами.

Далее необходимо написать функции движения для робота. Всего их будет 5, 4 для каждого направления движения(вперед, назад, влево, вправо) и одна для тормоза. Кстати, подробнее о функциях я рассказываю в нашем видео уроке.

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

Для начала я напишу простой алгоритм для проверки моторов. В нем контролер покрутит моторами вперед, назад, влево и вправо по 1 секунде.

Собственно на этом все. Далее вы сами комбинируя функции движения и задержки между ними можете заставить робота двигаться по любой траектории.

В следующем уроке мы будем подключать датчики к роботу и программировать их. Что-бы не пропустить сие событие, подписывайся на наш Youtube-канал и группу Вконтакте. Всем пока!

Метки: , ,