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

technolog

Вот плата телеметрии почти собраная. В реальности она не такая страшная. Делал плёночным фоторезистом, шаблон перерисовал в layoute. Внёс небольшие изменения (кварц в другом корпусе, некоторые дорожки другой формы).

“Система” в сборе. Передатчик на модуле AWM630, на плате ещё бует усилитель и модем.

Ну и приёмник:

smalltim

Хорошая платка получилась.
А что за диод? Больно жирный что-то. Нужен слаботочный, высокочастотный, с как можно меньшей емкостью перехода.

Да, и еще. Я понимаю, что вроде как бы всё равно, но я бы подключил плату телеметрии между камерой и передатчиком, а не отдельным видеокабелем к передатчику.

smalltim

У NTSC поля следуют с частотой 60 Гц, в поле 525 строк. У PAL поля следуют с частотой 50 Гц, в поле 625 строк. На NTSC букофки пойдут в полный расколбас.

technolog

А что за диод? Больно жирный что-то. Нужен слаботочный, высокочастотный, с как можно меньшей емкостью перехода.

Диод noname. Сегодня куплю что-нибудь из этого:
1N4148
BAS16
BAV70
BAV99
PMLL4148

Все они “быстрые” 4-6 нс, ёмкость перехода окол 1,5pF.

drweb

kamera samoe qlavnoe tochno ne NTSC ?

u menya tam voobshe stoit diod kd510 sovetskiy nash rodnoy, rabotaet kak chiki chiki 😉

technolog

Поставил диод PMLL4148 (4ns/4pF). Стало заметно лучше. Описанный выше эффект проявляется редко и кратковременно.

На камеру никакого документа нет. Как можно косвенно установить формат сигнала?

smalltim

Если буковки видно нормально, значит, не NTSC.

blade
technolog:

На камеру никакого документа нет. Как можно косвенно установить формат сигнала?

Да очень просто: включить её в телевизор: если кино нормальное- значит CCIR (это и есть 50 кадров - 625 строк)
Вообще, на самой камере обычно клеят лейбачок CCIR- 50Hz 😃

serj

Тимофей, я посмотрел последний клип Андрея (брандвика) и заметил интересный эффект- при планировании при постоянном на вид снижении 2-3с неподвижно висит одна цифра высоты, потом она быстро (за 1-2с) сливается метров на 7-10. может- где-то остаток целочисленного деления или какой другой порог имеют место?

вообще клип классный, и музыка к месту 😃

надо научится такие же делать со звуком а пока просто со звуком с борта: rutube.ru/tracks/1206294.html?v=1cc...c288a0d7dc49…

smalltim

Да, посмотрел видео. Скачки налицо, надо думать.
Что интересно:

  1. с температурой не коррелируют, т.е. это не погрешности температурной коррекции
  2. Промежуточные значения между 10-метровыми шагами отображаются, только пробегают быстро. Это значит, нифига не погрешности каких-нибудь остатков.

То, что значения пробегают, а не резко переключаются на 10 метров, значит, что “плавающее окно” на 8 сэмплов работает нормально. Это в 8-сэмпловый буфер что-то такое странное пишется.
Такое ощущение, что у Атмеги на канале датчика высоты вдруг 2-3 младших разряда АЦП пропало.

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

А я сейчас посмотрю лишний раз математику и еще постараюсь со своей платой на лифте покататься 😃
Если удастся - выложу видео.

Brandvik

Без передатчика, надо подумать чего бы это подключить… И это мысль покататься на лифте! 😃

smalltim

Явного криминала в коде не нашел.
Но код коррекции высоты по начальному атмосферному давлению на земле (оно не всегда 101.3 кПа 😃 ) - очень тяжелый и очень злой - жуткие извраты с 16-битной псевдоплавающей арифметикой… Жуть. Решил убрать подобру-поздорову, оставив только температурную коррекцию.
И увеличить ширину окна скользящего среднего с 8 до 16, 32, а то и до 64 (если памяти хватит, сейчас погляжу) сэмплов. Запаздывать будет отображение высоты - скорости секунды на 3, но уж извините, зато циферки плавненько сменяться будут.

Вот здесь на видео у меня код еще без температурной коррекции и т.д.: vimeo.com/1460573
Высота с бародатчика - слева, третья снизу.

Brandvik

Попробовал без передатчика на лифте покататься, тоже самое. Потыкал осцилографом, никаких шумов не нашел. Запаздывание вывода данных более чем на 1с не очень то будет хорошо. Особенно по скорости. Но в принципе не смертельно 😃
А вот есть еще такая . В свое время были разговоры о вариометре. Не помню уже почему от него отказались, но если честно то не хватает звукового вариометра.

smalltim

Отбой катаниям на лифте.
Нашел, что было поломано - вброс новых значений и фильтрация в буфере “скользящего среднего” происходили в 8 раз чаще, чем нужно.
Показания в итоге выводятся верные, но, по сути, без сглаживания “скользящим средним”. Получили новое значение, опросив 64 раза АЦП, и забили весь буфер этим значением. Никакого нафиг “скользящего среднего”.

Отсюда и мельтешащий указатель скорости, кстати.

Вернул взад все коррекции высоты. Сейчас увеличу буфер “скользящего среднего” заодно с 8 до 16 отсчетов. При этом время, за которое “скользящим средним” усредняются показания скорости-высоты, будет не 1.28, а 2.56 секунды.

Про шаги по 7…10 метров. Эта вот… ~8 метров - это предел точности MPXA4115 с 10-битным АЦП Атмеги, если опрашивать в лоб.

С оверсэмплингом - у меня 64 выборки за раз - 11 бит получается. Со “скользящим средним” на 8 таких пачек - еще 1-2 бит.
Только вот скользящее среднее в какой-то момент было сломано моими кривыми руками, поэтому 8 метров и вылезАли.

smalltim

Забираем прошивку v228:

Изменения относительно v227:

  1. Исправлен код “скользящего среднего” для усреднения данных с АЦП на каналах датчиков давления.
    Результат - отсутствие “мельтешения” цифр на индикаторах скорости и высоты с датчиков давления

  2. Увеличена ширина окна “скользящего среднего” с 8 до 32 сэмплов.
    Результат - еще более плавное изменение высоты и скорости на индикаторах. Усреднение идет по ~5 секундам полета.

  3. Частота АЦП уменьшена вдвое.
    Результат - чуть более точная работа АЦП.

  4. Включен pull-up резистор на входе ICP
    Результат - при отсутствии подключения к RC приемнику, в условиях сильных помех или наводок, больше нет ложного детектирования наличия подключения к приемнику.

smalltim
Brandvik:

Потыкал осцилографом, никаких шумов не нашел.

Это, кстати, не очень здорово. Для нормальной работы оверсэмплинга на АЦП шумы на уровне 0.5 … 1 LSB (2.5 … 5мВ) должны присутствовать, а если их нет, то надо подмешивать. Я же, когда разрабатывал финальный вариант платы, к шумам подошел просто: давить!..
Но ничего, отлаживая прошивку 228, я выводил на экран накопление по 64 измерениям с АЦП - немного шумит, так что всё хорошо 😃 Да и “скользящее среднее” тут как нельзя кстати 😃

Brandvik:

Запаздывание вывода данных более чем на 1с не очень то будет хорошо. Особенно по скорости. Но в принципе не смертельно 😃

С прошивкой 228 при мгновенном увеличении скорости , скажем, с 50 до 100 км/ч, на индикаторе скорость начнет расти сразу, но дойдет ровно до 100 только за 5 секунд. То же и с высотой.

Brandvik:

В свое время были разговоры о вариометре. Не помню уже почему от него отказались, но если честно то не хватает звукового вариометра.

К сожалению, не в этой жизни. Это надо или цифровые датчики, или внешний АЦП 16-битный, и выход с платы телеметрии на звуковой канал. У меня из свободных выходов, к которым можно подпаяться, не меняя печатную плату, остались только выход USART и SPI. USART будет использовать 3apw 😉, а SPI - плата автопилота.

Brandvik

Прошивку обновил. Покатался на лифте, впечатления странные, на днях попробую облетать…

Brandvik

Так, провел расширенный тест. Новая прошивка вообще глючит по полной. Может быть стоит грешить на мои корявые ручик и сопливую плату, но результат следующий.
Залил версию 227.
Испытания на лифте:
Подъем, 000000000000123456567888888888888888910 11 12 13 14 15 16 17 17 17 17 17 17 17
Спуск тоже самое в обратном порядке.
Скорость. Тестировалось с феном на двух скоростях.
1я скорость - плавание показаний 21-24 ; 2я - 37-39
Заливаем 228
Лифт:
Подъем, 000000000001234567…20 2122 22 22 22 22 22 22 22 22 22 23 24 25 26 27…42 43 44 44 44 44 44 44 😃
Скорость.
1я 31 как вкопанная. 2я 59 тоже стоит на месте. Показания какой версии более верные сказать не могу, нет эталона.
Плюс, при изменениях скорости , показания очень сильно запаздывают. Ориентироваться на них при управлении невозможно.
Вот такие результаты…
Высота врет явно, по скорости не скажу, но впечатления такие что тоже врет.

smalltim
Brandvik:

Так, провел расширенный тест. Новая прошивка вообще глючит по полной. Может быть стоит грешить на мои корявые ручик и сопливую плату, но результат следующий.
Залил версию 227.
Испытания на лифте:
Подъем, 000000000000123456567888888888888888910 11 12 13 14 15 16 17 17 17 17 17 17 17
Спуск тоже самое в обратном порядке.
Скорость. Тестировалось с феном на двух скоростях.
1я скорость - плавание показаний 21-24 ; 2я - 37-39
Заливаем 228
Лифт:
Подъем, 000000000001234567…20 2122 22 22 22 22 22 22 22 22 22 23 24 25 26 27…42 43 44 44 44 44 44 44 😃
Скорость.
1я 31 как вкопанная. 2я 59 тоже стоит на месте. Показания какой версии более верные сказать не могу, нет эталона.
Плюс, при изменениях скорости , показания очень сильно запаздывают. Ориентироваться на них при управлении невозможно.
Вот такие результаты…
Высота врет явно, по скорости не скажу, но впечатления такие что тоже врет.

Ne beite silno.

Ya seichas ne u kompuka, no, pohozhe, znayu v chem delo. Ne vezde pod 32 sempla perepisal.
Blizhe k nochi perepishu pod 16 semplov I pereproveru, na lifte tozhe pokatayus.

smalltim

Так и оказалось. В делении на 32 при усреднении в скользящем окне было оставлено деление на 16 😦
5 утра - не лучшее время для ассемблера

Сейчас исправил. 32 сэмпла - много, медленная реакция и т.д. Сделал 16.
Забирайте прошивку 228b: