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

RK3AMS

smalltim, а в тексте программы нельзя установить необходимые биты конфигурации?

smalltim
RK3AMS:

smalltim, а в тексте программы нельзя установить необходимые биты конфигурации?

Не, они ставятся программатором. Шейте не меняя биты, по умолчанию, увидите полоски и мельтешение - заработало 😃
Потом частоту до 16 МГц битами поднимете и всё 😃 Ну не будет получаться - подъезжайте, я Вам прошью 😃

mask2002:

Вот сылочка хорошая. www.avr123.nm.ru

Да, видел, спасибо 😃 Тому моему сообщеню уж полгода наверное, с того времени уже начало что-то получаться 😉

Вопрос гуру:
хочу принимать Атмегой PPM сигнал по одному из каналов с приемника. Как этот канал мониторить? Прерывания, скажем, от компаратора, если подключить канал к компаратору, не прокатят: задержка на несколько циклов CPU во время обработки прерывания поломает вывод в видео.

Есть мысль в прерывании строки видеосигнала каждый раз опрашивать ту ногу Атмеги, к которой подключен канал с приемника. Ну и, соответственно, вести подсчет строк, в течение которых на ноге получилась единица. В кадре 625 строк, 50 кадров в секунду - разрешения по времени хватит. А если у кого-то не PAL а NTSC с 60 кадрами в секунду. то на такой случай можно завести таймер, только без прерываний, и в прерывании видеостроки опрашивать и ногу и таймер и считать не строки а прямо время.

Как думаете, прокатит?
Напрямую можно подключать входы Атмеги к выходу приемника?

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

Прокатит?

Vad64
smalltim:

Есть мысль в прерывании строки видеосигнала каждый раз опрашивать ту ногу Атмеги, к которой подключен канал с приемника. Ну и, соответственно, вести подсчет строк, в течение которых на ноге получилась единица. В кадре 625 строк, 50 кадров в секунду - разрешения по времени хватит.

Плохо. Длительность канального импульса от 1000 до 2000 мкс. Если опрашивать ногу во время гасящего строчного импульса, то максимальная ошибка измерения длительности будет около 100 мкс, а это 10% от (2000-1000). Полагаю, гораздо лучше использовать для измерения таймер в режиме Input Capture. Но не использовать его прерывание, а опрашивать ICF флаг во время гасяшего и, в случае наличия события, вычислять длительность РРМ как разность текущего и прошлого значения ICR.

Подавать канальный импульс на ногу ICP можно (лучше через резистор). Если его амплитуда будет больше питания Атмеги, защитные диоды ее ограничат.

ReGet

Подскажите кто собирал телеметрию по схеме smalltim’а, как она влияет на радиоуправление 35 мгц?
Уже второй месяц мучаюсь со своей, собраной по той же схеме, только на меге16 и со своей прошивкой. При включении телеметрии управление просто забивает помехами в 15 метрах от передатчика, все методы душения помех перепробовал, пересобирал 3 раза - бесполезно. Может это у меня из-за особого взаимного расположения камеры, антенны РУ и их проводов, не знаю уже что и думать.
Хочу попробовать собрать 1 в 1 телеметрию по инструкции smalltim’а

smalltim
ReGet:

Подскажите кто собирал телеметрию по схеме smalltim’а, как она влияет на радиоуправление 35 мгц?
Уже второй месяц мучаюсь со своей, собраной по той же схеме, только на меге16 и со своей прошивкой. При включении телеметрии управление просто забивает помехами в 15 метрах от передатчика, все методы душения помех перепробовал, пересобирал 3 раза - бесполезно. Может это у меня из-за особого взаимного расположения камеры, антенны РУ и их проводов, не знаю уже что и думать.
Хочу попробовать собрать 1 в 1 телеметрию по инструкции smalltim’а

Значит, всё-таки, всё плохо 😦
Я со своей телеметрией пока далеко не летал, метров, может быть, на 400-600, это максимум, и проблем не было. У меня Hitec Prism 7 на 35 МГц, в самиках стоят Hitec Electron 6.

ReGet

Странно, у меня тот же hitec electron 6 и передатчик hitec на 35 мегагерц.
Может быть мой метод вывода текста на экран создает такие помехи, хотя с чего бы вдруг… Вывожу все 8 бит в порт, потом сдвигаю 8 раз. При этом из 8ми выводов порта подключен только один крайний. Могут висящие в воздухе порты помехи наводить?

smalltim

>Могут висящие в воздухе порты помехи наводить?
По-моему, даже теоретически не могут.
Я теряюсь в догадках, что именно у Вас не так пошло. Схема давным давно проверена, у всех и на мегах8, и на мегах88, и на мегах16 работает…

ReGet
mask2002:

А что если к бортовой телеметрии прикрутить такой девайс? www.terraelectronica.ru/news_postup.php?ID=1318
К тому же он и под прямое подключение к контроллерам заточен.

Для чего? 😃

mask2002

Мне кажется по изображению с камеры не чуствуется в какую сторону ускорение, а тут ясно будет.

Brandvik

И в какую сторону вам ускорение надо чувствовать? И как вы его хотите чувствовать(в како форме выводить данные с аксеелрометра)?

ReGet
mask2002:

Мне кажется по изображению с камеры не чуствуется в какую сторону ускорение, а тут ясно будет.

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

РД00
Brandvik:

И в какую сторону вам ускорение надо чувствовать? И как вы его хотите чувствовать(в како форме выводить данные с аксеелрометра)?

На такой штуке можно соорудить отдаленное подобие авиагоризонта. Будет показывать направление местной силы тяжести. Естественно, на виражах и в петлях он будет врать, но в прямолинейном полете тангаж и крен будет виден. Можно будет летать сквозь облака.

Ролик с чем-то подобным лежал на Youtube, жаль, не найду. Там в центре экрана выводился качающийся-отклоняющийся крест наподобие ILS в авиасимуляторах-игрушках.

smalltim

Замечательная вещь, аж завидно. Такая, разве что, кофе сварить не сможет 😃

Мне на качающийся крест, на 99% уверен, ресурсов процессора не хватит. А вот вариометр, индикатор качества RC приема и управление платой телеметрии с передатчика (переключение на крупные шрифты, отключение отображения второстепенных данных по выбору и полное включение-выключение наложения на видео) - скоро будет. Спасибо Vad64 за идею с таймером.

Мануалов по Атмеге накурился до предела, теперь надо найти время и сесть за написание кода… 😃

Потихоньку подготавливаюсь еще к верстанию платы сопряжения с ГПС и горизонтом на пирометрах со вторым процессором на борту.

Кстати, коллеги, где и в каком виде на экране вы бы посоветовали поместить новые строки с данными - вариометр и качество приема RC сигнала, плюс, если надо, положение ручки управляющего канала? Управление телеметрией можно подключить на отдельный канал, а можно хоть к газу, только придется прямо в полете ставить газ, скажем, в ноль, потом сразу в 100%, потом в ноль, и т.д. для управления телеметрией - сами понимаете.

В текущем варианте отображение см здесь: rcopen.com/files/000000000000000000000000

Brandvik

Уровень сигнала вверху слева, а вариометр справа посредине. А как будут выглядить эти данные? Желательно что бы вариометр выглядел в виде полоски которая увеличивается вверх или вниз.

ReGet
РД00:

На такой штуке можно соорудить отдаленное подобие авиагоризонта. Будет показывать направление местной силы тяжести. Естественно, на виражах и в петлях он будет врать, но в прямолинейном полете тангаж и крен будет виден. Можно будет летать сквозь облака.

Ролик с чем-то подобным лежал на Youtube, жаль, не найду. Там в центре экрана выводился качающийся-отклоняющийся крест наподобие ILS в авиасимуляторах-игрушках.

Если я правильно понимаю, то акселерометр не может использоваться для создания авиагоризонта, т.к. после того как он один раз соврет (например, как вы сказали, на вираже), далее он будет врать все остальное время. Поэтому телеметрии нужны датчики, которыми она будет видеть настоящий горизонт (пирометры)

Brandvik

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

РД00
ReGet:

Если я правильно понимаю, то акселерометр не может использоваться для создания авиагоризонта, т.к. после того как он один раз соврет (например, как вы сказали, на вираже), далее он будет врать все остальное время.

Нет. В этом отличие акселерометра (датчика линейного ускорения) от гироскопа (датчика углового ускорения с двойным интегрированием). Акселерометр напрямую чувствует силу тяжести, точнее степень совпадения ее направления со своей осью.

Brandvik:

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

Очень сомневаюсь. В свое время имел дело с гироскопами в профессиональной деятельности, причем не с пьезоэлектрическими (как в моделизме), а с на порядки более точными волоконно-оптическими. Так вот для нас разумный сдвиг после интегрирования за десятки минут был недостижимой целью.

Думаю, что вертолетный гироскоп за 10 мин своей “горизонталью” навертит не один десяток оборотов.

smalltim

Vad64> Подавать канальный импульс на ногу ICP можно (лучше через резистор).

А какой именно резистор? 1 кОм пойдет?

smalltim

Ух, как пришлось поизвращаться… 😃

Добавил вывод строк текста вверху экрана. Теперь работа в кадре выглядит так:
ждем - рисуем верхние строки теста - опрашиваем АЦП - делаем математику - ждем - рисуем нижние строки текста

Сделал поддержку крупного и мелкого шрифта и переключения размера шрифта и отключения вывода на экран “на лету”.

Сделал программный вариометр. Не сделал красивое отображение, пока только циферки.

Сделал заглушку для индикации уровня сигнала RC (специальные символы и расположение на экране). Пока не сделал собственно анализ PPM.

Картинки:

Вопросы 😃 :

  1. Какое нужно разрешение вариометра в метрах и единицы измерения? “В лоб”, без включения мозга (как сделано сейчас) разрешение получается 0.75 метров в секунду и единицы измерения, соответственно, метры в секунду.

  2. Делать вариометр на основе показаний высоты, усредненных по 16 пачкам по 64 измерения (как сделано сейчас) некошерно, поскольку в усреднение попадают показания высоты на протяжении последних 1.92 секунд полета. И если, образно говоря, резко и коротко дунуть в датчик давления, то вариометр показывает короткий положительный скачок вертикальной скорости, а через 1.92 секунды - короткий отрицательный. На медленных самолетах 2 секунды не роляют, но всё равно некрасиво.
    По-хорошему, надо делать вариометр на основе неусредненных по 16 пачкам данных, но тогда его показания могут слегка “шуметь”.

Стоит ли овчинка выделки?
Впрочем, всё равно завтра поэкспериментирую, перепробовать надо все варианты.