OSD на ATmega1281
Информация о состоянии IMU была интересна и полезна на период отладки. Теперь хотелось бы сделать что-то попроще, попонятнее… Например уровень вибрации. Но что-то не соображу как это реализовать… Если просто поставить ФВЧ с частотой среза скажем 5Гц на длину вектора акселя, то будут честно измерены вибрации от 5 до 25Гц (частота опроса акселя всего 50Гц). Реальные вибрации от двигателя до ~170Гц. Поднимать частоту опроса акселей до 400Гц только для оценки вибрации не слишком хочется (если вообще пройду по быстродействию). Может есть какие идеи?
Если хочется странного - то может, полезнее будет фурье? - по нему можно определять частоту раскачки ероплана и пытаться автоматически ПИД настраивать? Частоты пониже - герцы и доли герца, и вроде как полезнее - система теоретически становится самонастраивающейся. А двигатель чтобы не вибрировал - пропеллер надо балансировать 😃
Если хочется странного…
Задача скромная - выдать на OSD полезную и наглядную информацию о состоянии IMU. Может из OSD вообще все по IMU выкинуть, только загружает пилота? В принципе о качестве работы IMU можно и просто по линии горизонта судить?
…и пытаться автоматически ПИД настраивать?
Если и успею на меге БПФ посчитать, и даже из спектра убрать шумы, то дальше построить ПХ модели имхо непросто… Пытался почитать про самонастраивающиеся регуляторы, там либо трехэтажная математика с потерей для меня всякого физического смысла и предупреждениями о куче ограничений, или общие идеи типа: 1. снять ПХ-объекта, 2. построить регулятор с обратной функцией (напоминает детскую загадку о бегемоте и холодильнике).
А двигатель чтобы не вибрировал - пропеллер надо балансировать
Всю прошлую неделю по вечерам пробовал на своем вжике радикально убрать вибрацию для получение четкой картинки с курсовой камеры.
- Пробовал разные винты (конечно проверял или делал статическую балансировку). Одна простая зависимость: больше шаг - больше вибрация.
- Пробовал разные мягкие подвесы ВМГ. Однозначный результат один: сама ВМГ начинает вибрировать гораздо сильнее. Корпус вибрирует немного меньше только в определенном диапазоне оборотов.
- Пробовал делать отдельную платформу на мягком подвесе ( втулки от CD-ROM) на которую крепил только акк и камеру… Радикально проблему тоже не решило.
Вообщем пока плюнул на это дело…
Одна простая зависимость: больше шаг - больше вибрация
Вот от винта она и идёт.
Я читал на форуме где то, что эту проблему решает 3-х лопастный винт.
Заинтересовался тоже этим проектом, здорово получается! Попробую собрать.
Для контроля вибраций в полетном прямолинейном полете думаю хватит сканирования акселей с частотой среза 10-15Гц (меняя произвольно частоту сканирования). Если будут какие то нелогичные всплески - сигнализировать на экран. На мой взгляд было бы полезно сделать отдельную подпрограмму автоматической пошаговой настройки (калибровки) всех основных параметров. Скажем лимиты серв по контролю тока (добавить в схему), обороты-вибрации путем замера вибраций на нескольких частотах вращения ОР, заложить сразу описание основных стандартных моделей планеров, лимиты каналов как всегда двигая стиками и т.п. В результате положительного обсчета получать конфиг для прошивки.
Скажем лимиты серв по контролю тока (добавить в схему), обороты-вибрации путем замера вибраций на нескольких частотах вращения ОР, заложить сразу описание основных стандартных моделей планеров, лимиты каналов как всегда двигая стиками и т.п.
Сергей этого делать не хочет. Я ему об этом говорил.
Я бы ещё хотел полёт по точкам…
Вообще проект, для самодельщиков. Кто его сделает самостоятельно, то ему не нужны те функции, которые описаны выше.
Делайте, не пожалеете.
Для контроля вибраций в полетном прямолинейном полете думаю хватит сканирования акселей с частотой среза 10-15Гц (меняя произвольно частоту сканирования). Если будут какие то нелогичные всплески - сигнализировать на экран.
Вы сможете эту идею довести до уровня алгоритма? Мне уже не очень понятно что значит “сканировать с частотой среза”…
В принципе о качестве работы IMU можно и просто по линии горизонта судить?
Искусственного горизонта должно быть за глаза
Если и успею на меге БПФ посчитать, и даже из спектра убрать шумы, то дальше построить ПХ модели имхо непросто…
Посчитать успеете, если не накапливать информацию, а потом считать, а на лету считать, как точка пришла, не помню, как по умному алгоритм называется, пара умножений на точку. Лет десять назад такое делал на работе - по натяжению и дрожанию велосипедной цепи определял силу с которой лисапедист педали жмет, разницу усилий ног и тому подобная белиберда. Получалось достаточно просто, процессор по большей части спал. Кстати, одному студенту удалось сделать аналогичный алгоритм вообще без аппаратного умножения - кто бы разобрался в его ассемблерных исходниках. Ну а дальше можно без математики, сплошной арифметикой - сгонять раскачку в сторону низких частот и уменьшать амплитуду, никто не запрещает метод проб и ошибок.
Посчитать успеете, если не накапливать информацию, а потом считать, а на лету считать, как точка пришла,
Так работают фильтры БИХ или КИХ. Фильтрами много чего можно придумать кроме бананальных ФНЧ, ФВЧ, ПФ. Например организовать задержку на 90 град (очень полезно, можно мгновенную частоту определить в любой точке) даже ПИД-построить. Но БПФ требует конечное количество выборок, и никак иначе… Или я что-то забыл в ЦОС.
Вообщем тоже предлагаю довести до уровня алгоритма, а то пока все на уровне ощущений идеи…😃
Вы сможете эту идею довести до уровня алгоритма?
Попробую объяснить на картинке идею, в математике не силен, долго думать придется.
Каждый следующий запрос сдвигаем по фазе со смещением на величину той дискретности которую хотим увидеть. Т.е. примерно отрисовать синусоиду вибраций с частотой 100Гц можно 10 опросами во времени 1000 мс.
протестил Осд на МЕГЕ2560 - работает, пока что в макете - тоесьт только вывод осд. просто закинул прошиву 2.3, спаял плату с лм1881. буду дальше собирать весь комплект:) !!!
Сергею БОЛЬШОЕ СПАСИБО за разработку!!!
В тему или нет, но думаю интересно посмотреть. Интересный случай синфазности движения камеры и самого вертолета нашел в серии фотоснимков, делала дочь друга, пулеметом строчила просто. Кадры с разницей 2 секунды, но тряска фотоаппарата совпала с изменением положения вертолета в пространстве. Клянусь, ничего не редактировал, только размер уменьшил и в gif сложил 2 кадра.
ftp.hamsk.ru/fpv/2013-04-28/1111.gif
Как бы в тему о сдвиге фаз.
Сергей, прошу уточнить - на какие лапы меги ОСД цеплять ИМУ ?
плату почти отрисовал под 2560 мегу
Прошу помощи.
Собранный 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 без конденсаторов.
В место пиродатчиков XY. Там на плате разве не написано?
Иван, а зачем такой могучий проц? Флеша и в 128 пока только 30% использовано…
Андрей, для вашей строки КС=29. Если потребуется, могу выслать свою тестовую прожку в которой можно отправить любую NMEA-команду (она сама рассчитывает КС).
какой есть в наличии:))
и ещё вопросец - ЛРСки схема и прошива есть? это чтобы полный комплект уже собрать 😃)
Прошу помощи.
Собранный 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 без конденсаторов.
www.hhhh.org/wiml/proj/nmeaxor.html
$PMTK314,0,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0*29
Всем спасибо, выставил выдачу нужных сообщений в gps модуле.
Есть желание перерисовать OSD под импульсник ST1S10 или что другое посоветуете.
Подойдёт bas316 или mbr0540 вместо 4148 в модуляторе.
Разбавлю разговоры видео… Очень скромный личный рекорд- 5км.
Изменил инфу по иму,надеялся что будет реже пикать. А он, зараза, почти непрерывно стал трезвонить. Исправлю…
Зато не нарадуюсь на волшебное стеклышко с securitycamera2000- IR-фильтр. Цвета теперь не требуют никакой пост-коррекции.