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

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:

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

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

smalltim

Всё, вот она - прошивка с полноценной поддержкой GPS. Всё должно работать как часы. Записал ролик и час сидел, крутил его по кадрам. С заранее заготовленным екселевским файлом, где вписаны готовые формулы, смотрел, как ползает позиция базы, и высчитывал, соответствует ли расположение и расстояние до базы разнице в широте и долготе. Соответствует 😃

Теперь займусь разбирательством с помехами: то, что творится у ReGet - неправильно. Да и у меня при подключении GPS приемника стали прыгать показания барометрического датчика скорости, как самого чувствительного к питанию - надо повесить конденсаторов на стабилизатор +5В, от которого питается атмега, датчики, а теперь и GPS модуль. Ну и вообще надо привести всё к соответствию стандартам развитой демократии 😃

lio

упс
в архивчике прошивка без жпс
2.04 с вариометром 😉

ReGet

Вот схема моего бортового оборудования. При таком подключении без связи с оборудованием р/у помех нет, но при подключении телеметрии к ходовой батарее или приемнику управление сходит с ума.

smalltim

>упс
>в архивчике прошивка без жпс
>2.04 с вариометром

Это потому что я идиотский идиот - форум не принимает hex файлы в аттач, и я не то зарарил 😃

Вот она:

lio

Супер !
пока ходил проверять - очки сели (акк) 😃
заправляюсь и проверяю

lio

все суперно !
уже не заблужусь 😃

сейчас вот этим занимаюсь
треки писать на комп 😃

еще раз спасибо !

smalltim

>все суперно !
>уже не заблужусь 😃

Заблудитесь 😃
Вы далеко от базы отходили?
Я, пока машину в гараж отгонял, записал еще один трек, и по скачку расстояния с 500м до 300м в момент изменения числа угловых минут нашел там ошибочку - где минуты и градусы умножаются на 10000 и добавляются к десятитысячным долям минут:

	LDS R16, TMPP1
	LDS R17, TMPP2
	LDI R18, LOW(10000)
	LDI R19, HIGH(10000);  - БЫЛА ОШИБКА: LDI R19, LOW(10000)
	RCALL mpy16u

Исправил:

lio

точно
было пару скачков , я подумал шо глюк изза наводки(система то на слепыше собрана пока )
впаял кандюк 470 мкф по питалову
кстати был непонятный момент
во время инита , кода калибруется ппм, вместо столбика возле инициализации перебор всего алфавита
еще момент
покрайней мере 220 прошивка в момент старта сбивала почему то кадры
проходило секунд 5-7-10 все ставало на места … предполагаю просадка по питанию и комуто плохо (либо меге либо лм1881)

что думают гуру ?

с ув
Ростислав