Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: акселерометр LIS302DL(H)
Форум разработчиков электроники ELECTRONIX.ru > Аналоговая и цифровая техника, прикладная электроника > Метрология, датчики, измерительная техника
jorikdima
Приветствую!
Настроил связь с акселерометром LIS302DLH и получаю непонятные мне цифры значения ускорения.
В даташите написано, что в режиме использования диапазона +-2g значение LSB это ~1 mg
Просто спокойно лежащая плата с напаянным чипом в горизонтальном положении у меня выдает следующие значения:
X - обычно не более 100 с различным знаком
Y - обычно не более 100 с различным знаком
Z - обычно около 15000-16000 с постоянным знаком. Знак зависит от того прямо или вверх тормашками лежит плата.

Очень похоже, что эти 15000 по Z и значительно меньшие значения по остальным осям показывают ускорение свободного падения. Ибо поворот платы набок делает значения, например, оси Y около 15000, а остальных осей много меньше. То есть в принципе данные адекватны, но абсолютные значения мне не понять. Ведь 1g должно светить около 1000 попугаев, а у меня 15-16 тысяч.
Я решил провести self-test. В даташите сказано, что по каждой из осей должно добавиться по ~300 LSB, а у меня добавляется по 10 тысяч попугаев 07.gif
Работал ли кто с этой или похожей (LIS302DL) микросхемой, пусть и с несколько другим скэйлингом на выходе? У вас адекватные попугаи считывались?
Спасибо.
alehandro
Доброго дня.
Во-первых вес младшего бита равен 18mg (+/-2.3g -> всего 4,6g. 8 бит данных. делим 4,6g/256=18mg)
Во-вторых 15000d -> 3A98h. Поэтому 3Ah -> 58d. Далее 58*0,018=1,044g. Что и требовалось доказать.
jorikdima
Цитата(alehandro @ Sep 17 2010, 09:50) *
Доброго дня.
Во-первых вес младшего бита равен 18mg (+/-2.3g -> всего 4,6g. 8 бит данных. делим 4,6g/256=18mg)

Это в LIS302DL 18mg, а в DLH 1mg. У меня DLH.
Цитата(alehandro @ Sep 17 2010, 09:50) *
Во-вторых 15000d -> 3A98h. Поэтому 3Ah -> 58d. Далее 58*0,018=1,044g. Что и требовалось доказать.

Не понял, почему вы взяли только старший байт?
alehandro
Прошу прощения, посмотрел на нижний абзац.
В Table 3 указано So = 1 mg/digit, при FS=00 (12 bit representation)
Тогда 15000d -> 3A98h. Берем старшие 12 бит: 3A9h -> 937d -> 0.937g
jorikdima
Цитата(alehandro @ Sep 17 2010, 10:54) *
Прошу прощения, посмотрел на нижний абзац.
В Table 3 указано So = 1 mg/digit, при FS=00 (12 bit representation)
Тогда 15000d -> 3A98h. Берем старшие 12 бит: 3A9h -> 937d -> 0.937g

Так вот оно что!!! Надо брать старшие, а не младшие биты... Гениально конечно, со стороны ST. Никогда б не подумал.
Спасибо большое, alehandro!
do_it_self
Здравствуйте!
у меня примерно аналогичный вопрос...не могу разобраться со своим датчиком(((
Имею датчик ADIS16354.По даташиту: 12 битный АЦП, ДД: +- 1.7g, НАЧАЛЬНАЯ ЧУВСТВИТЕЛЬНОСТЬ (Initial Sensitivity): min: 0.4578 Typ:0.4625 Max:0.4672 mg/LSB.
во многих источниках чувствительность(Sensitivity) так же называется масштабным коэффициентом (Scale factor).
если сигналы с выхода акселерометров описывать упрощенной математической моделью: Yz=(1+S)*A+B, где Yz - данные с датчика, A - истинное измеряемое ускорение, B - смещение нуля акселерометра, S - масштабный коэффициент (Scale factor). Если мы мерим аналоговое ускорение, после АЦП мы получаем величину,значение которой получается в LSB(определенное количество отсчётов). так вот,если масштабный коэффициент брать в единицах,как дано в даташите, то есть mg/LSB, а истинное ускорение брать в LSB,то тогда получается(как Я понимаю) какое-то безобразие с размерностями...
да и если посчитать начальную чувствительность самому,пользуясь данными из даташита,то приведенное выше(и в документации) значение чувствительности не получится:
2^12-1=4095-количество дискретов;
2048-дискрет, соответствующий '0' ускорения;
1.7/2048 = 0.83 mg/LSB, что никак заявленным 0.4625 не соответствует.
да даже если брать 10% запас от верхней границе: 3.4/(0.9*4095-0.1*4095)=1.03 mg/LSB.
как понимать понятия чувствительность и масштабный коэффициент и эквивалентны ли они? та ли это величина,которую надо в форулу ставить? я совсем запутался!:(
Tanya
Цитата(do_it_self @ Oct 11 2011, 12:17) *
Здравствуйте!
у меня примерно аналогичный вопрос...не могу разобраться со своим датчиком(((
Имею датчик ADIS16354.По даташиту: 12 битный АЦП, ДД: +- 1.7g, НАЧАЛЬНАЯ ЧУВСТВИТЕЛЬНОСТЬ (Initial Sensitivity): min: 0.4578 Typ:0.4625 Max:0.4672 mg/LSB.
............
1.7/2048 = 0.83 mg/LSB, что никак заявленным 0.4625 не соответствует.
да даже если брать 10% запас от верхней границе: 3.4/(0.9*4095-0.1*4095)=1.03 mg/LSB.
как понимать понятия чувствительность и масштабный коэффициент и эквивалентны ли они? та ли это величина,которую надо в форулу ставить? я совсем запутался!:(

В даташите написано 14 бит. Чем Вы читаете?
И делить нужно не 1.7, а 3.4. Тогда все сходится.
do_it_self
да даже если и 14, то всё равно не сходится!(
2^14=16384
3.4/16384=2 mg/LSB.
при этом в документации сначало написано: 14 бит разрешения по акселерометру, и тут же в таблице в разделе "ADC input" приведено: Resolution 12 bit.
как понимать?...
Tanya
Цитата(do_it_self @ Oct 11 2011, 12:43) *
да даже если и 14, то всё равно не сходится!(
2^14=16384
3.4/16384=2 mg/LSB.
при этом в документации сначало написано: 14 бит разрешения по акселерометру, и тут же в таблице в разделе "ADC input" приведено: Resolution 12 bit.
как понимать?...

Там есть еще один АЦП 12-битный для внешних измерений и еще несколько для внутренних..
Посмотрите внимательно на таблицу 9. Наверное при превышении 1.7g будет что-то неправильно выдавать. Там есть еще возможность изменять динамический диапазон. Написано, что для гироскопов. Может на все влияет?
И 3.4/16384 не равно 2 mg/LSB.
do_it_self
да,мой косяк((( 0.2 mg/LSB получается...
теперь всё получилось...только выходит,что там всё равно там используется 12 битный АЦП, а старшие 2 разряда(12ый и 13ый) на знак отводятся. за счет этого:
1.7/(0.9*2^12)=0.4615 mg/LSB
если я снова ничего не напутал,то так!
do_it_self
так всё-таки может кто-нибудь подскажет,есть ли различия в понятиях чувствительности для акселерометра и масштабного коэффициента?и как определять последний.
Спасибо!
MrAlex
Цитата(do_it_self @ Oct 12 2011, 08:31) *
так всё-таки может кто-нибудь подскажет,есть ли различия в понятиях чувствительности для акселерометра и масштабного коэффициента?и как определять последний.
Спасибо!

Чувствительность - минимально различимое изменение измеряемой величины.
Масштабный коэффициент есть отношение измеряемой величины к измеренному значению.
Чтобы определить последний необходимо знать истинное значение измеряемого параметра.
Цифровые датчики от STM калибруются в процессе производства, так что для первого приближения достаточно использовать данные из ДЩ.
do_it_self
да,калибруются.только вот в ДЩ не приводят значения масштабных коэффициентов,а только чувствительность.теперь мне стало понятно,что это разные вещи.
Спасибо!
MrAlex
Цитата(do_it_self @ Oct 12 2011, 10:03) *
да,калибруются.только вот в ДЩ не приводят значения масштабных коэффициентов,а только чувствительность.теперь мне стало понятно,что это разные вещи.
Спасибо!

В даташите приведен именно масштабный коэффициент, 1, 2 , 3.9 mg/digit +/- 10%.
do_it_self
это чувствительность(SENSITIVITY),измеряется в mg/lsb(digit).вы же сами пишите,что масштабный коэффициент - "есть отношение измеряемой величины к измеренному значению". и это безразмерная величина. она же фигурирует в приведённой мной выше формуле: Y=(1+S)A+B.
то что приведено в документации,как я понимаю,тоже есть масштабный коэффициент,только он показывает - сколько какое ускорение соответствует одному дискрету АЦП(либо сколько дискретов приходиться на единицу ускорения). соответственно у него и размерность такая.
или я снова не так понимаю?!:(((((
MrAlex
Цитата(do_it_self @ Oct 12 2011, 11:34) *
это чувствительность(SENSITIVITY),измеряется в mg/lsb(digit).вы же сами пишите,что масштабный коэффициент - "есть отношение измеряемой величины к измеренному значению". и это безразмерная величина. она же фигурирует в приведённой мной выше формуле: Y=(1+S)A+B.
то что приведено в документации,как я понимаю,тоже есть масштабный коэффициент,только он показывает - сколько какое ускорение соответствует одному дискрету АЦП(либо сколько дискретов приходиться на единицу

Только в частных случаях масштаб величина безразмерная.
Достаточно просто умножить количество отсчетов на то что в таблице.
do_it_self
разобрался вроде!мы с вами о разных вещах разговариваем.поэтому и путаница была!(
то значение,которое приведено в ДЩ - это чувствительность. Она связывает измеряемую величину ускорения после АЦП, приведенную в количестве отсчетов(digit'ы или LSB) с реальной физической величиной(нормированной к значению g)!поэтому-то в любом ДЩ на любой датчик он есть и измеряется в mg/LSB(digit), конечно, если выход с нашего датчика описывается выражением(предполагая,что смещения нет): y=K*a [доли g]=[mg/LSB]*[LSB], где K и есть ТА чувствительность.
Но данные с выхода акселерометров описываются МАТЕМАТИЧЕСКОЙ (из литературы) зависимостью(приведу её в 3ий разsad.gif,чтобы объяснить смысл): Y=(1+S)*A+B, где S - масштабный коэффициент. размерности : [доли g]=(1+безразмерная)*[доли g]+[доли g].
Или: Y=(1+S)*K*A+K*B , размерность: [доли g]=(1+безразмерная)[mg/LSB][LSB]+[mg/LSB][LSB],
где A - измеряемы вектор ускорения (после АЦП он измеряется в LSB), B - смещение нуля, Y - показания акселерометра, и,наконец, S - масштабный коэффициент(безразмерен). величина S зависит от конкретного датчика и изменяется от включения к включению. порядок от 10^(-3) до 10^(-4) (как я вынес из литературы).
изначально вопрос мной был поставлен: то, что приведено в ДЩ и то, что я называю масштабным коэффициентом - одно ли это тоже?!
- нет.
Как из одного получить другое?! - неизвестно.
вывод: S (scale factor) может быть оценен эмпирическим путём, что не очень приятно, потому что его истинное среднее и дисперсия неизвестныsad.gif(((
Уважаемые коллеги,мои рассуждения имеют место быть или я снова заблуждаюсь!?
Спасибо!
MrAlex
Цитата(do_it_self @ Oct 13 2011, 13:28) *
разобрался вроде!мы с вами о разных вещах разговариваем.поэтому и путаница была!(
то значение,которое приведено в ДЩ - это чувствительность. Она связывает измеряемую величину ускорения после АЦП, приведенную в количестве отсчетов(digit'ы или LSB) с реальной физической величиной(нормированной к значению g)!поэтому-то в любом ДЩ на любой датчик он есть и измеряется в mg/LSB(digit), конечно, если выход с нашего датчика описывается выражением(предполагая,что смещения нет): y=K*a [доли g]=[mg/LSB]*[LSB], где K и есть ТА чувствительность.
Но данные с выхода акселерометров описываются МАТЕМАТИЧЕСКОЙ (из литературы) зависимостью(приведу её в 3ий разsad.gif,чтобы объяснить смысл): Y=(1+S)*A+B, где S - масштабный коэффициент. размерности : [доли g]=(1+безразмерная)*[доли g]+[доли g].
Или: Y=(1+S)*K*A+K*B , размерность: [доли g]=(1+безразмерная)[mg/LSB][LSB]+[mg/LSB][LSB],
где A - измеряемы вектор ускорения (после АЦП он измеряется в LSB), B - смещение нуля, Y - показания акселерометра, и,наконец, S - масштабный коэффициент(безразмерен). величина S зависит от конкретного датчика и изменяется от включения к включению. порядок от 10^(-3) до 10^(-4) (как я вынес из литературы).
изначально вопрос мной был поставлен: то, что приведено в ДЩ и то, что я называю масштабным коэффициентом - одно ли это тоже?!
- нет.
Как из одного получить другое?! - неизвестно.
вывод: S (scale factor) может быть оценен эмпирическим путём, что не очень приятно, потому что его истинное среднее и дисперсия неизвестныsad.gif(((
Уважаемые коллеги,мои рассуждения имеют место быть или я снова заблуждаюсь!?
Спасибо!

Ежли у вас интерес исключительно академический, то завсегда можно любую литературу использовать.
Иначе можно и попроще модель взять, вот собственно что производитель рекомендует:
Нажмите для просмотра прикрепленного файла
do_it_self
интерес не просто академический)
можно и так,только пока не говорим о неортогональности осей.суть дела остается та же.
Спасибо!:)
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.