nabbla (nabbla1) wrote,
nabbla
nabbla1

Category:

Led_luminance_vs_power: как создать новый файл описания

В прошлой записи я давал ссылку для скачивания программы, теперь она ведет на исправленную версию, в которой устранены несколько серьезных ошибок и еще по мелочи.

Пока было показано, как посмотреть характеристики светодиодов, описание которых уже внесено в соответствующий файл. Осталось рассказать, как такие файлы сделать самому. Что у нас светодиоды Cree, да Cree, надоело уже! Помучаем теперь светодиод Z-power P7 от Seoul Semiconductors. Теперь это тоже история, а ведь не так давно все окрестные велосипедисты с ним "носились". Один из первых светодиодов, который - как утверждала реклама - давал 900 лм при потребляемой мощности в 10 Вт. Сейчас это по-прежнему звучит круто! Глянем, а что нам скажет его описание.

Запускаем программу, в панели "выбор светодиодов" жмем "новый". Открывается окно с кучей полей ввода, начнем заполнять их.

Имя: можно любое задать, но лучше все-таки информативное, чтобы и наименование модели, и цвет. Это имя будет высвечиваться в списке светодиодов и в подписи к графикам.
Номинальный световой поток: Тот параметр, по которому светодиоды сортируют по группам (бинам). На графике RELATIVE FLUX VS. CURRENT именно он приравнивается к 100%. В случае P7 это значение приведено на странице 4, с подписью If=1400mA. А именно: 400 Лм. На странице 6 убеждаемся, что не ошиблись, именно при токе 1400мА "относительный световой поток" единица.
при токе, А: подставляем те самые 1.4А.
при температуре, град. Цельсия: должно содержаться где-то поблизости. Раньше всегда для 25 градусов приводили, сейчас Cree приводит для 85 градусов, поскольку именно такова характерная температура кристалла, когда светодиод вкалывает на приличном токе.
Максимальный ток: 2.8 Ампера.
темп. коэф. напряжение, мВ/градус (не забыть в следующий раз очепятку поправить): указывается для светодиодов Cree и Luminus, но нет такой информации для P7. Делать нечего, оставим 0, хотя можно вписать и -2..-3, это более-менее универсальное значение.
темп. коэф. эффективности, 1/градус: считается по графику Relative Light Output vs. Junction Temperature. У Cree и Luminus это почти всегда была прямая линия, у P7 она сильнее загибается после 100 градусов. Надо будет в новой версии сделать возможность и здесь таблицу загружать, а пока возьмем отрезок 25..100 градусов. Если хочется быть особенно точным, можно припахать ImageGraph2Txt - вставить в нее картинку, отметить оси, подписи на осях и навести курсор на график при 100 градусов. Получится 83.9%)

Коэффициент будет равен (0.839-1)/(100-25) = -0.0021 (а здесь можно применить Simple Qt Calculator)

тепл. сопротивление кристалл-корпус: 3 град/Вт. Thermal resistance, в обязательном порядке присутствует в любом описании!
макс. допустимая темп. кристалла: 140 град. Цельсия. Англ: Junction Temperature
срок службы, тыс. часов: очень плохо добываемый параметр. Раньше писали без зазрения совести: 35 000 часов по уровню 0.7 (т.е по прошествии этого времени световой поток не должен быть менее 0.7 от начального), сейчас фирма Cree дает ссылку на методику испытаний светодиодов и результаты испытаний. Там уже приведены экспериментальные данные при разных токах - насколько просел световой поток через 6000 часов и экстраполированные значения - через сколько часов он упадет до 0.7. Видимо, и здесь надо будет править, чтобы и срок службы мог зависеть от тока.

У P7 тупо ничего не написано. Впишем родные 35000 часов и не будем особо доверять вкладке "окупаемость"...

цена за штуку, руб: да, теперь его и не купишь. Забьем на цену, не так интересно.
количество: 1 штука.
вольт-амперная характеристика. Нужно дать ссылку на текстовый файл с парами "ток-напряжение" в два столбца, разделители роли не играют, подойдет пробел, таб, точка с запятой или любая их комбинация. Еще можно подгружать файл, выдаваемый ImageGraph2Txt - в нем кроме самих пар значений можно задать дополнительную информацию: подписи осей, название графика, и самое главное - порядок интерполяции.

Для подобных применений я и задумывал когда-то эту программу. В отличие от Digitizer'а, который шпарит все точки подряд, давая под 200..1000 пар X-Y, моя ImageGraph2Txt сохраняет лишь те точки, что были непосредственно отмечены, а также порядок интерполяции. Что будет получаться после интерполяции - изображается на том же графике, поэтому если видишь, что кривые совпадают, значит и в прочих программах, использующих table_func_lib обращение f[x] даст ту самую функцию, что изображена. Зачастую для этого достаточно хранить всего 3-4 точки, ну в самом крайнем случае 10-20. Например, в папке raw_data можно найти спектры излучения разных светодиодов. Я наносил точки до тех пор, пока интерполированная кривая не совпадала с исходной с точностью до ширины линии, а потребовалось 18..25 точек.

Попробуем. Открываем страницу 6, так, чтобы вольт-амперная характеристика была довольно крупной и умещалась в экран, жмем printscreen. Открываем ImageGraph2Txt, новый проект (если там уже что-то есть), "вставить" (или просто Ctrl-V).

Изображение можно двигать ползунками, можно колесиком вверх-вниз, а при одновременном нажатии Shift - влево-вправо.

Выбираем инструмент "обрезать края" (справа сверху на панели инструментов), выделяем в рамочку сам график и подписи осей. Если с первого раза рамочка неправильно выбралась, можно поднести мышку к краям рамки и переместить их. Щелчок вовнутрь обрежет рисунок, во внешнюю область - отменит выделение. Это все можно прочесть и в строке состояния. Если плохо отрезалось, есть Undo (Ctrl-Z), на неограниченное число шагов и даже сохраняемое в файл проекта.

Можно по ходу дела масштаб менять. В меню есть еще пункты "истинный размер" и "по размеру окна". Еще можно нажать Ctrl и крутить колесико. Вверх - увеличение масштаба, вниз - уменьшение.

Берем следующий инструмент - настроить оси координат (при наведении на кнопки на панели инструментов всплывает подсказка). В строке состояния пишет: "отметьте начало координат". Отмечаем. Затем: "отметьте точки на осях координат". Тут без разницы, с какой оси начинать, программа поймет, где что имелось в виду. Не обязательно отмечать точку на самом краю оси, главное, чтобы эта точка была подписана и желательно, конечно, подальше от начала координат, это увеличит точность. Вот что должно получиться:



Легенда заехала на ось Y, поэтому верхнюю точку (2800) не используем, берем находящуюся чуть ниже, 2450. Не обязательно, выставляя точку на оси Y, сильно целиться по горизонтали - отклонение от вертикальной оси попросту проигнорируется. То же самое с осью X - можно уехать мышкой чуть вверх или вниз - ничего страшного.

Как показано на рисунке, в нижней вкладке "выбор координат" вписываем координаты отмеченных нами точек.

Поскольку нам нужна зависимость напряжения от тока, а не наоборот, ставим галочку "поменять X<->Y".

Осталось только отметить сами точки. Выбираем третий инструмент, "добавить точки графика". Переходим внизу во вкладку "трассировка графика" и выбираем подходящий цвет для интерполируемой кривой. Раз график сам черный, тут хорошо подойдет красный или синий.

Порядок интерполяции ставим 3 - это кубическими сплайнами. Между каждыми двумя точками функция задается 4 коэффициентами, так, чтобы соседние участки "сшивались" гладко, т.е и функция, и две ее производные непрерывны. Не хватает условий для крайних точек, поэтому добавляется еще два: вторые производные на краях равны нулю. При такой интерполяции графики получаются наиболее "красивыми".

Ну и начинаем - ставим точки в каких-то характерных местах. Например, сначала на краях кривой - они соединятся прямой линией. И дальше будем вести себя так, как будто бы натягиваем эту линию на наш график. После некоторой сноровки получится обходиться очень малым числом точек. Процесс прямо затягивает - ставить точки и наблюдать, как одна кривая все лучше приближает другую!



Эта кривая довольно подлая - мы же строим x(y), в районе y=0 имеем очень быстрое нарастание, которое интерполируется из рук вон плохо - надо много точек поставить рядом, но даже тогда видна некоторая волнистость.

Еще нетривиальный факт - я не стал делать вольт-амперную характеристику, выходящую из нуля. Точно аппроксимировать такую характеристику было бы довольно сложно, а часто ВАХ вообще приводится только вблизи 3 вольт, а смысла мало: в таких режимах мы их все равно использовать не будем!

И второй, на сейчас самый подлый: нужно, чтобы наш график простирался от нулевого тока до максимального, не обрывался раньше времени. По умолчанию, если в программе происходит обращение за область определения функции, она возвращает ноль. Можно, чтобы она возвращала ближайшее значение, находящееся у края, но некрасиво получится - резкий излом на наших графиках. Лучше честно "оцифровать" всю доступную кривую.

Чтобы потом не запутаться в громадье разных кривых, можно подписать, что за график такой, в чем у него отмечены оси и т.д. (см. рисунок). Наконец, когда будет все готово, жмем кнопку "сохранить" на той же вкладке внизу, называем файл как-нибудь типа "P7_voltage_vs_current.txt" и можем с чистой совестью программу закрывать.

Теперь в Led_luminance_vs_power загружаем вольт-амперную характеристику и там должно появиться название, то самое P7 voltage vs current, которое мы написали в названии графика.

Зависимость светового потока от тока - делаем точно так же, только используем график Forward Current vs. Normalized Relative Luminous Flux. Он часто не начинается строго с нуля, мы же его доводим и до нуля, чтобы опять же - весь диапазон был определен, иначе неприятные изломы в результатах. По оси Y отмечаем не проценты, а "разы". Для этой кривой обычно хватает лишь 3 точек.

К.П.Д: используется исключительно для того, чтобы получились более точные тепловые расчеты. То есть люмены он правильно будет показывать, даже если ввести к.п.д нулевой, просто он решит, что они вообще никак не связаны с излучением мощности, а следовательно вся подведенная мощность пойдет в тепло. Это я к тому, что если лениво возиться, можно здесь оставить ноль - характеристики светового потока получатся хуже, чем на самом деле, поскольку кристалл будет как будто бы сильнее греться. Излучаемую мощность мы узнать тоже не сможем, но в целом жить можно.

Но давайте все же определим его. Поскольку он неизвестен наперед, надо нажать на кнопку "посчитать" - в ответ программа попросит подгрузить файл спектра светодиода. Надо будет подготовить и его. Главное, чтобы по оси X были отложены нанометры и ни что иное. Что откладывается по оси Y - вообще не важно, это могут быть проценты, разы, попугаи, все равно эту кривую надо нормализовать.

Когда будет готов спектр, нажимаем на "посчитать", подгружаем его, после чего высветится посчитанный к.п.д. Чуть ниже будет написана "эффективность спектра" - это световая эффективность источника с заданным спектром, если бы вся мощность уходила исключительно в свет. Помножив ее на к.п.д светодиода, получаем его реальную световую эффективность.

Вот что получается после всех наших мытарств:
screen13

Нажимаем, наконец, ОК и светодиод появляется в списке. На всякий случай сразу сохраняем его в файл (в той же панели, рядом с кнопками "новый" и "загрузить". Все, на радостях жмем "построить" - и строится график! Пока что для нулевого теплового сопротивления теплоотвода. Максимальный световой поток получается 670 люмен. Да, и здесь 900 означало абсолютный максимум, который однажды выдал конкретный экземпляр данной серии. Если же учтем, что теплоотвод имеет тепловое сопротивление отличное от нуля, скажем, те же 6 град/Вт, то и вовсе получится 600лм. Загрузим теперь для сравнения холодные белые MC-E, XM-L и XM-L2:

screen14
Получается, что P7 находится примерно на уровне "плохих" бинов MC-E. XM-L даже самой тусклой группы уже поэффективнее, а о XM-L2 и говорить нечего. Прогресс налицо, хоть и не такой быстрый, каким он был совсем недавно. Понять бы, в какой момент оно выйдет на асимптоту.

Вот он файл описания светодиода: http://juraff.ru/P7_cold_white.txt
Старания с ImgGraph2Txt не пропали даром: отлично читается, можно охватить одним взором. Вот если бы каждый оцифрованный график по 400 строк нам давал - это было бы хуже...


Очень большая просьба отписываться в комментариях, если вы сделали описание к светодиоду, которого изначально не было - дело все-таки муторное, не хочется одну и ту же работу делать несколько раз.
Tags: imagegraph2txt, led_luminance_vs_power, маньяк-эколог, моделирование, освещение, программки
Subscribe

  • Формулы приведения, что б их... (и atan на ТРЁХ умножениях)

    Формулу арктангенса на 4 умножениях ещё немножко оптимизировал с помощью алгоритма Ремеза: Ошибка уменьшилась с 4,9 до 4,65 угловой секунды, и…

  • Алгоритм Ремеза в экселе

    Вот и до него руки дошли, причина станет ясна в следующем посте. Изучать чужие библиотеки было лениво (в том же BOOSTе сам чёрт ногу сломит), писать…

  • atan на ЧЕТЫРЁХ умножениях

    Мишка такой человек — ему обязательно надо, чтоб от всего была польза. Когда у него бывают лишние деньги, он идёт в магазин и покупает какую-нибудь…

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your IP address will be recorded 

  • 9 comments