Arduino Robot

Разработка робота с нуля — не простая задача для начинающего инженера. Какие модули могут понадобится? Как их разместить? Как предугадать все варианты использования робота, которые захочется воплотить в жизнь в будущем? С Arduino Robot эти проблемы вас не коснутся.

Arduino Robot — первая официальная робо-платформа от Arduino, разработанная на основе Arduino Leonardo. Этот робот готов к работе «из коробки». Он уже содержит в себе датчики, кнопки, цветной дисплей, разъём для micro-SD карты, цифровой компас, громкоговоритель. А благодаря библиотеке RobotLibrary процесс «оживления» вашего робота не займёт много времени. Вместе с тем Arduino Robot отлично подходит для модификаций. Он содержит большое количество удобно расположенных посадочных мест для различных датчиков, манипуляторов и другой периферии, а также площадки для прототипирования.

Arduino Robot — идеальная платформа для соревнований по робототехнике. Эта платформа позволит предоставить участникам одинаковые стартовые условия и поможет продемонстрировать своё мастерство.

Конструкция

Arduino Robot состоит из двух плат — платы управления и моторной платы. Каждая плата представляет из себя полноценную Arduino-платформу на основе контроллера ATmega32u4, которая программируется с помощью Arduino IDE.

Плата управления
Микроконтроллер ATmega32u4
Рабочее напряжение 5 В
Количество цифровых входов/выходов 6
…из них могут использоваться как аналоговые входы 4
Количество аналоговых входов, доступных через мультиплексор 8
Максимальный ток через контакт входа/выхода 40 мА
Объём Flash-памяти 32 кБ
Объём SRAM-памяти 2,5 кБ
Объём внутренней EEPROM-памяти 1 кБ
Объём внешней EEPROM-памяти, подключённой через I²C 1 кБ
Тактовая частота 16 МГц

Также на борту платы управления:

  • Клавиатура на 5 кнопок
  • Потенциометр, подключённый к аналоговому входу
  • Цветной графический LCD-экран, подключённый через SPI
  • Разъём для micro-SD карты в FAT16
  • Громкоговоритель с импедансом 8 Ом
  • Три площадки под пайку устройств с I²C-интерфейсом
  • Четыре площадки для прототипирования

Устройства на плате управления

Моторная плата
Микроконтроллер ATmega32u4
Рабочее напряжение 5 В
Максимальный ток через контакт входа/выхода 40 мА
Количество цифровых входов/выходов 4
... из них могут использоваться как аналоговые входы 4
Количество каналов PWM 1
Объём Flash-памяти 32 кБ
Объём SRAM-памяти 2,5 кБ
Объём внутренней EEPROM-памяти 1 кБ
Тактовая частота 16 МГц

Также на борту моторной платы:

  • Потенциометр для калибровки двигателей
  • Вход для зарядного устройства на 9 В
  • Линейный регулятор напряжения, обеспечивающий питанием все устройства робота.
  • Аккумуляторный отсек на 4 AA NiMH-аккумулятора
  • Линейка из 5 ИК-сенсоров для следования за линией
  • Разъём I²C
  • Пара площадок для прототипирования

Устройства на моторной плате Устройства на моторной плате. Низ

Питание

Arduino Robot может быть запитан от USB или от 4 АА аккумуляторов. Источник питания выбирается автоматически.

Батарейный отсек содержит 4 АА никель-металлгидридных аккумулятора.

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

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

При питании от USB зарядное устройство и моторы автоматически отключаются.

Плата управления получает питание от моторной платы.

Память

Микроконтроллер ATmega32u4 содержит

  • 32 кБ flash-памяти
  • 2,5 кБ SRAM-памяти
  • 1 кБ EEPROM-памяти.

Плата контроля содержит 512 Кбит EEPROM-памяти, доступной через I²C-интерфейс.

Для увеличения памяти присутствует слот для micro-SD карты, который встроен в цветной графический TFT-экран. С SD-картой можно работать при помощи микроконтроллера платы управления.

Входы/выходы

Максимальный ток через каждый контакт — 40 мА, максимальное напряжение - 5 В. Представленные ниже обозначения контактов совпадают с их названиями в библиотеке Robot Library Контакты имеют определённые функции:

  • Плата управления. Контакты TK0 — TK7. Это 8 аналоговых входов, которые подключены через мультиплексор к одному аналоговому входу микроконтроллера. Они могут использоваться для подключения аналоговых сенсоров.

  • Плата управления. Контакты TKD0 — TKD5. Это цифровые входы/выходы, подключённые к микроконтроллеру. Для их чтения используется функция Robot.digitalRead(), а для записи — Robot.digitalWrite(). Контакты TKD0 — TKD3 могут также использоваться как аналоговые входы при помощи функции Robot.analogRead().

Однако, цифровые входы/выходы TKD4 и TKD5 задействованы в управлении мультиплексором аналоговых входов TK0 — TK7, поэтому невозможно одновременно использовать TKD4, TKD5 и TK0 — TK7.

Контакты на плате управления

  • Моторная плата. Контакты B_TK1 — B_TK4. Каждый из этих контактов может быть использован как цифровой вход/выход или как аналоговый вход.

Контакты на моторной плате

  • Связь плат между собой осуществляется с помощью последовательных портов микропроцессоров. Платы соединены 10-жильным плоским кабелем, через который происходит питание платы управления, производится связь микропроцессоров и передаётся дополнительная информация, например текущий заряд аккумуляторов.

  • Плата управления. Порт связи по протоколу SPI используется для управления цветным TFT-дисплеем и SD-картой. Если вы хотите прошить микроконтроллер через SPI-порт с помощью внешнего программатора, не забудьте сперва отсоединить дисплей.

  • Светодиоды платы управления. На плате управления расположены три светодиода. Один отображает наличие питания (PWR). Два других отображают связь через USB-порт (LED1/RX и TX). Светодиод LED1 вы можете использовать из своей программы.

  • Обе платы имеют порты для подключения по протоколу I²C. Доступны 3 порта для распайки на плате управления. На моторной плате находится 1 порт I²C.

Связь

К компьютеру робот подключается через USB-порт, и определяется как виртуальный COM-порт. Светодиоды LED1/RX и TX горят только во время связи между компьютером и роботом. Внимание! Обе платы имеют разные USB-идентификаторы устройства, поэтому они будут доступны на разных портах в Arduino IDE. Перед прошивкой платы убедитесь что вы используете правильный порт.

Программирование

Робот может быть запрограммирован при помощи Arduino IDE. В меню «Инструменты» → «Плата» выберите «Arduino Robot Control Board» при работе с платой управления, или «Arduino Robot Motor Board» при работе с моторной платой.

Сброс и инициализация загрузчика

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

Ссылки