Телеметрия (часть 1)
С теньками какая-то жопа получается. Можно легко сделать квадратиками по размерам знакоместа, но это некрасиво. Была идея сделать теньки инверсией и сдвигом битовой матрицы вниз и вправо на 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 крут!
Теперь переложить на ассемблер - и готов новый алгоритм определения и отображения позиции базы.
А сложно дописать инициализацию нужной скорости и 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 или мне? 😃