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

BH1750 — цифровой датчик освещённости ROHM с шиной I²C

BH1750FVI — цифровой датчик освещённости ROHM: фотодиод с чувствительностью, близкой к глазу, усилитель и 16-битный АЦП в маленьком корпусе WSOF6I. Он отдаёт по I²C число, которое после деления на 1,2 становится люксами. Разбираем по технической документации ROHM: питание, адреса, команды, режимы и обязательный сброс выводом DVI.

Обновлено Редакция GAW

BH1750FVI — датчик внешней освещённости для подстройки яркости экранов и подсветки. Внутри — фотодиод со спектральной чувствительностью, близкой к человеческому глазу (пик на 560 нм), интегрирующий усилитель, 16-битный АЦП и логика с интерфейсом I²C. Внешних деталей, кроме конденсаторов по питанию, ему не нужно. Сравнение с TSL2561, VEML7700, OPT3001 и фоторезисторами — в статье «Датчики освещённости», готовая схема с расчётами — на странице «Датчик освещённости».

Коротко

  • Питание — VCC 2,4–3,6 В, предел 4,5 В; уровни шины задаёт DVI от 1,65 В до VCC.
  • Адреса — 0x23 (ADDR низкий) и 0x5C (ADDR высокий).
  • Диапазон — 1–65 535 лк; с регистром MTreg — от 0,11 до 100 000 лк.
  • Режимы — 0,5 и 1 лк за 120 мс типично (до 180 мс), 4 лк за 16 мс (до 24 мс).
  • Ток — 120 мкА типично при измерении, 0,01 мкА в Power Down.
  • Точность — показания делят на 1,2; разброс отношения — от 0,96 до 1,44.

Распиновка

Корпус — WSOF6I. Первый вывод ROHM предлагает находить по рисунку кристалла (так проще всего на глаз), по более широкому выводу 1 или по скосу со стороны выводов 1–3.

ВыводОбозначениеНазначение
1VCCпитание 2,4–3,6 В
2ADDRвыбор адреса: низкий уровень — 0x23, высокий — 0x5C
3GNDобщий провод
4SDAданные I²C
5DVIопорное напряжение уровней I²C и асинхронный сброс
6SCLтактовый сигнал I²C

Пока на DVI ноль, микросхема находится в состоянии Power Down, а вывод DVI подтянут к общему проводу внутренним резистором около 150 кОм (расчётное, не гарантированное значение). Фотодиод площадью 0,25 × 0,3 мм находится в 1,3 мм от края с выводами 4–6; окно в корпусе прибора должно открывать круг радиусом не меньше 0,4 мм вокруг него.

Параметры

По технической документации ROHM при VCC = DVI = 3,0 В и 25 °C:

ПараметрМин.Тип.Макс.
Питание VCC2,4 В3,0 В3,6 В
Напряжение DVI1,65 В—VCC
Ток при измерении (100 лк)—120 мкА190 мкА
Ток в Power Down—0,01 мкА1,0 мкА
Отношение отсчёта к люксам (белый светодиод, 1000 лк)0,961,21,44
Отсчёт в темноте, режим H-Resolution003
Время измерения, H-Resolution—120 мс180 мс
Время измерения, L-Resolution—16 мс24 мс
Частота SCL——400 кГц
Уровень нуля на SDA при 3 мА0—0,4 В

Предельные режимы: питание 4,5 В, рабочая температура −40…+85 °C, ток SDA 7 мА, рассеиваемая мощность 260 мВт на плате 70 × 70 мм.

Команды и режимы

Каждая команда — один байт в отдельной транзакции записи: несколько команд подряд без условия STOP микросхема не принимает. После подачи питания BH1750 находится в Power Down, и его можно сразу перевести в нужный режим измерения — команду Power On разрешено пропустить.

КомандаКодЧто делает
Power Down0x00выключение
Power On0x01ожидание команды измерения
Reset0x07обнуление регистра данных; в Power Down не работает
Continuously H-Resolution Mode0x10непрерывно, шаг 1 лк, 120 мс
Continuously H-Resolution Mode20x11непрерывно, шаг 0,5 лк, 120 мс
Continuously L-Resolution Mode0x13непрерывно, шаг 4 лк, 16 мс
One Time H-Resolution Mode0x20одно измерение, затем Power Down
One Time H-Resolution Mode20x21то же с шагом 0,5 лк
One Time L-Resolution Mode0x23одно измерение с шагом 4 лк

ROHM рекомендует режим H-Resolution: долгое интегрирование подавляет помехи, в том числе пульсации света от сети 50 и 60 Гц, а шаг 1 лк подходит и для полутьмы. Лампы мерцают с удвоенной частотой сети, поэтому время интегрирования, кратное 50 мс, усредняет целое число периодов — об этом пишет ams в DN26. У BH1750 время по умолчанию — 120 мс типично, оно не кратно 50 мс; ровно кратное время можно подобрать регистром MTreg.

Результат читается двумя байтами, старший первым, и делится на 1,2. Регистр MTreg (по умолчанию 69, допустимо от 31 до 254) меняет время интегрирования, а с ним чувствительность: при 254 шаг режима H-Resolution — 0,23 лк, режима H-Resolution Mode2 — 0,11 лк, а время измерения растёт пропорционально. Так же компенсируют затемняющее стекло: если оно пропускает 50 % света, MTreg удваивают.

Подключение

Схема из документации ROHM: конденсаторы 0,1 мкФ на VCC и DVI, SDA и SCL по правилам шины I²C с подтяжками к напряжению уровней интерфейса, ADDR — к общему проводу или питанию, а DVI — к выводу микроконтроллера, который после подачи питания держит ноль не меньше 1 мкс. Вместо вывода микроконтроллера подойдёт супервизор питания или RC-цепочка 1 кОм и 1 мкФ от VCC; для цепочки ROHM требует нарастания VCC от 0 до 2,4 В не дольше 100 мкс и паузы не меньше 25 мс при VCC не выше 0,05 В перед повторным включением. Подтяжки шины считают в калькуляторе подтяжки I²C, устройство шины — в статье «I²C».

Аналоги

Документа ROHM о совместимых заменах нет. Функциональные аналоги — другие цифровые датчики освещённости с I²C: VEML7700, TSL2561, OPT3001. Адреса, команды, диапазон и пересчёт в люксы у них свои, поэтому замена требует изменения программы; сравнение — в статье «Датчики освещённости», другие микросхемы — в разделе «Микросхемы датчиков».

Частые вопросы

Какой адрес I²C у BH1750?

Его задаёт вывод ADDR: при низком уровне (не выше 0,3 · VCC) адрес 0100011, то есть 0x23, при высоком (не ниже 0,7 · VCC) — 1011100, то есть 0x5C. На одну шину помещаются два датчика. ROHM предупреждает, что ADDR — вывод с тремя состояниями для заводского тестирования: если сброс через DVI не обеспечен, его подключают через резистор около 100 кОм, а не напрямую к питанию или общему проводу.

Можно ли подключать BH1750 к 5 В?

Саму микросхему — нет: рабочее питание по даташиту — от 2,4 до 3,6 В, а предельное — 4,5 В. Уровни SCL и SDA задаются напряжением на выводе DVI, которое не может быть выше VCC. Модули, рассчитанные на 5 В, ставят свой стабилизатор, а иногда и преобразователь уровней шины; есть ли они на конкретной плате, проверяют по её схеме.

Как перевести показания BH1750 в люксы?

В режиме H-Resolution 16-битный отсчёт делят на 1,2: например, отсчёт 1000 — это около 833 лк. Коэффициент 1,2 — типичное отношение показаний к реальной освещённости по даташиту, а его разброс — от 0,96 до 1,44, то есть около ±20 %. В режиме H-Resolution Mode2 результат дополнительно делят на 2, а при изменённом регистре MTreg умножают на 69 / MTreg.

Зачем BH1750 вывод DVI?

DVI одновременно задаёт уровни шины I²C (от 1,65 В до VCC) и служит входом асинхронного сброса. После подачи VCC на DVI должен быть ноль не короче 1 мкс, иначе состояние ADDR, SDA и SCL не определено. ROHM приводит варианты: DVI от вывода микроконтроллера, от супервизора питания или RC-цепочка 1 кОм и 1 мкФ от VCC — последняя с оговоркой, что при медленном нарастании питания сброса может не хватить.

Источники

  1. 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 — Features (1–65 535 лк, 0,11–100 000 лк с регистром MTreg, разброс ±20 %, подавление 50/60 Гц), Absolute Maximum Ratings (4,5 В, −40…+85 °C, ток SDA 7 мА, 260 мВт), Operating Conditions (VCC 2,4–3,6 В, DVI 1,65 В…VCC); с. 2 — Electrical Characteristics: ток 120/190 мкА, в Power Down 0,01/1,0 мкА, пик 560 нм, отношение отсчёт/люкс 0,96–1,2–1,44, темновой отсчёт до 3, разрешение 1 и 4 лк, время 120/180 и 16/24 мс, уровни ADDR и SCL/SDA, SCL до 400 кГц, VOL до 0,4 В при 3 мА; с. 4 — блок-схема, генератор 320 кГц, начальное состояние Power Down; с. 5 — Instruction Set Architecture, Measurement mode explanation; с. 6 — Timing chart for VCC and DVI, ADDR через резистор около 100 кОм; с. 7 — примеры обмена и пересчёта; с. 8–9 — Application circuit example of DVI terminal; с. 10 — I2C Bus Access, одна команда на транзакцию; с. 11 — MTreg 31–69–254, формулы и таблица лк на отсчёт; с. 12 — H-Resolution Mode2; с. 13 — Terminal Description
  2. TAOS / ams AG. DN26: Ambient Light Sensing (ALS) (AN000172, March 31, 2009) — Design Considerations — пульсации света ламп с частотой 100 и 120 Гц, время интегрирования кратно 50 мс

Нашли ошибку?