Изготавливая различные светодиодные светильники часто хочется иметь под рукой люксметр для проверки освещенности которую дают готовые приборы.
А почему бы не собрать самому несложный прибор?
Чтобы не возиться с калибровкой, решил взять за основу цифровой датчик со встроенным АЦП и интерфейсом I2C.
Таких в обозримой доступности нашел несколько:
- BH1750 от ROHM Semiconductor
- TSL2561 (2563, 2569 etc) от TAOS
- MAX44007/MAX44009 производства Maxim Integated
Решил начать с простого и дешевого BH1750
Компоненты для изготовления люксметра
- Плата Arduino Pro Mini — $1,75
- Цифровой датчик освещенности BH1750FVI — $2.2
- Графический дисплей NOKIA5110 — $2.5
- Приборный корпус с TAOBAO 134x70x25 — $0.25 (без учета доставки)
- Пара кнопок, транзисторы, резисторы провода, макетная плата?
- В качестве источника питания литиевые батареи от старого телефона
Общий бюджет в пределе $10
Электрическая схема люксметра
Конструктив
Изготовление корпуса
Размечаю окно под дисплей и дырки под кнопки
Делаю отверстия и ровняю из гравером
Примеряю плату с деталями
Подгоняю, проверяю отверстия
Батарейный отсек
Изготавливаю из старой заглушки от системного блока. Размягчаю феном, подгоняю под аккумулятор и вставляю две пружинки — контакты аккумулятора
Припаиваю провода к контактам и креплю батарейный отсек в корпусе на «холодную сварку»
После высыхания этого «чудо пластилина» получаю вполне надежное крепление аккумулятора в корпусе с возможностью его быстрого извлечения для зарядки
Монтаж и пайка
Размещаю все компоненты на макетной плате
И распаиваю согласно схемы любимыми тефлоновыми проводами
Сенсор освещенности
Под рукой оказалась прозрачная коробочка от SD-карточки. Поместил модуль освещенности пока туда, хотя выглядит достаточно неказисто. На отрезке гибкого 4-х жильного телефонного провода обжал разъемчики в стиле Ардуино
Собираю все вместе
Верхняя крышка
Рисую в графическом пакете макет надписей на верхнюю крышку и печатаю в зеркальном виде на прозрачную пленку, а затем приклеиваю ее к крышке
И вот готовый вид прибора
Программирование люксметра
Теперь можно подключить к разъемам ардуины преобразователь USB/SERIAL и начинать программировать
Для работы с дисплеем 5110 по любым 5-ти дискретным выводам использую библиотеку Adafruit-PCD8544-Nokia-5110-LCD-library и графическую библиотеку Adafruit-GFX-Library
Остальное из стандартного набора Arduino IDE
Микроконтроллер постоянно находится в режиме SLEEP_POWER_DOWN И включается/выключается длительным (более 2 сек) нажатием на кнопку питания. Ток в отключенном режиме порядка 100 мкА. Это достигнуто тем, что с платы демонтирован светодиод питания, аккумулятор заведен на контроллер минуя стабилизатор напряжения, включение всей периферии производится микроконтроллером через транзисторы. Все выходы при выключении переводятся в режим выхода в низкое состояние (LOW).
В рабочем режиме с периодичностью 1 сек выводятся показания датчика освещенности и напряжение аккумулятора.
Напряжение питания сравнивается с внутренним опорным напряжением 1.1В по методике описанной в этой статье
Скетч люксметра для ардуиноИспытание люксметра
Для проверки показаний взят простой прибор DT-1300
Разница показаний примерно 2-4%, что вполне укладывается в точность DT-1300 5%
Там где освещение не равномерное разница увеличивается из за отличий в форме датчиков приборов
Прошелся по комнатам с различными светильниками
- Люстра с эффектом бесконечности дает освещенность 100-110 лк в центре комнаты, уменьшаясь до 75-80 лк по углам. Включение направленной подсветки — 400 лк на поверхности стола
- Встраиваемые светильники в корпусе GX-70 — 125-135 лк
- COB-матрица в ванной комнате — 120-130 лк
- Настольная лампа на COB 20 Вт — 500-1000 лк в зависимости от зоны стола и направленности светильника
Характеристики прибора
- Диапазон измерения 1 — 65535 лк
- Разрешение измерения 1 лк
- Потребляемый ток в режиме измерения 60мА
- Ток в режиме ожидания (PowerDown) 100мкА
- Габариты 134 x 70 х 25 мм
Выводы
Прибор получился вполне годный для домашнего применения при сравнительно небольших затратах
Что не понравилось
- Конструкция выносного сенсора. Буду модернизировать, когда найду подходящее решение
- Дешевый экран NOKIA5110 очень слепой что с подсветкой, что без. Подсветка очень неравномерная.
- С кнопкой питания и режимами сна можно было так не заморачиваться, а просто поставить выключатель с фиксацией и размыкать цепь питания батареи
Планы на будущее
- Добавить некоторые функции, например автоматического отключения питания по истечении времени. Задействовать вторую кнопку.
- Добавить настройки контрастности дисплея и яркости подсветки с сохранением результатов в EEPROM.
- Сделать разъем для подключения разных датчиков и автоопределение их при включении. Подключить к прибору TSL2561, датчик измерения ультрафиолета, датчик цвета и т.д.
- Разработать алгоритм измерения пульсаций света (при измерении с короткой временной задержкой считать разницу между минимумом и максимом в процентах)
В общем есть чему порадоваться и о чем задуматься
Вполне бюджетное исполнение полезного прибора. Датчик точно стоит взять.
А чем приклеивали пленку чтобы она не сморщивалась после высыхания?
Пленка от струйника достаточно толстая и не сморщивается.
Приклеивал на «жидкие гвозди» прозрачные. Но подтеки под пленкой все равно видны.
Вроде есть пленки с клеящим слоем — напечатал, вырезал, отклеил, приклеил.
Подскажи как увеличить точность измерения до сотых, а то и тысячных лк?
и какой лучше взять чувствительный элемент?
Ну только аналоговый типа фотодиода. И мерить в очень узком диапазоне с хорошим АЦП.
Только не представляю, где такая точность нужна
Подскажите какая зависимость здесь между напряжением и освещенностью?
Никакой. Там стабилизаторы напряжения стоят внутри модулей и сигнал в цифре идет
Возможно ли пообщаться с создателем люксметра возник ряд вопросов желательно не на сайте а в вк?
http://vk.com/sav59
Неплохо неплохо 🙂 особенно исполнение.
—
ЗЫ. Но по цене 🙁 вышло как и покупной.
Зато по функционалу нормально.
Мой теперь пульсации считает
А возможно ли вместо вашего чувствительного элемента использовать вот этот https://vk.com/away.php?to=http%3A%2F%2Fwww.compel.ru%2F2015%2F07%2F14%2Fopt3001-datchik-osveshhennosti-so-spektrom-chelovecheskogo-glaza, так как я понимаю что у этот сенсор измеряет от 0,01 лк
Да. Он поддерживает I2C интерфейс.
Есть библиотека к Ардуино
Вот похожая статья
https://lesson.iarduino.ru/page/urok-23-opredelyaem-parametry-lamp-moschnost-osveschennost-mercanie/
Это устройство на меге 168 не заработало , не хватило памяти.
А выше указанный девайс — работает. причем дисплей более доступный
Да. Для работы графического дисплея нужно больше памяти.
Графический дисплей от Siemens подойдет?
ардуино про мини 8MGz 3.3v можно использовать в данном проекте?
Можно