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

    

непонятность с акселерометром

пытаюсь сделать датчик перемещения объекта, просто чтоб была коробочка на нём закреплённая и реагировала на любое его перемещение

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

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

вот купил самый дешманский акселерометр LIS3DH и решил попробовать фиксировать ускорение

 

а теперь непонятность: постоянно присутствует шумовая помеха на уровне примерно 20% от полной шкалы, никак не могу её отфильтровать

попытка замерить среднее арифметическое по 256 замерам позволяет снизить ну до 15%, но неустойчиво, ложные сработки вылазят

при этом ещё и наклон датчика влияет на уровень помехи

вобщем при отсечке примерно на 30% от полной шкалы всё становится хорошо, никаких ложных сработок и влияния наклона, но при этом реагирует только на довольно резкие толчки, спокойная перестановка рукой не вызывает сработки

 

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

с питанием точно всё в порядке, оно от батарейки, точно без пульсаций и помех, схема примитивнейшая, датчик, пик12 и светодиод

сталкивался кто-нить с акселерометрами? подскажите куда копать

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


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

Как вы его включали в режим?

 

LIS3DH_SetFullScale

LIS3DH_SetAxis

Эти функции выполняли (или соотв. регистры инициализировали)?

 

У меня с этим датчиком не было проблем.

Также вспоминаю, что он стоит еще на STM32F407G-Discovery.

И там есть пример управление указателем мышки наклонами платы. И все очень плавно возле нуля.

 

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


Ссылка на сообщение
Поделиться на другие сайты
с питанием точно всё в порядке, оно от батарейки

А Вы точно в этом уверены? Батарейка - не гарантия. Емкости по питанию достаточные стоят?

 

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


Ссылка на сообщение
Поделиться на другие сайты
Как вы его включали в режим?

 

LIS3DH_SetFullScale

LIS3DH_SetAxis

Эти функции выполняли (или соотв. регистры инициализировали)?

насчёт функций не знаю, программа написана чисто на асме в виндосовском блокноте, никакой среды разработки или чегото похожего нет, регистры инициализированы все, просто выписан список регистров по адресам из даташита, проставлены значения и все туда прописываются

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

 

режим задан без внутренних фильтров, полный диапазон +\-2G

пока обрабатываю только одну ось Х, непрерывно проверяется флаг обновления даннных, они считываются-суммируются, так 256 раз

после этого проверяется результат по модулю и соответственно зажигается или не зажигается светодиод

затем снова полная переинициализация всего и по новой

 

для светодиода проверяется только старший байт результата, он имеет диапазон +\-127, проверяется по модулю

при значении проверки 10 светодиод горит вообще постоянно, при 15 уже почти нормально, но наклон платы примерно на 20 градусов и загорается, при проверке на 30 уже без всяких ложных сработок

 

 

А Вы точно в этом уверены? Батарейка - не гарантия. Емкости по питанию достаточные стоят?

батарейка литий 2032 на 3в, стоит керамика 10мкф и тантал 100мкф в параллель

отсюда же запитан PIC12F675, работает на внутреннем 4МГц генераторе

 

И там есть пример управление указателем мышки наклонами платы. И все очень плавно возле нуля.

а где можно посмотреть исходник примера? может что то прояснится

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


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

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

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


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

сам, на макетке

вроде не перегревал, в касание паял, сначала приклеил контактами вверх, мазнул флюса и по 1 волоску припая от контактов на макетку, а уж с макетки распаял на пик и питание

конечно вариант, хотя вроде больше 30 лет паяю почти ежедневно

сейчас ещё подумалось что может постоянное обращение по шине к кристаллу даёт помеху, надо попробовать настроить опрос по прерыванию готовности данных, а не постоянно проверять статус

 

главное потвердили что микросхемы принципиально не косячные, буду дальше экспериментировать

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


Ссылка на сообщение
Поделиться на другие сайты
главное потвердили что микросхемы принципиально не косячные, буду дальше экспериментировать

Мне кажется лучше чем впустую терять время, взять ещё один чип (другой, не LIS3DH) распаять рядом и сравнить показания.

Сам сейчас как раз начинаю работать с MPU-6050. Тоже I2C.

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


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

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

 

 

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


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

Применял MMA8453Q и MMA8452Q - это практически то же самое, что и LIS3DH. Никаких проблем не было, заметных шумов тоже не замечал.

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

Но мне паяли и в ручную феном и в печке - проблем не было.

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


Ссылка на сообщение
Поделиться на другие сайты
Мне кажется лучше чем впустую терять время, взять ещё один чип (другой, не LIS3DH) распаять рядом и сравнить показания.

пока перепаял другой точно такой же (покупал 2 сразу), очень аккуратно и очень быстро, точно не перегрел

абсолютно ничего не изменилось

вариант кривой пайки явно отпал

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


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

У нас в изделии LIS3DH используется как датчик наклона/перемещения.

Какого-то заметного "дребезга" не видно. По температуре заметно плывёт, да.

 

Если интересно, могу содержимое регистров рассказать. Правда, коллега мой, который это всё делал, решил, что встроенный фильтр - дрянь, и сделал свой. Это показывать не буду, извините.

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


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

Как-то меня сильно смущает монтаж проводечками и конденсаторы фильтров в стороне. Лучше бы это все далать на плате и фильтры рядом и толстыми дорожками.

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


Ссылка на сообщение
Поделиться на другие сайты
Если интересно, могу содержимое регистров рассказать.

в принципе интересно, может я чото явно накосячил

у меня сейчас так

1F,21,22,24,25,26,2E,30,32,33,38,3A,3B,3C,3D - 00H

20 - 97H 1250Гц, все 3 оси разрешены

23 - 08H диапазон +\-2G

частоту менял на 50 и 400, никаких изменений

Изменено пользователем ddd-ekb

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


Ссылка на сообщение
Поделиться на другие сайты
сначала приклеил контактами вверх, мазнул флюса и по 1 волоску припая от контактов на макетку, а уж с макетки распаял на пик и питание

Кроме как блокировочные емкости не возле ножек, а после проводков - плохо,

 

может быть еще и проблема в таком монтаже с закреплением на верх корпуса.

Хотя теоретически датчик там - вытравленные объемные емкости в кремнии,

все-же это рассчитано на жесткое крепление за подложку.

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


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

вобщем распаял рядом точно также LIS344 с аналоговым выходом

все глюки как рукой сняло

сейчас осталось только фильтрацию отстроить, чтоб вибрации всякие отсеивать

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


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация