Мне нужно управлять большим семисегментным дисплеем (длина сегмента около 2 дюймов) с помощью микроконтроллера (PIC 16F877). Я без проблем управлял обычными семью сегментами напрямую с PIC, но обнаружил, что 5 В недостаточно для управления этим. Ему нужно что-то около 9 вольт (это нормально?)
Итак, что пришло мне на ум, так это. (Разработано с использованием Proteus ISIS 7 Pro)
Я подал 12 В на эту схему и использовал предустановку RV1 для ее настройки (чтобы получилось 9 В или что-то близкое). 8 входов на транзисторы идут от микроконтроллера. Таким образом, я могу управлять большими 7 сегментами (для которых требуется 9 В) таким образом...
Но это не был успех. Я проверил напряжения и обнаружил, что транзисторы переключаются между 0-5v (не могу себе представить, как это может произойти???).
Во всяком случае, затем я попытался поставить резистор на стороне коллектора. И снял вывод с коллекторного штифта. Это было нормально . Но яркость менялась в зависимости от количества сегментов освещения...(При освещении только одного сегмента было очень мало яркости. Его почти не видно. Но при освещении всех сегментов яркость была слишком высокой. Было ощущение, что дисплей взорвется .)
Я не хочу пробовать другие средства. Это был такой простой проект. Но эта большая семерка все портит. Может кто-то помочь мне с этим...
Это неправильно, и вам повезло, что дисплею нужно 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. Однако при более высоких токах или входном напряжении они могут быть хорошей идеей.
Я добился больших успехов в управлении широкоформатными 7-сегментными дисплеями с использованием микросхемы TLC5916 от TI. Один чип может управлять одним модулем дисплея, и если у вас несколько модулей, чипы TLC5916 для каждого из них могут быть соединены последовательно. С точки зрения микроконтроллера дисплей подключается всего несколькими контактами в качестве последовательного сдвигового регистра. Простое программное обеспечение может немного взломать интерфейс для вывода данных для каждого обновления дисплея.
Микросхема TLC5916 может управлять дисплеями, подключенными к 9В. Он также будет использовать метод постоянного тока для каждого сегмента, чтобы поддерживать яркость для всех сегментов. Перед подключением к выходам TLC5916 может быть целесообразно включить некоторое сопротивление последовательно с каждым сегментом, чтобы разделить часть падения напряжения и уменьшить рассеивание мощности в микросхеме драйвера.
Вы можете получить микросхемы TLC5916 от Mouser в корпусах DIP и SOIC. Там же находится техпаспорт.
для меня подойдет простой оптоизолятор.
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 контакта) *
каждая строка находится между двумя звездочками *
надеюсь, все это более понятно *
Воутер ван Оойен
Анубис
Воутер ван Оойен
Стивенвх
Анубис