Управление большим 7-сегментным дисплеем с помощью микроконтроллера

Мне нужно управлять большим семисегментным дисплеем (длина сегмента около 2 дюймов) с помощью микроконтроллера (PIC 16F877). Я без проблем управлял обычными семью сегментами напрямую с PIC, но обнаружил, что 5 В недостаточно для управления этим. Ему нужно что-то около 9 вольт (это нормально?)

Итак, что пришло мне на ум, так это. (Разработано с использованием Proteus ISIS 7 Pro)

Я подал 12 В на эту схему и использовал предустановку RV1 для ее настройки (чтобы получилось 9 В или что-то близкое). 8 входов на транзисторы идут от микроконтроллера. Таким образом, я могу управлять большими 7 сегментами (для которых требуется 9 В) таким образом...

Но это не был успех. Я проверил напряжения и обнаружил, что транзисторы переключаются между 0-5v (не могу себе представить, как это может произойти???).

Во всяком случае, затем я попытался поставить резистор на стороне коллектора. И снял вывод с коллекторного штифта. Это было нормально . Но яркость менялась в зависимости от количества сегментов освещения...(При освещении только одного сегмента было очень мало яркости. Его почти не видно. Но при освещении всех сегментов яркость была слишком высокой. Было ощущение, что дисплей взорвется .)

Я не хочу пробовать другие средства. Это был такой простой проект. Но эта большая семерка все портит. Может кто-то помочь мне с этим...

Вместо того, чтобы строить догадки о правильном напряжении и силе тока, необходимых для дисплея, вы должны проверить его техническое описание!
@WoutervanOoijen Что мне делать, если у меня нет таблицы данных. Купил это на местном рынке. Без названия производителя. Поискал в интернете. Ничего похожего не нашел...
Вздох, молитесь всем божествам, которых только можете придумать? Подайте 20 мА через сегмент и измерьте напряжение, которое дает наилучшее предположение. Но помните, что светодиод должен работать НЕ от напряжения, а от ТОКА!! Это может быть аппроксимировано большим напряжением и последовательным резистором.
Настоящий вопрос, конечно, таков: что случилось с Q1? :-)
@stevenvh это всего лишь часть полного скетча. Q1 (и R1,R2... разве вы не заметили?) относится к плате главного контроллера. Это нормально.

Ответы (3)

Это неправильно, и вам повезло, что дисплею нужно 9 В, иначе он бы сгорел.

Во-первых, светодиоды подключены параллельно резисторам: ваши эмиттеры идут и к светодиодам, и к резисторам, а остальные их соединения — к земле. Они нужны вам последовательно.

Тогда ваша схема представляет собой схему с общим коллектором. Одним из недостатков является то, что он не может управлять нагрузкой выше управляющего напряжения - 0,7 В, это 4,3 В, слишком мало для светодиодов. Вот где вам повезло, если бы это были светодиоды на 3 В, они бы работали без ограничения тока вообще. волшебный дым.

Не существует одиночных светодиодов, работающих при напряжении 9 В. Поскольку вы говорите о большом дисплее, он будет иметь 4 светодиода последовательно для каждого сегмента, чтобы обеспечить равное освещение. При 2,2 В на светодиод вы получаете около 9 В.

Более распространенный способ - подключить их к общему эмиттеру. Это эмиттер на землю, а светодиод + резистор последовательно на стороне коллектора. Для общего эмиттера вам также понадобятся базовые резисторы. 1 кОм даст вам 4,3 мА, чего должно хватить для насыщения BC547. Вы также можете использовать ULN2803, который представляет собой транзисторную матрицу из 8 транзисторов со встроенными базовыми резисторами. Тогда вам понадобится только одна часть (за исключением токоограничивающих резисторов).

Ваши номиналы резисторов также слишком высоки. Если каждому сегменту требуется 9 В, а источник питания 12 В, то ток через сегмент составляет 3 В/об. С резисторами 10 кОм это 300 мкА, а этого слишком мало для любого светодиода. Для типичного светодиода на 20 мА потребуется резистор 150 Ом. Но проверьте техническое описание дисплея как по напряжению, так и по току.



Упомянутый Майклом TI TLC5916 — отличная альтернатива. Это в три раза дороже ULN2803, но 1,24 евро за 1 с все равно не сломит банк (Mouser, 1,65 доллара в Digikey).

введите описание изображения здесь

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

Майкл по-прежнему использовал бы последовательные резисторы, но они, вероятно, не требуются. Если у вас есть 20 мА и падение 3 В (от 12 В до 9 В), то все включенные светодиоды дадут вам менее 500 мВт, с чем, безусловно, может справиться 16-контактный DIP. Однако при более высоких токах или входном напряжении они могут быть хорошей идеей.

Спасибо! Значения резисторов не 10к, а 1.0к. Но, конечно, они все еще слишком высоки, кажется. Кроме того, у меня нет таблицы данных для дисплея. Это было серьезной проблемой.
Почему вы сказали, что приведенная выше схема является общим коллектором ?? Сигнал подается на землю WRT, а выход также берется на землю WRT. И это эмиттер, который заземлен через 1к с. Это не СЕ??
@Anubis - потому что это обычная схема коллектора! :-) «Общий» относится к выводу транзистора, который подключен к одной из шин питания, и он не обязательно должен быть заземлен! В схеме PNP с общим коллектором коллектор будет заземлен, а в схеме PNP с общим эмиттером эмиттер будет подключен к Vcc. Так что дело не в сигналах, а в выводах транзистора. "эмиттер, который заземлен через 1к": это не то, что мы называем заземленным; заземление обычно означает прямое соединение. (Хотя есть схемы с общим эмиттером, которые имеют небольшой резистор на стороне эмиттера.)
@stevenvh Иногда необходимо использовать последовательные резисторы с TLC5916. Характер постоянного тока этой части говорит о том, что будет некоторое падение напряжения с выхода каждого чипа на GND. В зависимости от тока в каждом сегменте дисплея напряжение питания светодиода и прямое падение напряжения сегмента позволяют рассчитать мощность, рассеиваемую на каждом выходе драйвера. Существует предел безопасной общей мощности для всего пакета в 1 Вт (для пластикового DIP и другой для SOIC в зависимости от метода монтажа).
Продолжение... Если шина питания дисплея слишком высока, это может привести к тому, что микросхема драйвера будет потреблять более 1 Вт. Добавление последовательных резисторов, как я сказал в своем ответе, может помочь распределить мощность между дополнительными компонентами.
@Michael - ну, вы правы, но при 12 В и 20 мА мощность составляет всего 500 мВт. Но я немного скорректировал свой ответ.

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

Микросхема TLC5916 может управлять дисплеями, подключенными к 9В. Он также будет использовать метод постоянного тока для каждого сегмента, чтобы поддерживать яркость для всех сегментов. Перед подключением к выходам TLC5916 может быть целесообразно включить некоторое сопротивление последовательно с каждым сегментом, чтобы разделить часть падения напряжения и уменьшить рассеивание мощности в микросхеме драйвера.

Вы можете получить микросхемы TLC5916 от Mouser в корпусах DIP и SOIC. Там же находится техпаспорт.

http://www.mouser.com/ProductDetail/Texas-Instruments/TLC5916INE4/?qs=sGAEpiMZZMsE420DPIasPooIeIm0f6XqBnwnNFIuvQE%3d

для меня подойдет простой оптоизолятор.

  • pic seg output(+)-- 1k---opto pin 1(анод диода) *

  • земля --------------- к оптопару 2 (катод диода) *

  • (от +9 В до +15 В) --- 1 кОм на оптоконтакт 3 *

  • оптопин 4 к сегменту *

  • повторите вышеуказанное для всех 7 сегментов (от A до G) + точка

  • *

  • общий катод дисплея ---- к коллектору npn (bc457) *

  • pic mpx out --5k-- на базу npn *

  • земля -------------- к эмиттеру npn

    • повторите вышеуказанное для всех 7-сегментных дисплеев

    • ПРИМЕЧАНИЕ *

    • Jumbo 7-сегментный дисплей с общим катодом *

    • 1 транзистор npn на каждый дисплей *

    • оптоизолятор (P620) или аналогичный (4 контакта) *

    • каждая строка находится между двумя звездочками *

    • надеюсь, все это более понятно *

Я не могу сказать, что все это должно быть. Вы пытаетесь набросать схему, используя тире и точки? Это не очень ясно. У нас есть действительно хороший схематический инструмент, если бы вы могли потратить пару минут и использовать его.