Четверг, 24.08.2017, 09:51
RC - Мастерская
Главная | Каталог статей | Регистрация | Вход
Меню
Статистика
Главная » Статьи » Инструкции » Радиоуправление

Телеметрия FrSky

Телеметрия FrSky

Компоненты телеметрии можно приобрести на Паркфлаере

Порт телеметрии Frsky представляет собой обычный порт стандарта RS232. Т.е. это обычный последовательный порт. В любом микроконтроллере Atmel серии Mega есть как минимум один порт UART, который можно использовать для работы с потоком данных телеметрии. Однако есть одно «НО». Это разница уровней. RS232 предусматривает уровни сигналов от-15В до +15В, а UART работает с уровнями TTL (0 - +5В). Прямое подключение RS232 к UART микроконтроллера гарантировано убъет последний.

Сам FrSky предлагает следующую схему преобразования уровней:

Но надо учитывать, что данная схема односторонняя. Она позволит читать из RS232 в UART, но передавать данные обратно не получится. Для чтения телеметрии этого достаточно. Для чего-то большего обычно используют двунаправленные преобразователи на MAX232.

Параметры UART для работы с модулями и приемниками FrSky будут следующими:

Скорость порта – 9600bps, 8бит, без четности, 1 стоп бит.

Надо сказать, что новый SmartPort или S.Port не сильно отличается…

Протокол

Данные передаются фреймами по 11 байт. Каждый фрейм начинается и заканчивается байтом 0x7E. Если возникает необходимость внутри фрейма передать значение 0x7E или 0x7D, оно раскладывается на два байта: 0x7E на 0x7D 0x5E и 0x7D на 0x7D 0x5D. При чтении потока данных в микроконтроллере надо реализовать следующий алгоритм:

Если на вход поступил байт 0x7D, то его надо пропустить. Для получения реального значения необходимо взять следующий байт из потока XOR 0x20.

Второй байт пакета указывает на тип передаваемого значения. Далее следует 3 функциональных (см по типам значений). В конце следует 5 байтов нулей. Завершается пакет байтом 0x7E.

Установка сигнального порога

Кодирующий байт

Пороговое значение

больше/меньше порога

Уровень сигнализации:

0 – нет

1 – желтый

2 – оранжевый

3 - красный

0xFC

A1

1/0

 

0xFB

A1

1/0

 

0xFA

A2

1/0

 

0xF9

A2

1/0

 

Запрос на все доступные пороговые установки

0xF8

0

0

0

 

Вывод значений телеметрии

Сигнализации

Кодирующий байт

Пороговое значение

больше/меньше порога

Уровень сигнализации:

0 – нет

1 – желтый

2 – оранжевый

3 - красный

0xFC

A1

1/0

 

0xFB

A1

1/0

 

0xFA

A2

1/0

 

0xF9

A2

1/0

 

 

Напряжение борта и RSSI

Кодирующий байт

Значение 1

Значение 2

RSSI

0xFE

Порт 1

Порт 2

RSSI

 

Пользовательские данные

Кодирующий байт

Длинна данных

Не используется

Массив данных

0xFD

length

X

Байты 0:5

 

Так же на стороне моделей может быть установлен хаб датчиков. Он передает данные с подключенных к нему датчиков по очень похожему протоколу:

  • Начало/конец передачи, а также разделитель между датчиками – байт 0x5E
  • Если байт внутри пакета должен иметь значение 0x5E, то он заменяется последовательностью из двух байтов 0x5D 0x3E
  • Если байт внутри пакета должен иметь значение 0x5D, то он заменяется последовательностью из двух байтов 0x5D 0x3D
  • При чтении из потока байта 0x5D, его необходимо пропустить, а следующий байт XOR 0x60 даст реальное значение
  • Второй байт пакета – идентификатор датчика
  • Третий байт – младший байт значения датчика
  • Четвертый байт – старший байт значения датчика

Таблица кодирования информации датчиков

Идентификатор датчика

Описание

Единицы измерения

Форма

Размерность и диапазон

*

0x01

GPS высота

метр

Со знаком

 

До точки

0x01+8

Без знака

После точки

0x02

Температура 1

C

Со знаком

1°C / -30~250°C

 

0x03

Обороты

RPM

Без знака

0~60000

 

0x04

Топливо

%

Без знака

0, 25, 50, 75, 100

 

0x05

Температура 2

C

Со знаком

1°C / -30~250°C

 

0x06

Напряжение

В

Без знака

0.01v / 0~4.2v

 

0x10

Высота

метр

Со знаком

0.01m / -500~9000m

До точки

0x21

Без знака

После точки

0x11

GPS cкорость

Knots

Без знака

 

До точки

0x11+8

Без знака

После точки

0x12

Долгота

 

dddmm.mmmm

 

До точки

0x12+8

После точки

0x1A+8

Восток/запад

 

 

 

 

0x13

Широта

 

ddmm.mmmm

 

До точки

0x13+8

После точки

0x1B+8

Север/юг

 

 

 

 

0x14

Курс

градусы

Без знака

0~359.99

До точки

0x14+8

После точки

0x15

Число/месяц

 

 

 

 

0x16

Год

 

 

 

 

0x17

Часы/минуты

 

 

 

 

0x18

секунды

 

 

 

 

0x24

Ускорение X

 

Со знаком

0.016g / -8g ~ +8g

 

0x25

Ускорение Y

 

Со знаком

0.016g / -8g ~ +8g

 

0x26

Ускорение Z

 

Со знаком

0.016g / -8g ~ +8g

 

0x3A

Напряжение (датчик тока)

В

Без знака

0.5v / 0~48.0v

До точки

0x3B

После точки

0x28

Ток

А

Без знака

0.1A / 0~100A

 

 

Категория: Радиоуправление | Добавил: Mactep (09.09.2014)
Просмотров: 2193 | Теги: телеметрия, FrSky | Рейтинг: 5.0/3
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Поиск