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

ST LIS331HH

Добрый день всем.

 

Перерыл форум и инет, но ответа на свой вопрос не нашел.

 

Работаю с 3-х осевым датчиком ускорения ST LIS331HH, в режиме SPI 4-х проводном.

По документации (в коменте к общей таблице) сказано, что он 12-и битный.

Данные при этом выдаются в 16 битном формате.

Опытным путем выяснил, что 4 младших бита незначащих, т.е. данные прижаты к старшему биту (влево).

Углы измеряются отлично, все ок.

 

Но вот проблема не могу пересчитать полученные цифры в абсолютное значение ускорения свободного падения (конкретно просто в g, т.е. не в m/c2)

При повороте датчика так, что бы на одну из осей спроецировалось ускорение свободного падения получаю число, при пересчете которого получаю не 1g, а 2.9g

Смотрел на нескольких датчиках, цифры везде идут одинаковые.

Проверял в разных диапазонах, в пересчете на g все равно получается 2.9g. Нахожусь в нормальных условиях - статично.

 

В диапазоне +/- 24g получаю 245 единиц в максимальной проекции.

В диапазоне +/-6g получаю 950 единиц в максимальной проекции.

(в диапазоне +/-12g цифр не помню, но в пересчете получаю те же 2.9g

 

Соответственно паспортная погрешность смещения 70mg видна на разных датчиках - в единицах это получается +/- 5 ед в диапазоне +/- 24g (в зависимости от диапазона величина разная)

 

Пересчет в g делаю так:

пример для диапазона +/-24g

245ед*48.0/4096=2.87g

 

Для того что бы получить что-то в районе 1g число на входе должно быть в районе 85 единиц - получается смещение 159 единиц (это соответственно для диапазона +/-24g). Про такую величину смещения в документации я что-то ничего не находил. Это уже всяко больше 70mg паспортных.

 

В принципе при калибровке - это становится не важным, но хотелось бы быть уверенным, что относительные величины g считаться будут верно. К сожалению я не могу сформировать эталонное воздействие, нет соответствующей измерительной аппаратуры.

 

Соответственно если 4096 в формуле заменить на 65536 - (а прочитанные данные не сдвигать вправо на 4 бита) получаем тоже значение 2.9g в пересчете.

 

Может быть кто-нибудь, кто работал с этим датчиком укажет мне на ошибку?

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


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

Но вот проблема не могу пересчитать полученные цифры в абсолютное значение ускорения свободного падения (конкретно просто в g, т.е. не в m/c2)

При повороте датчика так, что бы на одну из осей спроецировалось ускорение свободного падения получаю число, при пересчете которого получаю не 1g, а 2.9g

Смотрел на нескольких датчиках, цифры везде идут одинаковые.

Проверял в разных диапазонах, в пересчете на g все равно получается 2.9g. Нахожусь в нормальных условиях - статично.

Может вычесть 0,9 и разделить на 2?

 

Sensitivity describes the gain of the sensor and can be determined e.g. by applying 1 g acceleration to it. As the sensor can measure DC accelerations this can be done easily by pointing the axis of interest towards the center of the earth, noting the output value, rotating the sensor by 180 degrees (pointing to the sky) and noting the output value again. By doing so, ±1 g acceleration is applied to the sensor. Subtracting the larger output value from the smaller one, and dividing the result by 2, leads to the actual sensitivity of the sensor. This value changes very little over temperature and also time. The sensitivity tolerance describes the range of Sensitivities of a large population of sensors.

 

 

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


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

Может вычесть 0,9 и разделить на 2?

 

Sensitivity describes the gain of the sensor and can be determined e.g. by applying 1 g acceleration to it. As the sensor can measure DC accelerations this can be done easily by pointing the axis of interest towards the center of the earth, noting the output value, rotating the sensor by 180 degrees (pointing to the sky) and noting the output value again. By doing so, ±1 g acceleration is applied to the sensor. Subtracting the larger output value from the smaller one, and dividing the result by 2, leads to the actual sensitivity of the sensor. This value changes very little over temperature and also time. The sensitivity tolerance describes the range of Sensitivities of a large population of sensors.

 

 

При точном измерении углов подобная калибровка необходима, но в данном случае не объясняется непосредственно причина формирования 245 ед на 1g в режиме +/- 24 g

 

Я все же ожидал видеть с датчика число хотя бы как-то приближенно соответствующее паспортному значению по чувствительности (для диапазона +/- 24g = 0,012 g на ед).

Иначе мне совершено непонятно, что же тогда делается на заводе и заливается в регистры? И зачем оно восстанавливается при запуске чипа (boot)?

 

Хотелось бы получить понимание в чем именно моя ошибка.

 

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

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


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

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

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

Гость
Ответить в этой теме...

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

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

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

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

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

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