MultiWii

tusik
tusik:

A как подключить ППМ СУМ на ардуину мегу

Вход ППМ СУМ в мультивие на меге PIN19 (RX1)

omegapraim

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

SovGVD

по той же причине, почему X и Y не используются для удержание позиции в плоскости - он не показывает то самое ускорение, как гира не показывает тот самый угол

omegapraim

тогда до боли тупой вопрос, нафиг ставить более дорогие 3х осевые аксели?

SovGVD

имхо из-за того что коптер накреняется и например X потихоньку становиться Z или Y так же - летаем то в 3D, а не на плоскости

omegapraim

ок уговорили))))) тогда другой тупой вопрос, ведь некоторые летают и с 2х осевым, тот что стоит в дешевом нунчаке, модель не помню. мма какойто, чем это чревато, просто меньше точность позиционирования? Это я так чисто для своего развития.

да и еще вопрос на что влияет настройка тротл пид?

SovGVD
omegapraim:

ведь некоторые летают и с 2х осевым, тот что стоит в дешевом нунчаке, модель не помню. мма какойто

этот какой то mma не тот mma, которых цифровой 2х осевой, а какой то китайский 3х осевой аналоговый

tda2030

подозреваю, потому, что будет сложно отслеживать изменение высоты. Смотри, такая ситуация: ты висишь, затем начинаешь медленно снижаться. Т.е. небольшое ускорение появляется в первый момент времени, а затем скорость снижения становится постоянной (при этом результирующая сила) и аксель ничего не показывает. Стало быть отследить такие изменения довольно непросто. Наверно, по барометру или по УЗ дальномеру это сделать проще. Насчет второго могу сказать, что на небольших высотах (диапазон зависит от типа датчика) рулит именно он, а не какой-нить барометр.

если вдруг где-то ошибся в рассуждениях, поправьте, пожалуйста )

зы. хотя зерно сомнения не исчезло. Ведь аксели могу зафиксировать свободное падение (типо защита на HDD), но значения акселя в нашем случае и при свободном падении будут сильно отличаться

SovGVD
omegapraim:

есть даташит, mma 6331L

тогда зачем 3 оси подключают? если их всего 2? вроде где то обсудали, что похож он на аксель от фрискейл (ошибся я кстатии, аналоговые все), но не он
в общем хз =) но имхо надо 3 оси
у кого такой датчик припаян - в GUI 2 оси меняются или все 3?

tda2030:

аксели могу зафиксировать свободное падение (типо защита на HDD)

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

omegapraim

вот кстати статейка с хабра по поводу измерения пройденного расстояния с помощью акселя. habrahabr.ru/blogs/android_development/131555/

Но я както находил вообще занимательную статейку, если сейчас найду выложу.

SovGVD
omegapraim:

я както находил вообще занимательную статейку, если сейчас найду выложу.

не оно? habrahabr.ru/blogs/augmented_reality/118192/

кстаии аксель можно использовать совместно с барометром, на подобии как гира совместно с акселем

omegapraim
SovGVD:

тогда зачем 3 оси подключают? если их всего 2? вроде где то обсудали, что похож он на аксель от фрискейл (ошибся я кстатии, аналоговые все), но не он
в общем хз =) но имхо надо 3 оси
у кого такой датчик припаян - в GUI 2 оси меняются или все 3?

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

у меня датчик lis3lv02dl разрешение поставил 1024 ось z кажет постоянно 1000 но если резко поднять квадр то цифири по моему меняются.

SovGVD
omegapraim:

если резко поднять квадр то цифири по моему меняются.

это ели двигать по оси, то должны меняться, а если на месте стоит или ровномерно двигается, то не должно меняться, а при наклоне начнет меняется по всем осям, там чего то с гравитацией связано (для каждой из осей меняется) (опять же ИМХО, но в даташитах про ±1g пишут на осях, в зависимости от положения датчика)

tda2030

не помню, наверняка здесь уже писали про это, но в тему:
www.starlino.com/imu_guide.html

SovGVD:

опять же ИМХО, но в даташитах про ±1g пишут на осях, в зависимости от положения датчика

ну, все верно. Аксели вроде фиксируют ускорение свободного падения и если он будет, к примеру, просто валяться в плоскости, перпендикулярной одной из осей, на этой оси как раз и должно быть +1g или -1g (если перевернут на 180 градусов). Если же его расположение будет произвольным, то тут на осях будут иные значения, исходя из углов

SovGVD

в общем на самом деле вот тут habrahabr.ru/blogs/augmented_reality/118192/ - очень доходчиво и просто расписано про гиру и аксель
калибровка акселя задает нам отклонения всяких g по осям - чтобы вне зависимости от положения датчика (может криво приляпан), знать начальные значение, при наклонах ускорение по осям будет меняться, а еще будет меняеться это же самое ускорение при движении - т.е. по идее можно определить сдвиги по всем осям

Sir_Alex

По акселю вполне можно сделать стабилизацию высоты. И даже в пирате это есть, но пока в тестировании/отладке. Не забывайте, что когда коптер висит в одной точке, у него ось Z показывает ускорение 9.8 (1g) и если он начнет перемещаться в вертикальной оси, то аксель это дело заметит (в смысле, пока он перемещается, аксель это видит, а нам это и надо).

tda2030
Sir_Alex:

пока он перемещается

точнее будет “пока он движется ускоренно”

SovGVD:

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

ну да, у bma180, к примеру, есть такая опция - выдавать внешнее прерывание при достижении ускорением одного из порогов
коряво написал, но надеюсь, что понятно )

mahowik
omegapraim:

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

ну вы блин даете! начиная как мин с1.8 версии Z ось исползуется для алт-холд

void getEstimatedAltitude(){
........................
  // Gravity vector correction and projection to the local Z
  InstAcc = (accADC[YAW] * (1 - acc_1G * InvSqrt(isq(accADC[ROLL]) + isq(accADC[PITCH]) + isq(accADC[YAW])))) * AccScale + (Ki) * AltErrorI;
  • из описания алтернативной прошивки
    - т.к. на диапазоне +/-8g для акселя проблема с вибро решаема, TRUSTED_ACCZ включен по умолчанию для правильной калькуляции в ИМУ и использования асс Z для увеличения точности ALT HOLD.

www.multiwii.com/forum/viewtopic.php?f=7&t=1079

Sir_Alex:

По акселю вполне можно сделать стабилизацию высоты. И даже в пирате это есть, но пока в тестировании/отладке. Не забывайте, что когда коптер висит в одной точке, у него ось Z показывает ускорение 9.8 (1g) и если он начнет перемещаться в вертикальной оси, то аксель это дело заметит (в смысле, пока он перемещается, аксель это видит, а нам это и надо).

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