OSD на ATmega1281

dollop

Летаю с этим АП и ОСД на таком же приемнике. Если правильно расположить стоковые антены то 3км летаю без бибиков. При разворотах попискивает телеметрия о слабеньком сигнале. До ФС удалением не доводил - только передатчик выключал в полете принудительно - самолет благополучно вернулся на базу. Прошивал по инструкции прошивка по первой ссылке (не от D8R-ХР). Никаких проблем!
Что показывает осцилл на ноге приемника с предполагаемым CPPM? Сколько каналов ППМ вы настроили в ОСД? Должно совпадать то что настроили и то что генерит ваш передатчик. Куда подключаете сигнал CPPM? Формирователь на транзисторе собирали?

JT_UA

CPPM с приёмника уходит.
Формирователь на транзисторе собраный , на входе

На ноге меги

К сожалению осцилографа неимею и делал эти осцилограммы через микрофонный вход зк.
Количество каналов выставил.

JT_UA

Вопрос снят.
Dollop большое спасибо , перешился на простую прошивку и оно заработало.

msv

Хоть все решилось, на всякий случай:
Cистема ожидает пакет PPM с параметрами:

  1. Количество каналов должно соответствовать конфигурации;
  2. Длина синхро-импульса должна быть меньше 17ms и больше 2.5ms;
  3. Длины всех стробов должны быть меньше 0.6ms и больше 0.2ms;
  4. Длины канальных импульсов+ длина строба должны быть меньше 2.2ms и больше 0.8ms.
    После этого должна хотя-бы крутиться палка RC на OSD…
msv

Информация о состоянии IMU была интересна и полезна на период отладки. Теперь хотелось бы сделать что-то попроще, попонятнее… Например уровень вибрации. Но что-то не соображу как это реализовать… Если просто поставить ФВЧ с частотой среза скажем 5Гц на длину вектора акселя, то будут честно измерены вибрации от 5 до 25Гц (частота опроса акселя всего 50Гц). Реальные вибрации от двигателя до ~170Гц. Поднимать частоту опроса акселей до 400Гц только для оценки вибрации не слишком хочется (если вообще пройду по быстродействию). Может есть какие идеи?

varvar

Если хочется странного - то может, полезнее будет фурье? - по нему можно определять частоту раскачки ероплана и пытаться автоматически ПИД настраивать? Частоты пониже - герцы и доли герца, и вроде как полезнее - система теоретически становится самонастраивающейся. А двигатель чтобы не вибрировал - пропеллер надо балансировать 😃

msv
varvar:

Если хочется странного…

Задача скромная - выдать на OSD полезную и наглядную информацию о состоянии IMU. Может из OSD вообще все по IMU выкинуть, только загружает пилота? В принципе о качестве работы IMU можно и просто по линии горизонта судить?

varvar:

…и пытаться автоматически ПИД настраивать?

Если и успею на меге БПФ посчитать, и даже из спектра убрать шумы, то дальше построить ПХ модели имхо непросто… Пытался почитать про самонастраивающиеся регуляторы, там либо трехэтажная математика с потерей для меня всякого физического смысла и предупреждениями о куче ограничений, или общие идеи типа: 1. снять ПХ-объекта, 2. построить регулятор с обратной функцией (напоминает детскую загадку о бегемоте и холодильнике).

varvar:

А двигатель чтобы не вибрировал - пропеллер надо балансировать

Всю прошлую неделю по вечерам пробовал на своем вжике радикально убрать вибрацию для получение четкой картинки с курсовой камеры.

  • Пробовал разные винты (конечно проверял или делал статическую балансировку). Одна простая зависимость: больше шаг - больше вибрация.
  • Пробовал разные мягкие подвесы ВМГ. Однозначный результат один: сама ВМГ начинает вибрировать гораздо сильнее. Корпус вибрирует немного меньше только в определенном диапазоне оборотов.
  • Пробовал делать отдельную платформу на мягком подвесе ( втулки от CD-ROM) на которую крепил только акк и камеру… Радикально проблему тоже не решило.
    Вообщем пока плюнул на это дело…
ubd

Одна простая зависимость: больше шаг - больше вибрация

Вот от винта она и идёт.
Я читал на форуме где то, что эту проблему решает 3-х лопастный винт.

rw9hk

Заинтересовался тоже этим проектом, здорово получается! Попробую собрать.

Для контроля вибраций в полетном прямолинейном полете думаю хватит сканирования акселей с частотой среза 10-15Гц (меняя произвольно частоту сканирования). Если будут какие то нелогичные всплески - сигнализировать на экран. На мой взгляд было бы полезно сделать отдельную подпрограмму автоматической пошаговой настройки (калибровки) всех основных параметров. Скажем лимиты серв по контролю тока (добавить в схему), обороты-вибрации путем замера вибраций на нескольких частотах вращения ОР, заложить сразу описание основных стандартных моделей планеров, лимиты каналов как всегда двигая стиками и т.п. В результате положительного обсчета получать конфиг для прошивки.

ubd

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

Сергей этого делать не хочет. Я ему об этом говорил.
Я бы ещё хотел полёт по точкам…

Вообще проект, для самодельщиков. Кто его сделает самостоятельно, то ему не нужны те функции, которые описаны выше.
Делайте, не пожалеете.

msv
rw9hk:

Для контроля вибраций в полетном прямолинейном полете думаю хватит сканирования акселей с частотой среза 10-15Гц (меняя произвольно частоту сканирования). Если будут какие то нелогичные всплески - сигнализировать на экран.

Вы сможете эту идею довести до уровня алгоритма? Мне уже не очень понятно что значит “сканировать с частотой среза”…

varvar
msv:

В принципе о качестве работы IMU можно и просто по линии горизонта судить?

Искусственного горизонта должно быть за глаза

msv:

Если и успею на меге БПФ посчитать, и даже из спектра убрать шумы, то дальше построить ПХ модели имхо непросто…

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

msv
varvar:

Посчитать успеете, если не накапливать информацию, а потом считать, а на лету считать, как точка пришла,

Так работают фильтры БИХ или КИХ. Фильтрами много чего можно придумать кроме бананальных ФНЧ, ФВЧ, ПФ. Например организовать задержку на 90 град (очень полезно, можно мгновенную частоту определить в любой точке) даже ПИД-построить. Но БПФ требует конечное количество выборок, и никак иначе… Или я что-то забыл в ЦОС.
Вообщем тоже предлагаю довести до уровня алгоритма, а то пока все на уровне ощущений идеи…😃

rw9hk
msv:

Вы сможете эту идею довести до уровня алгоритма?

Попробую объяснить на картинке идею, в математике не силен, долго думать придется.

Каждый следующий запрос сдвигаем по фазе со смещением на величину той дискретности которую хотим увидеть. Т.е. примерно отрисовать синусоиду вибраций с частотой 100Гц можно 10 опросами во времени 1000 мс.

Иван

протестил Осд на МЕГЕ2560 - работает, пока что в макете - тоесьт только вывод осд. просто закинул прошиву 2.3, спаял плату с лм1881. буду дальше собирать весь комплект:) !!!
Сергею БОЛЬШОЕ СПАСИБО за разработку!!!

rw9hk

В тему или нет, но думаю интересно посмотреть. Интересный случай синфазности движения камеры и самого вертолета нашел в серии фотоснимков, делала дочь друга, пулеметом строчила просто. Кадры с разницей 2 секунды, но тряска фотоаппарата совпала с изменением положения вертолета в пространстве. Клянусь, ничего не редактировал, только размер уменьшил и в gif сложил 2 кадра.

ftp.hamsk.ru/fpv/2013-04-28/1111.gif

Как бы в тему о сдвиге фаз.

Иван

Сергей, прошу уточнить - на какие лапы меги ОСД цеплять ИМУ ?
плату почти отрисовал под 2560 мегу

JT_UA

Прошу помощи.
Собранный GPS модуль на ев500 надо отконфигурировать.
$PMTK314,0,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0* подскажите как посчитать контрольную сумму этой команды.
Иван подключаеться на 55 56 ноги меги 1281 без конденсаторов.

ubd

В место пиродатчиков XY. Там на плате разве не написано?

msv

Иван, а зачем такой могучий проц? Флеша и в 128 пока только 30% использовано…
Андрей, для вашей строки КС=29. Если потребуется, могу выслать свою тестовую прожку в которой можно отправить любую NMEA-команду (она сама рассчитывает КС).

Иван

какой есть в наличии:))
и ещё вопросец - ЛРСки схема и прошива есть? это чтобы полный комплект уже собрать 😃)