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

Artie
maloii:

Вчера получил модуль LS20033. Впаял креку в провод и кондер на 47мк танталовый(без кондера не завелся модуль, видно возбуждалась кренка). Резюков никаких не впаивал, все работает замечательн! Хотя перебздеть можно и впоять, но и без него все супер пашит.

2 Панкратов Сергей: Ну, я же говорил… 😁

2 maloii: На самом деле, Сергей прав, и так делать не стоит. - То , что входы приемника выдерживают это издевательство, еще не означает, что нужно и дальше испытывать их “прочность”. Все-таки поставьте ему на вход резисторный делитель 1:2. И выход по-хорошему тоже нужно бы раскачать, но это уже четыре детали 😃, так что если работает стабильно - то и фиг бы с ним…

Ввел его в 5 герц и я вошол к экстаз смотря как он фигачит в терминал 😃. А самое приятное что всего за $33 достался и это в москве. Все в efo, ну этих nghobbies, там он $75 кажись стоит 😃.

А теперь попробуйте записать эту 5-герцовую конфигурацию в nvram (чтобы не нужно было каждый раз инициализировать приемник), - и сразу обнаружите, чем модули с nghobbies отличаются от эфо’шных ! 😉

smalltim

Сильно не пинайте, совета прошу.

Решил перевести математику GPS в телеметрии с беззнаковой целочисленной математики на знаковую математику. Немного вопросов.

Широта и долгота записываются в 32-битных целых, раньше беззнаковых, теперь знаковых, младший бит соответствует 0.0001 минуты (0.18 м).

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

Результат - 4-байтовое число. 4 байта - много, хочу 2 байта, максимальное сохраняемое в них число, 3.2767 минуты, дает 6 км удаления от базы. Дальше телеметрия будет показывать косяки, но и 6 км для наших целей - за глаза.
(можно сохранять не по 0.0001 минуты на бит, а по 0.001 минуты, тогда дальность без косяков вырастет до 60 км, но точность расчетов снизится: 0.001 минуты - это 1.8 метра. Впрочем, сейчас это не принципиально)

Как правильно отбросить старшие 2 байта полученного результата, не потеряв знак и не натворив делов?
Вычесть как обычно, но потом взять первый бит полученного 4-байтового числа (знаковый бит), выкинуть старшие 2 байта и записать этот бит в первый бит оставшегося 2-байтового числа?

Добавление:

А вообще, я, наверное, туплю. Это ж дополнительный код, если при вычитании получается отрицательное число, то все незначащие биты забьются единицами. То есть, никаких лишних телодвижений не надо делать вообще.

maloii

Учу OSD управлять GPS модулем и возник вопрос. Как получить обратную связь от GPS. Выжидаю секунду на всякий случай, делаю команду $PMTK251,38400*27 и с этого момента непонятно, принялась она или нет, как понять что можно переводить UART на новую скорость?

ReGet

Уважаемый smalltim, подскажите, возможно ли в конце следующей недели купить у вас или у вашего доверенного лица КИТ/готовую плату для сборки телеметрии? Буду в Москве, очень хочется телеметрию

smalltim

Готовых плат навалом, но нет модулей ГПС. Зарядил все конторы, которые знаю, ждем доставки. К концу следующей недели вряд ли обернутся…

SGordon
maloii:

Учу OSD управлять GPS модулем и возник вопрос. Как получить обратную связь от GPS. Выжидаю секунду на всякий случай, делаю команду $PMTK251,38400*27 и с этого момента непонятно, принялась она или нет, как понять что можно переводить UART на новую скорость?

А в нврам записать новоую скорость можно? И подробности про отличия модулей с эфо от NGhobby ?

smalltim

Как и обещал, представляю тестовый пробег новой прошивочки для телеметрии:

vimeo.com/4020623

Теперь всё как у людей.

  1. Шкалы.
    Слева - скорость, справа - высота. Шаг делений шкал 50 км/ч и 50м, маленькие - по 25. Это оптимально с точки зрения отображения: изменение скорости-высоты на 1м уже дает сдвиг шкалы, и при этом она не прыгает слишком уж резко, когда делаешь 10м/деление.
    Пока нет у меня ни одного живого модуля GPS, сдвиг шкал я привязал к показаниям бародатчиков (под шкалами). А вообще-то шкалы привязываются к показаниям скорости и высоты по GPS (сейчас - нули со стрелочками), а показания бародатчиков просто для справки выведены ниже

  2. Лента компаса. Ну, с этим всё понятно. Вертится в соответствии с текущим курсом по GPS. Пока я сижу без GPS, кручу ленту просто так 😃

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

  4. Координаты с GPS в строковом виде выводятся под инфой о количестве спутников (*00,na)

  5. Клёвый LEGO-мотоцикл. В комплект телеметрии не входит 😃

Готовую прошивку выложу как только заполучу в руки GPS и обкатаю в деле. Следующая после этой версия будет с тенями под буквами (без необходимости в переделке платы телеметрии)

Сергей_Вертолетов

Коллеги, а можно использовать LS20030 с питанием 4,75 В ÷ 5,25 В что бы не вешать ничего на провода?

PigTail

USB интерфейс в LS20030 на выходе не заметили?

slides

О ! Мотоцикл-лего рулит ! Представляю прикол - летим эдак метрах в 500 над землей - а тут мотоцикл !

vitaliy
smalltim:

Как и обещал, представляю тестовый пробег новой прошивочки для телеметрии:

прошивка знатная😁😁 любо-дорого глянуть

Кстати Господа знатоки!!
Вопрос на засыпку!
Недавно приобрёл трекер TrackR2, штуковина надо сказать на вид дельная, но на практике оказалось совсем наоборот:)😃, исходя из этого родился вопрос - может ктото имел дело с даным устройством, или просто сможет подсказать:

    1. при подключении к апе ДЖИАР 9 даный модуль вырубает реакцию машинок на перемещение джойстика(при включеном питании, при просмотре выхода с трекера наблюдается сигнал, но подмешивания его к выходу передатчика не происходит, и на джойстик нет реакции)
      -2. при подключени к апе Футаба 6 каналов 2.4 ГГц (на 5-й и 6-й канал) слышно нулевые щелчки с трекера(функция самого теркера для удобства определения центрального положения) реакция на переключение тумблеров сохраняется , а вот на повороты трекера машинки в итоге не реагируют продолжая оставатся в крайнем положении соответственно положению тумблеров на передатчике.
      Плюс ко всему в руководсте к трекеру обозначено что тренерский комплект (имеется возможность подключать комплект ученика через трекер)должен бить 7-ми канальным и выше, а комплект ученика - 4-е канала и выше.
      Вобщем вот такая проблемка, а посему - - - ПОМОГИТЕ ЛЮДИ ДОБРЫЕ - - - 😃😃😃😃
deNick

Настройте ЖР-ку (“отдайте” ученику только два канала- киль и газ), и перепаяйте местами стик газа и 1 из слайдеров (это необязательно, достаточно газ перенести на слайдер).

Вахтанг
smalltim:

Как и обещал, представляю тестовый пробег новой прошивочки для телеметрии:

Готовую прошивку выложу как только заполучу в руки GPS и обкатаю в деле. Следующая после этой версия будет с тенями под буквами (без необходимости в переделке платы телеметрии)

Могу предоставить во временное пользование GPS модуль, до полетов пока рано, всёравно лежит без дела, а на благое дело пригодится!

ReGet
smalltim:

Как и обещал, представляю тестовый пробег новой прошивочки для телеметрии:

Отличный вариант отображения информации! 😍

Тимофей, дайте ответ в ЛС, пожалуйста. Мы жаждим вкусить плоды вашей работы 😒

smalltim

Уже ответил.

С теньками какая-то жопа получается. Можно легко сделать квадратиками по размерам знакоместа, но это некрасиво. Была идея сделать теньки инверсией и сдвигом битовой матрицы вниз и вправо на 1 “пиксел” (этакие “выпуклые” буквы получаются), но я тогда по клокам не влезаю - буквы расползаются в ширину.
Можно задействовать вместо усложнения цикла вывода просто параллельный вывод через SPI, но его очень хочется иметь свободным для общения с платой телеметрии, да и представьте что случится когда автопилоту вздумается залить очередную запись лога во внешнюю память, а тут параллельно вылезает плата телеметрии со своим выводом на экран через SPI.

Сейчас у меня уходит по 4 клока на “пиксел”. Это грубо говоря 2 NOPа, LSR и OUT. В исходниках всё видно.
Для кучерявых теней надо сделать 2 LSR и 2 OUT. Вроде укладываемся.
Но при этом еще раз в 6 “пикселов” (а буквы у меня такой ширины) надо читать 2 битовые маски новой буквы. Сейчас это укладывается между NOPами, но с двумя выводами одновременно не уложится.
Вот и думаю, как и рыбку съесть, и .хм… остальное сделать.

smalltim

>Могу предоставить во временное пользование GPS модуль, до полетов пока рано, всёравно лежит без дела, а на благое дело пригодится!

Вахтанг, спасибо, уже нежданно-негаданно помогли. Коллега подъехал обновить прошивку телеметрии и поменяться на плату с бародатчиками, и прознав про такое дело решил оставить телеметрию заодно с GPS модулем на недельку 😉

DIM81:

Еще пару вопросов:

  1. Почему при подключенном ПСМ приемнике, телеметрия отображает антенку, но не отображает не одного деления сигнала?, ведь по идее наоборот, даже при помехах должно на ПСМ приемнике показывать полную шкалу сигнала. Кто нибудь пробывал ПСМ приемник подключить к телеметрии?
  2. У меня, если телеметрию включать (подавать питание) одновременно с видеопередатчиком, то видеоизображение становится черным, практически не видно картинку, а буквы телеметрии остаются нормального белого цвета. Если подключать телеметрию раньше - то же самое. Если телеметрию включать позже, все в порядке и картинка нормальная, и буквы белые. Это нормально? Просто приходится из за этого отдельный выключатель на телеметрию ставить 😦 Может это как нибудь лечиться?

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

По поводу яркости видео: телеметрия из-за белизны буковок чуть-чуть повышает общий уровень белого в кадре, поэтому обычно на какую-то маленькую долю срабатывает автоматический баланс яркости в камере-передатчике, и картинка в целом становится чуть темнее. У Вас, похоже, особо привередливая связка камера - передатчик. Посмотрите, как почерневший экран поведет себя, если камеру на яркий свет и потом в темноту направить?

Expert
DIM81:

Еще пару вопросов:

  1. У меня, если телеметрию включать (подавать питание) одновременно с видеопередатчиком, то видеоизображение становится черным, практически не видно картинку, а буквы телеметрии остаются нормального белого цвета.
  1. А чем у Вы видео просматриваете?, у меня такая ерунда была на “плазме”, когда она пыталась скомпенсировать слишком яркие буквы.
Psw
smalltim:

Сейчас у меня уходит по 4 клока на “пиксел” <>думаю, как и рыбку съесть, и …

20 МГц кварец должен дать 5 клоков на пиксель. По слухам, меги гоняццо неплохо. На счет 24 МГц и 6 клоков на пиксель - тут уже я сумлеваюсь в работоспособности, хотя лично мне было бы не жаль меги для теста.
При стабильном 5 вольт питании самым капризным элементом будет сам кварец на мой взгляд. Реально обойти заменой квареца на внешний генератор - 4 вывода вместо 2 - тогда уж точно тактовый генератор не будет капризничать, но габариты у генератора слегка поболее.

Artie
smalltim:

С теньками какая-то жопа получается. Можно легко сделать квадратиками по размерам знакоместа, но это некрасиво. Была идея сделать теньки инверсией и сдвигом битовой матрицы вниз и вправо на 1 “пиксел” (этакие “выпуклые” буквы получаются), но я тогда по клокам не влезаю - буквы расползаются в ширину.

Не заморачивайтесь с этим делом.

Я когда-то давно делал версию с “аппаратными” тенями (когда сигнал на пуллдаун формируется простенькой схемкой по фронту и спаду выхода “титров”).
На черно-белой картинке это, конечно, выглядит шикарно, но как только подключаем цветную камеру, то все переходы белого/серого начинают “звенеть” разноцветными ореолами… 😦 Различимость букв на фоне неба при этом, разумеется, растет, но вот на всем остальном экране эта ерунда лупит по по глазам так, что уже через минуту ее хочется отключить совсем.
В общем, чтобы это делать корректно для цветного изображения, надо точно фазу считать, а вот на это ресурсов 88 не хватает с гарантией.

slides

Тим ! Респект за “недельку” ! Не спеши, заберу готовый вариант с автопилотом, так что лучше даже облетать несколько раз.

По поводу теней - я конечно не спец по разработке телеметрий и изготовлению сверхлегких ЛА (😉), но может действительно не заморачиваться, а сделать квадратики под буквами. Не постоянно, а отключаемо (автоматически, думай как, может оценивать общий фон ???, а еще лучше - вручную, “рывками” переключателя на пульте…).

daring

У топовых Spektrum/JR приемников имеется Data port, в который во время полета они отдают информацию о текущем качестве приема сигнала. Вот здесь: www.rcgroups.com/forums/showpost.php?p=9853072&pos… есть краткое описание протокола. Существует ли техническая возможность добавить в smalltim’овскую телеметрию поддержку отображения качества сигнала с этих приемников?

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