Skip to content

6. Микроконтроллерная платформа.

dmashine edited this page Nov 12, 2016 · 2 revisions

Для контроля над движением робота нам потребуется микроконтроллер. Он будет получать информацию с датчиков, bluetooth команды и управлять движением мотора.

Только микропроцессор

Для реализации своей идеи можно взять микропроцессор ATmega или любой, который по вкусу. Самостоятельно спроектировать "обвязку" - необходимые для сопряжения с остальными элементами схемы элементами, питание и др. развести и спаять плату. Написать код и загрузить его через специальный программатор. В общем, все по-взрослому. Нужно иметь руки из нужного места, паяльник и кучу свободного времени. Это уже совсем другая история...

#Lego Можно собрать робота из Лего на датчиках и мозгах лего... Но это не спортивно.

Arduino + shields.

Гораздо проще ситуация, если мы используем уже готовые решения, например, Arduino. В нем тот же процессор уже представлен с гораздо низким порогом вхождения. Есть определенное количество портов ввода-вывода. Есть дружелюбная IDE, компилирующая код и загружающая его куда надо. Есть виртуальный Serial-usb порт, который пригодится для отладки.

Если возможностей Arduino не хватает - их легко можно расширить, используя платы расширения.

Подключение моторов.

Для контроля над движением роботов требуется управлять моторами. Напомню, что для Arduino характерное напряжение для пинов - 5 В и считанные миллиамперы тока. Кроме того, нам необходимо управлять направлением тока (для вращения мотора вперед и назад). Для этого используются следующие решения:

  • Специальная схема под название H-мост, самостоятельно спаянная/собранная из радиодеталей. Нерационально ввиду наличия п.п. 2 и 3.
  • H-мост, выполненный в единой микросхеме. Например, классический Драйвер моторов L293D или аналоги. Недорого финансово, гибко в случае, если надо подключать несколько моторов.
  • Драйвер моторов, выполненный в форм-факторе Arduino Shield. Отличается тем, что устанавливается просто в виде "бутерброда" на плату микроконтроллера, позволяет чаще всего контролировать два коллекторных мотора. Дороже отдельного драйвера. Скорее всего, потребует отдельного источника питания.

Подключение по Bluetooth протоколу.

Выбор мозгов для нашего проекта

Таким образом, при использовании шилдов у нас получается как минимум "трехэтажный-с половиной" робот: arduino + motor shield + bluetooth shield + xbee module.

Избавиться от шилдов можно, используя плату от Амперки под названием Стрела. Она специально проектировалась для использования в качестве "мозгов" робота и объединяет в себе функциональность всех описанных шилдов и даже больше. На ней есть разъемы для моторов, xbee модуля, и даже LCD-экрана и многого другого. Необходимо отметить, что в результате плата превысила форм-фактор Ардуино, и имеет не стандартную "гребенку", а трехпиновые контакты.