74HC595 и 7-сегментный индикатор - можно ли упростить схему?

Dinosaur
Dinosaur аватар
Offline
Зарегистрирован: 01.01.2018

Добрый день, Камрады

Прошу глянуть схему упревления двумя семисегментными индикаторами на 74HC595, можно ли что то еще отсюда выкинуть? (когда на Q7 высокий уровень - открыт транзистор верхнего индикатора, когда низкий - открыты транзисторы нижнего индикатора).

Green
Offline
Зарегистрирован: 01.10.2015

Резисторы сегментов можно убрать, добавив 2 резистора на катоды, при посегментной индикации.
Хотя, насколько помню, китайцы в подобных схемах резисторы вообще не ставят.

Dinosaur
Dinosaur аватар
Offline
Зарегистрирован: 01.01.2018

Green пишет:

Резисторы сегментов можно убрать, добавив 2 резистора на катоды, при посегментной индикации.
Хотя, насколько помню, китайцы в подобных схемах резисторы вообще не ставят.

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

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

Green пишет:

Резисторы сегментов можно убрать, добавив 2 резистора на катоды, при посегментной индикации.
Хотя, насколько помню, китайцы в подобных схемах резисторы вообще не ставят.

Не стоит. Будет изменяться яркость.

Green
Offline
Зарегистрирован: 01.10.2015

У кого? Читаем внимательно.

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

Green пишет:

У кого? Читаем внимательно.

У того - при паралельном включении. Смотрим схему. Внимательно

rkit
Offline
Зарегистрирован: 23.11.2016

С этим фаршем не будет четкого переключения между цифрами, будет фантомная засветка. И 70мА на корпус очень мало для 14 светодиодов.

Green
Offline
Зарегистрирован: 01.10.2015

Если включил один сегмент, затем второй - то да. А если включил один, выключил все, включил второй - то нет.

Green
Offline
Зарегистрирован: 01.10.2015

rkit пишет:

И 70мА на корпус очень мало для 14 светодиодов.


Смотря какие индикаторы, какие условия эксплуатации. Super red светят очень даже.

rkit
Offline
Зарегистрирован: 23.11.2016

Green пишет:

Если включил один сегмент, затем второй - то да. А если включил один, выключил все, включил второй - то нет.

Да, давай еще в 2 раза поделим эффективный ток.

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

rkit пишет:

Да, давай еще в 2 раза поделим эффективный ток.

А давайте посмотрим программу ТС - а вдруг у него троичная логика.

Dinosaur
Dinosaur аватар
Offline
Зарегистрирован: 01.01.2018

Не, по сегментам зажигать мне кажется будет через чур (мк в проекте хоть и не хрена не делает основное время, но не настолько же): 

uint8_t displayData[DISPLAY_DIGIT_QTY] {0x00, 0x80};

ISR (TIMER1_COMPA_vect) {
  static bool showDidit;
  display.writeData(displayData[showDidit]);
  showDidit = !showDidit;
}

void IC_74HC595::writeData(uint8_t data)
{
  IC_74HC595_SS_LOW();
  SPI.transfer(data);
  IC_74HC595_SS_HIGH();
}

Восьмой бит в обоих элементах массива displayData отвечает за состояние выхода Q7 (в коде не меняется), первые 7 бит - комбинацию сегментов индикатора. Частота прерывания ~60 Гц.
sadman41
Offline
Зарегистрирован: 19.10.2016

На dlink 1024 блок индикации был на сдвиговых. Три корпуса без всяких резисторов, вроде. Светики зеленые прямо на ноги повешены. И я ни разу не видел его сдохшим. Вот БП стабильно дохли, а индикация живее всех живых.
У меня этот модуль валяется в коробке где-то. Могу поискать, если нужно и сфотографировать.

rkit
Offline
Зарегистрирован: 23.11.2016

sadman41 пишет:
На dlink 1024 блок индикации был на сдвиговых. Три корпуса без всяких резисторов, вроде. Светики зеленые прямо на ноги повешены. И я ни разу не видел его сдохшим. Вот БП стабильно дохли, а индикация живее всех живых. У меня этот модуль валяется в коробке где-то. Могу поискать, если нужно и сфотографировать.

В курсе, что сдвиговых регистров миллион разновидностей?

Dinosaur
Dinosaur аватар
Offline
Зарегистрирован: 01.01.2018

sadman41 пишет:
На dlink 1024 блок индикации был на сдвиговых. Три корпуса без всяких резисторов, вроде. Светики зеленые прямо на ноги повешены. И я ни разу не видел его сдохшим. Вот БП стабильно дохли, а индикация живее всех живых. У меня этот модуль валяется в коробке где-то. Могу поискать, если нужно и сфотографировать.

На TM16XX тоже без всякой обвязки индикаторы вешаются (на один корпус до 8 штук видел в зависимости от разновидности), плюс кнопочки на нее же, плюс она сама динамическим переключением занимается (т.е. тупо записал ей в регистры чего видеть изволите, она и рисует себе). Но 74HC595 у меня лежит пара метров, грех её не пустить в дело :)

sadman41
Offline
Зарегистрирован: 19.10.2016

Обманул. Резисторы таки есть какие-то. МС - HC164.

 

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

sadman41 пишет:

Обманул. Резисторы таки есть 

Во...от! Супротив технологии не попрёшь, однако...

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

А почему резисторы С обозначаются?

Под"бываете, Сэр? 

 МС - HC164 - энто логика.

sadman41
Offline
Зарегистрирован: 19.10.2016

Резисторы сборками, 331 на них написано.

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

sadman41 пишет:
Резисторы сборками, 331 на них написано.

Посыпаю голову пеплом. И правда - Винипух...

https://www.chipdip.ru/product/cay16-331j4

Green
Offline
Зарегистрирован: 01.10.2015

Dinosaur пишет:

Не, по сегментам зажигать мне кажется будет через чур (мк в проекте хоть и не хрена не делает основное время, но не настолько же): 


Да какая разница. 1 мс прерывание, или 16 мс (много, нужно хотя бы 8)!
А тогда можно безо всей этой рассыпухи для нижнего индикатора. 
ПС. А если есть ещё один пин, то можно и без транзистора для верхнего.

Dinosaur пишет:

Частота прерывания ~60 Гц.


Будет мельтешить.

Dinosaur
Dinosaur аватар
Offline
Зарегистрирован: 01.01.2018

Green пишет:

Да какая разница. 1 мс прерывание, или 16 мс (много, нужно хотя бы 8)!

Тускловато получится в итоге мне кажется (делал на обычных светодиодах динамическую индикацию на 16 каналов), в итоге синие еще более менее светились, а зеленые только в полной темноте разглядеть можно было.  И байт в SPI каждые 8 мс нужно пихать, а она у меня еще и для тругих непотребств используется :) Но спасибо за идею (посегментно я не рассматривал отображать символы), положу в копилку, так действительно можно убрать почти всю обвязку.

Green пишет:

Будет мельтешить.

Будет мельтишить - увеличу частоту прерывания (проект пока только в протеусе, на макетку еще не переносил).

Dinosaur
Dinosaur аватар
Offline
Зарегистрирован: 01.01.2018

sadman41 пишет:

Обманул. Резисторы таки есть какие-то. МС - HC164.

Так видимо потому и обвязки никакой нет, потому что каждые 8 светодиодов висят на своем регистре ))). Тут не транзисторов не надо, ни динамической индикации. Я первоначально тоже наваял на каждый индикатор по регистру и потёр довольно лапки... а потом в процесс включился внутренний еврей. :)

Green
Offline
Зарегистрирован: 01.10.2015

Dinosaur пишет:
...мне кажется

Что мешает собрать макет? Тут или экономия, или как положено.

Дим-мычъ
Offline
Зарегистрирован: 20.03.2021

Dinosaur пишет:

 можно ли что то еще отсюда выкинуть?

 Как бы второй транзистор и не нужен...

Dinosaur
Dinosaur аватар
Offline
Зарегистрирован: 01.01.2018

Green пишет:

Что мешает собрать макет? Тут или экономия, или как положено.

Индикатор с алиэкспресса не доехал пока :(

Dinosaur
Dinosaur аватар
Offline
Зарегистрирован: 01.01.2018

Дим-мычъ пишет:

Как бы второй транзистор и не нужен...

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

Дим-мычъ
Offline
Зарегистрирован: 20.03.2021

Dinosaur пишет:

 разную яркость у светодиодов (NPN и PNP) стал показывать

Может подобрать транзистор , взять с большим коэф.усил. , а там конечно, хозяин-барин))

P.S. Да и посмотреть рез. в базе, чтобы полностью открывался

Datak
Offline
Зарегистрирован: 09.10.2014

Dinosaur пишет:

Первоначально так же нарисовал, но протеус, гад очень разную яркость у светодиодов (NPN и PNP) стал показывать

Тогда можно попробовать транзистор оставить тот же, NPN, но управляющий сигнал на базу подавать с коллектора другого транзистора, который для верхней цифры.

Разумеется так же, через резистор. И, наверно, лучше ещё одним резистором этот коллектор  подпуллапить.

-------

Можно сэкономить ещё два токоограничивающих резистора, на  базах транзисторов, если транзисторы заменить на полевые. )

 

 

rkit
Offline
Зарегистрирован: 23.11.2016

rkit пишет:

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

Datak
Offline
Зарегистрирован: 09.10.2014

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

А как для данной схемы предотвратить фантомную засветку - там выше уже обсуждали, если не ошибаюсь. Не буду сейчас всё перечитывать. Решается правильно написанной управляющей программой.

 

GarryC
Offline
Зарегистрирован: 08.08.2016

Если соединить 12 и 13 ножки Вашей схемы и аккуратно переписать программу, то можно убрать инвертор из управления нижним индикатором и управлять им со входа 14. При этом и фантомы будут исключены.

Datak
Offline
Зарегистрирован: 09.10.2014

Да, это плюссто, сразу.

И, раз уж на то пошло - 11-ю ногу тоже можно пустить в дело, например для управления верхним транзистором. Тогда выход Q7 останется свободным, и к нему можно подключить "точку".

Dinosaur
Dinosaur аватар
Offline
Зарегистрирован: 01.01.2018

GarryC пишет:

Если соединить 12 и 13 ножки Вашей схемы и аккуратно переписать программу, то можно убрать инвертор из управления нижним индикатором и управлять им со входа 14. При этом и фантомы будут исключены.

Шина SPI у меня используется не только для управления этим регистром, так что не вариант садить SS на землю. Или я не уловил вашу мысль?

Datak
Offline
Зарегистрирован: 09.10.2014

Да, это осложняет. Другие устройства смогут работать только в паузах, когда погашены обе цифры.

Тут всё зависит от интенсивности использования SPI. Опросить пару датчиков - наверно да, можно. А, например, работать с SD-картой - это уже вряд ли.

GarryC
Offline
Зарегистрирован: 08.08.2016

Да, Вы правы, если SPI еще где-то используется, то не получится.

Дим-мычъ
Offline
Зарегистрирован: 20.03.2021

  Проверить сейчас не могу, но от фант.засветки возможно поможет конденсатор, включенный между Б-Э одного из транзисторов. Т.е. один транзистор немного позже откроется, и, немного позже закроется

sadman41
Offline
Зарегистрирован: 19.10.2016

У меня вопрос: скоко экономия в рублях?

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

sadman41 пишет:
У меня вопрос: скоко экономия в рублях?

Я думаю не более 100р. Ну максимум - 110р. :)

Datak
Offline
Зарегистрирован: 09.10.2014

Dinosaur пишет:

Шина SPI у меня используется не только для управления этим регистром, так что не вариант садить SS на землю. Или я не уловил вашу мысль?

Простите, не сразу обратил внимание. Не совсем правильно. OE нужно отключить от земли, и соединить с SS.

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

Dinosaur
Dinosaur аватар
Offline
Зарегистрирован: 01.01.2018

Я это и имел ввиду. Как получу индикаторы, протестирую все предложенные варианты и скину отчет. В протеусе к сожалению быстрое обновление не отследить.