Создание собственной системы стабилизации

alexeykozin
SergejK:

Так при любой частоте петли с датчика считаем те же самые 1000°/с, откуда тут возьмутся ошибки? Но ок, тогда следуя этой логике какие же тогда ошибки будет давать тот самый рекомендованый мпушный фильтр в 250Гц или также используемые 188Гц?

гы, а я миник на f4by запускаю с фильтром на 43 гц, эксперимента ради надо попробовать посмотреть как будет себя вести на 188-250

SergDoc
SergejK:

Но ок, возьмем что моторам нужно исправить 1° за 500мкс - а успеют ли они вообще это сделать за такое время?

вот - Кесарю кесарево - какой аппарат такой и цикл!

alexeykozin:

гы, а я миник на f4by запускаю с фильтром на 43 гц, эксперимента ради надо попробовать посмотреть как будет себя вести на 188-250

забей у тебя цикл - 400гц - там хоть 10гц ставь )))

alexeykozin

400гц это цикл стабилизации а 43 это фильтр мпу
кстати там инерциалка - екф прожорливая до ресурсов а цикл стабилизации - контроля моторов легковесный

SergDoc

ну дык а я тебе про что - залей прошиву - ощути разницу - сам скажешь, что арду фу - кстати на ф4бы все датчики пашут… и 2 килогерца - ваншот тоже 2 - так что сними пропы перед первым подключением и моторы проверь - заработают не, а то я пока регули не перешил - смотрел либо на молчащие либо жужащие на полной дури…
и ощущения - просто в восторг щенячий приводит и жужит натурально как оса)))

SergejK
alexeykozin:

гы, а я миник на f4by запускаю с фильтром на 43 гц, эксперимента ради надо попробовать посмотреть как будет себя вести на 188-250

Например на чистом от вибрации 700мм аппарате при 500Гц цикла отчетливо вижу разницу в поведении при изменении частоты фильтра с 98Гц до 188Гц, становится четче в полете, меньше вихляния. Правда для мпу очень важен низкий уровень вибрации, иначе эффект может быть противоположный.

SergDoc
alexeykozin:

кстати там инерциалка - екф прожорливая до ресурсов а цикл стабилизации - контроля моторов легковесный

я знаю место где взять екф на 16 осей который легко в 500гц выкрутится, и будет заменять и иму тоже, а не в арде 100 герцов… кстати я его летал на мелкой дус 188 аксель 41 - где-то даж кино было…

alexeykozin:

400гц это цикл стабилизации а 43 это фильтр мпу

а я и не знал) вот одно плохо в 6000 -й фильтр один и на дус и на аксель, вот 6500 - 9250 совсем другой разговор, мухи отдельно, котлеты отдельно…

alexmos:

В чем могут быть преимущества аналогового датчика, ведь с ним по сути прдется делать то же самое?

ну тут как бы посчитать и повесить на выход датчика rc или lc фильтр на определённые частоты и жестко убить всё ненужное, а нужное дать на ацп, но стоимость и громоздкость конструкции - датчики, фильтры, ацп (24 бит или больше - 12 битный проца как-то не в кайф) - не надо усреднять чего-то программно - 8000 раз прочитали - 8000 раз выдали на регули… вот как-то ж работают как их там - короче машины горизонтального бурения - как они своей инерциалкой под землёй до миллиметров путь прокладывают?

oleg70
alexmos:

К примеру в ICM20608 есть возможность получать данные, минуя фильтры, в том виде как их получает внутренний АЦП.

Дык, минуя фильтры, не означает минуя выходные регистры, в которые он пишет с частотой 2000 Кгц… не более.
(еслиб он писАл с частотой 32 Кгц то и чувствительнось у него была б не 2000 гр.сек , а 32000 гр.сек…, иначе никак по моему…)

alexmos:

Не вижу отличий аналогового от цифрового.

Тут то и разница - что у аналогового можно считывать показания “моментально” на частоте ограниченной только физическими свойствами микромеханики (возможно 32 Кгц), а уж как и чем оцифровывать/фильтровать уже другой вопрос.

alexmos:

думаю даже 100 Гц будет вполне достаточно

Может даже и меньше (зависит от “тушки” коптера)… Иными словами:
увеличивать частоту выборок = увеличивать чуйку сенсора=возможность отслеживания более мелких/плавных угловых скоростей скоростей=увеличивать точность ИМУ…
А уж насколько это реально оправдано в каждом конкретном случае - это дело вкуса.

alexeykozin
SergDoc:

а я и не знал) вот одно плохо в 6000 -й фильтр один и на дус и на аксель, вот 6500 - 9250 совсем другой разговор, мухи отдельно, котлеты отдельно…

утверждать и врать не буду но вроде как в 3.3 фильтр по мпу отдельно, а что касается горизонта и инс, там дальше идет настраиваемый программный фильтр екфный и если пиды идут от сырых данных мпу то почему бы и не …

alexmos
SergDoc:

ну тут как бы посчитать и повесить на выход датчика rc или lc фильтр на определённые частоты и жестко убить всё ненужное, а нужное дать на ацп, но стоимость и громоздкость конструкции - датчики, фильтры, ацп (24 бит или больше - 12 битный проца как-то не в кайф) - не надо усреднять чего-то программно - 8000 раз прочитали - 8000 раз выдали на регули…

Это прям как миф про теплый ламповый звук и про то, что грампластинки - до сих пор лучший носитель для аудио, а цифра “от лукавого” 😃 ИМХО, сейчас абсолютно все можно повторить в цифре, и если и будут потери в задержке/точности, то нужно просто понимать пороги, где это уже не критично. Коптеру цифрового гирика должно за глаза хватать при любых маневрах. В конце концов, реакция человека 200ms - самое узкое место тут, а задержки при частоте опроса 1кГц - всего 1 мс.

oleg70:

еслиб он писАл с частотой 32 Кгц то и чувствительнось у него была б не 2000 гр.сек , а 32000 гр.сек…, иначе никак по моему

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

alexeykozin
alexmos:

Это прям как миф про теплый ламповый звук

а почему миф? у ламповых усилителей большой диапазон выходного напряжения, анодное около 300 вольт, отсюда и глубина звука.
представьте себе осцилограмму с вч колебаниями с размахом в 30 вольт промодулированными низкой частотой в амплитуде 300 вольт,
попробуйте это впихнуть в 30 вольтовую осцилограмму - получится что мы остались без басов, вернее с перековерканными

oleg70
alexmos:

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

Я о том - что считать данные с сенсора с чувствительностью 2000 гр.сек. можно не чаще чем 2 Кгц,
а АЦП там может работать хоть как быстро, нам от этого “не тепло не холодно”, остается только за него порадоваться, поэтому все разговоры о опросе датчика в 32 Кгц не имеют смысла (ИМХО)…
(хотел скопипастить сюда соответствующий параграф из даташита, но он собака, запаролирован, а самому набирать по англицки не охота…)

SergDoc
alexmos:

Это прям как миф про теплый ламповый звук

тёплый ламповый звук - это реальность ))) у ламп, в отличии от полупроводников, вольтамперная характеристика линейная и до сих пор профф оборудование на лампах - даже микрофоны! недавно разбирал - просто шедевр… и тут таже песня - ну лампы ставить не получится, но прецизионные операционники вполне можно впихнуть между датчиками и ацп)))

alexmos
SergDoc:

у ламп, в отличии от полупроводников, вольтамперная характеристика линейная и до сих пор профф оборудование на лампах - даже микрофоны

С изобретением обратной связи линейность уже не так актуальна (впрочем есть и вполне линейные усилители A, AB класса), а с изобретением ШИМ-усилителей транзисторные вообще вне конкуренции. Прецезионные усилители сенсору есть смысл ставить только если его точность выше точности “обычного” операционника. А я сильно сомневаюсь что MEMS имеют высокую точность. В датащитах нелинейность точно больше 1% а шумит просто ужас - так накой ему точный и малошумящий операционник с 10-ым знаком ошибки после запятой?

rual
Gapey:

вычислять изменение положения по каждому отсчету АЦП за время одного отсчета .

только так

Gapey:

в конце концов получим тоже самое положение через тоже время

с учетом погрешности датчика и вычислений

alexmos:

Усреднять одномерным фильтром в любом случае надо, но он есть и в цифровых датчиках и работает на достаточно приличной скорости. чтобы ничего не пропустить. А запускать обсчет AHRS для сведения трех осей можно гораздо реже, думаю даже 100 Гц будет вполне достаточно.

Вполне вариант, но опять же нельзя пропускать отсчеты датчика, и при быстрых маневрах будет накапливаться “неучтенка” взаимовлияния осей между расчетами ориентации.

SergejK:

теоретически достаточно выборки с удвоеной максимальной частотой в спектре сигнала

Это теорема Котельникова

SergejK:

Так при любой частоте петли с датчика считаем те же самые 1000°/с, откуда тут возьмутся ошибки?

например, пропустили 2 отсчёта. Взяли в расчет 0 гр/сек, потом быстро дернули креном -650 гр/с и обратно 605 гр/с, потом пришла петля и взяла опять 0гр/с. Интегратор угла покажет 0гр, а на самом деле будет -45гр. Потому я пишу, что нужно собирать ВСЕ отсчеты физ.датчика, если не хватает скорости проца, то виде интеграла между расчетами (в т.ч. аналоговым интегралом).

SergDoc:

у ламп, в отличии от полупроводников, вольтамперная характеристика линейная

Не только, у них нелинейность весьма “круглая” и адаптивная (при длительной перегрузке каскад “сползает” в линейный участок), а у ПП нелинейность “острая” - “клыки” ( у биполярных), и “квадратная” у полевых - насыщение.

SergejK
rual:

Это теорема Котельникова

Сори, это было не патриотично 😃

rual:

например, пропустили 2 отсчёта. Взяли в расчет 0 гр/сек, потом быстро дернули креном -650 гр/с и обратно 605 гр/с, потом пришла петля и взяла опять 0гр/с. Интегратор угла покажет 0гр, а на самом деле будет -45гр.

Так вот возвращаясь к теореме Котельнкова - если на мпушке использовать фильтр (188Гц или 250Гц, как советует главный разработчик) то как бы мы не дергали, считывая с нее данные с периодом соответсвующим >500Гц (тоесть начиная с удвоеной максимальной частоты в выходном спектре сигнала 188Гц или 250Гц) мы учтем все те всплески, вызваные дерганьем.

Глобальная особенность тут в другом - разработчики и пользователи говорят на разных языках. Например, продвинутый пользователь залил последнюю прошивку с новой в два раза большей частотой петли, чуток поднапрягся, сделал пару красивых флипов и пролетов (ну а как иначе, он же продвинутый пользователь 😃 ) - значит повышеная частота работает и это уже закон! И никакие теоремы тут не докажут обратного 😃
А уж если разговор о бизнесе, то против законов тем более не попрешь 😉

rual
SergejK:

Глобальная особенность тут в другом - разработчики и пользователи говорят на разных языках.

Не пользователи, а маркетологи. Выдергивают громкие фразы (“быстрей, выше, сильней!”) из речей разработчиков и вставляют в рекламные слоганы.

oleg70
SergejK:

сделал пару красивых флипов и пролетов (ну а как иначе, он же продвинутый пользователь ) - значит повышеная частота работает и это уже закон!

Золотые слова… Чистота эксперимента и анализ результатов зачастую вызывают сомнения,
или выдаётся желаемое за действительное… всёж теорию/мат часть знать надо, и почаще к ней обращаться.

Gapey

на самом деле все зависит от характеристик самого коптера … а именно от того какие максимальные угловые ( да и линейные тоже) ускорения может обеспечивать аппарат …
чем больше ускорения , тем чаще имеет смысл проводит расчеты и выдавать команды на управление …
так что по мере миниатюризации (снижении массогабаритов) , а также повышении эффективность моторов , регулей , аккумуляторов реально необходимая частота циклов обработки будет расти …

rual
Gapey:

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

Совершенно так. Сам с проблемой недостаточной скорости регулей столкнулся только на 150м размере, 550й летал на 50Гц стандартных ХК-регулях.

7 days later
oleg70
SergDoc:

F7BY начало )))

Лучше сразу ARM11BY… чтоб, так сказать, “на пике прогресса”…