Телеметрия (часть 1)
>Существует ли техническая возможность добавить в smalltim’овскую телеметрию поддержку отображения качества сигнала с этих приемников?
У Atmega8 один USART интерфейс, который уже занят: на нем висит GPS.
Теоретически, поскольку GPS отстреливается гораздо реже, чем DataPort, можно в паузах между пачками приходящими с GPS переконфигурировать USART на 115200/8/N/1 и читать что приходит от DataPort, но для этого надо сделать много разных вещей:
- Перед приемом данных с DataPort удостовериться, что в ближайшие 1.36мсек не будет данных с GPS
- смириться с пропуском большей части приходящих пачек с DataPort
- Ввести проверку контрольной суммы в код парсинга GPS строк
- Убедиться, что опрос DataPort попадает в “окно” кадра на экране, свободное от отрисовки
- Развязать (диодами?) выход GPS и выход DataPort.
То есть, в проинципе, оно возможно, но очень-очень геморройно.
С автопилотом - просто, как мычание: у телеметрии один USART, у автопилота еще USART, творим что хотим.
Ну я и говорю - проще надо решать этот вопрос ! См. пост 1923
Записал на С замечательный компактный и шустрый целочисленный алгоритм CORDIC, считающий за 16 оборотов цикла, в котором только сложения и сдвиги (как корень из 32-битного целого числа, см. исходники) арктангенс и заодно совершенно бесплатно, как побочный продукт, расстояние от самолета до базы.
Скормил ему 10000 случайных наборов координат, соответствующих удалению от 0 до 60 км в случайном направлении.
Получил по набору из 10000 опытов:
- максимальную ошибку определения азимута - 0.11 градусов,
- максимальную ошибку определения расстояния до базы в абсолютном значении - 22.55м
- максимальную ошибку определения расстояния до базы в процентах от величины расстояния - 0.56%.
CORDIC крут!
Теперь переложить на ассемблер - и готов новый алгоритм определения и отображения позиции базы.
А сложно дописать инициализацию нужной скорости и 5Гц режима для GPS LS20033?
А еще проще программкой
MiniGPS_1.32.rar
Все очень наглядно.
Не нужно вводить длинные команды
Или вопрос был о том, будет ли или что нужно дописать, чтоб телеметрия с 5 гц работала?
Или вопрос был о том, будет ли или что нужно дописать, чтоб телеметрия с 5 гц работала?
Да, вопрос о работе 5Гц модуля (LS…) с телеметрией Тимофея. Может можно дописать нужные команды для модуля на этапе инициализации телеметрии, если это не сложно? Привлекает обновление информации 5 раз в сек
Я планирую в прошивке автоматическое определение модуля, EM406A это или LS20031, и если это LS, я его пинками автоматически перевожу на 5 Гц.
Убрал одну ошибочку в cordic’e, получил максимальную ошибку определения угла - 0.1 град, расстояния - 2м.
Убрал одну ошибочку в cordic’e, получил максимальную ошибку определения угла - 0.1 град, расстояния - 2м.
А алгоритм на всеобщее обозрение 😉 ?
Убрал одну ошибочку в cordic’e, получил максимальную ошибку определения угла - 0.1 град, расстояния - 2м.
“Вот придет Михалыч и завалит медведя !
-Угу, если медведь Михалыча уже не завалил !”
(с) “Особенности национальной охоты”
Как бы самик не завалить !😉
При использовании Футабовского приёмника PCM1024 качество принимаемого сигнала не отображается (ебстественно). И потому при последней прошивке телеметрии отключить.включить отображении данных не получается. Во время полёта постоянное мелькание цифир и пр. данных не всегда и нужно.
По совету бывалых поставил килл-свитч на отдельный канал идущий с телеметрии на камеру. По идее телеметрия должна работать “в фоновом режиме”. Но увы - при подкл телеметрии к камере только отображения напряжения на банках, остальное полный хаос. Таймер продолжает показывать с момента отключения, иногда снова инициализация GPS, а иногда и вовсе нет никакой информации. Короче можно улететь и не прилететь.
Что народ посоветует ?
>При использовании Футабовского приёмника PCM1024 качество принимаемого сигнала не отображается (ебстественно). И потому при последней прошивке телеметрии отключить.включить отображении данных не получается. Во время полёта постоянное мелькание цифир и пр. данных не всегда и нужно.
Я посмотрел Ваше видео, странно, что плата вообще не видит приемника - на экране вообще нет “палок”, показывающих качество приема. Такое может быть только если плата вообще не видит PPM на выходе приемника. Или там выходит что-то непохожее на PPM, или слишком низкий уровень лог. единицы на выходе . Гуру, владеющие PCM1024 приемниками, что скажете?
>Но увы - при подкл телеметрии к камере только отображения напряжения на банках, остальное полный хаос
Может быть, с Вашей схемой подключения киллсвича телеметрия ресетится?
>Таймер продолжает показывать с момента отключения
Это ожидаемый результат, пока видеосигнала на входе нет, плата “спит” и никакие таймеры не тикают.
>иногда снова инициализация GPS
Это - точно результат ресета платы в полете.
Какая у Вас схема подключения киллсвича для отключения телеметрии от видеосигнала? Думаю, что-то очень жестокое.
Есть обходной вариант: для таких особо тяжелых случаев я могу ввести опрос оставшегося свободного канала АЦП и по изменению его состояния переключать режимы вывода на экран.
Апдейт: добыл некоторое количество глобалсатовских модулей GPS.😎
Кому надо или кто ждет - пишите в личку.
Какая у Вас схема подключения киллсвича для отключения телеметрии от видеосигнала? Думаю, что-то очень жестокое.
Есть контакт, нет контакт. Обычный килл-свитч как реле. 😃
Есть обходной вариант: для таких особо тяжелых случаев я могу ввести опрос оставшегося свободного канала АЦП и по изменению его состояния переключать режимы вывода на экран.
Было бы здорово !
футабы нет - но ппм на выходе приемника должен быть такой же… А возможность чисто для тестов взять обычный приемник ( чтобы убедится что дело в нем ) есть?
Этот вопрос адресован FVA или мне? 😃
>При использовании Футабовского приёмника PCM1024 качество принимаемого сигнала не отображается (ебстественно). И потому при последней прошивке телеметрии отключить.включить отображении данных не получается. Во время полёта постоянное мелькание цифир и пр. данных не всегда и нужно.
Я посмотрел Ваше видео, странно, что плата вообще не видит приемника - на экране вообще нет “палок”, показывающих качество приема. Такое может быть только если плата вообще не видит PPM на выходе приемника. Или там выходит что-то непохожее на PPM, или слишком низкий уровень лог. единицы на выходе . Гуру, владеющие PCM1024 приемниками, что скажете?
У меня есть такой-же приемник, и его сигнал точно также не видит телеметрия (других проблем при этом нет). В бумажке на приемник написано примечание, что уровнь выходного сигнала может быть 2.7 В (очевидно внутренняя логика на 3.3 В) и это может вызвать трудности при работе с некоторыми видами серв.
Какая логика на входе Меги: ТТЛ или КМОП? В последенм случае - ситуация объяснима: порог 2.5 В плюс отклонение питания плюс падение на элементах и лог 1-ца детектится нестабильно.
С другими приемниками, в том числе Футабовскими ничего подобного не наблюдал.
По даташиту Меги8 гарантированной единицей считается 0.6 Vcc на входе, так что запросто может не хватать.
Ок, спасибо, коллеги.
Думается мне, резисторный мост, подтягивающий уровень повыше, может сработать.
Т.е.,скажем, 10кОм с выхода приемника на точку А, 20кОм с +5В на точку А, и вход телеметрии - на точку А.
Ну, или можно заделать по всем правилам повторитель на одном транзисторе. Или даже опторазвязку. В общем, чтобы лог. 0 был близок к нулю, а лог 1 была минимум в районе 3 В или выше.
Если позволите, я это на потом отложу, ибо это мне надо учиться, искать схемы и т.д., а новая прошивка с красивыми шкалами уже готова, надо только один глюк выловить. Вот им и займусь.
Я наверное неудачник 😃
Взял телеметрию Тимофея, все распаял, заизолировал, скомпоновал в фюзеляже изика. Подключил все к одной батарее 2100 мАч.
Передатчик со сложеной антенной лежит в метре от самолета. Включаю ходовую часть, все хорошо, сервы молчат. Включаю видео-часть, ничего не меняется. Подключаю телеметрию и не верю своему горю - начинается “нервная дрожь” серв 😃😃 Точно такая же, как и на моей самопальной плате.
Ну думаю, блин, не может такого быть, ведь теперь плата точно такая же, как и у других людей, которые летают нормально. Надоело, зарядил два аккумулятора и вышел в поле, проверить как оно будет в реальных условиях.
В реальных условиях чуда не произошло, самолет приходится удерживать в воздухе “насильно”, т.к. его постоянно трясет помехами влево-вправо вверх-вниз, как на близких расстояниях, так и на дальних.
Решил идти до конца и проверить максимальное удаление, на котором пропадет управление. Первый тест проходил на высоте 500 метров - через помехи смог отогнать самолет на 1600 метров от себя, там начались провалы посерьезнее, вернул обратно. Благо, видео-канал на таком расстоянии никаких признаков возникновения помех не подавал.
Поменял батарею и, расстроенный фактом помех, сделал глупость - полетел по тому же маршруту на высоте 140 метров. На удалении 1400 метров начал поворачивать обратно, на развороте словил сильную помеху, потерял еще 10 метров высоты, начал ловить еще больше помех (теперь еще и по видео-каналу)… через пару секунд самолет уже не управлялся и от видео остались лишь редкие помехи… еще через пару секунд не осталось и помех.
Кстати, обратите внимание, появился какой-то глюк с запоминанием начальной высоты по GPS. После старта вылезает то -300 метров, то -500. Причем стабильно повторяется этот фокус с минусом.