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

Artie
bfnico:

По поводу питания lm1881 зачем там 4.7к на вход Vcc ??

Он там не нужен (даже если он 4.7 Ом 😃).

Какой может быть разброс показаний напряжения питания и из-за чего ?

Если резисторы в делителе правильные, то никакого разброса.

и что делать с нижним соском датчика давления ? наглухо закрыть ?

Судя по тому, что на фотографии нижнего соска уже нет 😎, то ничего не делать. А вообще он должен был идти на “статический” конец трубки Пито.

2 smalltim: Btw, на Вашей плате мне пришлось поменять местами датчики и еще перевернуть диффернциальный вверх ногами, порезав нафиг дорожки под ним. - Именно потому, что правильный датчик - с двумя сосками - “у кринку нэ лэзе !”

smalltim
bfnico:

Привет!

Осилил таки девайс, в жизни ничего подобного не делал - ни лут ни smd ни avr. Но могу заметить atmega8 очень устойчива к произволу радиолюбителя.

По поводу питания lm1881 зачем там 4.7к на вход Vcc ?? запустил только коротнув резистор и отключив плохой диод… ( потом нашел кд510)
Какой может быть разброс показаний напряжения питания и из-за чего ?

и что делать с нижним соском датчика давления ? наглухо закрыть ?

smalltim и ко – респет и уважуха!

Там не 4.7кОм, а 4.7Ом. Для снижения помех по питанию.

Разброс напряжений питания из-за разброса сопротивлений резисторов в делителях на входе. Лучше ставить 1-процентные.

Второй сосок датчика давления можно откусить под корень или подвести к грамотно сделанному ПВД.
В верхний сосок поступает давленние набегающего потока воздуха. в нижний - статическое давление воздуха. MPXV5010-датчик дифференциальный, он выдает напряжение, пропорциональное разнице этих давлений, что и надо для вычисления скорости.
Так что второй сосок, если не хочется городить “правильный” ПВД, можно откусить под корень, пусть берет статическое давление на плате, в 3 мм от Атмеги 😃

>Btw, на Вашей плате мне пришлось поменять местами датчики и еще перевернуть диффернциальный вверх ногами, порезав нафиг дорожки под ним. - Именно потому, что правильный датчик - с двумя сосками - “в кринку нэ лэзе !”

Да, если надо 2 соска, то проблема есть. Но решаемая на счет “раз”. С двумя сосками нормально лезет, если отогнуть немного выводы датчика, поставив его “на цыпочки”. Он станет на примерно на 2 мм выше.

SGordon

Вопрос про разброс напряжений - никто не пользовался 'грифельмодом " ( рисование по резистору мягким карандашом) для подстройки показаний Делителя. На мамке рисовал на ура, но на сколько там изменилось сопротивление - не представляю …

lodeworx
smalltim:

На видео от Maloii такое же прослеживается: last fly my easy star

Бум разбираться.

Похоже это разное время входа в прерывание по строкам(такт или два). На моей графической- такая-же точно “шняга” (софт полностью мой) может попробовать все переменные в 16 бит?- в один размер?

Dikoy
smalltim:

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

А как вы делаете ФСС?.. Вообще, увеличение размерности буфера не должно увеличивать время получения параметра (если не обращать внимание на само время вычисления процессором, которое относительно мало).
Сейчас в рабочих проектах активно пользую такую конструкцию: в ОЗУ три буфера по 8 байт. Первый забивается выборками с АЦП. Его средним забивается второй. Его средним - третий. 24 байта в ОЗУ эквиваленты обычному ФСС на 1024 выборки (по сути, это трёхкаскадный фильтр). Время вычисления на древнем 51 ядре (12 тиков на операцию, кварц 11 мег) около 1 мс. На АВР, думаю, уложится в 100 мкС. Но пока не переносил.
Ещё один плюс такого подхода: вычисления проводятся в пределах 16 бит, что для АВР есть хорошо, учитывая его 16 битные регистры. Аналогичный вариант с буфером на 1024 выборки потребовал бы переходить в 32 битные переменные.

ПС. Вчера, наконец, смог поднять свою куту!!! 😁 Она у меня гидроплан. С воды взлетать сейчас стрёмно, а вот со снега - самое то. Записал пирометры в полёте, подсчёт углов. Получил ошибку примерно 0,25 градуса в первых 5 градусах крена. Потом до 3 градусов плоть до 45 гразусов. Потом чистый гон 😃
В требуемых ±15 градусах крена ошибка не превышает градус - сравнивал показания с БСО. От высоты не зависит 😃
На неделе попробую пришить к автопилоту вместо БСО, посмотрю, как будет держать крен.

smalltim

А как вы делаете ФСС?.. Вообще, увеличение размерности буфера не должно увеличивать время получения параметра (если не обращать внимание на само время вычисления процессором, которое относительно мало).

В каждом кадре камеры (1/50 сек) во время между отрисовкой верхних строк и нижних строк опрашивается один канал АЦП - делаются и суммируются 64 выборки.
В следующем кадре - следующий канал АЦП.
Итого 8 каналов опрашиваются в течение 8 кадров.
Т.е. время между обновлениями данных по одному каналу АЦП составляет 8*(1/50) сек, или 0.16 сек.
В ФСС (сделаны как кольцевой буфер, таких несколько, свой для каждого из различных физ параметров) новая инфа капает каждые 0.16 сек. Ширина ФСС - 16 значений. Значит, самый “давний” сэмпл, лежащий в буфере ФСС, соответствует времени 0.16*16=2.56 секунды назад. Если сделать буфер ФСС шириной 32 сэмпла, то будет 5.12 секунды назад. Это слишком инерционно. Поэтому сделано 16 сэмплов.
Всё.
Каскадные ФСС делать не могу - ресурсов не хватит. Каскадные ФСС имеют смысл при непрерывном опросе АЦП, без отвлечения на математику и отрисовку и т.д., тогда задержек по времени таких больших не будет. У меня же на всё про всё одна Атмега - и парсинг ГПС, и математика, и отрисовка, и АЦП, и ICP, и еще общение с автопилотом по SPI добавляется.

Похоже это разное время входа в прерывание по строкам(такт или два). На моей графической- такая-же точно “шняга” (софт полностью мой) может попробовать все переменные в 16 бит?- в один размер?

Нет, это не разное время входа в строковое прерывание. А чтоб у Вас не было задержек на такт или два, в конце строки отправляйте Мегу спать, чтоб к следующей строке отдохнула и не тормозила с реакцией на прерывания 😃.
Больше ничего не понял. Зачем, к чему, почему, какие все переменные в 16 бит?

Dikoy
smalltim:

А как вы делаете ФСС?.. Вообще, увеличение размерности буфера не должно увеличивать время получения параметра (если не обращать внимание на само время вычисления процессором, которое относительно мало).

В каждом кадре камеры (1/50 сек) во время между отрисовкой верхних строк и нижних строк опрашивается один канал АЦП - делаются и суммируются 64 выборки.
В следующем кадре - следующий канал АЦП.

Каскадные ФСС делать не могу - ресурсов не хватит. Каскадные ФСС имеют смысл при непрерывном опросе АЦП, без отвлечения на математику и отрисовку и т.д., тогда задержек по времени таких больших не будет. У меня же на всё про всё одна Атмега - и парсинг ГПС, и математика, и отрисовка, и АЦП, и ICP, и еще общение с автопилотом по SPI добавляется.

А, понял, от частоты кадров зависит…
По идее, ФСС тем эффективнее, чем быстрее делаются выборки. Таймеры все заняты?

Каскадные ФСС как раз экономичнее. Позволяют получать степень усреднения на n порядков больше, чем линейные, при тех же затратах. А вот надо ли оно - вопрос второй. У меня на борту 24 бита АЦП, я просто обрезаю результат до 20 бит (по каналам датчиков) и этого хватает.

smalltim

А ко мне, наконец-то, пирометры от Perkin Elmer на автопилот приехали, ура! 😃

Сфоткано на фоне пирометров на голове от FMA Direct 😜
Впрочем, можно не баяца, автопилот будет поддерживать готовые головы от FMA 😃

Dikoy
smalltim:

А ко мне, наконец-то, пирометры от Perkin Elmer на автопилот приехали, ура! 😃

А где и как покупались? 😃

smalltim

Увидел, особенно вот здесь: IMU Test 6
Офигенно корректно работает. Ошибка в 30 градусов крена на протяжении 10 секунд, в течение которых самик разворачивается на 180 градусов - чота многовата.
Я лучше с пирометрами, GPS и компасом как-нибудь перебьюсь.

А авиагоризонта искусственного у меня на экране не будет. Вообще мало что изменится на экране с появлением автопилота. А если в комплекте нет платы телеметрии, так вообще ничего на экране не будет. Будет на самике просто система стабилизации по типу Co-Pilot, автопилот и логгер 😃

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

maloii

Вопрос к Гуру. К своей самоделке решил прикрутить звуковое оповещение, но не уверен что правильно это сделал, посмотрите, покритикуйте.
ityes.ru:8001/wiki/schematics
Звук вывел с PB1 через резюк 10к (R15) к транзистору (T1) и на аудио выход.

Dikoy
maloii:

Вопрос к Гуру. К своей самоделке решил прикрутить звуковое оповещение, но не уверен что правильно это сделал, посмотрите, покритикуйте.
ityes.ru:8001/wiki/schematics
Звук вывел с PB1 через резюк 10к (R15) к транзистору (T1) и на аудио выход.

Неправильное включение транзистора. npn транзистор должен эмиттером быть соединён с землёй напрямую, а нагрузка включается между плюсом и коллектором.
Если важно, чтобы транзистор был по питанию, поставьте аналогичный pnp. Эмиттером к плюсу, коллектор на нагрузку. Нагрузка между коллектором и землёй.
Соответственно, нпн открывается единицей, а пнп нулём 😉

А зачем такое? В магазинах рублей за 15 продаются бизеры со встроенным генератором. Их потребление позволяет цеплять прямо к ноге АВР. Подал единичку (или нолик), бизер запищал. Причём весьма громко.
Просто обычный бизер при тех же массогабаритах стоит на 10 рублей дешевле, так что экономии не вижу 😉

Например, вот в этой самоделке я применял такой бизер: dikoy44.narod.ru/projects/BK_VAZ.htm

maloii

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

smalltim

Боюсь напутать, но вообще-то размах 250мВ - стандартный уровень для линейных звуковых входов. Т е. резисторный делитель должен проканать.

Brandvik

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

serj
maloii:

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

просто через делитель 1/10 подаете меандр и далее через конденсатор 0.1-0.22 мкф примерно. 250мв амплитуды переменного напряжения должно быть нормально. если на слух будет тихо или искажения- подберите делитель

smalltim:

Увидел, особенно вот здесь: IMU Test 6
Офигенно корректно работает. Ошибка в 30 градусов крена на протяжении 10 секунд, в течение которых самик разворачивается на 180 градусов - чота многовата.
Я лучше с пирометрами, GPS и компасом как-нибудь перебьюсь.

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

Brandvik

Им нужно тесты по другому проводить. Объектив камеры закрывать плотно крышечкой взлетать в спарке тренер-ученик. И передавать управление в воздухе “ученику”, тоесть чудаку который будет в очках пытаться пилотировать только по показаниям IMU. А тренер будет направлять подсказывая куда лететь что бы не улетель далеко и перехватывать в сложных ситуациях. Вот тогда можно будет трезво оценить на сколько реально можно лететь в условиях ограниченной видимости с теми погрешностями которые имеются…

Dikoy
serj:

просто через делитель 1/10 подаете меандр и далее через конденсатор 0.1-0.22 мкф примерно. 250мв амплитуды переменного напряжения должно быть нормально. если на слух будет тихо или искажения- подберите делитель

+1
Причём кондёр обязательно.

maloii:

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

Просто соедините лапу атмеги через делитель и кондёр с аудиовходом. Никаких транзисторов не надо.

maloii

Спасибо всем за совет! Схемку с транзистором взял из книжки, там делали музыкальную шкатулку. поставлю резисторный делитель, как я понял 1/10 это 10k и 1k, притом 1k идет к земле. Если ошибаюсь поправьте.

Expert

так как ящик у smaltim пожизни полный
напишу здесь

понимаю что наверное рано спрашивать про ваш автопилот, но когда примерно можно его ожидать и что выйдет по ценам?

также не совсем понятно будет ли это полноценный автопилот (полет по заранее заданным координатам),
вроде ArduPilot Pro Attopilot или даже paparazzi
с реалтайм даталинком

или только возможность вернуть самолет к месту старта?
как у DragonOSD RangevideoOSD и EAGLE TREE Pro OSD (та что выходит в декабре).