Feb. 21st, 2021

eddy_em: (Default)
Добавил еще один сниппет — работа с BMP180 (датчик температуры и давления).
Опять в даташите формула для вычисления "компенсированных" значений больше похожа на заклинание для вызывания бесов. Температуру показывает более-менее правдоподобно (грубое измерение по некалиброванному платиновому дало 24.7±1℃; BMP180 выдает 24.1℃). При нагреве рукой температура меняется, т.е. все вроде бы работает. Кроме давления. Барометр показывает невозможные 692мм.рт.ст.! Причем, как бы я ни менял оверсемплинг (он работает: судя по отладке, без оверсемплинга измерения очень быстро проходят, а при максимальном — в несколько раз дольше), давление все время сидит примерно на одном и том же уровне ±10Па.
Похоже, заводская калибровка оставляет желать лучшего…

Кстати, да: в даташите пишут, что нужно выжидать паузы после того, как дал команду измерять. В интернетах тоже народ не заморачивается и пишет паузы. А вот, пока я искал причину, почему у меня барометр брешет, наткнулся на то, что один другому советовал проверять регистр CTRL_MEAS на флаг SCO (start conversion). Проверил: и действительно, можно делать нормальный человеческий поллинг, а не сравнивать значение текущего времени с временем начала измерения. Если сунуть датчик в емкость с изменяемым давлением (ротовую полость ☺), показания барометра меняются. Т.е. он явно работает, но откалиброван неправильно.

April 2025

S M T W T F S
  1 23 45
67 89101112
13141516171819
20212223242526
27282930   

Most Popular Tags

Page Summary

Style Credit

Expand Cut Tags

No cut tags
Page generated May. 22nd, 2025 08:25 am
Powered by Dreamwidth Studios