Как построить робота – конструкция и схема
Как построить робота (от Travis Fagerness)
Начнем собирать робота, который будет следовать за линиями или стенами и избегать препятствий!
Обзор
Это первая часть в серии статей о моем опыте создания робота, который может делать разные вещи. Я думал, что было бы замечательно создать робота, которого легко было бы собрать лишь с одним паяльником, и комплектующие к нему были бы доступны. Я составил следующий список требований к этому роботу:
- Многие наборы стоят дорого, поэтому он должен быть относительно недорог.
- Он должен быть простым в сборке, не требуя специального оборудования.
- Он должен быть простым в программировании, не требуя сложных IDE и программатора.
- Он должен быть мощным для расширяемости.
- Он должен запускаться от простого источника питания.
- Он должен быть способен следовать за линией или за стеной и избегать препятствий.
В этой статье я расскажу, как я решил выполнить эти требования.
Выбор компонентов
Первый шаг в любом проекте – выяснить, какие необходимы комплектующие. Чтобы быть полезным, роботу нужно несколько ключевых вещей: способ двигаться, думать и взаимодействовать с окружением. Чтобы снизить стоимость, мне нужно обойтись двумя колесами. Этот означает, что мне нужно управлять двумя отдельными двигателями, которые могут работать независимо друг от друга. Мне также нужна шаровая опора, на которую робот может опираться, чтобы скользить. У этого решения есть недостаток: робот не может перемещаться ни по каким поверхностям, кроме гладких полов. Я хочу, чтобы мозги были построены на базе какой-либо известной микроконтроллерной платформы. Так ему не понадобится программатор или руководство по использованию средств разработки. У робота должны быть датчики, которые позволяют ему знать о линиях, стенах и препятствиях. Я также хочу свести к минимуму количество разных мест для покупок, чтобы снизить итоговую стоимость доставки. Наконец, компоненты должны быть небольшими, потому что я хочу спроектировать плату для недорогого производства и оставаться в пределах бесплатной версии Eagle CAD.
Механика: двигатели, шестеренки, колеса
Я нашел пару веб-сайтов, которые предлагают различные двигатели и компоненты для роботов, но я остановился на Polulu из-за их цен и наличия всего необходимого. Продукты Tamiya выглядели неплохо. Комплект 70168 Double Gearbox Kit поставляется с шестеренками, двигателями и валами, что значительно упрощает механику. И он очень дешев! В нормальном режиме двигатели работают от 3В, но могут работать и от большего напряжения за счет сокращения срока службы. Поддерживается несколько передаточных чисел, поэтому я могу точно настроить скорость робота. Я остановился на самых дешевых колесах, которые подойдут к валу из этого комплекта, Tamiya 70101 Truck Tire Set. Этот комплект поставляется с четырьмя колесами, а мне нужны только два, но он стоит дешево, а запасные части лишними никогда не будут! Переднее колесо – это просто шаровая опора или пластиковый винт, чтобы робот мог скольких по полу.
Мозги: микроконтроллер
Существует несколько различных микроконтроллерных платформ, которые довольно популярны. Основываясь на популярности, очевидным выбором является какая-либо Arduino. Другие варианты: Teensy, Launchpad и Raspberry Pi. Pi слишком большой и прожорливый, Launchpad тоже слишком большой. В прошлом я использовал Teensy, и это был хороший опыт. Teensy немного дороже, чем Arduino Mini, но предлагает гораздо более мощную платформу. Последняя плата Teensy снабжена Cortex M4, который обладает достаточной мощностью для простого робота. Бонусом к Teensy является встроенный стабилизатор на 500 мА, который может быть использован для питания всех датчиков.
Взаимодействие: датчики
Для следования за линией и следования за стенами требуются разные датчики. Датчики для следования за линией – это обычно рефлектометры, которые изменяют выдаваемое напряжение в зависимости от того, сколько света отражается от земли. Это делается с помощью светодиода и фотодиода или датчика освещенности. Детекторы стен и препятствий – это обычно датчики расстояния. Оба типа этих датчиков были доступны в удобных DIP корпусах в том же магазине, что и двигатели, что позволило мне сэкономить на доставке и легко их припаивать. По поводу датчика линии, я нашел датчик с тремя сенсорами, которые позволяют роботу в любое время центрироваться относительно линии. По поводу датчика расстояния, я решил использовать инфракрасный датчик высокой яркости, так как в данном проекте я имел дело более низким напряжением, чем ожидалось.
Питание: драйвер двигателя, батарея
Драйвер двигателя должен иметь возможность управлять трехвольтовыми двигателями, выбранными ранее. Я также хотел, чтобы он был масштабируемым на случай, если я захочу в будущем заменить двигатели. Я нашел драйвер всё в том же магазине. Он может работать с напряжениями 0–11 В и обеспечивать достаточно большие токи для двигателей, которые я захотел бы поставить в будущем. По поводу аккумулятора, я бы предпочел, чтобы робот работал на чем угодно. Teensy работает с напряжениями до 5,5 В, что означает, что можно использовать литиевый аккумулятор. Однако для лития требуется зарядное устройство, а я не хочу увеличивать расходы. Использование двух обычных батарей AA обеспечивает довольно много энергии без необходимости зарядного устройства. Недостатком является то, что они обеспечивают только ~3 В и большие по размеру. Входное напряжение 3 В неже линейного стабилизатора Teensy на 3,3 В. Робот всё равно будет работать, потому что все компоненты, выбранные для Teensy, могут работать на более низком напряжении. Тем не менее, встроенный на Teensy стабилизатор напряжения стабилизировать не будет.
Дополнительные элементы
В какой-то момент я захотел, чтобы роботом можно было бы управлять через смартфон, и поэтому добавил на схему устройство BLE. Это не обязательно, чтобы следовать за линиями или стенами, но я подумал, что это будет отличное дополнение. Я также хочу, чтобы элементы можно было легко отключить, поэтому для подключения всего буду использовать на плате разъемы (мама).
Полный список компонентов
Обязательные компоненты
Тип компонента | Модель компонента | Стоимость |
---|---|---|
Микроконтроллер | Teensy 3.2 | 19.80 |
Двигатель | Tamiya 70168 | 9.25 |
Драйвер двигателя | DRV8835 | 4.49 |
Шаровая опора | Tamiya 70144 | 5.99 |
Датчик отражателя | QTR-3RC | 4.95 |
Колеса | Tamiya 70101 | 4.10 |
Датчик расстояния | Pololu 38kHz | 5.95 |
Печатная плата | Elecro 10x10cm | 14.00 |
Держатель батарей | Держатель батарей 2-AA | 0.79 |
Общая стоимость без доставки | $49.52 |
Дополнительные компоненты
Тип компонента | Модель компонента | Стоимость |
---|---|---|
Беспроводной модуль | nRF51 Dongle | 52.39 |
Разъемы | Штырьковые разъемы | 5.00 |
Схема
Для рисования схемы и макета я использую бесплатную версию Eagle CAD. Я создал пользовательские условные обозначения и площадки для монтажа для всех элементов, кроме платы Teensy, доступной для скачивания во второй части из данной серии статей. У Teensy есть библиотеки для Eagle. Вы можете заметить, что на схеме отсутствуют какие-либо простые устройства, такие как резисторы и конденсаторы. Это связано с тем, что каждая из этих плат является уже готовой платой с выводами, чтобы сделать сборку максимально простой. Любой современный чип, скорее всего, будет для поверхностного монтажа, что для любителя может вызвать затруднения. Схемы для каждой из этих плат доступны у соответствующих продавцов. Вот несколько ключевых моментов к этой схеме:
- Я поместил перемычку между батареей и остальной частью схемы. Это полезно для отключения питания без снятия батарей, измерения тока или защиты с помощью диода от обратной полярности.
- Все интерфейсы являются цифровыми, за исключением двух. Существует UART соединение между nRF51 и Teensy через выводы 9/10. Контроллер двигателя работает через ШИМ, который поступает через выводы 6 и 4 Teensy.
- На схеме нет светодиода. Светодиод, который находится на Teensy, может использоваться для отладки или индикации.
- Здесь нет кнопки. Я подумал о том, чтобы поставить кнопку на линию сброса Teensy, но решил сэкономить.
- При программировании Teensy через USB вы должны либо разрывать небольшую дорожку, соединяющую Vin/Vusb, либо убедиться, что, когда подключен USB, батареи отключены.
Заключение
В данной статье я изложил требования к роботу и мои варианты конструкции, которые удовлетворяли бы эти требования. Эти варианты привели к созданию схемы и перечня элементов, чтобы оценить затраты на проект. Во второй статье из данной серии я нарисую печатную плату, чтобы ее можно было изготовить!