Создание собственной системы стабилизации
Если эта математика внутри чипа крутится, то это ВЕЩЬ…
ДЛя полётника вещь малопригодная, ибо не корректируется снаружи, т.е. по сути тот же МАРГ (Магвик или как его там?)
ибо не корректируется снаружи
не корректировать снаружи я так понял можно, но - одно большое но - нихрена там толком нет, есть тот же бинарник что и был всегда, с одним маленьким исключением есть два файла с адресами регистров самого DMP (там кстати регистры уже сразу обозваны по квартенионам и т.п.) и файл ключей к этому DMP - что они делают не глядел, ну короче либо загоняй тот бинарник (он без компаса) либо составляй сам с калибровками управлением и т.п. как догадайся сам в пдф-ках толком ничего нет, короче надо глубже ковыряться… да и всё это в 3-х килобайтах, частота обновления 200Гц… а вот прерывание выдаёт на 25Гц - чёт не складывается в картинку…
выдаёт на 25Гц - чёт не складывается в картинку…
я так понимаю, оне запоздали с рассекречиванием. Теперь это никому не нужно. Ну разве что пригодно как готовое “непрофильное” решение для определения ориентации для каких нить портативных приборов.
кстати у чувака ещё кино интересное есть
Ну разве что пригодно как готовое “непрофильное” решение для определения ориентации для каких нить портативных приборов.
я чёт тоже к этому склоняюсь - нефиг туда лезть, вообще я мыслю про датчики так:
аналоговые датчики!
почему: - можно подобрать нужную ёмкость на выходе для наших условий, можно составить кривую по температуре (опытным путём)
АЦП внешний 24-х битный - больше точность, переполнение маловероятно, ацп подключен по SPI - все датчики в одном флаконе по лапам…
минусы такого решения габариты imu и цена… плюсы - если не задаваться целью считать всё сразу а тупо передавать - цепляем проц самый дешевый и самый маленький - лижбы успел фильтронуть и передать все значения 400-500 раз в секунду (так для себя), и всё это по CAN шине цепляется к основному процу, который тупо воспринимает это всё как один датчик на всё…
типа так www.techmor.com/inertial-measurement-unit-im-1/
а вот прерывание выдаёт на 25Гц
Зато какой ФВЧ получается(!)… 😃
Зато какой ФВЧ получается
лучше LC, фильтра не знаю )))
Олег, кстати пока вспомнил - то же удержание высоты или позиции - не важно…
двойное интегрирование даёт ошибку очень большую, но из первого интегрирывания мы получаем скорость - корректируем её дифференцированием пути с датчика (GPS…Baro) потом можно и ещё раз интегрировать? и ещё раз поправить?
а вот адаптивность этой схемы не скажу ))) кто-то (пальцем показывать не буду mahowik) сам не догадываясь того или скорей зная, создал адаптивный фильтр на базе альфа-бета…
двойное интегрирование даёт ошибку очень большую, но из первого интегрирывания мы получаем скорость - корректируем её дифференцированием пути с датчика (GPS…Baro) потом можно и ещё раз интегрировать? и ещё раз поправить?
Я так и делаю, проблема в том, что коэффициенты трудно подобрать. Получаются минимум 2 контура коррекции, а по хорошему ещё и аксель надо корректировать.
корректируем её дифференцированием пути с датчика
Корень зла - шум акселя…, барометром скорректировать наверно можно, но он тоже - “не подарок”, как равно и GPS…
Наверняка решение какое нибуть есть…, надо работать (экспериментировать) с этим., у меня пока не получилось…
аналоговые датчики
Согласен полностью… кстати не обязательно сразу аналог оцифровывать… те же ПИДы / фильтры можно реализовать на аналоговых узлах, точность/быстродействие будет непревзойденным… (но это уже смена всей концепции).
Интрига:
для всего бывают пределы разумного.
ну понятно есть сфера применения мелколеты.
самый маленький жпс приемник уже больше будет)
ну понятно есть сфера применения мелколеты.
тенденция однако мало-мало )))
Корень зла - шум акселя…, барометром скорректировать наверно можно, но он тоже - “не подарок”, как равно и GPS…
Наверняка решение какое нибуть есть…, надо работать (экспериментировать) с этим
И то и то надо просто фильтрануть ФНЧ и просуммировать, а вот веса того и другого придется поподбирать )))
кстати не обязательно сразу аналог оцифровывать… те же ПИДы / фильтры можно реализовать на аналоговых узлах, точность/быстродействие будет непревзойденным…
Совершенно против! Система получится “деревянной” - плохо управляемой, повторяемой, “плавающей”, и огромных размеров (по сравнению с нынешними полётниками).
но это уже смена всей концепции
Это вообще 2 шага назад. Я понимаю дедов, которые всё в механике и аналоговой электронике делали, так как у них другого не было. СТМ32 пока вполне справляется по быстродействию.
Нафига создавать себе проблемы с аналогом, когда просто нужно освоить цифровую фильтрацию? Но это если знать что делать в аналоге ) А если нет? Прикиньте изготовление 200 макеток с конденсаторами и резюками на каждое испытание (в основном недачное)? )))
самый маленький жпс приемник уже больше будет)
А вот и нет )))
речь шла о самодостаточном модуле с питателем и антенной на борту…
Это вообще 2 шага назад.
Все “минусы” очевидны…,не спорю…, но есть один жирный плюс - точность и быстродействие,
это примерно как в аудио технике - MP3 и ламповый/транзисторный звуковой тракт.
Вопрос у меня, к знатокам кода разных платформ управления - с какой частотой (~в среднем) работает цикл управления моторами квадрика ?? Имеет ли смысл гнаться за повышением этой частоты ?
ну… тут не совсем правильно заданный вопрос.
есть общий цикл, время которого зависит от опроса датчиков и математики расчета положения, по окончанию которого рассчитываеться текущее управляющее воздействие на моторы и передаеться на таймеры, генерирующие шим сигнал на двигатель.
так вот, цикл управления моторами - это и есть тот же самый основной цикл.
есть один ньюанс - не всегда и не везде записанное значение сразу после записи в счетчики будет выполнено (а выполниться корректно только при очередном обнулении таймера), т.е. по хорошему, при записи значений желательно остановить таймер, обнулить его, и запустить с новым текущим значением.
также стоит присмотреться к новому, активно рекламируемому/обсуждаемому режиму OneShot
т.е. по хорошему, при записи значений желательно остановить таймер, обнулить его, и запустить с новым текущим значением.
так делать нельзя
Нафига создавать себе проблемы с аналогом, когда просто нужно освоить цифровую фильтрацию? Но это если знать что делать в аналоге ) А если нет?
вот можно по этой схемке сделать аналоговую стабилизацию ))) elm-chan.org/works/vlp/report_e.html
ну… тут не совсем правильно заданный вопрос.
Хорошо (😃), тогда какова частота “тот же самый основной цикл” у разных платформ ?
вий, в зависимости от платформы (ардуино, хмега, стм и проч порты) и навесов (баро, компас, ЖПС и проч доп периферия добавляют) от 1500мкс до 5000мкс (660Гц - 200Гц)
алексмос подвес 700-850мкс (как то с ним списывался)
по ардупилоту - не в курсе
остальные тем более хз
Арду работает на АВР - 100Гц на остальных платформах, 400 Гц…
в Вий с родным пидом выше 400 подымать не стоит, заманаешся интегральную составляющую подбирать (пид сделан на основе самого цикла, т.е. временная составляющая там присутствует косвенно)…
помнится пресловутый контроллер от Билла Несбита вообще на 50Гц цикл крутит…