Feb. 21st, 2021

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

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

October 2025

S M T W T F S
   1234
567 89 1011
121314 15161718
19202122232425
2627 28293031 

Most Popular Tags

Page Summary

Style Credit

Expand Cut Tags

No cut tags
Page generated Feb. 24th, 2026 07:48 pm
Powered by Dreamwidth Studios