Управление яркостью индикаторов.
Задействовано управление яркостью индикаторов через ШИМ. Все работает! Сигнал ШИМ берется с ноги 13 контроллера (вывод PB1) и подается на вход разрешения OE# регистра U12 (который управляет зажиганием разрядов). Программа дает 4 уровня управления яркостью. Однако, из-за того, что вход OE# регистра U12 инверсный, придется ввести еще одну (дополнительную) инверсию, иначе яркость регулируется наоборот (на свету - самая тусклая).
| Уровень яркости, условно | Напряжение на входе PC1 (ADC1) | Duty cycle на выходе PB1 (OC1A), % | Яркость (с доп. инвертором) | Яркость (без доп. инвертора) |
|---|---|---|---|---|
| выше 3,6-3,7В | ||||
| от 2,9-3,0 до 3,6-3,7В | ||||
| от 1,7-1,9 до 2,9-3,0В | ||||
| ниже 1,7В |
При этом часы включаются с максимальной яркостью, а потом после инициализации и вывода температуры, устанавливают яркость по фотоэлементу. Могу сказать (потом поймете почему), что самым правильным (как задумывал автор) является Варианты 2 и 3, что косвенно подтверждается тем, что в первом варианте часы включатся с минимальной яркостью, а потом ее увеличивают.
Сразу скажу, что в авторской схеме, без дополнителных транзисторных ключей мне не удалось запустить регулировку яркости. Испробован вариант 2, как требующий минимальных переделок, но ничего не вышло. При максимальной яркости все хорошо, при ее снижении начинает появляться засветка и при минимальной яркости просто видим 4 восьмерки. Не успевают закрыться транзисторы или появляется влияние соседних индикаторов.... Признаюсь, что был расстроен и на реакцию маленьких индикаторов не посмотрел. Дальше не экспериментировал, т.к. это тупиковая ветвь - надежнее поставить доп. ключи.
Приехали фоторезисторы (20PCS Photoresistor GL5537 LDR Photo Resistors, 20шт. за $0.99!) На свету имеют сопротивление ок. 1К (на ярком - меньше), а в темноте у них уходит до 0.5МОм и больше.
Как всегда, предлагаю варианты доработки на выбор. Есть еще 4-й вариант - сделать инверсию программно, но мы работаем с железом и не будем плодить еще и массу прошивок, чтобы не запутать окончательно. Работоспособно в схеме с доп. тарнзисторными ключами.
Вариант №1. Правильное направление регулировки яркостью делаем, поменяв местами фоторезистор PR31 и резистор R3. Но поскольку доп. инвертора нет, то получаем 3 уровня яркости, а на 4-м уровне яркости индикаторы гаснут. Чтобы этого избежать, нужно сделать делитель на входе PC1/ADC1, который обеспечивает без фоторезистора (типа в темноте) напряжение от 3.0 до 3.6В (т.е. 3-й уровень яркости). Например верхнее плечо - R3-4К7, нижнее - R68-10К обеспечивает напряжение 3.4В - минимальный уровень яркости, но индикаторы не погашены. Параллельно нижнему плечу ставим фоторезистор и при его освещении напряжение будет уменьшаться, а яркость индикаторов - возрастать в ТРИ уровня.
Вариант №2. Фоторезистор - как в оригинальной схеме. Инвертор включен между МК и регистром U12. Остается подобрать нижнее плечо R3, чтобы на свету напряжение на PC1/ADC1 было выше 3.7В (т.е. 4-й уровень яркости) У меня реализован вариант №2, а 7407 напаяна прямо на U12 сверху.
Вариант №3. Принципиально не отличается от варианта 2. Он дешевле, чем микросхема и не увеличивает номенклатуру деталей. Кроме того, плата очень плотная и вписать в нее микросхему будет тяжелее, разве что полностью переразводить.
Внимание! При определенной освещенности из-за мигания центральных точек (секунд) наблюдается синхронное изменение яркости индикаторов, видно маловат программный гистерезис на границах переключения. Поэтому фоторезистор нужно отделить от этих точек перегородкой, одеть на них трубочки или вывести его на верхнюю/боковую стенку корпуса.