Телеметрия (часть 1)

daring

У топовых Spektrum/JR приемников имеется Data port, в который во время полета они отдают информацию о текущем качестве приема сигнала. Вот здесь: www.rcgroups.com/forums/showpost.php?p=9853072&pos… есть краткое описание протокола. Существует ли техническая возможность добавить в smalltim’овскую телеметрию поддержку отображения качества сигнала с этих приемников?

slides
daring:

У топовых Spektrum/JR приемников имеется Data port, в который во время полета они отдают информацию о текущем качестве приема сигнала. Вот здесь: www.rcgroups.com/forums/showpost.php?p=9853072&pos… есть краткое описание протокола. Существует ли техническая возможность добавить в smalltim’овскую телеметрию поддержку отображения качества сигнала с этих приемников?

Мы это обсуждали. Ну подумайте, у кого эти приемники ? В моей коллекции только один ! А у других ? Потом, сигнал раскодирован ? По-моему надо сделать так, чтобы активация схемы происходила на первом канале - стик газа (файл сейф единственный канал на семерке) в “0”.
Делаем так:

  1. биндим приемник, когда стик в нулевом значении.
  2. Далее в меню передатчика программируем нижнюю точку не “-100%”, а положим “-95%”.
  3. Калибруем рабочий диапазон газа регуля с данными настройками, то есть для регуля “выключено” будет не -100 на передатчике, а -95%, что будет считаться нулем.
  4. Как только телеметрия поймает забинденный истинный ноль - это потеря сигнала (мотор уже выключился), тут же включается автопилот.

Так что Тим, прошивочку мути, чтобы с канала газа показания считывало !😝

smalltim

>Существует ли техническая возможность добавить в smalltim’овскую телеметрию поддержку отображения качества сигнала с этих приемников?
У Atmega8 один USART интерфейс, который уже занят: на нем висит GPS.
Теоретически, поскольку GPS отстреливается гораздо реже, чем DataPort, можно в паузах между пачками приходящими с GPS переконфигурировать USART на 115200/8/N/1 и читать что приходит от DataPort, но для этого надо сделать много разных вещей:

  1. Перед приемом данных с DataPort удостовериться, что в ближайшие 1.36мсек не будет данных с GPS
  2. смириться с пропуском большей части приходящих пачек с DataPort
  3. Ввести проверку контрольной суммы в код парсинга GPS строк
  4. Убедиться, что опрос DataPort попадает в “окно” кадра на экране, свободное от отрисовки
  5. Развязать (диодами?) выход GPS и выход DataPort.

То есть, в проинципе, оно возможно, но очень-очень геморройно.
С автопилотом - просто, как мычание: у телеметрии один USART, у автопилота еще USART, творим что хотим.

slides

Ну я и говорю - проще надо решать этот вопрос ! См. пост 1923

smalltim

Записал на С замечательный компактный и шустрый целочисленный алгоритм CORDIC, считающий за 16 оборотов цикла, в котором только сложения и сдвиги (как корень из 32-битного целого числа, см. исходники) арктангенс и заодно совершенно бесплатно, как побочный продукт, расстояние от самолета до базы.
Скормил ему 10000 случайных наборов координат, соответствующих удалению от 0 до 60 км в случайном направлении.
Получил по набору из 10000 опытов:

  • максимальную ошибку определения азимута - 0.11 градусов,
  • максимальную ошибку определения расстояния до базы в абсолютном значении - 22.55м
  • максимальную ошибку определения расстояния до базы в процентах от величины расстояния - 0.56%.

CORDIC крут!
Теперь переложить на ассемблер - и готов новый алгоритм определения и отображения позиции базы.

ReGet

А сложно дописать инициализацию нужной скорости и 5Гц режима для GPS LS20033?

Панкратов_Сергей

А еще проще программкой

MiniGPS_1.32.rar
Все очень наглядно.
Не нужно вводить длинные команды

Или вопрос был о том, будет ли или что нужно дописать, чтоб телеметрия с 5 гц работала?

ReGet
Панкратов_Сергей:

Или вопрос был о том, будет ли или что нужно дописать, чтоб телеметрия с 5 гц работала?

Да, вопрос о работе 5Гц модуля (LS…) с телеметрией Тимофея. Может можно дописать нужные команды для модуля на этапе инициализации телеметрии, если это не сложно? Привлекает обновление информации 5 раз в сек

smalltim

Я планирую в прошивке автоматическое определение модуля, EM406A это или LS20031, и если это LS, я его пинками автоматически перевожу на 5 Гц.

smalltim

Убрал одну ошибочку в cordic’e, получил максимальную ошибку определения угла - 0.1 град, расстояния - 2м.

maloii
smalltim:

Убрал одну ошибочку в cordic’e, получил максимальную ошибку определения угла - 0.1 град, расстояния - 2м.

А алгоритм на всеобщее обозрение 😉 ?

slides
smalltim:

Убрал одну ошибочку в cordic’e, получил максимальную ошибку определения угла - 0.1 град, расстояния - 2м.

“Вот придет Михалыч и завалит медведя !
-Угу, если медведь Михалыча уже не завалил !”

(с) “Особенности национальной охоты”

Как бы самик не завалить !😉

FVA

При использовании Футабовского приёмника PCM1024 качество принимаемого сигнала не отображается (ебстественно). И потому при последней прошивке телеметрии отключить.включить отображении данных не получается. Во время полёта постоянное мелькание цифир и пр. данных не всегда и нужно.
По совету бывалых поставил килл-свитч на отдельный канал идущий с телеметрии на камеру. По идее телеметрия должна работать “в фоновом режиме”. Но увы - при подкл телеметрии к камере только отображения напряжения на банках, остальное полный хаос. Таймер продолжает показывать с момента отключения, иногда снова инициализация GPS, а иногда и вовсе нет никакой информации. Короче можно улететь и не прилететь.
Что народ посоветует ?

smalltim

>При использовании Футабовского приёмника PCM1024 качество принимаемого сигнала не отображается (ебстественно). И потому при последней прошивке телеметрии отключить.включить отображении данных не получается. Во время полёта постоянное мелькание цифир и пр. данных не всегда и нужно.

Я посмотрел Ваше видео, странно, что плата вообще не видит приемника - на экране вообще нет “палок”, показывающих качество приема. Такое может быть только если плата вообще не видит PPM на выходе приемника. Или там выходит что-то непохожее на PPM, или слишком низкий уровень лог. единицы на выходе . Гуру, владеющие PCM1024 приемниками, что скажете?

>Но увы - при подкл телеметрии к камере только отображения напряжения на банках, остальное полный хаос

Может быть, с Вашей схемой подключения киллсвича телеметрия ресетится?

>Таймер продолжает показывать с момента отключения

Это ожидаемый результат, пока видеосигнала на входе нет, плата “спит” и никакие таймеры не тикают.

>иногда снова инициализация GPS

Это - точно результат ресета платы в полете.

Какая у Вас схема подключения киллсвича для отключения телеметрии от видеосигнала? Думаю, что-то очень жестокое.

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

Апдейт: добыл некоторое количество глобалсатовских модулей GPS.😎
Кому надо или кто ждет - пишите в личку.

FVA

Какая у Вас схема подключения киллсвича для отключения телеметрии от видеосигнала? Думаю, что-то очень жестокое.
Есть контакт, нет контакт. Обычный килл-свитч как реле. 😃

Есть обходной вариант: для таких особо тяжелых случаев я могу ввести опрос оставшегося свободного канала АЦП и по изменению его состояния переключать режимы вывода на экран.
Было бы здорово !

SGordon

футабы нет - но ппм на выходе приемника должен быть такой же… А возможность чисто для тестов взять обычный приемник ( чтобы убедится что дело в нем ) есть?

smalltim

Этот вопрос адресован FVA или мне? 😃

baychi
smalltim:

>При использовании Футабовского приёмника PCM1024 качество принимаемого сигнала не отображается (ебстественно). И потому при последней прошивке телеметрии отключить.включить отображении данных не получается. Во время полёта постоянное мелькание цифир и пр. данных не всегда и нужно.

Я посмотрел Ваше видео, странно, что плата вообще не видит приемника - на экране вообще нет “палок”, показывающих качество приема. Такое может быть только если плата вообще не видит PPM на выходе приемника. Или там выходит что-то непохожее на PPM, или слишком низкий уровень лог. единицы на выходе . Гуру, владеющие PCM1024 приемниками, что скажете?

У меня есть такой-же приемник, и его сигнал точно также не видит телеметрия (других проблем при этом нет). В бумажке на приемник написано примечание, что уровнь выходного сигнала может быть 2.7 В (очевидно внутренняя логика на 3.3 В) и это может вызвать трудности при работе с некоторыми видами серв.
Какая логика на входе Меги: ТТЛ или КМОП? В последенм случае - ситуация объяснима: порог 2.5 В плюс отклонение питания плюс падение на элементах и лог 1-ца детектится нестабильно.

С другими приемниками, в том числе Футабовскими ничего подобного не наблюдал.

PigTail

По даташиту Меги8 гарантированной единицей считается 0.6 Vcc на входе, так что запросто может не хватать.