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

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 на входе, так что запросто может не хватать.

smalltim

Ок, спасибо, коллеги.
Думается мне, резисторный мост, подтягивающий уровень повыше, может сработать.
Т.е.,скажем, 10кОм с выхода приемника на точку А, 20кОм с +5В на точку А, и вход телеметрии - на точку А.

Ну, или можно заделать по всем правилам повторитель на одном транзисторе. Или даже опторазвязку. В общем, чтобы лог. 0 был близок к нулю, а лог 1 была минимум в районе 3 В или выше.

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