Телеметрия (часть 1)
Учу OSD управлять GPS модулем и возник вопрос. Как получить обратную связь от GPS. Выжидаю секунду на всякий случай, делаю команду $PMTK251,38400*27 и с этого момента непонятно, принялась она или нет, как понять что можно переводить UART на новую скорость?
А в нврам записать новоую скорость можно? И подробности про отличия модулей с эфо от NGhobby ?
Как и обещал, представляю тестовый пробег новой прошивочки для телеметрии:
Теперь всё как у людей.
-
Шкалы.
Слева - скорость, справа - высота. Шаг делений шкал 50 км/ч и 50м, маленькие - по 25. Это оптимально с точки зрения отображения: изменение скорости-высоты на 1м уже дает сдвиг шкалы, и при этом она не прыгает слишком уж резко, когда делаешь 10м/деление.
Пока нет у меня ни одного живого модуля GPS, сдвиг шкал я привязал к показаниям бародатчиков (под шкалами). А вообще-то шкалы привязываются к показаниям скорости и высоты по GPS (сейчас - нули со стрелочками), а показания бародатчиков просто для справки выведены ниже -
Лента компаса. Ну, с этим всё понятно. Вертится в соответствии с текущим курсом по GPS. Пока я сижу без GPS, кручу ленту просто так 😃
-
Иконка базы. На картинке ее по понятным причинам нет, но она будет вертеться по кругу, вписанному между шкалой компаса и строкой расстояния до базы. Вертеться будет теперь по-правильному: если она стоит от вертикали на 30 градусов влево, то надо повернуть самик налево на 30 градусов, чтоб лететь к базе.
-
Координаты с GPS в строковом виде выводятся под инфой о количестве спутников (*00,na)
-
Клёвый LEGO-мотоцикл. В комплект телеметрии не входит 😃
Готовую прошивку выложу как только заполучу в руки GPS и обкатаю в деле. Следующая после этой версия будет с тенями под буквами (без необходимости в переделке платы телеметрии)
Коллеги, а можно использовать LS20030 с питанием 4,75 В ÷ 5,25 В что бы не вешать ничего на провода?
USB интерфейс в LS20030 на выходе не заметили?
Ага, понял
О ! Мотоцикл-лего рулит ! Представляю прикол - летим эдак метрах в 500 над землей - а тут мотоцикл !
Как и обещал, представляю тестовый пробег новой прошивочки для телеметрии:
прошивка знатная😁😁☕ любо-дорого глянуть
Кстати Господа знатоки!!
Вопрос на засыпку!
Недавно приобрёл трекер TrackR2, штуковина надо сказать на вид дельная, но на практике оказалось совсем наоборот:)😃, исходя из этого родился вопрос - может ктото имел дело с даным устройством, или просто сможет подсказать:
-
- при подключении к апе ДЖИАР 9 даный модуль вырубает реакцию машинок на перемещение джойстика(при включеном питании, при просмотре выхода с трекера наблюдается сигнал, но подмешивания его к выходу передатчика не происходит, и на джойстик нет реакции)
-2. при подключени к апе Футаба 6 каналов 2.4 ГГц (на 5-й и 6-й канал) слышно нулевые щелчки с трекера(функция самого теркера для удобства определения центрального положения) реакция на переключение тумблеров сохраняется , а вот на повороты трекера машинки в итоге не реагируют продолжая оставатся в крайнем положении соответственно положению тумблеров на передатчике.
Плюс ко всему в руководсте к трекеру обозначено что тренерский комплект (имеется возможность подключать комплект ученика через трекер)должен бить 7-ми канальным и выше, а комплект ученика - 4-е канала и выше.
Вобщем вот такая проблемка, а посему - - - ПОМОГИТЕ ЛЮДИ ДОБРЫЕ - - - 😃😃😃😃☕
- при подключении к апе ДЖИАР 9 даный модуль вырубает реакцию машинок на перемещение джойстика(при включеном питании, при просмотре выхода с трекера наблюдается сигнал, но подмешивания его к выходу передатчика не происходит, и на джойстик нет реакции)
Настройте ЖР-ку (“отдайте” ученику только два канала- киль и газ), и перепаяйте местами стик газа и 1 из слайдеров (это необязательно, достаточно газ перенести на слайдер).
Как и обещал, представляю тестовый пробег новой прошивочки для телеметрии:
Готовую прошивку выложу как только заполучу в руки GPS и обкатаю в деле. Следующая после этой версия будет с тенями под буквами (без необходимости в переделке платы телеметрии)
Могу предоставить во временное пользование GPS модуль, до полетов пока рано, всёравно лежит без дела, а на благое дело пригодится!
Как и обещал, представляю тестовый пробег новой прошивочки для телеметрии:
Отличный вариант отображения информации! 😍
Тимофей, дайте ответ в ЛС, пожалуйста. Мы жаждим вкусить плоды вашей работы 😒
Уже ответил.
С теньками какая-то жопа получается. Можно легко сделать квадратиками по размерам знакоместа, но это некрасиво. Была идея сделать теньки инверсией и сдвигом битовой матрицы вниз и вправо на 1 “пиксел” (этакие “выпуклые” буквы получаются), но я тогда по клокам не влезаю - буквы расползаются в ширину.
Можно задействовать вместо усложнения цикла вывода просто параллельный вывод через SPI, но его очень хочется иметь свободным для общения с платой телеметрии, да и представьте что случится когда автопилоту вздумается залить очередную запись лога во внешнюю память, а тут параллельно вылезает плата телеметрии со своим выводом на экран через SPI.
Сейчас у меня уходит по 4 клока на “пиксел”. Это грубо говоря 2 NOPа, LSR и OUT. В исходниках всё видно.
Для кучерявых теней надо сделать 2 LSR и 2 OUT. Вроде укладываемся.
Но при этом еще раз в 6 “пикселов” (а буквы у меня такой ширины) надо читать 2 битовые маски новой буквы. Сейчас это укладывается между NOPами, но с двумя выводами одновременно не уложится.
Вот и думаю, как и рыбку съесть, и .хм… остальное сделать.
>Могу предоставить во временное пользование GPS модуль, до полетов пока рано, всёравно лежит без дела, а на благое дело пригодится!
Вахтанг, спасибо, уже нежданно-негаданно помогли. Коллега подъехал обновить прошивку телеметрии и поменяться на плату с бародатчиками, и прознав про такое дело решил оставить телеметрию заодно с GPS модулем на недельку 😉
Еще пару вопросов:
- Почему при подключенном ПСМ приемнике, телеметрия отображает антенку, но не отображает не одного деления сигнала?, ведь по идее наоборот, даже при помехах должно на ПСМ приемнике показывать полную шкалу сигнала. Кто нибудь пробывал ПСМ приемник подключить к телеметрии?
- У меня, если телеметрию включать (подавать питание) одновременно с видеопередатчиком, то видеоизображение становится черным, практически не видно картинку, а буквы телеметрии остаются нормального белого цвета. Если подключать телеметрию раньше - то же самое. Если телеметрию включать позже, все в порядке и картинка нормальная, и буквы белые. Это нормально? Просто приходится из за этого отдельный выключатель на телеметрию ставить 😦 Может это как нибудь лечиться?
DIM81, у меня не было сроду PCM-приемников, но я твердо знаю, что на выходе должен быть обычный рабочекрестьянский PPM. Надеялся, коллеги, владеющие темой, помогут, но почему-то тишина.
По поводу яркости видео: телеметрия из-за белизны буковок чуть-чуть повышает общий уровень белого в кадре, поэтому обычно на какую-то маленькую долю срабатывает автоматический баланс яркости в камере-передатчике, и картинка в целом становится чуть темнее. У Вас, похоже, особо привередливая связка камера - передатчик. Посмотрите, как почерневший экран поведет себя, если камеру на яркий свет и потом в темноту направить?
Еще пару вопросов:
- У меня, если телеметрию включать (подавать питание) одновременно с видеопередатчиком, то видеоизображение становится черным, практически не видно картинку, а буквы телеметрии остаются нормального белого цвета.
- А чем у Вы видео просматриваете?, у меня такая ерунда была на “плазме”, когда она пыталась скомпенсировать слишком яркие буквы.
Сейчас у меня уходит по 4 клока на “пиксел” <>думаю, как и рыбку съесть, и …
20 МГц кварец должен дать 5 клоков на пиксель. По слухам, меги гоняццо неплохо. На счет 24 МГц и 6 клоков на пиксель - тут уже я сумлеваюсь в работоспособности, хотя лично мне было бы не жаль меги для теста.
При стабильном 5 вольт питании самым капризным элементом будет сам кварец на мой взгляд. Реально обойти заменой квареца на внешний генератор - 4 вывода вместо 2 - тогда уж точно тактовый генератор не будет капризничать, но габариты у генератора слегка поболее.
С теньками какая-то жопа получается. Можно легко сделать квадратиками по размерам знакоместа, но это некрасиво. Была идея сделать теньки инверсией и сдвигом битовой матрицы вниз и вправо на 1 “пиксел” (этакие “выпуклые” буквы получаются), но я тогда по клокам не влезаю - буквы расползаются в ширину.
Не заморачивайтесь с этим делом.
Я когда-то давно делал версию с “аппаратными” тенями (когда сигнал на пуллдаун формируется простенькой схемкой по фронту и спаду выхода “титров”).
На черно-белой картинке это, конечно, выглядит шикарно, но как только подключаем цветную камеру, то все переходы белого/серого начинают “звенеть” разноцветными ореолами… 😦 Различимость букв на фоне неба при этом, разумеется, растет, но вот на всем остальном экране эта ерунда лупит по по глазам так, что уже через минуту ее хочется отключить совсем.
В общем, чтобы это делать корректно для цветного изображения, надо точно фазу считать, а вот на это ресурсов 88 не хватает с гарантией.
Тим ! Респект за “недельку” ! Не спеши, заберу готовый вариант с автопилотом, так что лучше даже облетать несколько раз.
По поводу теней - я конечно не спец по разработке телеметрий и изготовлению сверхлегких ЛА (😉), но может действительно не заморачиваться, а сделать квадратики под буквами. Не постоянно, а отключаемо (автоматически, думай как, может оценивать общий фон ???, а еще лучше - вручную, “рывками” переключателя на пульте…).
У топовых Spektrum/JR приемников имеется Data port, в который во время полета они отдают информацию о текущем качестве приема сигнала. Вот здесь: www.rcgroups.com/forums/showpost.php?p=9853072&pos… есть краткое описание протокола. Существует ли техническая возможность добавить в smalltim’овскую телеметрию поддержку отображения качества сигнала с этих приемников?
У топовых Spektrum/JR приемников имеется Data port, в который во время полета они отдают информацию о текущем качестве приема сигнала. Вот здесь: www.rcgroups.com/forums/showpost.php?p=9853072&pos… есть краткое описание протокола. Существует ли техническая возможность добавить в smalltim’овскую телеметрию поддержку отображения качества сигнала с этих приемников?
Мы это обсуждали. Ну подумайте, у кого эти приемники ? В моей коллекции только один ! А у других ? Потом, сигнал раскодирован ? По-моему надо сделать так, чтобы активация схемы происходила на первом канале - стик газа (файл сейф единственный канал на семерке) в “0”.
Делаем так:
- биндим приемник, когда стик в нулевом значении.
- Далее в меню передатчика программируем нижнюю точку не “-100%”, а положим “-95%”.
- Калибруем рабочий диапазон газа регуля с данными настройками, то есть для регуля “выключено” будет не -100 на передатчике, а -95%, что будет считаться нулем.
- Как только телеметрия поймает забинденный истинный ноль - это потеря сигнала (мотор уже выключился), тут же включается автопилот.
Так что Тим, прошивочку мути, чтобы с канала газа показания считывало !😝
>Существует ли техническая возможность добавить в 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 крут!
Теперь переложить на ассемблер - и готов новый алгоритм определения и отображения позиции базы.