OSD на ATmega1281

cvy7

MSV, делайте дивертиси! хотябы плюс к зигзагу четверть обычную! много нервов спасет. Этож час работы.

msv

А что такое дивертиси? Попадался этот термин, но не знаю значения… Четвертушку дополнительно сделать действительно неплохо, но надо какой-то коммутатор (электронный?) с мин потерями на 1ггц… Как, на чем это можно сделать?

Aleksey_Gorelikov

Нужен коммутатор не на ВЧ, а на НЧ. И два приемника. Решение о переключении принимать по RSSI.

Термин диверсити - ИМХО используется несовсем правильно в данном случае. Покрайней мере я его воспринимаю как прием на разнесенные две и более антен, с компенсацией фазовых сдвигов. Типа антенная решетка со сканированием лепестка ДН получается. Но это в моем восприятии, возможно и ошибочном.

msv

Ок, спасибо за ликбез. Но это всяко не час работы… 😃 К тому же где-то надо искать 2-й тюнер ( не уверен, что они все совместимы, а свой noname покупал на ебай за 50баков вместе с передатчиком). А вот найти, вывести хоть на стрелочный индикатор RSSI, да слепить коммутатор (на pin-диодах?) хотя бы с ручной переключалкой, вполне реально… Может у кого есть проверенная схемка/конструкция?

cvy7

Зачем вручную! Такую аппу и телеметрию сделали, а тут вручную 😃
мега (8 заглаза) и 74hc4051. Могу платку скинуть, но у меня там лишняя в Вашем случае MAX7456 и мега с избытком- 32 габарита. Моя платка еще не приша с изготовления. Такая конструкция (с мегой и коммутатором) точно делалась Сергеем Кендышем, у него “летала”, идея подчерпнута у него

PS. А термин мы тут действительно неправильно применяем, сленг просто.

cvy7

Добавлено, подумав. 😃
У меня MAX - драйвером по совместительству, в Вашем случае все-же лучше пин-диоды будет.

7 days later
Dikoy
ukkr:

По возможностям эти АРМы рвут любую МЕГУ.

Да нифига. Реально в 5-6 раз АРМ быстрее меги. При нагромождении плавучки - раз в 10. Но это предел. И конечно реч идёт о 9 арме, а не о 7. Седьмой в 2-3 раза виигрывает.
Плюс не надо забывать, что все армы намного нежнее АВРов, часто требуют двойного питания, выводы ток не держат и т.д.
ИМХО для таких задач сейчас Xmega приятней.

msv:

Но самое главное- не понял, как, даже зная вектор продольной оси самолета, можно корректировать гироскоп крена???

Очень просто. Зная углы курса, крена и тангажа по гиро (относительно начальных значений) и зная угол курса по GPS можно оценить уход угла курса по гиро. Предположив равный уход по остальным углам, получаем коррекцию гироскопов по GPS. Подобная система у текнола применяется и у Компанав2. Вот тока реально это работает если перепрошить профиль динамики GPS Приёмника на самолёт.

Nick_Shl:

Гироскоп не надо корректировать. Гироскоп надо интегрировать. Постоянно.

С гироскопом ничего не надо делать. А вот ДУС, как тут правильно заметили, надо интегрировать и, в связи с этим, корректировать. Не постоянно, но часто.

Syberian:

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

Нет, просто трёхосевой компас углы не даст. Только при условии точного задания оных на старте. В принципе, и тут можно прикрутить курс по GPS, но на наших широтах разрешения лучше 2,5 градусов не получить…

Dikoy
GSL:

В большой авиации до сравнительно недавнего времени именно по отвесу (маятнику пузырьковому) авиагоризонт корректировали. У больших самолетов он ведь тоже убегает по времени. Правда модель болтает больше чем реальный самолет, простым выключателем коррекции уже наверное не обойтись

Там порядок частот и ускорений совсем другой. Если привязать к модели маятник на 10 кг, то он неплохо покажет вертикаль. Даже электроники не порнадобится - за счёт своей массы 😃

Vad64:

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

Зато на полюсе курс отвалится 😃
А так +1

msv:

От разгона по идее не должно быть никаких артефактов. Проц или заведется или уж нет. Это только ИМХО, своей практики не так много.

Бывают при обработке прерываний. При работе с ЕЕПРОМ - 90% глюков. Гнал м48 до 27 МГц. Работала, если осторожно 😃

msv:

От себя, например, могу доложить, что датчик температуры TMP36 категорически не хочет работать в зоне облучения 1гГц видеопередатчика.

С термометрами вообще беда. Цифровые сцуко греются при частом опросе ( forum.ixbt.com/topic.cgi?id=48:9132#31 ). Я в итоге остановился на аналоге и внутреннем АЦП меги. Самый надёжный вариант.

msv:

поэтому применил MC34063 + IRF7413.

Кстати, можно научить этому саму атмегу, если большая точность напряжения не нужна. Я делал подобное: forum.ixbt.com/topic.cgi?id=48:8375#23
Для шахтёров датчик метана. Работает от двух мизинчиков год, при обнаружении газа орёт как резаный. У меня период замера АЦП рпримерно постоянный, т.к. чип мало загружен, колебания напряжения цифровой и стрелочный вольтметр не фиксируют вообще. Если привязать обмер к кадрам, например, можно и на плате автопилота такое сгородить. Причём можно прям из меги управлять выходным напряжением 😉

Dikoy
msv:

Люди, покаюсь… В принципе изначально не было в планах доводить проект до законченной конструкции с полным представлением всех исходников итп. Очень рассчитываю на обмен мнениями, идеями, как по железу, так и по алгоритмам. Много ценных замечаний и идей получаю в личке (чего только стоит шедевральный цикл вывода в строке за 3 такта на пиксель от уважаемого abalex), за что всем авторам большое спасибо.

Можем объединить усилия. Я длительное время занимался разработкой АП для БПЛА. Результат тут: fotki.yandex.ru/users/nm1456t01/album/94385/
Бортовой комплект модульный:

Можно использовать только АП или АП+модуль навигации. Параметры в кратце такие:
6 ППМ входов, 12 ППМ выходов (+6 ППМ выходов на навигационном блоке). Дуплексный цифровой канал с землёй до 4 км, через него можно и рулить.
Слежение антенной наземки за самолётом.
12 аналоговых ключей на навигационном блоке для управления полезной нагрузкой (подключение параллельно кнопкам фотика, например, и управление ими).
Но, у меня нет телеметрии и разработкой оной мне не хочется заниматься. Если объединить усилия, должен получиться неплохой проект.
Изюминка в том, что я сейчас пытаюсь побороть нелюбовь пирометров к ИК помехам и полётам в облаках. По этому на моей голловке помимо 6 пирометров стоит ещё магнитометр и аксель (в следующей версии и ДУС):

Комплексирование с ДУСом позволит вылечить пирометры от этой болензни. Вот так выглядит отработка помехи на 20 градусов обычной головкой. 1 - угол по дусу (зацените уход), 2 - модель сигнала пирометра, 3 - комплексированый сигнал. Шумовая составляющай комплексированого сигнала снижена за счёт ДУС, ухода нет. Это хорошо, это позволит летать при малом градиенте. Но отработка помехи никая…

Другой вариант - фильтр калмана. Штука хорошая, оценивает сигналы за 25 сек, потом давит шумы и систематику ДУСов на ура. Но вот момеху отрабатывает 1000 сек…

А вот после долгих рваний волос на (.) получаем такую картинку отработки:

То есть подавление резких помех почти идеально, уход всей системы на 10 градусов при отключении одного из каналов (ДУС или пиро) порядка 500 сек. То есть градус в 100 сек. ИМХО совсем нефигово, айда летать вдоль домов и в облаках! 😉
С тянучкой разберусь и надо это дело облетать.

cvy7
Dikoy:

Можем объединить усилия.

Dikoy,Я целиком ЗА, +1000

Собираюсь делать для квадрокоптера
в своем блоге здесь- постановку задачи описал
Все промежуточные результаты буду выкладывать

Если чтото из этого получится, то и проект будет открытым!

msv

Можем объединить усилия.

Если имеется в виду совместный проект, звучит заманчиво, но боюсь нереально… 😦 Уж слишком разные изначально задачи у всех. У меня, например, - сделать интегрированное устройство с тем функционалом, который сейчас уже есть (после отладки/доводки, конечно буду добавлять функциональность), с главным критерием- мин. бюджет. Если бы речь шла о коммерческом проекте, можно было бы назначить менеджера проекта и остальным подчиняться его волевым (хоть и обсуждаемым) решения, решая поставленные локальные задачи. А для проектов под себя, конечно никто не захочет делать то, что ему не нужно и/или не интересно и/или не по карману…
А если объединять усилия в смысли подсматривая чужие идеи и учиться на чужих ошибках, без сомнения полезно. Ради этого и тему создавал.
//----
Комбинация ДУС-пироголова безусловно перспективна. Жаль что не нашел подходящих по цене/качеству ДУС. Собственно давить шумы пироголовы ДУСом имхо и не нужно. Просто за основной сигнал брать именно с ДУСа, как менее шумный и более скоростной. А корректировать его долговременную нестабильность проинтегрированным (заодно все шумы срежуться) значением с пироголовы. Единственная сложность ( с ходу не соображу)- необходимо корректировать на малых интервалах времени и значение пироголовы по некоррелированным изменениям относительно ДУС .
//—
Пока жду моторчик есть время причесать код… Ошибок столько- что понимаю, самолет возвращался на базу на автопилоте не потому что, а вопреки… (шютка конечно… 😃) Странно, что авария произошла именно на ручном режиме, где все чисто.
Добавил в режиме стабилизации поддержку планирования - смещение 0-ля тангажа для газа меньше некоторого порогового значения.
Оснавная проблема- не могу сообразить как с пульта включать триммирование борта (установка нуля пироголовы и внутренних нормализированных значений каналов). Сейчас делается кратковременным переводом режима Ручной-Стабилизация-Ручной. (Режимы переключаются трехпозиционным дискретным переключателем) Но анализ видео показал, что несколько раз триммирование включалось ложно (нервничая вполне можно щелкнуть), что конечно чревато… Использовать еще один канал только для этого вроде бы жалко. В общем известное противоречие,- хочется макс. использовать один канал управления АП, при этом сохранить однозначность…

cvy7

msv, в этом отношении прав! Когда я говорил о совместных усилиях (несколькими постами ранее), речь шла об том, чтобы сделать хотя-бы на уровне Вашего же проекта с аппаратурой, т.е. привлечь людей, которые решая свои локальные задачи, помогут развитию проекта. А аппаратура у каждого своя, конечно - же, и ветви проекта свои.

cvy7


msv, триммирование борта в полете надо делать?
у нас в квадрокоптерах для этого используются особые положения стиков (в полете не используемые)
но это на земле,
если в полете, то наверное в канал то в один можно втолкать, только тумблера, все равно надо 2, и тот, который триммер, короткий! Это все уже психо-физиология а не электроника, так просто ее не перепрограммируешь 😃

msv

Да, триммировать АП хотелось бы иметь возможность именно в полете. Какой микшер сделать с двух дискретных переключалок на один канал, что бы осталась однозначность: 1я переключалка-три режима полета (ручной, стабилизатор, АП), 2-я - триммирование? Что-то вроде рядом мысля, но никак не досоображу…
//–
Про связку ДУС/пироголова. Что то дошло, что такая рекурсивная стабилизация, которую предлагал в предыдущем сообщении, да еще с потерей постоянной составляющей от пироголовы, вероятно потребует нехилого мат.обеспечения для оценки сходимости и устойчивости системы…

cvy7

msv, связка ДУС- пара акселерометров для коррекции ДУСа давно и успешно применяется в коптеростроении, где то тут Сергей aka botvoed толково все это объяснял как работает. Хотя с использованием обработки по Калману будет получше, но это надо АРМ, у авра ни числогрызности ни ОЗУ не хватит. С коррекцией по пироголове imho мало чем отличается, тоже зашумленный и медленный сигнал, по которому корректируются интегралы ДУСов, более достоверные, но содежащие в себе дрейфовую составляющую.

Настраиваем мы правда это все методом научного тыка.

По клювам их ведь хоть сколько можно сделать. Один допустим прибавляет- вычитает 128 единиц, другой 64, итд

А на борту с разбирать с большего (так наверное), я так задумывал у себя, хотя еще это не реализовал в коде

Aleksey_Gorelikov
msv:

Оснавная проблема- не могу сообразить как с пульта включать триммирование борта (установка нуля пироголовы и внутренних нормализированных значений каналов). … использовать один канал управления АП, при этом сохранить однозначность…

Сергей, у тебя ж такой передатчик, что позволяет делать что угодно 😁
Замени пару строк в коде, разбей один аналоговый канал на (пусть будет) 16 дискретных. И никаких проблем! Всеравно ж в телеметрии ППМ разбираешь.

msv

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

Тут есть деликатный момент, что гляди на графики от Dikoy, появляется желание на небольших интервалах времени корректировать именно ошибочные сдвиги пироголовы по сигналу от ДУС. Вот эта рекурсия (первый сигнал корректируем по второму, а второй по первому и в обоих случаях с потерей “постоянной составляющей”) несколько вызывает сомнения в ее жизнеспособности в реале…

разбей один аналоговый канал на (пусть будет) 16 дискретных. И никаких проблем!

Проблема в том, что для получения n независимых каналов интервалы канала ppm уменьшаются со скоростью 2^n (те. очень быстро…). А малые интервалы требуют тщательной калибровки декодера и увеличивают вероятность ложного срабатывания. Ну тут уж ничего не поделаешь, чудес похоже не бывает…
Может все же кто придумает эргономичное решение, как сделать на пульте с одним трехпозиционным переключателем и двумя двухпозиционных:

  1. Переключение режимов АП (ручной, стабилизация, АП). (Очевидно трехпозиционником).
  2. Установка нуля пирогоризонта.
  3. Установка нуля выходных каналов после триммировании модели.
    Желательно задействовать мин переключалок и каналов…
    Повторюсь, пока у меня 2 и 3 объединены (хотя это не всегда удобно) и включаются кратковременным переключением ручной-стаб-ручной…
Dikoy

связка ДУС- пара акселерометров для коррекции ДУСа давно и успешно применяется в коптеростроении, где то тут Сергей aka botvoed толково все это объяснял как работает. Хотя с использованием обработки по Калману
Ну, без калмана там врядли хорошо работает 😉 Мы это ещё лет 5 назад прошли.

А с калманом работает хорошо, но в полёте НЕОБХОДИМЫ прямолинейные участки. Чтобы фильтр выделил направление g. На самолёте это малореально. Пиро тут гораздо симпатичней.

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

mandigit
msv:

Может все же кто придумает эргономичное решение, как сделать на пульте с одним трехпозиционным переключателем и двумя двухпозиционных:

  1. Переключение режимов АП (ручной, стабилизация, АП). (Очевидно трехпозиционником).
  2. Установка нуля пирогоризонта.
  3. Установка нуля выходных каналов после триммировании модели.

A - трехпозиционный переключатель, B,C - двухпозиционные
A=0,B=0,C=0 - нет активности (далее обозначаем 000)

000->010 (ручной)->011(нуль пирогоризонт)
________________->110->111(нуль триммер)
000->100->110 (стабилизация)
000->200->210 (АП)

Aleksey_Gorelikov
msv:

Проблема в том, что для получения n независимых каналов интервалы канала ppm уменьшаются со скоростью 2^n (те. очень быстро…). А малые интервалы требуют тщательной калибровки декодера и увеличивают вероятность ложного срабатывания.

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

8 days later