Jump to content

    
HaJl4uk

Подключение 7-сегментного

Recommended Posts

Как обойтись без транзисторов в этой схеме (нет под рукой)?

Можно ли просто подключить 1, 2, 3 ко входам EN_PIN и для управления один из них притягивать к земле, а остальные отключать?

 

 

7-Segment-Display-Interfacing-With-STM32.jpg

Share this post


Link to post
Share on other sites

Зачем переделывать эту схему?  Из всех схем в интернете - это самая неудачная и не правильная.

Проще найти нормальную, уже без транзисторов.

3 hours ago, HaJl4uk said:

Можно ли просто подключить 1, 2, 3 ко входам EN_PIN и для управления один из них притягивать к земле, а остальные отключать?

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

но работать будет плохо.

Share this post


Link to post
Share on other sites
3 часа назад, HaJl4uk сказал:

Как обойтись без транзисторов в этой схеме (нет под рукой)?

Можно ли просто подключить 1, 2, 3 ко входам EN_PIN и для управления один из них притягивать к земле, а остальные отключать?

Если нагрузочной способности каждого из пинов EN_PIN... хватит по максимальному току (в случае когда все разряды индикатора горят) и суммарной нагрузочной способности всего корпуса МК хватит по суммарному току всех выводов, то можно. Но быстрей всего - не хватит. Читать даташит на МК, раздел "максимальные значения токов".

Можно правда увеличить сопротивления резисторов, уменьшив токи или уменьшить напряжение питания МК, но пострадает яркость.  :unknw:

Также - если общей нагрузочной способности корпуса МК хватает, но не хватает нагрузочной способности отдельных ног, то можно спарить параллельно по несколько ножек (на каждую линию EN_PIN...).

 

14 минут назад, izerg сказал:

Проще найти нормальную, уже без транзисторов.

Неужто некая магическая схема позволит увеличить нагрузочную способность МК по токам???  :shok:

Share this post


Link to post
Share on other sites
3 minutes ago, jcxz said:

Если нагрузочной способности каждого из пинов EN_PIN... хватит по максимальному току (в случае когда все разряды индикатора горят) и суммарной нагрузочной способности всего корпуса МК хватит по суммарному току всех выводов, то можно. Но быстрей всего - не хватит. Читать даташит на МК, раздел "максимальные значения токов".

потом начнутся вопросы - почему меняется яркость, в зависимости от цифры, почему белый / синий индикаторы не светятся... и так далее.

Схема выдрана из "онлайн учебника" , я сомневаюсь что автор до даташита вообще дойдет, но если дойдет - потом будет вопрос "а en_pin(0) - это какой GPIO".

Share this post


Link to post
Share on other sites
3 часа назад, HaJl4uk сказал:

Можно ли просто подключить 1, 2, 3 ко входам EN_PIN

Можно, если 7 шт. одинаковых последовательных резисторов добавить в цепи A...G.

Share this post


Link to post
Share on other sites
8 minutes ago, jcxz said:

Неужто некая магическая схема позволит увеличить нагрузочную способность МК по токам???  :shok:

магическая - не знаю, магией не владею :)

делаем несколько предположений: 

- индикатор - более менее новый, а не найденый / выпаяный откуда-то 20 летней давности - значит будут светодиоды, котрый работают от небольшого тока, и уже будут именть какую-то достаточную яркость. Иногда светодиодам хватает 0,5 - 1  мА что-бы светится. Нужно смотреть даташит.

- допустим, что выбраны GPIO с достаточной нагрузочной способностью? (надо смотерть схему и даташит :)

58/139 DS9716 Rev 11 - то что было под рукой, максимально допустимые значения.

Output current sunk by any I/O and control pin 25 мА
Output current sourced by any I/O and control pin -25 mA

- допустим включили цифру 8 ... пусть по 2 мА на светодиод - итого 16 мА - должно хватить :) но это ни минимальной яркости светодиода, и в статическом режиме :)

- индикатор динамический? значит яркость просядет минимум 1/4 или 1/7 ?

... насчет магичности схемы, в исходной схеме - резисторы в эмитерах - "ну такое себе" решение, почему не в коллекторе? еще бы лучше - в сегменты переставить.

Share this post


Link to post
Share on other sites
25 минут назад, izerg сказал:

... насчет магичности схемы, в исходной схеме - резисторы в эмитерах - "ну такое себе" решение, почему не в коллекторе? еще бы лучше - в сегменты переставить.

Видимо потому, что алгоритм динамической индикации в этой схеме перебирает последовательно не цифры, а сегменты.

Т.е. - сперва зажигаются все сегменты A (где нужно), коммутируемые ключами EN_PIN...; потом - все B где нужно; ... все C и т.д. И так 7 фаз.

Почему резисторы не сверху? Наверное потому что автор их экономил. Как сейчас ТС экономит транзисторы.  :biggrin:

48 минут назад, izerg сказал:

потом начнутся вопросы - почему меняется яркость, в зависимости от цифры

А почему яркость должна меняться в зависимости от цифры? Ну если конечно источник питания не просаживается.

Share this post


Link to post
Share on other sites
18.09.2021 в 16:40, jcxz сказал:

Видимо потому, что алгоритм динамической индикации в этой схеме перебирает последовательно не цифры, а сегменты.

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

Сделал без транзисторов, но увеличил сопротивление для каждого знакоместа до 500. Пришлось все управляющие пины настроить на выход, так как вход имеет большое сопротивление и свечение еле видно. Вообще в даташите (stm32f103) написано (насколько я понял) что гпио выдерживает до 25 мА тока. При измерении получилось 2,6 мА на каждое знакоместо при постоянном свечении и 0,8 мА при импульсном с периодом +-10 мс (переключение происходит через 5 мс, следовательно каждый знак из трёх не горит 10 мс + алгоритмическая задержка)

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

Edited by HaJl4uk

Share this post


Link to post
Share on other sites
1 час назад, HaJl4uk сказал:

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

Значит драйвер кривой. Схема сделана под перебирание сегментов. Если перебирать цифры, то резисторы должны быть в цепях сегментов.

Цитата

Сделал без транзисторов, но увеличил сопротивление для каждого знакоместа до 500.

Резисторы оставили в цепях знакомест?

Неужели не заметили, что яркость цифр сильно зависит от того какая цифра показывается? Например '1' и '8' если рядом зажечь?

Читали/поняли про то где и почему должны быть резисторы? И поняли почему с таким расположением резисторов как на схеме выше, перебирать нужно сегменты, а не знакоместа?

Share this post


Link to post
Share on other sites
17 часов назад, jcxz сказал:

Читали/поняли про то где и почему должны быть резисторы? И поняли почему с таким расположением резисторов как на схеме выше, перебирать нужно сегменты, а не знакоместа?

Нет, не понял почему для каждого сегмента нужен резистор.

Share this post


Link to post
Share on other sites
28 минут назад, HaJl4uk сказал:

не понял почему для каждого сегмента нужен резистор.

Нарисуйте электрическую схему для одного знакоместа. Разрисуйте его внутренности до уровня отдельных светодиодов каждого сегмента. Рассчитайте ток коллектора транзистора в цепи общего катода одного знакоместа. Рассчитайте токи каждого светодиода (сегмента) для случая отображения символа "1" и "8". Для расчета предположите, что общий ток катода всего знакоместа делится между всеми горящими сегментами поровну.

Share this post


Link to post
Share on other sites
43 минуты назад, HaJl4uk сказал:

почему для каждого сегмента нужен резистор

Потому что светодиоды являются приёмниками тока, такова их физика. Для сравнения, лампы накаливания являются приёмниками напряжения — если бы применили такие индикаторы, им резисторы не потребовались бы.

Share this post


Link to post
Share on other sites
4 часа назад, Darth Vader сказал:

Нарисуйте электрическую схему для одного знакоместа. Разрисуйте его внутренности до уровня отдельных светодиодов каждого сегмента. Рассчитайте ток коллектора транзистора в цепи общего катода одного знакоместа. Рассчитайте токи каждого светодиода (сегмента) для случая отображения символа "1" и "8". Для расчета предположите, что общий ток катода всего знакоместа делится между всеми горящими сегментами поровну.

Ну и пусть 1 будет светиться гораздо ярче 8. Мне самое главное чтобы выводы не сгорели

Share this post


Link to post
Share on other sites
10 часов назад, HaJl4uk сказал:

Ну и пусть 1 будет светиться гораздо ярче 8.

Это неправильно. Яркость свечения должна быть одинаковая. И это не прихоть, а требования эргономики.

10 часов назад, HaJl4uk сказал:

Мне самое главное чтобы выводы не сгорели

Тогда вы ошиблись форумом. С такими запросами надо искать форум радиогубителей.

Добавлено: вам самому не стыдно потом будет кому-нибудь показать свое устройство, в котором "1" светится сильно ярче "8"?

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.