Skip to content

Где какие порты на плате

Timofey Bryksin edited this page Mar 14, 2014 · 12 revisions

Для платы версии 4:

Сервомоторы

  • JE1 — Каталог в ОС: /sys/class/pwm/ehrpwm.1:1
  • JE2 — Каталог в ОС: /sys/class/pwm/ehrpwm.1:0
  • JC1 — Каталог в ОС: /sys/class/pwm/ecap.0
  • JC2 — Каталог в ОС: /sys/class/pwm/ecap.1
  • JC3 — Каталог в ОС: /sys/class/pwm/ecap.2
  • JE4 — Каталог в ОС: /sys/class/pwm/ehrpwm.0:1

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

  • duty_ns — время импульса единичного сигнала PWM
  • period_ns — период мотора в ns
  • period_freq — частота мотора (обратное значение периода)

Для каждого типа мотора значения, которые должны быть записаны в эти файлы, различаются. Для ТРИКовских моторов они следующие:

  • 1800000 — мотор крутится с максимальной скоростью "вперед"
  • 1200000 — мотор крутится с максимальной скоростью в обратную сторону
  • 1450000 — мотор остановлен
  • 0 — питание на мотор не подается

Пример команды инициализации сервомотора, подключенного к JE4:

  echo 1 > /sys/class/pwm/ehrpwm.0:0/request
  echo 1 > /sys/class/pwm/ehrpwm.0:0/run

Силовые моторы и энкодеры

Силовые моторы управляются через шину I2C.

  • JB1, JM1 — Порт 1. I2C-адрес для задания частоты PWM: 0x10, для задания мощности: 0x14, для задания значения энкодера: 0x30
  • JB2, JM2 — Порт 2. I2C-адрес для задания частоты PWM: 0x11, для задания мощности: 0x15, для задания значения энкодера: 0x31
  • JB4, M1 — Порт 3. I2C-адрес для задания частоты PWM: 0x12, для задания мощности: 0x16, для задания значения энкодера: 0x32
  • JB3, JM3 — Порт 4. I2C-адрес для задания частоты PWM: 0x13, для задания мощности: 0x17, для задания значения энкодера: 0x33

Для задания значений используется команда i2cset следующего формата:

    i2cset -y 2 0x48 ADDRESS VALUE MODE

Для получения значений — команда i2cget следующего формата:

    i2cget -y 2 0x48 ADDRESS MODE

Последние два параметра у обеих команд необязательные.

Аргументы принимают следующие значения:

  • ADDRESS — i2c-адрес (см. выше)
  • VALUE — задаваемое значение. Для частоты PWM это шестнадцатеричное двухбайтовое значение от 0x00 до 0xFFFF. Для задания мощности — однобайтовое значение от 0x9C до 0x64 (от -100 до 100 в десятеричной системе).
  • MODE — параметр, определяющий размер аргумента VALUE. w для двухбайтового значения, b для однобайтового.

Для сброса значения энкодера по соответствующему адресу необходимо записать значение 0x00. После этого, выполнив команду i2cget для того же адреса, будет получено изменение значения энкодера с момента сброса.

Аналоговые порты

Аналоговые сенсоры управляются через I2C шину.

  • JA1 — Порт 1. I2C-адрес порта: 0x25

  • JA2 — Порт 2. I2C-адрес порта: 0x24

  • JA3 — Порт 3. I2C-адрес порта: 0x23

  • JA4 — Порт 4. I2C-адрес порта: 0x22

  • JA5 — Порт 5. I2C-адрес порта: 0x21

  • JA6 — Порт 6. I2C-адрес порта: 0x20

      Пример запроса значения сенсора с порта JA1: i2cget -y 2 0x48 0x25
    

Цифровые сенсоры

  • JD1 — Файл /sys/devices/platform/da850_trik/sensor_d1
  • JD2 — Файл /sys/devices/platform/da850_trik/sensor_d2

Диапазон возвращаемых значений от 30000 до 350000.

LED

  • Зеленый — /sys/class/leds/led_green/brightness
  • Красный — /sys/class/leds/led_red/brightness

Значение 0 означает выключенный LED, 1 — включенный.

Кнопки

Для обработки кнопок используется файл /dev/input/event0, из него возвращается два значения — код кнопки и значение.

Акселерометр

Акселерометру соответствует /dev/input/event1, и из него возвращается три проекции вектора g на оси x, y и z. Диапазон значений от -32767 до 32767.

Гироскоп

Гироскоп — /dev/input/event2, возвращает проекции угловой скорости. Диапазон значений от -32767 до 32767.

Для платы версии 5: