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

smalltim

Огромное спасибо за помощь!

>и по координатам последним (если отрубился борт) или текущим

Да, надо выводить, надо только найти хорошее место. Проблема в том, что при переключении в крупный шрифт места на экране остается не так уж много. Буду подумать 😃

>высота - непонятно у меня был перепад со 101 до 89 - непоказало всевремя 0

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

>карта - непрально все гуляет
>дальность тож неправда уехал от старта(по прямой) на 400 метров - показует 44
>уехал на 800 - 44

Ну, из-за каких-то косяков в расчете дальности кривится и позиция базы и дальность. Бум лечить, пациент всё живее и живее.
Скажите, пожалуйста, какой у Вас GPS модуль? Есть небольшая вероятность того, что он нетрадиционное число знаков после точки выдает в широте и долготе, отсюда и глюки.

lio
smalltim:

Огромное спасибо за помощь!

да мне то за что 😃

на экране остается не так уж много. Буду подумать 😃
вот тут предложение выводить тока при мелком шрифте

>высота - непонятно у меня был перепад со 101 до 89 - непоказало всевремя 0

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

тут тож вариант такой
а если летаем на горе , старт с горы и уходим в подножье - таки приятно наверно будет видеть высоту хоть и в - 😃)

модуль у меня em-411 + Max232 для связки с мегой (в результате тоже что и Ваш 406 😃) )

smalltim

>да мне то за что 😃

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

>таки приятно наверно будет видеть высоту хоть и в - 😃)

Да нивапрос, лишних 5 строчек кода, сделаем 😃

>вот тут предложение выводить тока при мелком шрифте

Да, так будет проще всего. Наверху есть место между указателем качества приема и таймером. Пойдет?

lio

>Да мне реально стыдно - что это за горе-разработчик, который не может найти возможность самостоятельно проверить >свою разработку 😦

не стоит нагавариветь ! не у каждого есть усидчивость копаццо в коде !
респектище !

> Наверху есть место между указателем качества приема и таймером. Пойдет?
очень гуд !

кстати если сильно мусорю в топик - могу перейти в личку с результатами и предложениями 😃

ReGet

Полетал с мелким шрифтом - кажется его более чем достаточно, не вижу смысла включать большой.
А после добавления GPS данных на экране остается все меньше места для самого изображения, посему предлагаю свое рационализаторское предложение 😃 Не представляю насколько его реализация трудоемка, оцените сами:
Сделать несколько вариантов отображения различной информации на экране, а при прошивке пользователь сам решит какие варианты ему нужны и в определенные участки eeprom поставит единичку. Затем выбранные экраны будут доступны при циклической прокрутке с помощью ppm-сигнала с применика (как это происходит сейчас)

Dikoy
lio:

спутников 7-5

А это в городе? В смысле, на улице между домами или небо хорошо видно?

Сколько каналов у GPS приёмника?

Нашёл - 20 каналов.
Тогда это очень мало… У меня блоха с торпедо меньше 10 не видит. В городе…
Попробуйте под приёмником постелить лист фольги не менее 55 мм.кв., соединённый с общим проводом. Что получится?

Хотя… От антенны растояние большое… 😦

lio

5-7 ето кода как
обычно еду 7-9 вижу
как на кпк (асус 636) так и на модуле ЕМ-411
(все стоит в авто под лобовым стеклом)
на природе поидее должно быть больше

ReGet
lio:

5-7 ето кода как
обычно еду 7-9 вижу
как на кпк (асус 636) так и на модуле ЕМ-411
(все стоит в авто под лобовым стеклом)

аналогично. Навигатор видит 9 в лучшем случае. В городе между домами 3-5 и все прекрасно работает. Зачем нужно видеть 10 и больше - ума не приложу

smalltim

Прокатился с платой телеметрии в машинке. Скорость, высоту и курс показывает отлично, направление на базу и расстояние до базы - пока косячит.
vimeo.com/1228052
Камера, оказывается, неплохо ночью работает 😃
В середине ролика, перед и после поворота налево за дом, приемник теряет все спутники, и информация на секунду-две на экране не обновляется - приемник в соответствующих этому времени строках говорит, что инфа неактуальна, и поэтому я просто отбрасываю эти данные.
А вот показатель “3D/2D/na” не успевает перейти в “na”.
Приемник при потере спутников сразу говорит, что отсылаемая инфа неактуальна, но еще секунду или две тормозит перед тем, как сказать, что фикс не 3Д и не 2Д, а вообще недоступен.
Судя по картинке, информация о курсе и скорости тоже запаздывает на секунду-две. Это стандартная фича приемника, я же при получении строки с валидными данными сразу пересчитываю всё что надо.

Artie
smalltim:

В середине ролика, перед и после поворота налево за дом, приемник теряет все спутники, и информация на секунду-две на экране не обновляется - приемник в соответствующих этому времени строках говорит, что инфа неактуальна, и поэтому я просто отбрасываю эти данные.

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

Судя по картинке, информация о курсе и скорости тоже запаздывает на секунду-две. Это стандартная фича приемника, я же при получении строки с валидными данными сразу пересчитываю всё что надо.

Разумеется, запаздывает. Он же считает и курс и скорость из перемещения, так что секунда для одногерцового приемник - совершенно штатная задержка. Потому, собственно, и ставят приемники с частотой обновления в 4-5Гц.

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

smalltim

Новый код с вылеченным расчетом позиции базы, с поддержкой отрицательной высоты и выводом широты-долготы наверх экрана (lio, по Вашему запросу! 😃 ) готов, но дебаговая информация с экрана еще не убрана.
Наши продули испанцам - руки опустились. Завтра вычищу код от ненужных вещей и выложу прошивку на о(б)суждение.

lio

о! супер !
ждемс 😃
а мне тут попалась причудненькая железка с 128 мегой , занимаюсь пока реинженерингом 😁

Dikoy
ReGet:

аналогично. Навигатор видит 9 в лучшем случае. В городе между домами 3-5 и все прекрасно работает. Зачем нужно видеть 10 и больше - ума не приложу

Точность выше раз. Вероятность потери предельного количества спутников меньше два. Определение стабильней три.

В общем, чем больше спутников приёмник видит, тем более до фонаря ему окружающая обстановка 😃

Dikoy

Всем.
Нашёл интересный дальномер: www.prowave.com.tw/english/products/…/srm400.htm
В доке есть схема, а модуль (или микросхемку) можно купить через фарнел export.farnell.com/jsp/home/exportHome.jsp?_reques…
Так вот он измеряет расстояния от 10 до 0,5 метра или 25 – 150 cm. Для посадки может быть полезно.
Попробую купить и поиграться 😃

lio

ухты !
неплохо , нужно поизучать
стоит у нас порядка 70 баков

ReGet

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

Brandvik

Я думаю это для автоматической посадки… 😉

smalltim

Господа, вот новая прошивка:
Сразу предупреждаю, что подсчет расстояния и вектора на базу до сих пор кривой 😦
Нашел неприятную хрень с подсчетом DX и DY по широте и долготе, надо еще раз перетряхнуть математику. Это недолго, но сейчас могу не успеть.
Кого интересуют подробности - позиция относительно базы (кружочек на миникарте) по подсчитанным DX и DY выводится совершенно правильно, проблема с самими DX и DY - я переусложнил математику (десятитысячные доли минут перевожу в 1/2560-е доли), из-за чего просто много лишних левых вычислений, и куда-то туда вСралась труднонаходимая оЧепятка. Что надо переделать - тупо считать всё в единицах десятитысячных долей минут:

Долгота записана в формате dddmm.MMMM
было Integer Lon = (ddd*60  + mm)*256*10 + MMMM*(2560/10000)
стало Integer Lon = (ddd*60  + mm)*10000 + MMMM
максимальное значение= (180*60+0)*10000 + 0 = 108000000, в четыре байта влезаем.
максимальное двухбайтовое значение для DX и DY = 65536, это 6.5536 угловых минуты или грубо 6.5536*40000000/(60*360)=12136м, если полетим дальше от базы, начнет глючить. 12 км - за глаза.

Дальше только поправить коэффициент перевода углов в метры и всё. Сейчас я уже с трудом понимаю, зачем мне нужны были все эти 2560. И лишняя математика,и потеря точности.

Да, кстати, наверху места под широту и долготу впритык, визуально полная фигня получается, даже пробелов между указателем качества приема и часами не остается 😃
Перенес вправо от карты:

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

lio

а с права сморится тож вроде ниче 😉

ReGet
Dikoy:

Вот и я о том же - звезда спасёт всех 😃

Соединил звездой - не спасло 😦
На всякий случай провел полноразмерные испытания (с антенной полной длины и отходом на большое расстояние), которые доказали появление большого количества помех при включении телеметрии. Убрал физическую связь телеметрии с оборудованием р/у и отодвинул телеметрию подальше от приемника - помех при включении не добавляется. Придется летать без вольтметра ходовой батареи и уровня сигнала 😦