Почему BH1750 показывает не больше 54612 люкс?
Обновлено Редакция GAW
BH1750 накапливает фототок за время измерения и отдаёт результат 16-битным числом — от 0 до 65535 отсчётов. В режиме высокого разрешения (H) со стандартным временем 120 мс один отсчёт соответствует 1 / 1,2 лк: число 1,2 ROHM называет точностью измерения — типичным отношением показаний к люксам. Наш расчёт: 65535 / 1,2 ≈ 54 612 лк — больше датчик в этом режиме показать не может. На ярком солнце показания упираются в этот предел и перестают меняться.
Как поднять предел: регистр MTreg
Время измерения задаёт регистр MTreg: от 31 до 254, по умолчанию 69. Цена одного отсчёта в режиме H — 1/1,2 · (69/MTreg) лк (ROHM, разд. «Adjust measurement result»).
| MTreg | Чувствительность | Лк на отсчёт (ROHM) | Предел, лк (наш расчёт) |
|---|---|---|---|
| 31 (минимум) | ×0,45 | 1,85 | ≈ 121 000 |
| 69 (по умолчанию) | ×1 | 0,83 | ≈ 54 600 |
| 254 (максимум) | ×3,68 | 0,23 | ≈ 14 800 |
Расчётный предел при MTreg = 31 — около 121 000 лк, но сама ROHM обещает с подстройкой чувствительности измерение до 100 000 лк; на эту цифру и стоит рассчитывать. Время измерения при этом уменьшается пропорционально MTreg.
Если нужно мерить солнце
Учтите и разброс: по даташиту отношение показаний к люксам — от 0,96 до 1,44, то есть ±20 % между экземплярами. Если датчик должен уверенно работать на прямом солнце, удобнее VEML7700: по application note Vishay он измеряет примерно до 140 000 лк, и прямой солнечный свет не насыщает его при усилении 1/8.
Подключение и адреса BH1750 — на странице BH1750, сравнение датчиков освещённости — в статье «Датчики освещённости», характеристики VEML7700 — на странице VEML7700, готовая схема — датчик освещённости.
Похожие вопросы
Почему разные библиотеки BH1750 показывают разные люксы при одном свете?
Одни делят отсчёт на 1,2 по даташиту, другие нет, а режим H2 даёт вдвое больше отсчётов на тот же свет. Кроме того, по ROHM отношение показаний к истинным люксам у разных экземпляров — от 0,96 до 1,44 при типичном 1,2, то есть разброс около ±20 %.
Как увеличить чувствительность BH1750 в темноте?
Увеличить MTreg — до 254 вместо 69: чувствительность вырастет в 3,68 раза, а время измерения — во столько же. В режиме H2 так можно различать около 0,11 лк, но предел сверху соответственно снизится.
Можно ли защитить BH1750 стеклом и сохранить точность?
Да, для этого ROHM и предусмотрела MTreg: если стекло пропускает 50 % света, удвойте MTreg — показания вернутся к значению без стекла. Только предел измерения при этом уменьшится вдвое.
Источники
- ROHM. BH1750FVI Digital 16bit Serial Output Type Ambient Light Sensor IC: Technical Note (No.11046EDT01, Rev.D, 2011.11); архивная копия официального файла ROHM с rohmfs.rohm.com в Wayback Machine, снимок 4 августа 2016 года — с. 1 — диапазон 1–65535 лк в режиме высокого разрешения, с подстройкой чувствительности — от 0,11 до 100 000 лк, разброс ±20 %; электрические характеристики — отношение показаний к люксам 0,96–1,2–1,44, разрешение 1 лк (H), 0,5 лк (H2), 4 лк (L); время измерения 120 мс (H) и 16 мс (L); разд. «Adjust measurement result» — MTreg от 31 до 254 (по умолчанию 69), чувствительность ×0,45…×3,68; лк на отсчёт в режиме H = 1 / 1,2 · (69 / MTreg): 1,85 при 31, 0,83 при 69, 0,23 при 254
- Vishay. Designing the VEML7700 Into an Application, doc. 84323 (rev. 06-Mar-2025) — диапазон от 0 до примерно 140 000 лк; прямой солнечный свет не насыщает датчик при усилении 1/8; разрешение от 0,0042 лк/отсчёт
Нашли ошибку?
Смотрите также
- BH1750Датчик освещённости I²C: адреса, команды, режимы, сброс DVI
- VEML7700Датчик освещённости I²C: адрес 0x10, усиление, время, пересчёт в люксы
- Датчики освещённости BH1750, TSL2561, VEML7700, OPT3001Фоторезистор, TEMT6000 и датчики I²C: диапазон, адреса, пересчёт в люксы, ИК, окно
- Датчик освещённости: три схемыФоторезистор, TEMT6000 и BH1750: номиналы, напряжение на АЦП, адрес и сброс DVI