Вопрос по акселерометру E-MMA7260

Тема в разделе "Схемотехника, компоненты, модули", создана пользователем Forester, 15 фев 2011.

  1. Forester

    Forester Нуб

    Добрый день.

    Для проектирования одного механизма понадобился механизм нивелирования (выставления площадки параллельно плоскости Земли).

    Вариантов два:

    Первый - делать нивелировку руками и взять за основу платформу от геодезического нивелира. Этот вариант очень точен (помню еще с курса геодезии), но руками крутить не айс.

    Второй - использовать акселерометр E-MMA7260. Понимаю что изначально его задача для определения ускорения, но наткнулся на следующий материал (Как использовать акселерометр для определения угла наклона) и понял что это мне наверное подходит.

    Физику если честно немного подзабыл, так что извиняюсь за возможно нубский вопрос: возможно ли использовать E-MMA7260 для описанной мною задачи и какая точность (разрешающая способность) получится?
     
  2. nailxx

    nailxx Официальный Нерд Администратор

    Да, акселерометр для этого вполне подойдёт. С точностью всё сложно: она зависит от выставленного предела измерений и от окружающей температуры. Я сам не измерял, но если судить по datasheet'у от производителя, при температуре 25°C и режиме измерения 1,5 g погрешность вокруг нулевой отметки составит ~1,1°
     
  3. Из описания: "Трёхосный акселерометр позволяет определять ускорение действующее в направлении осей X, Y, Z и применяется для определения ориентации объекта в пространстве: углов крена, тангажа и рысканья."
    Углы крена и тангажа понятно как вычислить, а угол рысканья как? Или это опечатка?
     
    nailxx нравится это.
  4. nailxx

    nailxx Официальный Нерд Администратор

    Да, это не правда. Фактическая ошибка. Для рысканья нужен компас. Исправил описание. Спасибо, Александр!
     
  5. SPb

    SPb Нуб

    Для рыскания к акселерометру нужен гироскоп либо второй акселерометр
     
  6. хммм знакомая проблемка с температурным режимом)))) я решал её так:
    1. Рассмотрим систему связанную с акселерометром(аксом) и будем считать её стохастической системой и само сабой разумеется мы сразу можем описать поведение системы в общем виде как :
    x(i) = x(i-1) + f(x(i),u(i)) +w(t);

    где х - это вектор состояния системы , u - вектор управляющих воздействий w(t) вектор возмущающих воздействий

    И тут мы вспоминаем .... ааа не помню уже что за предмет :) (и слава богу) в общем для того что бы компенсировать возмущение нужно его вычесть и сигнала соответственно но так как мы опшипку:) напрямую не знаем то надо вычитать её косвенно а это мат методы (1 метод квадратов(конечно моно но уж оооооочень долго хотя нет зависимости от априорных данных ), 2 рекуррентный метод наименьших квадратов (нужны априорные данные и причем заранее а где взять фиг знает) ну и наконец-то 3 фильтрация Калмана (ну как говорится возьмем быка за рога)) и легким движением ноги дописываем систему уравнений
    z =z(i-1)+ h(x,u)+v(t);
    где х - это вектор измерения , u - вектор управляющих воздействий w(t) вектор погрешности измерения (как раз сюда мы и засунем наш дрейф (посчитать парочку дисперсий не составит труда думаю)

    посмотрели на формулу..... потупили ( я так часа 3 тупил:) ) и понимаем что мы тупим ))) шучу рисуем для наглядности систему... сначала для 1 ого уравнения потом для 2 ух уравнений
    получаем что то вроде (смотрите рисунок) обозначения дополнительные z вектор невязки, x с точкой производная (не обижайтесь если знаете) и значок суффикса говорит о том что параметр оценен. БО - блок в котором рассчитывается компенсирующая составляющая ( о нем позже).
    Тут важно что помеченные цифрами 1 и 2 оцененные х хоть и обозначены одинаково но они разные первый х скомпенсирован БО для предыдущего знака а второй уже с коррекцией на текущем шаге.

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

    от слов к делу -> вешайте 2 термодатчика 1 с характеристикой по температуре примерный как и акс ,а 2 ой с характеристикой в корень из 3/2 (как выяснилось на практике) хуже чем 1 и тогда по разнице показаний датчиков оценивайте компинсацию относительно 2 ого конечно)))

    да и результат это x(1) , все остальное вы легко поймете почитав какую нибудь википедию )))) и не решайте численно уравнение Рикатти если такое напишут вас подло обманули численного решения уравнения не существует, а есть толко аналитическое ) матрицы Якоби и т.д.
     

    Вложения:

    NewBot нравится это.
  7. Duha

    Duha Нуб

    Датчик выдаёт ориентацию по трём плоскостям, просто их не надо называть тангажём, креном, рысканьем - а просто X,Y,Z. Тогда и компас и гироскоп не нужен.
    В даташите указано что будет выдавать сенсор, при статичном положении
    "STATIC ACCELERATION" 6 положений.