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

foxfly

[quote=smalltim;565255]
Еще ночью поставил резистор побольше, буквы стали потусклее, шлейфы остались такой же длины, но так же потусклее.
Не хватает скорости чего? 😃 Атмеги8 на 16 МГц? 😃

По ночам надо спать!
А скорости At8-16 запросто может не хватать, поскольку порты- неравноценны:)
Но, конечно- сначала следует поискать в очевидных мкстах: кабель, сопли и т.д…
Судя по описанию- у тебя слишком большой уровень сигнала.
Можно попробовать на телевизоре контрастность прибрать?

Artie
smalltim:

Не хватает скорости чего? 😃 Атмеги8 на 16 МГц? 😃
В общем, похоже, нашел проблему, она точно не в OSD. Направляю камеру на лампу, и вижу, что за ней тянется точно такой же темный шлейф. Или видеокабель до телика плохонький (я не выбирал взял что попалось), или камера дурит.

Однокристаллка и ее скорости тут точно ни при чем. Скорее всего, это проблемы собственно видеосигнала (и/или его приемника) на резко контрастных элементах картинки.
Первым делом, я бы посмотрел на него (на видеосигнал) скопом и убедился, что все уровни (черного/белого/синхр) на месте. Если не на месте - пробовал бы менять источник картинки на заведомо “правильный” (например, на выход с какого-нибудь видака, дивидюка, etc), если на месте - пробовал бы подключать к другому телевизору…
Если (вдруг) Вы пробуете работать сразу с видеопередатчиком/приемником, то отложите это на потом: сперва добейтесь нормальной картинки на простейшей цепочке из видака, вашего “титрователя” и телевизора.

ЗЫ: Для простоты настройки лучше сначала поработать с черно-белым сигналом; - все его участки хорошо видны (и понятны) “невооруженным скопом”. 😃
Вообще, для лучшего понимания того, что в строке происходит, при отсутствии специальных генераторов здорово помогает “снимать” простенькой монохромной камерой однородный фон (например, лист бумаги во весь кадр), играясь с его освещенностью…

11 days later
smalltim

А не подскажут ли благородные доны, где почитать по практике применения ПВД и дифференциальных барометрических датчиков для измерения скорости? Что и как делать?
Всё остальное в своем варианте телеметрии я уже сделал, остались только непонятки с измерением скорости 😃

foxfly
smalltim:

А не подскажут ли благородные доны, где почитать по практике применения ПВД и дифференциальных барометрических датчиков для измерения скорости? Что и как делать?
Всё остальное в своем варианте телеметрии я уже сделал, остались только непонятки с измерением скорости 😃

Про “донов”-не знаю, а я читал по этому поводу дивную книжку 1970 года выпуска “Основы самолетовождения”. Там про все написано- начиная от того, что такое миля и откуда она получилась (вы будете смеяться, но если взять 40 тыс.км-экватор- и разделить на 360 градусов, то и получится 1, 82… км- одна морская миля и длина 1 градуса!) и далее- про устройство высотомера, трубки Пито и даже- страшно сказать- ГИРОПОЛУКОМПАСА.
Добыть ее можно в аэроклубе или авиаучилище.

smalltim

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

P1-P2=(rv^2) /2, где r - плотность воздуха, v^2 - квадрат скорости, P1-P2 - разница давлений на дифференциальном датчике

foxfly
smalltim:

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

P1-P2=(rv^2) /2, где r - плотность воздуха, v^2 - квадрат скорости, P1-P2 - разница давлений на дифференциальном датчике

Я делал проще- вешал ПИТО на авто (стих почти получился:)) и записывал соответствие скорости напряжению, приходящему с датчика давления.Так- несколько раз в разных направлениях, чтобы ветер не мешал. А потом полученное- загонял в программу.Начиная от 30 км в час- вполне повторяемые результаты.Во всяком случае с GPS- вполне сравнимые.

Юрий_68
foxfly:

Про “донов”-не знаю, а я читал по этому поводу дивную книжку 1970 года выпуска “Основы самолетовождения”. Там про все написано- начиная от того, что такое миля и откуда она получилась (вы будете смеяться, но если взять 40 тыс.км-экватор- и разделить на 360 градусов, то и получится 1, 82… км- одна морская миля и длина 1 градуса!) и далее- про устройство высотомера, трубки Пито и даже- страшно сказать- ГИРОПОЛУКОМПАСА.
Добыть ее можно в аэроклубе или авиаучилище.

40 000 разделить на 360 получается 111.1111(в периоде) 😃 но мысль интересная 😃

deNick
Юрий_68:

40 000 разделить на 360 получается 111.1111(в периоде) 😃 но мысль интересная 😃

40000 километров разделить на 360 градусов= 111,11… И ЕЩЕ РАЗДЕЛИТЬ на 60 минут (в 1 градусе 60 минут, в 1 минуте- 60 секунд).

Итого- 1 миля- это ширина одной минуты, а не одного градуса.

Мысль верная, немножко неточно сформулитрованная просто.

foxfly
Юрий_68:

40 000 разделить на 360 получается 111.1111(в периоде) 😃 но мысль интересная 😃

Звиняйте, Дядько- это я про минуту (угловую) говорил: то есть это вот 111,11111…
надо разделить еще на 60! Тогда то МИЛЯ и получится:)а ежели еще на 60-тут уж угловая секунда (т.е. ее длина на местности)

Жарко,однако: пока доскачешь от кондея дома до кондея в машине- голова вскипает, думает плохо 😦

smalltim

Обнаружил еще один подводный камень в использовании дифференциального датчика давления для альтиметра.
Ему нельзя один раз в жизни заклеить одну из камер и не оттыкать-затыкать перед каждым полетом. Годовые вариации температуры такие, что вариация давления в закрытой камере уводит разницу давлений за пределы измеряемого диапазона. Особенно плохо когда давление в закрытой камере понижается, тогда разница давлений уходит в минус и датчик на любой высоте выводит ноль.
Выход - всё-таки надо оттыкать-затыкать камеру хотя бы один разик в день перед полетами, а дальше, если температура в течение полета меняется на единицы градусов, всё прекрасно должно компенсироваться поправкой от датчика температуры.

Пока поправка у меня не реализована, сделаю сразу после интегрирования показаний датчиков высоты и скорости по времени (1 сек). Сейчас аналоговые входы опрашиваются 64 раза подряд и результаты усредняются (при 64 измерениях 64 10-битных числа в сумме дают 2-байтное число, с которым очень удобно дальше работать). Измерения повторяются в каждом кадре: в кадре N 64 раза опрашивается нулевой вход, в N+1 опрашивается первый, в N+2 опрашивается второй и т.д. В итоге получается так, что данные по каналам обновляются примерно 50/6~8 раз в секунду. Уровень шумов такой, что для входов напряжения и температуры вообще ничего не надо делать, шумят 3й и 2й знаки после запятой соответственно, а для высоты и скорости надо бы еще бы поусреднять. Шумит 2й-3й знак после запятой, если считать разницу давлений в килопаскалях.
Для датчиков давления и температуры хочу накапливать по 10 результатов в отдельном буфере, где усреднять их значения для дальнейшего использования. В итоге как раз и получится временнОе усреднение высоты и скорости в пределах 1.2 секунды, но с непрерывным обновлением (8 раз в секунду) результата.

Debian

У меня есть настояший цифрофой альтиметр с самотела (размер как 2 пачки сигарет) там датчик давления обычный Motorola MPXA11…и как-то там, если вам надо могу сделать фоток и если будет время схемку срисовать, я думаю на пром агрегате все продуманно вплане датчиков
есдинственое это к датчику нужее прицезионный источник питания 😦

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

smalltim
Debian:

У меня есть настояший цифрофой альтиметр с самотела (размер как 2 пачки сигарет) там датчик давления обычный Motorola MPXA11…и как-то там, если вам надо могу сделать фоток и если будет время схемку срисовать, я думаю на пром агрегате все продуманно вплане датчиков
есдинственое это к датчику нужее прицезионный источник питания 😦

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

прорисовка построчно, как ловлю кадровые импульсы - ЛМка всё делает, чем отличается - понятия не имею, ЛМка всё делает. Ссылки на схемы были в этой теме или где-то рядом.

smalltim

Сделал интегрирование по времени, теперь датчики давления опрашиваются аж в 16 пачек по 64 изменения. Шума - 5-6 единиц в младшем десятичном разряде числа от 0 до 65535, т.е. 0.01%. Красотища 😃
При каждом включении борта начальные показания датчиков давления и температуры собираются, усредняются, и далее используются как базовые.
Приделываю коррекцию по температуре. Буду делать корявенько, полагая, что температура в момент старта всегда, скажем, 273К, а разница между текущей
температурой и температурой в момент старта будет прибавляться к 273. (Ну очень уж неохота заставлять AVRку делить произвольное 32-битное число на произвольное 16-битное). Коэффициент коррекции соответственно (273+dT)/273. Процентные величины ошибок сейчас лень считать, но очевидно что даже такая корявенькая поправка на температуру вполне себе позволит спокойно жить не глядя на уползание температуры.

foxfly

[quote=smalltim;577918]
Сделал интегрирование по времени, теперь датчики давления опрашиваются аж в 16 пачек по 64 изменения. Шума - 5-6 единиц в младшем десятичном разряде числа от 0 до 65535, т.е. 0.01%. Красотища 😃

Хотел спросить: с черными хвостами после букв разобрался?
И где собака в них порылась?

smalltim
foxfly:

Хотел спросить: с черными хвостами после букв разобрался?
И где собака в них порылась?

Просто плохонький видеокабель.

foxfly
smalltim:

Просто плохонький видеокабель.

Ну, батенька- с телевидением “авось” не проходит. ТщательнЕе надо с кабелем то!

smalltim

Довел до ума датчик скорости. Поскольку скорость это грубо корень из разницы давлений, шаг скорости нелинейный, вблизи нуля очень большой. С нуля сразу прыгает до 4 км/ч, дальше 5, а еще дальше шаг уже меньше 1 км/ч. Загрубил отображение до 1 кмч, отбрасывая дробную часть, поскольку точности в 1 кмч уже выше крыши. Предел измерения - 320 кмч. Усреднение - плавающее окно в пределах 2 сек. Если подуть резко и коротко, скорость плавно всплеснет до какого-то уровня и плавно спадет до нуля.

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

serj

Давно не смотрел форум… наконец-то кто-то сделал похожую вещь, респект! 😃

2 smalltim: а у вас вывод символов сделан программно или “полупаппаратно” - то есть (через SPI… )

Я в в свое время здорово повозился - тогда был 2333 и 8мгц, это было (7 января 2001г 😃 )…

ради снижения веса ССИ был ( да и теперь остался) на 2-х транзисторах 😃

smalltim
serj:

Давно не смотрел форум… наконец-то кто-то сделал похожую вещь, респект! 😃

2 smalltim: а у вас вывод символов сделан программно или “полупаппаратно” - то есть (через SPI… )

Я в в свое время здорово повозился - тогда был 2333 и 8мгц, это было (7 января 2001г 😃 )…

ради снижения веса ССИ был ( да и теперь остался) на 2-х транзисторах 😃

вывод символов сделан программно, AVRкой

Вот первый режим OSD, отладочный:

Вот рабочий режим OSD:

Ваша печатная плата - решпект. У меня всё на макетке, сейчас сделаю фото, не пугайтесь 😃

smalltim

Вот оно:



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

serj

ну дык это это уже серийный образец 😃 там 2 камеры, вариометр, детектор файлсейфа, линк к автопилоту (данные отображает верхняя строчка)

про spi я имел в виду кто управляет выводом символа- каждую точку программно ( тогда ограничено число ровно выводимых символов в строке) или через вывод spi (еще c uart можно поэкспериментировать) тогда вывод делается почти аппаратно, толко скармливай регистру сдвига данные…

я бы еще рекомендовал цифры покрупнее и поярче сделать- при приеме с помехами лучше видно будет

smalltim

каждая точка рисуется программно, на одну из ног (в один из битов) порта подается (пишется) 1 или 0, дальше как у всех, к ноге диод, и т.д.

>там две камеры
это как?
есть где почитать про эту разработку вообще?

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

serj

Про вывод- понятно. кстати видно в отладочном режиме что разрушается реалтайм вывода- обрабока прерываний? 😃

почитать- есть " внутренняя" документация…
Разработка- то уже 6-ти летней давности 😃 пишите на почту, пришлю… не хотелось бы здесь выкладывать… оборудование беспилотников все-таки…

smalltim
serj:

Про вывод- понятно. кстати видно в отладочном режиме что разрушается реалтайм вывода- обрабока прерываний? 😃

почитать- есть " внутренняя" документация…
Разработка- то уже 6-ти летней давности 😃 пишите на почту, пришлю… не хотелось бы здесь выкладывать… оборудование беспилотников все-таки…

Эээ… мм… не, я лучше спокойней буду спать, спасибо, документации не надо 😃

Не угадали, в отладочном режиме просто выход подсвечивается и тут же гасится при готовности АЦП отдавать данные. Получается штришок на экране. Дальше данные читаются и в самом конце идет собственно обработка этих данных. Т. е., кстати, прямо по картинке видно, что я в каждом кадре опрашиваю АЦП 64 раза. На время всей этой возни с АЦП прерывания вообще отключены, а АЦП молотит во free-run режиме.

serj

Да не подметил что штришки-то одинаковые 😃 у меня картинка “рассыпалась” когда буфер данных не помещался целиком в РОН. Происходил сдвиг, ну и еще когда усиление детектора КСИ слишком велико- свидеосигнал лез 😃

А две камеры- это переключатель с плановой на курсовую камеру.