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

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 В или выше.

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

ReGet

Я наверное неудачник 😃
Взял телеметрию Тимофея, все распаял, заизолировал, скомпоновал в фюзеляже изика. Подключил все к одной батарее 2100 мАч.
Передатчик со сложеной антенной лежит в метре от самолета. Включаю ходовую часть, все хорошо, сервы молчат. Включаю видео-часть, ничего не меняется. Подключаю телеметрию и не верю своему горю - начинается “нервная дрожь” серв 😃😃 Точно такая же, как и на моей самопальной плате.

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

Решил идти до конца и проверить максимальное удаление, на котором пропадет управление. Первый тест проходил на высоте 500 метров - через помехи смог отогнать самолет на 1600 метров от себя, там начались провалы посерьезнее, вернул обратно. Благо, видео-канал на таком расстоянии никаких признаков возникновения помех не подавал.

Поменял батарею и, расстроенный фактом помех, сделал глупость - полетел по тому же маршруту на высоте 140 метров. На удалении 1400 метров начал поворачивать обратно, на развороте словил сильную помеху, потерял еще 10 метров высоты, начал ловить еще больше помех (теперь еще и по видео-каналу)… через пару секунд самолет уже не управлялся и от видео остались лишь редкие помехи… еще через пару секунд не осталось и помех.

Кстати, обратите внимание, появился какой-то глюк с запоминанием начальной высоты по GPS. После старта вылезает то -300 метров, то -500. Причем стабильно повторяется этот фокус с минусом.

slides

Самолет то хоть нашел ? Вторую батарею на видео ставить придется ИМХО.

А Тим же писал по поводу высоты - надо второй раз запускать телеметрию, тогда все должно обнулиться…

smalltim

Координаты на экране есть, самик должен найтись. За 2 секунды, кувыркаясь в воздухе, не сильно далеко он улетит от последнего известного места. Только лазить там по болотам - ужас.

Глюк с высотой - особенность модуля. Спутники он подхватывает постепенно, и когда их 3, он выводит неадекватную высоту (3D координаты с высотой доступны когда модуль отслеживает 4 и больше спутников). Плата телеметрии, видя данные от ГПС модуля, запоминает эту высоту как начальную. Потом, когда модуль находит 4 и больше спутников, высота на выходе модуля становится адекватной. Разница между такой вот адекватной и запомненной неадекватной высотой может быть большая.

Как лечить? Очень просто. Дождаться, пока плата найдет 5-6-7-8 спутников, и отключить питание с платы телеметрии на секунду. Плата телеметрии сбросится, а модуль после секундной паузы очень быстро найдет все спутники обратно, и в качестве начальной высоты будет запомнена адекватная высота.
Или можно поправить исходники, запрещая запоминать координаты в качестве начальных, если видно меньше 4 спутников.
Я, честно говоря, такое делать не хочу, потому что иногда и с тремя видимыми спутниками полетать хочется.

FVA

To ReGet
Да… У меня было устойчивое мнение что только я один такой ненормальный ! Ну, винт на 2-х метровом самике с трещиной - фигня, не ехать же домой ? Серва на газульке заедает - фигня, не заклинит. Батарея на зажигании на пределе - фигня, хватит если сильно не газовать.

ReGet

Про высоту понял, спасибо.
Еще один вопрос, случайно подключил ppm-сигнал с примника на телеметрию стандартным проводом (земля, питание, сигнал), а в инструкции написано, что провод питания подключать нелья. Телеметрия не показывает шкалу сигнала совсем. Правда до этого я не проверял, может и до этого не показывало. Как бы проверить? Что могло выгореть?

Самолет нашел, спасибо координатам на видео-записи. Было забавно прыгать по бревнам над болотом😁

ReGet
FVA:

To ReGet
Да… У меня было устойчивое мнение что только я один такой ненормальный !

Ухх. Я помню, как я в самом начале было еще круче, не щадил модели совсем. Самодельный бензиныч - после посадки носом вниз моторама сломалась, примотали двигатель проволокой !сбоку! к фюзеляжу. Тяга газа уже, само собой, не подходила - решили не подключать, просто воткнули полный газ и запустили в небо. Вот это было классно 😃 Главное повеселиться, остальное побоку было.
Со временем, после опустошения карманов такими выходками, отношение поменялось )