Инструменты пользователя

Инструменты сайта


ehlektronika:trekduino

Трекдуино

Трекдуино - многофункциональный контроллер, сердцем которого является микроконтроллер Atmega2560. В контроллере есть все необходимое для реализации различных робототехнических проектов:

  • драйверы двигателей на 4 двигателя.
  • продуманная система питания.
  • питание на всех внешних портах.
  • интерфес Arduino Uno для подключения Arduino-совместимых плат расширения.
  • полная совместимость с библиотеками и примерами для Arduino.

ТЕХНИЧЕСКИЕ ХАРАКТЕРИСТИКИ

  • 1) ЦП: Atmega2560 (256 КБ флеш-памяти).
  • 2) 8х портов ввода с подведенным питанием (GND-Vin-S), все с ЦАП, 1-4 с прерываниями, выбираемое напряжение питания 5V/3V.
  • 3) 8х портов вывода с подведенным питанием, 1-5 с аппаратным ШИМ, выбираемое напряжение питания 5V/3V.
  • 4) 4x порта для подключения двигателей постоянного тока на 2x L293 драйверах, защита по току.
  • 5) Стандартный интерфейс Arduino UNO R3, не зависимый от остальных портов ввода-вывода, позволяет подключать любые шилды и библиотеки для Arduino. 
  • 6) Встроенный Bluetooth, позволяет как посылать-принимать данные, так и прошивать микроконтроллер
  • 7) Слот для карт памяти microSD
  • 8) Трехцветный светодиод
  • 9) 5x программируемых кнопок
  • 10)2x выведенных порта USART с питанием (RX, TX, 5V, GND)
  • 11)2x выведенных порта I2C с питанием (SCL, SDA, 5V, GND)
  • 12)Подключение к компьютеру – USB или Bluetooth
  • 13)Питание от 7В до 12В, 2 разъема для питания – джек для аккумуляторных блоков из набора и болтовой клеммник для подключения любых других источников питания

Плата контроллера заключена в корпус, который лишает доступа к некоторым портам, которые могут понадобиться только «продвинутым» пользователям (винтовой клеммник для внешнего питания, интерфейс Arduino, джамперы переключения напряжения питания портов IN и OUT межу 3В и 5В, джампер для конфигурирования Bluetooth и т.д.). Для доступа к этим элемента крышку корпуса необходимо снять.

Питание

Питание платы возможно либо от USB, либо от внешнего питания. Внешнее питание может подключаться в разъем Jack либо через винтовой клеммный разъем (TERM).

При наличии нескольких источников питания одновременно схема переключается:

  • между USB и внешним - автоматически
  • между джеком и клеммником - вручную джампером XP13

Требования к питанию:

  • USB - 5 Вольт ровно
  • Внешнее питание - 6-17 Вольт.

Внешнее питание может представлять собой:

  • Батарейный блок на 9 Вольт (3 отсека) с использованием шести батареек или аккумуляторов типа АА;
  • Литий-ионные аккумуляторы суммарным напряжением не более 17 Вольт;
  • Источник постоянного питания от 6 до 17 Вольт и током не менее 500мА (1-3А при использовании нескольких двигателей и серводвигателей).

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

* резкие остановки и блокирование двигателей; * резкие смены направления двигателей до их остановки; * подключение большого количества серводвигателей; * использование серводвигателей для подъема слишком больших тяжестей.

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

Для двигателей наборов Роботорек максимальное напряжение - 9 Вольт.

Питание платы от USB рекомендуется при реализации проектов, в которых не используются потребители больших токов, такие как серводвигатели и двигатели.

Внешнее питания обязательно для для проектов, к которых используются двигатели или более двух серводвигателей.

Питание двигателей и серводвигателей Силовая часть драйверов двигателей, к которой подключаются непосредственно двигатели, питается напрямую от внешнего питания. Запуск двигателей от USB невозможен.

Порты OUT, к которым в т.ч. подключаются серводвигатели, по умолчанию питаются от USB или внешнего питания (переключение автоматическое) через стабилизатор, выдающий ток максимум в 500 мА. Этого достаточно для питания любых внешних устройств и 1 или 2 серводвигателей. В случае, если подключено более двух серводвигателей и им не хватает питания в 500 мА, загорается светодиод перегрузки портов OUT, сигнализирующий о перегрузке по линии. В этом случае необходимо использовать внешнее питание и переключить джампер XP9 в положение «HIGH». После этого портам OUT, питающиеся от 5В, будет доступен ток в 3А.

Важно! При положении джампера «HIGH» порты OUT запитываются исключительно от внешнего питания, при переключении на USB они будут обесточены. Для подачи питания на порты OUT при питании от USB нужно переключить джампер в положение «LOW».

Кнопка питания

  • При питании только от внешнего питания кнопка питания обесточивает все устройство
  • При питании только от USB кнопка питания никак не влияет на работу платы (драйверы двигателей и так обесточены)
  • При питании от USB и внешнего питания одновременно кнопка питания включает и выключает подачу питания только на драйверы двигателей. Это позволяет спокойно программировать роботов через USB, не боясь, что по завершении программирования двигатели начнут неожиданно вращаться.

Переключение между 3В и 5В Напряжение питания половины портов IN (IN1-IN4) и OUT (OUT1-OUT4) можно переключать между 5В и 3В с помощью соответствующих джамперов, расположенных непосредственно над портами IN1 и OUT1. Это может понадобится, если вы захотите использовать датчики сторонних производителей, работающие от 3В. По умолчанию джамперы установлены в положение «5В». Для доступа к джамперам необходимо снять крышку корпуса. Вся электроника наборов Роботрек работает от 5В.

Порты

Контроллер трекдуино имеет множество портов для подключения внешних устройств. Порты IN и OUT абсолютно независимы от всех других портов, в.т.ч. интерфейса Arduino Uno.

IN

Порты IN в количестве 8 шт распложены в левой части платы. Предназначены преимущественно для подключения датчиков, т.к. все являются аналоговыми, т.е подключены к АЦП и позволяют измерять уровень напряжения. Однако любой из этих портов при необходимости можно настроить на вывод и подключать к ним простые исполнительные устройства, но ни на одном из этих портов нельзя создать аппаратный ШИМ-сигнал.

Все порты OUT располагаются вертикально.

  • нижний ряд контактов - земля
  • средний ряд - питание
  • верхний ряд - сигнал

Максимальный суммарный ток для всех портов IN - 500 мА.

Напряжение портов IN1-IN4 можно переключать между 5В и 3В при необходимости при момощи соответствующего джампера. Напряжение питание портов IN5-IN8 постоянно и составляет 5В.

OUT

Порты OUT в количестве 8 шт распложены в правой части платы. Предназначены преимущественно для подключения исполнительных устройств, в т.ч. серводвигатлей, т.к. На портах OUT1-OUT5 можно создать аппаратный ШИМ-сигнал.

Любой из этих портов при необходимости можно настроить на ввод, но ни один из них нельзя использовать как аналоговый вход.

Все порты OUT располагаются вертикально.

  • нижний ряд контактов - земля
  • средний ряд - питание
  • верхний ряд - сигнал

Максимальный суммарный ток для всех портов IN - 500 мА или 3А в зависимости от положения соответствующего джампера (см Питание двигателей и серводвигателей)

Напряжение портов OUT1-OUT4 можно переключать между 5В и 3В при необходимости при помощи соответствующего джампера. Напряжение питание портов OUT5-OUT8 постоянно и составляет 5В. Максимальный суммарный ток для портов, питаемых 3В, ограничен в 500 мА независимо от положения ждампера «питание OUT»

Порты двигателей

Порты для подключения двигателей постоянного тока в количестве 4 шт расположены в правом верхнем углу платы. Двигатели управляются двумя драйверами двигателей L293DD.

Все порты двигателей располагаются вертикально.

  • нижний ряд контактов - «минус»
  • верхний ряд - «плюс»

Максимальный ток через каждый канал - 600 мА, кратковременно до 1200 мА.

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

Интерфейс Arduino Uno

Интерфейс Arduino Uno расположен в центре платы и закрыт крышкой корпуса. Он полностью соответствует интерфейсу Arduino UNO R3 и предназначен для подключения Arduino-совместимых плат расширения («шилдов»), запуска стандартных примеров и реализации экспериментов, созданных для Arduino. Из программы к данным портам можно обращаться точно так же, как и к портам обычной Arduino Uno.

Расположение портов с ШИМ, аналоговых портов, а также портов питания также полностью соответствует стандарту Arduino Uno R3. Имена всех портов промаркированы на плате.

Встроенные устройства

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

Кнопки

Встроенные кнопки используются так же, как и внешние кнопки. Для программирования используются блоки, расположенные в группе блоков «Встроенные кнопки»

Блок и генерируемая функция Описание


bool buttonRead(int button)
Возвращает «Истина», если кнопка нажата.

Аргументы:
int button - имя кнопки.

Возможные агрументы:

- (BTN_UP)
- (BTN_DOWN)
- (BTN_LEFT)
- (BTN_RIGHT)
- (BTN_CENTER)

RGB-светодиод

Трехцветный светодиод можно зажигать только основными цветами (красным, зеленым, синим или их сочетанием). Светодиод управляется портами, на которых невозможно создать аппаратный ШИМ-сигнал, поэтому «смешивать» цвета в произвольных пропорциях не получится (для экспериментов со смешением цветов используйте RGB-светодиод датчика цвета , который подключен к любым трем портам с ШИМ (OUT1-OUT5).

При необходимости смешивать цвета на встроенном светодиоде ШИМ можно создать программно, например, с помощью библиотеки SoftPWM.

Для прямой работы с портами RGB-светодиода к ним можно обращаться по кодовым именам RGB_RED, RGB_GREEN,RGB_BLUE. Например, функция digitalWrite(RGB_RED); подаст напряжение только на красный канал светодиода, в результате чего он загорится красным, а последовательное выполнение digitalWrite(RGB_RED); digitalWrite(RGB_BLUE); приведет к зажиганию одновременно красного и синего каналов, и в результате светодиод будет гореть фиолетовым.

Для работы со встроенным RGB-светодиодом используются блоки, расположенные в группе блоков «Встроенный RGB LED»:

Блок и генерируемая функция Описание


void buitItRGB(int color)
Зажигает встроенный светодиод заданным цветом

Аргументы:
int color - цвет.

Возможные агрументы:

- (OFF), (0)
- (WHITE), (1)
- (RED), (2)
- (GREEN), (3)
- (BLUE), (4)

Cлот для карт MicroSD

Слот для карт памяти расположен в верхней части платы и поддерживает карты памяти стандарта 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();
  }
}
Создает на карте памяти новый текстовый файл заданного имени, если он еще не создан, и дополняет этот файл текстом. Функция предназначена в первую очередь для логирования каких-либо данных.

Аргументы:
Файл - имя файла относительно корневой директории карточки
Данные - текст, который необходимо записать в файл. С этим блоком работают блоки «клей».
Новая строка - переводить ли «курсор» в файле на новую строку по окончании записи

Пример использования в проекте: Автономная метеостанция - регистрация температуры раз в час.

Динамик

На плате расположен разъем для подключения 8-омного динамика.

В текущей версии платы сам динамик не установлен, однако Вы можете использовать этот разъем для самостоятельного подключения динамика или любой другой нагрузки с потребляемым током до 500мА (например, реле или яркие светодиоды) - данный разъем управляется через транзистор:

Транзистор управляется портом PA5 микроконтроллера, к которому можно обращаться из IDE как к порту 27 arduino или по имени SOUND_PIN.

Интерфейсы

UART

Контроллер имеет три независимых аппаратных UART интерфейса:

  • UART0 - основной интерфейс. К нему подключены USB и Bluetooth-модуль, именно он используется, когда Вы отправляете или принимаете какие-либо данные по USB. Линии TX и RX этого интерфейса выведены на соответствующие пины интерфейса Arduino:
  • UART1 и UART2 выведены наружу вместе с питанием 5В с левой стороны платы и доступны для любых нужд пользователя. В наборах Роботрек к одному из этих портов подключается дисплей.

Для программирования приема и передачи данных через эти порты обращайтесь к ним как Serial1 и Sertial2, например:

void setup() {
  Serial2.begin(9600); //инициализация интерфейса UART2
}
 
void loop() {
  Serial2.println("Hello world!"); //отправка строки через UART2
  delay(1000);        
}

Подробнее о работе с UART: https://www.arduino.cc/en/Reference/Serial

I2C

Разъемы шины I2C расположены в верхнем левом углу платы:

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

Помимо двух разъемов с питанием линии SCL и SDA выведены на разъем Arduino в соответствии со стандартом R3.

В наборах Роботрек к разъему I2C Подключается Датчик положения (гироскоп/акселерометр)

Bluetooth

Bluetooth-модуль HC-06 располагается посередине платы и общается с основным микроконтроллером через интерфейс UART0. Помимо этого модуль может управлять сбросом микроконтроллра, поэтому через Bluetooth можно как просто обмениваться данными как через беспроводной UART интерфейс (например, для организации дистанционного управления), так и перепрошивать контроллер.

Bluetooth-модуль настроен на работу на скорости 115200. Каждый модуль имеет уникальное имя, соответствующее наклейке на модуле.

Для управление модулем предусмотрено несколько джамперов:

  • BT_ON - включение и выключение питания модуля. Если модель не используется, разомкните джампер чтобы не тратить лишнюю энергию на питание модуля. Помимо джампера питания модуля можно включать и отключать программно функциями bluetoothON() и bluetoothOFF(). По умолчанию питание модуля включено.
  • BT_AT - замыкание джампера переводит модуль в режим конфигурирования AT-командами (для опытных пользователей!)
  • USB MODE: MCU/BT: при установленном в нижнее положение джампере линии TX/RX модуля соединаются напрямую с USB, что позволяет отправлять AT-команды на модуль напрямую с компьютера.

Модуль Bluetooth автоматически отключается от линий данных UART0 при появлении питания на USB. При этом питание с модуля не снимается. Это сделано во избежание конфликтов сигналов и для быстрого перепрограммирования через USB При использовании Bluetooth ПДУ.

Рядом с Bluetooth-модулем расположен светодиод состояния модуля:

  • быстрое мигание - готов к подключению
  • почти постоянно горит, изредка мигая - соединение установлено

Пароль для подключения по умолчанию - 1234. При необходимости пароль можно изменить АТ-командами

ICSP

Интерфейс ICSP предназначен для перепрошивки основного микроконтроллера внутрисхемными программаторами без использования bootloader-а. Инетерфейс является частью интерфейса Arduino, его расположение и распиновка совпадают с Arduino UNO R3:

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

ehlektronika/trekduino.txt · Последние изменения: 2016/07/04 18:00 — dustinskiy