Трекдуино - многофункциональный контроллер, сердцем которой является процессор Atmega2560.
В контроллере есть все необходимое для реализации различных робототехнических проектов:
ТЕХНИЧЕСКИЕ ХАРАКТЕРИСТИКИ
Плата контроллера заключена в корпус, который лишает доступа к некоторым портам, необходимым только «продвинутым» пользователям (винтовой клеммник для внешнего питания, интерфейс Arduino, джамперы переключения напряжения питания портов IN и OUT межу 3В и 5В, джампер для конфигурирования Bluetooth и т.д.). Для доступа к этим элемента крышку корпуса необходимо снять.
Питание платы возможно от USB или от внешнего источника. Внешнее питание может подключаться либо в разъем Jack , либо через винтовой клеммный разъем (TERM).
При наличии нескольких источников питания одновременно схема переключается:
Требования к питанию:
Внешнее питание может представлять собой:
При использовании источников питания, не способных выдавать большие токи (например, щелочных батареек или никель-металгидридных аккумуляторов, либо слабых блоков питания) необходимо учитывать то, что большие нагрузки могут приводить к проседанию напряжения питания. Следствием этого является перезагрузка контроллера. Например:
При питании двигателей на них подается внешнее питание напрямую без предварительного понижения. Учитывайте это и не питайте двигатели недопустимым напряжением.
Для двигателей наборов Роботорек максимальное напряжение - 9 Вольт.
Питание платы от USB рекомендуется при реализации проектов, в которых не используются потребители больших токов, такие как серводвигатели и двигатели.
Внешнее питание обязательно для проектов, в которых используются двигатели или более двух серводвигателей.
Питание двигателей и серводвигателей
Силовая часть драйверов двигателей, к которой подключаются двигатели, питается напрямую от внешнего питания. Запуск двигателей от USB невозможен.
Порты OUT, к которым в т.ч. подключаются серводвигатели, по умолчанию питаются от USB или внешнего питания (переключение автоматическое) через стабилизатор, выдающий ток максимум в 500 мА. Этого достаточно для питания любых внешних устройств и 1 или 2 серводвигателей. В случае, если подключено более двух серводвигателей и им не хватает питания в 500 мА, загорается светодиод перегрузки портов OUT, сигнализирующий о перегрузке по линии. В этом случае необходимо использовать внешнее питание и переключить джампер XP9 в положение «HIGH». После этого портам OUT, питающимся от 5В, будет доступен ток в 3А.
Важно! При положении джампера «HIGH» порты OUT запитываются исключительно от внешнего питания, при переключении на USB они будут обесточены. Для подачи питания на порты OUT при питании от USB нужно переключить джампер в положение «LOW».
Кнопка питания
Переключение между 3В и 5В
Напряжение питания половины портов IN (IN1-IN4) и OUT (OUT1-OUT4) можно переключать между 5В и 3В с помощью соответствующих джамперов, расположенных непосредственно над портами IN1 и OUT1. Это может понадобится, если вы захотите использовать датчики сторонних производителей, работающие от 3В. По умолчанию джамперы установлены в положение «5В». Для доступа к джамперам необходимо снять крышку корпуса. Вся электроника наборов Роботрек работает от 5В.
Контроллер Трекдуино имеет много разных портов для подключения внешних устройств. Порты IN и OUT абсолютно независимы от всех других портов, в т.ч. интерфейса Arduino Uno.
8 портов IN расположены в левой части платы. Предназначены преимущественно для подключения датчиков, т.к. все являются аналоговыми, т.е подключены к АЦП и позволяют измерять уровень напряжения. При необходимости любой из этих портов можно настроить на вывод и подключать к ним простые исполнительные устройства, но ни на одном из этих портов нельзя создать аппаратный ШИМ-сигнал.
Все порты OUT располагаются вертикально:
Максимальный суммарный ток для всех портов IN - 500 мА.
Напряжение портов IN1-IN4 можно переключать между 5В и 3В при необходимости при помощи соответствующего джампера. Напряжение питания портов IN5-IN8 постоянно и составляет 5В.
8 портов OUT расположены в правой части платы. Предназначены преимущественно для подключения исполнительных устройств, в т.ч. серводвигателей, т.к. на портах OUT1-OUT5 можно создать аппаратный ШИМ-сигнал.
Любой из этих портов при необходимости можно настроить на ввод, но ни один из них нельзя использовать как аналоговый вход.
Все порты OUT располагаются вертикально:
Максимальный суммарный ток для всех портов IN - 500 мА или 3А в зависимости от положения соответствующего джампера (см. Питание двигателей и серводвигателей).
Напряжение портов OUT1-OUT4 можно переключать между 5В и 3В при необходимости при помощи соответствующего джампера. Напряжение питания портов OUT5-OUT8 постоянно и составляет 5В. Максимальный суммарный ток для портов, питаемых 3В, ограничен в 500 мА независимо от положения джампера «питание OUT».
4 порта для подключения двигателей постоянного тока расположены в правом верхнем углу платы. Двигатели управляются двумя драйверами двигателей L293DD.
Все порты двигателей располагаются вертикально:
Максимальный ток через каждый канал - 600 мА, кратковременно до 1200 мА.
Для управления драйверами двигателей используются функции управления двигателями.
Интерфейс Arduino Uno расположен в центре платы и закрыт крышкой корпуса. Он полностью соответствует интерфейсу Arduino UNO R3 и предназначен для подключения Arduino-совместимых плат расширения («шилдов»), запуска стандартных примеров и реализации экспериментов, созданных для Arduino. Из программы к данным портам можно обращаться точно так же, как и к портам обычной Arduino Uno.
Расположение портов с ШИМ, аналоговых портов, а также портов питания также полностью соответствует стандарту Arduino Uno R3. Имена всех портов промаркированы на плате.
Контроллер Трекдуино имеет ряд встроенных устройств, благодаря которым на контроллере можно запускать программы и отрабатывать алгоритмы без подключения внешних устройств. Встроенные программируемые кнопки и трехцветный светодиод очень удобно использовать при отладке программ.
Встроенные кнопки используются так же, как и внешние. Для программирования используются блоки, расположенные в группе блоков «Встроенные кнопки».
Трехцветный светодиод можно зажигать только основными цветами (красным, зеленым, синим или их сочетанием). Светодиод управляется портами, на которых невозможно создать аппаратный ШИМ-сигнал, поэтому «смешивать» цвета в произвольных пропорциях не получится (для экспериментов со смешением цветов используйте RGB-светодиод датчика цвета, который подключен к любым трем портам с ШИМ (OUT1-OUT5).
При необходимости смешивать цвета на встроенном светодиоде ШИМ можно создать программно, например, с помощью библиотеки SoftPWM.
Для прямой работы с портами RGB-светодиода к ним можно обращаться по кодовым именам RGB_RED
, RGB_GREEN
,RGB_BLUE
. Например, функция digitalWrite(RGB_RED);
подаст напряжение только на красный канал светодиода, в результате чего он загорится красным, а последовательное выполнение digitalWrite(RGB_RED); digitalWrite(RGB_BLUE);
приведет к зажиганию одновременно красного и синего каналов, и в результате светодиод будет гореть фиолетовым.
Для работы со встроенным RGB-светодиодом используются блоки, расположенные в группе блоков «Встроенный RGB LED»:
Слот для карт памяти расположен в верхней части платы и поддерживает карты памяти стандарта MicroSD.
Выводы SD-карты подключены к шине SPI (MISO, MOSI, CLK), вывод CS (chip select) подключен к порту PB0 микроконтроллера, к которому можно обращаться как к порту 53 arduino или по имени SD_CS или SS
Для работы с картой памяти используйте библиотеку SD, включенную в Роботрек IDE. Данная библиотека работает только с картами памяти, отформатированными в файловые системы FAT16 или FAT32.
Из визуальной среды на данный момент доступна только функция записи данных в текстовый файл на карте памяти:
Генерируемый код:
#include <SPI.h> #include <SD.h> void setup() { const int chipSelect = SD_CS; SD.begin(chipSelect); } void loop() { File datafile = SD.open("file.txt", FILE_WRITE); if (datafile){ datafile.print("Message"); datafile.println(""); datafile.close(); } }
Пример использования в проекте «Автономная метеостанция». Регистрация температуры раз в час.
Разъемы шины I2C расположены в верхнем левом углу платы:
Для удобства выведено два разъема с питанием, оба разъема подключены параллельно. При необходимости к шине можно подключить намного больше двух устройств, если использовать самодельные разветвители или макетную плату.
Помимо двух разъемов с питанием линии SCL и SDA выведены на разъем Arduino в соответствии со стандартом R3.
В наборах Роботрек к разъему I2C Подключается Датчик положения (гироскоп/акселерометр)
Bluetooth-модуль HC-06 располагается посередине платы и общается с основным микроконтроллером через интерфейс UART0. Помимо этого модуль может управлять сбросом микроконтроллра, поэтому через Bluetooth можно как просто обмениваться данными как через беспроводной UART интерфейс (например, для организации дистанционного управления), так и перепрошивать контроллер.
Bluetooth-модуль настроен на работу на скорости 115200. Каждый модуль имеет уникальное имя, соответствующее наклейке на модуле.
Для управление модулем предусмотрено несколько джамперов:
Модуль Bluetooth автоматически отключается от линий данных UART0 при появлении питания на USB. При этом питание с модуля не снимается. Это сделано во избежание конфликтов сигналов и для быстрого перепрограммирования через USB при использовании Bluetooth ПДУ.
Рядом с Bluetooth-модулем расположен светодиод состояния модуля:
Пароль для подключения по умолчанию - 1234. При необходимости пароль можно изменить АТ-командами
Интерфейс ICSP предназначен для перепрошивки основного микроконтроллера внутрисхемными программаторами без использования bootloader-а. Инетерфейс является частью интерфейса Arduino, его расположение и распиновка совпадают с Arduino UNO R3:
Неграмотная прошивка микроконтроллера может навсегда вывести его из строя. Прошивайте микроконтроллер программатором только если точно знаете, что делаете и зачем это нужно.