Перейти к содержанию
    

Tiny24 и акселерометр 3оси с аналоговым вых

Приветствую всех!

Кто-нибудь сталкивался с трёх осевыми акселерометрами от ST LIS3L02AL?

Кто-нибудь делал на таких или подобных акселерометрах (с аналоговым выходом) датчики перемещения?

Возникли некоторые проблемы при фильтрации сигнала.

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

Каков наиболее правильный алгоритм фильтрации сигнала,интегрирования, учитывая возможности Tiny24?

 

Если что недобъяснил, спрашивайте.

 

Заранее благодарю всех откликнувшихся за помощь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

С ударом проще - ограничение по перегрузке (быстрее некоторого ускорения твой объект не перемещается, что говорит о ударе) и медианные методы фильтрации (среднее из 3-х, 5-и или ...). Ну и естественно конденсаторы на входе ставь по минимуму...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Про удар. А если прибор пнули ногой и он улетел, перемещения не произошло что-ли? :)

Изменено пользователем VDG

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Кто-нибудь делал на таких или подобных акселерометрах (с аналоговым выходом) датчики перемещения?

 

Я делал что-то похожее. На сайте AD есть аппнота, где подробно объясняются все ограничения инерциальных систем, так что не надейтесь ходить по комнате с этой штукой в руке и видеть свои трехмерные координаты :)

 

Возникли некоторые проблемы при фильтрации сигнала.

Каков наиболее правильный алгоритм фильтрации сигнала,интегрирования, учитывая возможности Tiny24?

 

Фильтр Калмана, если мне память не изменяет. Но не уверен, что его тиня потянет. Все ухищрения, типа "на перемещение мы реагировать будем, а удары зарежем" точности определения местоположения не прибавляют.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

Точность не нужна, всмысле определения пройденного расстояния. Скажем так, что нужно отследить перемещение больше 50см за время=5сек.Т.е, если мы движемся со скоростью больше 10см/сек и движемся так уже 5 сек или больше, то значит мы едем.Т.е.нужно отловить сам факт незначительного перемещения, при этом не реагируя на удар и изменение температуры.

 

Сигнал фильтрую скользящим средним несколько раз,т.к.Tiny24,помоему, на большее не способна.У меня всего навсего 128 байт RAM и не поддерживаются операции с плавающей точкой.Все делаю сдвигами(умножение,деление).

 

Я делал что-то похожее. На сайте AD есть аппнота, где подробно объясняются все ограничения инерциальных систем, так что не надейтесь ходить по комнате с этой штукой в руке и видеть свои трехмерные координаты

 

Читал я её "USING THE ADXL202 ACCELEROMETER AS A MULTIFUNCTION SENSOR". Она? Срезаю как там написано,всё что больше 12,5Гц (у меня всё,что больше 10Гц).И пример приведен для акселерометра с цифровым выходом.

 

Ну и естественно конденсаторы на входе ставь по минимуму...

 

Конденсаторы выбраны 100n, что соответствует частоте среза по даташиту Fсреза=15Гц

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сигнал фильтрую скользящим средним несколько раз,т.к.Tiny24,помоему, на большее не способна.

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

 

Конденсаторы выбраны 100n, что соответствует частоте среза по даташиту Fсреза=15Гц

Значит частоту выборок каждого канала АЦП берешь где-то 30Гц (между выборками - 30мс). Больше брать нет смысла.

 

Далее берем, скажем 15 выборок с канала, и берем их медиану (сортируем по возрастанию и берем 8-е). Принимаем его как выборку за 1,5с (среднее ускорение за 1,5с).

Ну а дальше физика 7 класс...

 

 

Если есть желание мерять чаще - уменьшай емкость ;) .

Изменено пользователем ArtemKAD

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Мне вот всё же интересно как маятником намериваетесь мерить (считать) перемещения? :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Руками ;) .

У того маятника частота собственного резонанса несколько килогерц. Так, что его колебания могут нас не тревожить - на выходы они не попадают.

Ну а посчитать перемещение зная ускорение в первом приближении - по уравнению равноускоренного движения из курса школьной физики...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У того маятника частота собственного резонанса несколько килогерц.

...

Ну а посчитать перемещение зная ускорение в первом приближении - по уравнению равноускоренного движения из курса школьной физики...

А при чём тут собственная частота? Маятник перестаёт быть маятником? :biggrin: Читать учебники это правильно, но надо понимать что там пишется. :biggrin: По вашему отклонённый груз при остановке акселерометра со всего маху долбанётся о некую виртуальную "центральную" стену и остановится? :a14:

Прочитайте ответ war4one-а.

Изменено пользователем VDG

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Самое лучшее,что смог добиться - это реакция на перемещение, на удар реакции нет. Но вот температура! При изменении температуры у акселерометра по оси Z очень сильно плавают показания,в результате система думает,что началось движение. Отфильтровать такой сигнал невозможно без потери чувствительности.

Кто-нибудь пользовал этот акселерометр? Поделитесь впечатлениями.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

По вашему отклонённый груз при остановке акселерометра со всего маху долбанётся о некую виртуальную "центральную" стену и остановится?

Нет. Долбанется, после чего начнет свободные колебания с собственной частотой резонанса. Которые в среднем равны нулю...

 

Кстати, "остановка акселерометра" для этого должна происходить с ускорением не большим максимально допустимого.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...