Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Tiny24 и акселерометр 3оси с аналоговым вых
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
LessNik
Приветствую всех!
Кто-нибудь сталкивался с трёх осевыми акселерометрами от ST LIS3L02AL?
Кто-нибудь делал на таких или подобных акселерометрах (с аналоговым выходом) датчики перемещения?
Возникли некоторые проблемы при фильтрации сигнала.
Как обеспечить чувствительность датчика перемещения так,чтоб он не реагировал на удар и на изменение температуры? sad.gif
Каков наиболее правильный алгоритм фильтрации сигнала,интегрирования, учитывая возможности Tiny24?

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

Заранее благодарю всех откликнувшихся за помощь.
ArtemKAD
С ударом проще - ограничение по перегрузке (быстрее некоторого ускорения твой объект не перемещается, что говорит о ударе) и медианные методы фильтрации (среднее из 3-х, 5-и или ...). Ну и естественно конденсаторы на входе ставь по минимуму...
VDG
Про удар. А если прибор пнули ногой и он улетел, перемещения не произошло что-ли? smile.gif
war4one
Цитата(LessNik @ May 7 2007, 17:26) *
Кто-нибудь делал на таких или подобных акселерометрах (с аналоговым выходом) датчики перемещения?


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

Цитата(LessNik @ May 7 2007, 17:26) *
Возникли некоторые проблемы при фильтрации сигнала.
Каков наиболее правильный алгоритм фильтрации сигнала,интегрирования, учитывая возможности Tiny24?


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


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

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

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


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

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


Конденсаторы выбраны 100n, что соответствует частоте среза по даташиту Fсреза=15Гц
ArtemKAD
Цитата
Сигнал фильтрую скользящим средним несколько раз,т.к.Tiny24,помоему, на большее не способна.

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

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

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

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


Если есть желание мерять чаще - уменьшай емкость wink.gif .
VDG
Мне вот всё же интересно как маятником намериваетесь мерить (считать) перемещения? smile.gif
ArtemKAD
Руками wink.gif .
У того маятника частота собственного резонанса несколько килогерц. Так, что его колебания могут нас не тревожить - на выходы они не попадают.
Ну а посчитать перемещение зная ускорение в первом приближении - по уравнению равноускоренного движения из курса школьной физики...
VDG
Цитата(ArtemKAD @ May 8 2007, 17:20) *
У того маятника частота собственного резонанса несколько килогерц.
...
Ну а посчитать перемещение зная ускорение в первом приближении - по уравнению равноускоренного движения из курса школьной физики...

А при чём тут собственная частота? Маятник перестаёт быть маятником? biggrin.gif Читать учебники это правильно, но надо понимать что там пишется. biggrin.gif По вашему отклонённый груз при остановке акселерометра со всего маху долбанётся о некую виртуальную "центральную" стену и остановится? a14.gif
Прочитайте ответ war4one-а.
LessNik
Самое лучшее,что смог добиться - это реакция на перемещение, на удар реакции нет. Но вот температура! При изменении температуры у акселерометра по оси Z очень сильно плавают показания,в результате система думает,что началось движение. Отфильтровать такой сигнал невозможно без потери чувствительности.
Кто-нибудь пользовал этот акселерометр? Поделитесь впечатлениями.
Посоветуйте какой-нибудь дешевенький,хороший трехосевой акселерометр с малым дрейфом нуля от температуры
ArtemKAD
Цитата
По вашему отклонённый груз при остановке акселерометра со всего маху долбанётся о некую виртуальную "центральную" стену и остановится?

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

Кстати, "остановка акселерометра" для этого должна происходить с ускорением не большим максимально допустимого.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.