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

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


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. 4 порта для подключения двигателей постоянного тока на 2x L293 драйверах, защита по току.
  5. Стандартный интерфейс Arduino UNO R3, не зависимый от остальных портов ввода-вывода, позволяет подключать любые шилды и библиотеки для Arduino. 
  6. Встроенный Bluetooth, позволяет как посылать-принимать данные, так и прошивать микроконтроллер.
  7. Слот для карт памяти microSD.
  8. Трехцветный светодиод.
  9. 5 программируемых кнопок.
  10. 2 выведенных порта USART с питанием (RX, TX, 5V, GND).
  11. 2 выведенных порта 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 отсека) с использованием шести батареек или аккумуляторов типа АА;
  • Li-ion аккумуляторы суммарным напряжением не более 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

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

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

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

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

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

OUT

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 расположен в центре платы и закрыт крышкой корпуса. Он полностью соответствует интерфейсу 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)
- (YELLOW), (5)
- (PURPLE), (6)
- (AQUA), (7)

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();
  }
}

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

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 · Последние изменения: 2023/01/20 14:11 — kdevi