Pull to refresh

Comments 74

А можно вопрос?
Зачем в 21 веке схемотехника не с динамической индикацией?

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

Пример чарлиплексинга для двух семи-сегментников укладывается в 4 линии (на схеме просто 5 линий):
image
И это еще самый простой чарлиплексинг, двух-уровневый, есть трех за счет Z состояния вывода.
UFO just landed and posted this here
UFO just landed and posted this here
Поверьте — я тоже — при таком количестве диодов как здесь и при той частоте обновления что может дать ESP — на глаз — не заметите.
UFO just landed and posted this here
Вы не учитываете здесь инерционность глаза.

С точки зрения физики да — он мигает.
Как и, наверняка, монитор, в который вы сейчас смотрите, однако вы этого не видите.
таки да — яркость падает. На хабр недавно проскакивала статья про хак IKEA диско-кубов, там для градации серого из белого применяли PWM с гаммакорекцией. Если такое применить с чарлиплексинг то вроде как должно взлететь. Что вы думаете?
Походу тут говорят немного о двух разных вещах.

1) При наличии источника бесконечной яркости его можно ШИМ-ить сколько угодно. И при наличии глаза с линейной чувствительностью это будет работать.
2) Но у нас и диод и глаз — с ограничениями. При увеличении тока на ширпотребном СД более 20мА — яркость уже не растёт. Кристалл же перегревается и деградирует. В даташите есть не только максимальный постоянный, но и максимальный пиковый ток — «выше головы» вы тут не прыгнете.

Так что если у нас «сверхяркие» СД и, грубо говоря, нам достаточно яркости в 10% от их «максималки» — то, да, мы можем ШИМ-ить/чарлиплексить их в пределах 1/10.

Можно поставить к каждому СД по конденсатору, но это усложнение, а мы же вроде как хотим упростить.
Угу и мега рост потребления (при статике).
А зачем в 21 веке вопрос не относящийся по сути к статье? :)
В статье не рассматривается вопрос статической индикации в принципе, так само как и нет перерасхода выводов и гребенок резисторов.
Подход с чарлиплексингом я не отрицаю совершенно, его можно и нужно применять там, где это уместно. Для индикаторов использованных в статье это практически не применимо.
Прочитайте статью не по диагонали перед тем как писать комментарий ;)
В статье не рассматривается вопрос статической индикации в принципе

Вот именно по-этому и был написан мой комментарий — зачем так делать вообще?

Статью я прочел.

Для индикаторов использованных в статье это практически не применимо

Чарлиплексинг? Для этих конкретно — да.
Но по той-же цене есть 7-сегментные индикаторы у которых сегменты не связаны.
Ну и динамической индикации это в любом случае — не помеха.
Плюшки — избавляетесь от кучи ненужных здоровых dip-корпусов на плате.
Без чарлиплексинга, для трех из данных в вашей статье индикаторов потребуется 10 линий управления — 7 для сегментов и по одной на выбор индикатора.
Я потерял суть вашего вопроса… Зачем делать так как? В статье динамическая индикация описана.

Приведите мне пример чарлиплексинга для индикаторов с падением на сегменте больше 5В и током 20мА+
Я потерял суть вашего вопроса…

Вроде всего один комментарий был, а уже потеряли? :)

Зачем делать так как?

Зачем не делать динамическую индикацию — вот главное.
Чарлиплексинг шел вторым пунктом, как бонус. Естественно, у него есть ограничения. И для мощных решений он не подходит.
Та потерял потому что третий раз пишу что в статье ДИНАМИЧЕСКАЯ индикация. А вы третий раз спрашиваете почему НЕ использовать динамическую индикацию :)
Наличие отдельного специального драйвера, реализующего динамическую индикацию не делает индикацию статической.
По поводу бонусного чарлиплексинга уже сами написали, что не актуально в данном случае.
Окей, тогда еще раз — динамическую индикацию без доп.обвеса центральным микроконтроллером (вроде бы не сложно понять из моего первого комментария, что я имею ввиду, правда?). А как уж там в обвесе это реализовано — нужно уточнять в датащите. Есть драйвера с ШИМ, есть линейные.

Дополнительный обвес не нужен в этой схеме — линий ESP за глаза.
С током тоже должен справиться, ну а если нет — один ключ на транзисторе (да хоть на мосфете) поставить — его одного хватит на все.

У вас уменьшаться габариты платы, стоимость изготовления, стоимость покомпонентная, и самое главное — появится бОльшая универсальность для стэкования — ничего перепаивать не нужно будет. Мало того — можно сделать мастер-плату с контроллером и к ней уже стэковать шилды с индикаторами — что правильней, чем иметь по контроллеру с WiFi на каждую плату с индикаторами.

Вобщем, все получается в разы проще и круче.
Линий esp не хватит, там 12мА всего, а не 20-30, и один ключ тут не поможет.
А для динамической индикации ток ещё бы задрать надо чтобы яркость совсем уж не проседала.
Потребление надо пиковое считать, а не константное — оно будет коротковременно импульсом работать — так что вполне может справиться.

Почему один ключ не поможет?
Да, при общем аноде/катоде такой вариант не поможет, согласен. Забыл опять что тут спаянные сегменты, этот пункт неверен для такой схемотехники, ок.

Еще раз — при высокой частоте обновления Вы не заметите на глаз уменьшения яркости.
у esp 12мА выход не потому что он сразу отгорит при большем постоянном токе, у него выходное сопротивление такое, и даже если его наглухо заземлить он больше этих 12мА не выдаст. и импульсный режим тут никак не поможет, на 1мкс из 10мкс, 120мА из него не получить никак.

В светодиод, да, можно задуть импульсно больше тока, в каких-то пределах, чтобы частично скомпенсировать большую скважность работы.
Но при том же токе яркость будет пропорциональна скважности, так что ещё как уменьшится.
Один ключ не поможет не только по причине общего катода/анода, а по причине того, что фигурально выражаясь выход контроллера — это полумост, который может подключать к плюсу питания и к земле (и еще есть и hiZ). И в данном случае это не просто логические уровни, по этим плечам будет проходить полный ток светодиода и нужно уже как минимум два транзистора, а лучше три. Так что гипотеза, что «будет проще» неверна.
А вот здесь по-подробнее — если стоит транзистор в режиме ключа через который и питаются диоды, а ключом как раз управляет МК, где там полный ток через ножку МК?
При чарлиплексинге диоды устанавливаются встречно-параллельно и ток течет в обе стороны, и к земле и к плюсу, в зависимости от того, какой светодиод горит. Соответственно и ключей должно быть два — для верхнего и для нижнего плечей.
При чарлиплексинге — да.
Но мы вроде-бы договорились тут что с этим типом индикаторов он смысла не имеет.

Почитал я спеки по ESP — да, печаль — 12 ма на ножку, даже в импульсе. ST и ATMEL рвут ее на части.

ИМХО — надо делать индикацию на нормальном проце, а управление (мастер-модуль) с ESP — тогда все нормально будет.
Ну и напряжение можно нормальное брать — 5 вольт.

Проц дешевле будет всего этого обвеса.

P.S.
Соответственно и ключей должно быть два

Можно, наверное, заюзать один мосфет для переменки :)
Ну мы же с вами не сферического коня в вакууме обсуждаем, а конкретно ваше предложение из первого комментария.
Мы сейчас уже обсуждаем, как сделать максимально правильно, современно и при минимальных затратах, нет?

Как-то медленно Вы контекст переключаете.
UFO just landed and posted this here
Правильней тем, что один корпус вместо 4.

Цена таже, универсальность выше — там можно задавать как угодно конфигурации без пайки.
Хочешь — матрицу, хочешь — 7-сегментники, хочешь — вообще WSки.

Трансфер данных и стыкование в разы проще — хочешь i2c, хочешь обычный com, хочешь — свой протокол.

Ну и отсутствие дипа.
UFO just landed and posted this here
Может потому что давно есть адресуемые драйвера вроде ws2811 стоимостью несколько центов, и даже сразу светодиоды с встроенным дрйвером, которыми прямо на плате выложить сегментный индикатор любого размера будет и гораздо проще и возможно даже дешевле.
Здесь речь идет о 7-сегментниках.

7-сегментники на WS будут большими — раз, и потреблять гораздо больше — два и стоить будут дороже обычных 7-сегментников точно — три, при этом их главная возможность — RGB не будет востребована.

7-сегментники со встроенным драйвером — очень редкая и соответственно, дорогая штука.
так речь и идёт вроде про индикаторы размером ~50мм, с толшиной светящейся части как раз 5мм.
если его выложить на плате из 30 диодов ws2812, за 2$, что-то сомневаюсь что отдельный индикатор такого размера + драйвера будут дешевле.
Отдельный индикатор будет дешевле — можете посмотреть на ТаоБао.
Драйвера не нужны при динамике. Потреблять будет меньше.

Нет, как вариант — можно — особенно если хочется, чтобы цифры цвет меняли по настроению :)
Да, индикаторы большие и сверхяркие, хорошо видно при дневном свете. При использовании дискретных адресуемых светодиодов думаю основная проблема будет в создании качественного светорассеивателя, чтобы сегменты не состояли из отдельных светящихся точек. А при такой плотности «пикселей» это задача будет не такая уж и простая.
А вы пробовали?
Рассеиватель нужен хоть в пиксельных, хоть в обычных
Вполне нормально получается
samopal.pro/clock_moon1
image — что-то тут с ISO не то. Фотка нереальная.
Да, тоже обратил внимание. Как по мне она пересвечена, потому и кажется более-менее равномерный цвет внутри сегмента, хотя если присмотреться — и тут пятна видно. Я под один проект довольно много времени уделил поиску правильного светорассеивателя и могу с уверенностью сказать, что вопрос очень непростой и помощью широкодоступных материалов качественно его решить сложно. Требуется или большое увеличение толщины или использование специальных пластиков/пленок, которые применяются, например, в торцевых LED подсветках мониторов/телевизоров. Там, к слову, для того чтобы добиться хорошей равномерности используют сендвичи из разных рассеивателей от 4 до 10 слоев (возможно и больше есть, 10 это то что я встречал на 60+ дюймовых матрицах телевизоров).
Т.е. ни оргстекло (матовое/зашкуренное) ни термоклей (в т.ч. «молочные») — не решают?
Такие методы частично могут решить вопрос равномерности, но ценой потери яркости за счет рассеивания. Спец пластики практически не уменьшают поток (95-98%), а перераспределяют его.
ИМХО достаточно взять всетодиоды с широким углом обзора, плату взять с маской белого цвета или заказать полностью белую шелкографию, а сверху наклеить белую пленку.
Вы, наверное, не совсем понимаете основы оптики. Все что даст белая шелкография — это чуть больший коэффициент переотражения света отраженного обратно от пленки. СД с широким углом тоже не решат проблему равномерности, будут наложения от соседних и пики от кристаллов. Присмотритесь к конструкции линз для качественных светодиодных фонарей, там бывает очень сложный профиль, матирование зонами и другие ухищрения для получения равномерного пятна. И линзы такие делаются конкретно под определенную модель светодиода.
Чем в данном случае недостаточна линза на самом светодиоде, которая стоит на светодиодах с широким углом обзора?
Пиков от кристаллов при закрытие пленкой не видно.
Присмотритесь к конструкции линз для качественных светодиодных фонарей, там бывает очень сложный профиль, матирование зонами и другие ухищрения для получения равномерного пятна.

Я думаю, что у индикаторов и светодиодных фонарей есть важная разница — в индикаторе я могу потерять значительную часть мощности, чтобы получить равномерность. А в фонарях нужно выдать всю мощность в нужном направлении и терять 30% на непрозрачной пленке никто не хочет. Вот и делают там сложные прозрачные линзы.
Широкоугольных SMD светодиодов у меня нет, так что проверить не могу. Посмотрел пару даташитов на DigiKey для светодиодов с углом 130+ градусов, на их диаграммы направленности. В теории, при плотном расположении корпусов можно добиться неплохой яркости и равномерности даже прикрыв обычной бумагой на расстоянии 3-5мм :)
Цена 15-20 центов за штуку на сотне. Корпуса 0805, 1206.
Думайте сами, считайте сами… :)
Стандартный 160-градусный представитель:
image
В теории, при плотном расположении корпусов можно добиться неплохой яркости и равномерности даже прикрыв обычной бумагой на расстоянии 3-5мм :)

Ага, а если учесть еще обратное отражение от этой самой бумаги, белой подложки и белых стенок, то равномерность там будет очень неплохая и при не очень плотном расположении.
И это не теория, а практика — широкий угол решает все.
Скоро будет. Уже разрабатывается плата и накладка.
Только у меня цифры не такие уж большие — 55мм всего. Вам маловато будет?
Покопался в загашниках, чтобы не быть голословным.
Линзы под точечные светильники.
image

Матричная линза под небольшой фонарь уличного освещения.
image
samopal.pro/clock_moon1
WS и аналоги бывают 3528 и еще меньше
На счет стоимости, индикаторы крупнее 2" тоже весьма не дешевы
Зачем в 21 веке схемотехника не с динамической индикацией?
Мерцание.
Мерцание

Нивидимое глазу? :)
Почему невидимое? Бывает вполне заметное.
Бывает, но не в этом случае.
При динамической индикации следует учитывать, что частоту сканирования сегментов нужно еще умножать на количество адресуемых сегментов, так как шина управления обычно последовательная.
И если сегментов много, можно легко подняться до неожиданных цифр, которые не каждый контроллер потянет.
Тут у ESP-шки стоковая частота 80Mhz, ну как бы…
Дело не в стоковой частоте. Вам нужна высокая частота SPI и еще и возможность обрабатывать прерывания в реальном времени, чтобы успевать обновлять сегменты.
В общем не такое это простое дело — недаром всякие MAX7219 пользуются популярностью, несмотря на их относительную дороговизну.

Не первый раз вижу подобные треды, которые сводятся к столкновению мнений "мерцает/не мерцает" о динамической индикации.


Вообще было бы интересно увидеть на Хабре подробную статью на эту тему.

Было бы интересно, но там, помимо этого «столкновения мнений» будет холивар по поводу методов оценки и замера. Плюс, у каждого человека это индивидуально, знаю по себе — бегущие строки в автобусах, я боковым зрением отчетливо вижу мерцание, многие люди — нет.
Потом, нужен прибор для замера реальной яркости, в идеале какой-то бокс или сфера. В итоге много работы, а адепты «мигает/не мигает» всё-равно останутся при своем.
Не первый раз вижу подобные треды, которые сводятся к столкновению мнений «мерцает/не мерцает» о динамической индикации

Ну я не знаю, о каких тредах вы говорите и почему мой пост показался вам подобным.
Лично у меня мнение простое — частота обновления больше 250 Гц — мерцания не будет. Все что ниже — это баг и некачественно разработанное железо и софт.

Бегущие строки в автобусах тоже из этой оперы — хотели подешевле — получите мерцание.

А вы о какой частоте говорите? А то на советских часах с "зелененьким" люминесцентным индикатором и частотой индикации 512 Гц. Боковым зрением при повороте головы мерцание было отчетливо видно. (про частоту мог приврать — быстро нагуглить какая именно она тогда обычно была не смог)

512 Гц

Ну Вы частоты то не сравнивайте, которые были там и тут :D

Так мне и любопытно, на каких частотах сейчас работает динамическая индикация

На советских часах наверняка было 50Гц — мерцание как раз заметно боковым зрением.
У меня в схеме внизу было 250Гц или около того. В используемой ТС схеме MAX7219 сканирует на частоте 800Гц.
Дело не только в яркости, а еще и в проблемах при сьемке например.
Один знакомый оператор кино рассказывал, что редко где в фильмах можно увидеть электронные часы с динамической индикацией. Или часы убирают вообще, или, где это принципиально, ставят со статической индикацией, чтобы цифры не мигали в кадре.
Чисто для обсуждения. Моя схема динамической индикации:
image

Все работает от SPI STM32F103 и требует всего 3 пина.

Яркости тут маловато, так как питание от +5В, но использование ультраярких семисегментников снимает эту проблему.

Насчет, зачем в 21-ом веке не динамическая индикация? В следующем проекте возвращаюсь к статической на TLC59284. Просто и резисторы не нужны и до 35мА на светодиод.

А вообще, чтобы поговорить — а нафига использовать готовые семисегментники, если сегодня спокойно можно сделать такой самому? SMD светодиоды на плате + соответствующая накладка на 3D принтере позволяет получить любой вид и размер индикатора с нужными сегментами.
Прочитайте первый абзац. Кучка индикаторов досталась мне бесплатно и проект не является коммерческим (синоним cost-effective). Реализация затачивалась под максимально простое использование конкретно этих индикаторов.

/sarcasm mode ON/
А нафига использовать готовые микросхемы, если сегодня спокойно можно сделать самому на SMD транзисторах? :)
/sarcasm mode OFF/
А вы, кстати, свою схему включали уже?
Да, два устройства уже работают нон-стоп больше недели. Скоро будет вторая часть статьи с софтом и конкретными реализациями.
Вопрос не во времени работы, а, например, в яркости свечения.

При прямом солнечном свете можно разглядеть сегменты?

А также в том же мерцании — какая у вас частота обновления получается?
У этих индикаторов всё хорошо с яркостью. Даже при солнечном свете читаются.
Паспортная частота обновления МАХ7219 800Гц. Никакого мерцания не видно даже боковым зрением. Тут расчет простой, насколько я понимаю, максимально 8 цифр, выходит при полном наборе индикаторов мерцание каждого будет 100Гц, что с головой должно хватить в том числе для бокового зрения.
Не, 100Гц — это маловато. Если я прочитал даташит правильно, то 800Гц — это частота сканирования всех 8 линий по кругу. Если линий будет меньше(там это как-то программируется), т.е. меньшее кол-во индикаторов, то частота будет еще больше.

Но лучше проверить осциллографом.
Стоит заметить, что в классической схеме должны быть токоограничивающие резисторы в цепи каждого сегмента, они упущены по причинам использования динамической индикации — ток можно ограничить скважностью импульсов
Вот это режет глаз. Вместе с упрощённой схемой подключения далее по тексту. Так делать нельзя совершенно! В статье дальше рассказано, что на самом деле последовательно стоит MAX с внутреннем ограничением тока и вроде бы всё хорошо. Но эта фраза в начале статьи уже не даёт спокойно воспринимать текст ниже:) Извините)
Спасибо за конструктивное замечание. Перефразировал.
Прекрасная статья, спасибо автору. Тем не менее, хочу акцентировать внимание на одном нюансе — по даташиту MAX7219 питается от напряжения 4.0-5.5в, т.е.3.3в для нее маловато. В аналогичной задаче я использовал MAX6950 (у нее нижняя граница напряжения питания — 2.7в), так как имевшиеся в наличии MAX7219 от 3.3в не работали — видимо, зависит от партии.
Спасибо за ответ.
MAX7219 в данном устройстве питается от 5В (напряжение шины USB), так что никаких проблем с этим нет. Сопряжение с логическим уровнем SPI 3.3В так же возможно или напрямую или через защитные сопротивления в пару сотен ом. Шина однонаправленная, так что согласовывать MISO нет необходимости.
Sign up to leave a comment.

Articles