Теория
Пульсация света неприятна визуально, от неё устают глаза, она может вызывать головные боли и обострение нервных заболеваний. Считается, что пульсация до 5% совершенно безвредна. Пульсация до 30% почти незаметна и скорее всего не оказывает негативное влияние на человека.
Многие используют камеру смартфона для определения пульсации (если пульсация есть, на экране появляются полосы), но этот метод не позволяет оценить уровень пульсации и часто люди, увидев полосы, решают, что такой источник света опасен, а на самом деле у него может быть пульсация менее 5%.
Чуть лучше карандашный тест — он позволяет зафиксировать только видимую пульсацию.
В двух словах о том, что вообще такое пульсация. Пульсация это частое изменение яркости света, в худшем случае свет может полностью гаснуть и загораться 100 раз в секунду. Пульсация может быть вызвана упрощённой схемой питания светодиодов от сети или использованием широтно-импульсной модуляции (ШИМ) для регулировки яркости света.
Существует две формулы расчета коэффициента пульсации. Первую формулу часто называют упрощённой.
Коэффициент пульсации, рассчитанный по этой формуле, может принимать значения от 0 до 100%. 0 — пульсации нет, 100% — свет полностью гаснет и загорается.
Вторую формулу часто называют ГОСТ, так как она приведена в ГОСТ Р 54945-2012.
Формула выглядит страшно, но на самом деле всё проще:
Коэффициент пульсации, рассчитанный по этой формуле, может принимать значения выше 100%. Это происходит в том случае, когда свет не только полностью гаснет, но и время темноты дольше времени света.
Разные приборы, измеряющие коэффициент пульсации, рассчитывают его по разным формулам. Люксметр-пульсметр-яркомер «Люпин» использует формулу ГОСТ, спектрометр UPRtek MK350D использует упрощённую формулу. В проекте Lamptest я измеряю пульсацию с помощью прибора UPRtek MK350D, поэтому значения коэффициента пульсации у ламп не превышают 100%. Я перешёл на упрощённую формулу по двум причинам: многих удивляла пульсация больше 100% и они думали, что с измерениями что-то не так, кроме того по большому счёту совершенно не важно, пульсация 90, 100 или 146%. Во всех этих случаях свет плохой и его использовать нельзя.
Считается, что пульсация с частотой более 300 Гц никак не влияет на человека и во многих приборах есть фильтрация, исключающая фиксацию пульсации с более высокой частотой.
Возможности
Народный измеритель пульсации отображает на экране сразу два коэффициента пульсации: Kp1 — формула ГОСТ, Kp2 — упрощённая формула.
В нижней части экрана отображается осциллограмма яркости во всём диапазоне, в верхней части — увеличенная осциллограмма только самой пульсации (если она есть). Значение минимума яркости для верхней осциллограммы отображается под ней справа.
Под верхней осциллограммой отображается цветная полоса. Когда она зелёная, пульсации низкие и свет безопасен, желтый цвет говорит о небольшой пульсации, незаметной визуально. Оранжевый цвет — пульсация, заметная визуально. Красный цвет — сильная видимая пульсация.
Дополнительно отображаются три параметра:
Emax — текущая максимальная яркость света в условных единицах;
Emin — текущая минимальная яркость;
Eenv — Уровень фоновой засветки и шума АЦП.
На нижней осциллограмме есть синяя горизонтальная линия, соответствующая Eenv. Красными точками показывается контур осциллограммы со сглаживанием (программной фильтрацией).
Уровень фоновой засветки измеряется при включении прибора, когда на экране выводится сообщение «Auto calibration». Для повторной калибровки нужно просто выключить и включить прибор. Самые точные измерения получаются при измерении в полной темноте, но и при обычном освещении результаты достаточно точны.
Прибор работает в диапазоне освещенности ~100-2000 лк. Если света недостаточно для точного измерения, выводится сообщение «Low Light», если свет слишком яркий, выводится «Over Light».
При измерении располагайте прибор на таком расстоянии от источника света, чтобы ни одного из этих сообщений не было на экране. Лучше, чтобы значение Emax при этом было больше 500.
На экране отображаются осциллограммы за 40 мс. У большинства ламп пульсация имеет частоту 100 Гц, при этом на экране видны четыре волны. Если пульсация имеет более высокую частоту, количество волн на экране будет больше. Максимальная частота, которую «видит» прибор — ~800 Гц. Какой-либо фильтрации по частоте пульсации в приборе нет.
Комплектующие
Все основные комплектующие можно купить на Aliexpress. Нам понадобится:
1. Датчик света TEMT6000.
2. Микроконтроллер NodeMCU с интерфейсным чипом CH340.
3. Экран TFT 1.77". Можно взять TFT 1.8" (сам экран там точно такой же, в том числе по размеру, отличие в слоте для SD-карты сзади и в том, что у 1.8 выводы под экраном, а у 1.77 над экраном). 1.77" лучше тем, что модуль тоньше из-за отсутствия слота под SD.
4. Провода с разъёмами Dupont 10C Female to Female. Разумеется, можно не использовать провода с разъёмами, а просто всё спаять обычными проводами. Паять в любом случае придётся — датчик света приходит с неприпаянным разъёмом, лежащим отдельно в пакетике).
Остаётся выключатель, корпус, разъём для батарейки Крона и сама батарейка.
Выключатель можно использовать любой.
Ссылки на все комплектующие можно найти вот в этой моей публикации.
Разъём для батарейки Крона выдирается из старой батарейки такого типа. Батарейку можно использовать как щелочную (Alkaline), так и солевую (её хватит на два часа непрерывной работы). Кстати, если места в корпусе совсем не хватает, можно разобрать щелочную батарейку Крона, вынуть из неё шесть соединённых последовательно батареек AAAA и расположить их в корпусе, как удобно.
Для того, чтобы не вырезать окошко под экран, лучше использовать корпус из прозрачного пластика. Я использовал в качестве корпуса "органайзер для мелочей «Каждый день» 125х75х30 мм", купленный в Ашане за 30 рублей. Подойдут также коробки от детских ушных палочек, от зубочисток-скобок. Можно использовать и губки для обуви с прозрачной половиной, но у них очень тонкий пластик, который легко трескается.
Прошивка
Прошивку для прибора совершенно бескорыстно создал Станислав Грицинов, за что ему огромное спасибо!
Скачайте архив https://ammo1.ru/aa/pic22a/Lamptest_Flicker.rar и распакуйте его в любую папку. В архиве два файла — прошивка и программа ESP8266Flasher.
Подключите плату NodeMCU к компьютеру (датчик и экран подключать к плате необязательно). Если требуется, установите драйвер CH340. На компьютере должен появится новый COM-порт.
Запустите ESP8266Flasher, выберите появившийся COM-порт, нажмите Config, нажмите верхнюю шестерёнку, выберите файл прошивки (LAMP_PULSE_TEMT6000_15_2_ST7735_4_1_ESP_18_filter_1.ino.nodemcu.bin), нажмите Operation, нажмите Flash. Начнётся процесс прошивки, который займёт около 30 секунд. Когда внизу появится зелёная галочка, плату можно отключать.
Для тех, кому удобней прошивать прибор через Arduino IDE и тех, кто хочет изучить, как работает программа и, возможно, улучшить её, публикую скетч: https://ammo1.ru/aa/pic22a/LAMP_PULSE_TEMT6000_15_2_ST7735_4_1_ESP_18_filter_1.ino.
Сборка
Подключение датчика:
OUT (S) — A0
VCC (V) — 3V (любой контакт из трех)
GND (G) — G (лучше тот, что рядом с A0)
Подключение батарейки:
+ — VIN (через выключатель)
— — G (лучше тот, что рядом с VIN)
Подключение экрана:
Экран 1.77"
1 GND — G
2 VCC — 3V
3 SCK — D5
4 SDA — D7
5 RES — 3V (можно подключить к D6)
6 RS — D1
7 CS — D2
8 LEDA — 3V
Экран 1.8"
LED — 3V
SCK — D5
SDA — D7
A0 — D1
RESET — 3V (можно подключить к D6)
CS — D2
GND — G
VCC — 3V
Экран приклеивается изнутри к прозрачному корпусу термоклеем. Важно не перепутать верх и низ (у 1.77" контакты сверху, у 1.8" снизу). Датчик приклеивается тем же термоклеем к торцу корпуса.
Лучше сначала всё собрать и запустить, а потому уже размещать в корпусе.
Питание
Самый простой вариант — питание от батарейки «Крона». Можно вообще обойтись без встроенного питания и подключать прибор через разъём MicroUSB к любому источнику питания с выходом USB или пауэрбанку. Можно использовать одну или две батарейки AA/AA и повышающий преобразователь. Делать питание от аккумулятора смысла нет, ведь прибор вряд ли будет использоваться очень часто.
Датчик
Не обязательно использовать именно TEMT6000. В продаже есть датчики OPT101, у которых можно менять чувствительность изменением номинала шунтирующего резистора. В качестве датчика можно даже использовать маленькие солнечные батареи от игрушек (точность измерения будет ниже, но отсутствие пульсации и пульсацию под 100% будет отлично видно).
Проблемы
Характеристика датчика TEMT6000 не совсем линейна. Я даже думал делать таблицу коэффициентов пересчёта, но оказалось, что показания прибора и так достаточно точны (по большому счёту не очень важно пульсация 30% или 35%, главное, что видно, когда пульсация менее 1% и более 90%).
Я планировал сделать красивый интерфейс с крупными цифрами значений пульсации. Был нарисован вот такой макет.
К сожалению из-за текущих событий Станислав оказался в другой стране и неизвестно, когда он сможет и сможет ли вернуться к разработке. Если кто-то из вас возьмётся доделать интерфейс, будет очень здорово. Возможно я и сам этим займусь, когда переделаю все накопившиеся дела.
Можно ли купить готовый прибор
У меня нет цели зарабатывать на приборе. Я придумал этот проект для общественной пользы. Сейчас прибор существует в двух экземплярах (один в корпусе, второй просто в виде макетной сборки). Есть человек, который готов их собирать. Какую цену вы готовы заплатить за прибор в таком же корпусе, как на заглавном фото?
Если появятся люди или компании, которые захотят выпускать прибор, я не против. Если они сочтут нужным отчислять процент на развитие Lamptest будет хорошо, но я ничего не требую.
Я знаю, что многие купили комплектующие, соберут и запустят прибор в эти выходные. Я прошу вас сфотографировать ваши приборы и опубликовать фото здесь в комментариях или в Телеграм @ammochat. Мне будет очень приятно и я буду знать, что всё это не зря.
Всем мира!
© 2022, Алексей Надёжин
Автор: Алексей Надежин