Последние сообщения форума

 -> Частотомер на attiny24
14-Ноября-2018 | 10:39:14 (Europe/Kiev)
Mals написал:
Можно ли поиграться с TCNT0, чтобы повысить точность? Или моя "прога" вообще полная лажа и...
сообщений (24)

 -> Flowcode 5 for dspic/pic24
13-Ноября-2018 | 11:25:13 (Europe/Kiev)
wadimk написал:
Мне нужна возможность переделывать компоненты под свои нужды..
сообщений (4)

 -> Вопросы чЯйника
13-Ноября-2018 | 8:29:13 (Europe/Kiev)
mim написал:
программа "приемника" не компилируется.Что не так делаю?При компиляции выдается лог ошибок. Все пишет, даже номер...
сообщений (1872)

 -> Pic16f877 в железе глючит
12-Ноября-2018 | 18:05:12 (Europe/Kiev)
serega4789 написал:
Уже сделал в fcode5.4 видны все переменные и макросы нашел косяки, меняю схему и порт...
сообщений (14)

 -> Макрос ModBus Master
11-Ноября-2018 | 8:06:11 (Europe/Kiev)
amarok_isr написал:
Доброго времени суток. Выкладываю рабочий пример работы по modbus с панелью оператора delta. С...
сообщений (3)

Наши партнеры

Адаптированние "кривой яркости" под анатомическую особенность зрения

Не просто вкл-выкл, диодом мы будем моргать плавно, использовать будем программный ШИМ, програмный для наглядности. Увеличивать и уменьшать величину ШИМа будем в прерывании.
-А мы умеем плавно моргать. - Скажете вы.
-А статья не о том как моргать, а о том как это делать правильно.

WANT

Наши глаза очень чувствительны к изменению яркости при малом количестве света. А когда света много, незначительные изменения яркости не заметно. Это нормальная функция глаза, Благодаря ей ночью в лесу можно заметить свет гнилого пенька, и при такой чувствительности не ослепнуть в зимний солнечный день.
И по этому наш объективный график превращается вот в такой субъективный:

tru

Надеюсь те, кто мигал плавно диодом, замечали, что он большую часть времени горит ярко, и лишь небольшой промежуток времени диммируется.
Надо от этого избавляться. А как? А выровняем кривую, точнее компенсируем за счет другой кривой. Ищем другую кривую:

arifm

Вот такая вот арифметика, из прямой отняли кривую, получили её «зеркало».

curves

Вам она что нибудь напоминает?smiley-laughing

Ага — парабола, точнее её самый кривой кусок «пятка» . Функция этого графика: y=x*x.

adepta

Теперь подгоним всё это под нашу программу.

Есть 2 пути:

1.Табличный, занимает много памяти, но быстрый, т. к. не требует расчётов. Забивать 256 значений руками не захотел. Можете попробовать сами. Данные я брал из экселевского файла, в котором забит калькулятор созданный как раз для этой цели. В нём можно выставлять пределы кривой и её степень. А так же Максимальные значения счётчика, ведь не все используют 8 битный счётчик.

(тут таблица)

2. Математический. Уходит много времени на калькуляцию.

Адаптируем пропорции нашей параболы под наши нужды такой формулой:

PWM=STEP^2/256

более понятный и простой эквивалент для ФК

PWM = ( STEP * STEP) >> 8

(тут пример)

Прикладываю пример. Пример для PICа. Переколбасить под AVR будет не трудно. В примере выводится оба вида ШИМа, для сравнения. Есть и видос, о он не отразит реального восприятия.

P.S.

Все что вы прочли используется и учитывается в профессиональных устройствах управления светом.

Комментарии   

Braun
+1 #3 Braun 25.07.2016 10:35
К сожалению автор давно не появлялся на связи и на форуме (14.05.2016). Статью так и не дописал.
Автор LEV-PRAV. Попробуйте подергать его на форуме или в личку.
Пусть допишет, я выложу.
Цитировать | Сообщить модератору
libra_alex
+1 #2 libra_alex 24.07.2016 18:29
Большое спасибо, за сделанную работу, она отличная, но ссылки не активны :(
Цитировать | Сообщить модератору
Yura
0 #1 Yura 13.04.2015 14:13
Нет ссылок на примеры!!
Цитировать | Сообщить модератору

Добавить комментарий


Защитный код
Обновить