Página 1 de 1

[Resolvido] Multiplexar Displays 7-seg

MensagemEnviado: 29 Out 2010 10:43
por [Daniel]
Alguém sabe como devo fazer o circuito para ligar displays multiplexados que funcionam com 8,4 e 4,2V.

Vou ligar nos ports do pic diretamente, tando os anodos como os catodos. Nos catodos inicialmente estou usando 2 ULN2003 pois dos 6 displays 2 são os de 4,2V.

Obrigado

MensagemEnviado: 29 Out 2010 10:55
por Djalma Toledo Rodrigues
Que Display são esses ?

Para que possamos ver os datasheet.

DJ

MensagemEnviado: 29 Out 2010 20:07
por RobL
Supondo que você deve ter um displayzão de sete segmentos, no qual cada segmento tenha vários leds em série, é isso?

Não tenho experiência com esses tipos de display, se ninguém responder com algo melhor, ficam as possibilidades:
Considerando que um grupo de display trabalha com V1 para cada segmento e outro (s) grupo (s) trabalha com V2, porém, multiplexados em um bus comum.

1- Todos os segmentos ligados diretamente (sem resistores, todos A, B, C... multiplexado) e o grupo com V1 com reistores nos catodos (catodo comum) de certo valor R1 e outro grupo com tensão V2 com outro valor R2.

2- Anodos multiplexados com um mesmo valor de resistor. Os resistores tem valor para a corrente necessária para o grupo de menor tensão.
Grupo com tensão V1, controlado com PWM, no catodo, com V1% (DT), grupo V2 controlado com PWM, no catodo com V2% (DT). Desta forma conseguimos aplicar tensão média diferente para diferentes grupos e podemos até ajustar o brilho de cada grupo através do duty ciclo (DT).
Esta segunda idéia achei mais "brilhante".

O DJ postou um book de aplicações, sobre leds, em um post recente, pode ajudar.

MensagemEnviado: 30 Out 2010 07:27
por [Daniel]
São estes:

Imagem
Não sei informar o código, os números não estão mais no corpo deles. Mas tenho o desenho dos led onde os maiores tem 4led para cada segmento e os menores tem 2.

No caso os grandes são de anodo comum e, os menores de catodo. Sabes como eu ligo isso (esquema) usando transistores por exemplo.

MensagemEnviado: 30 Out 2010 10:28
por Djalma Toledo Rodrigues
Para o de Anodo Comum pode ser um MOSFET Canal P,
com Supridouro ligado aos 8 Volts e Dreno ao Anodo do Display

e para os Segmentos, Mosfet Canal N e Resistores Limitadores de corrente.

Para os Display de Catodo Comum :
Mosfet Canal N, com Supridouro ligado ao Comum e Dreno ao Catodo dos Displays

e para os Segmentos Mosfet Canal P e os Resistores Limitadores de Corrente

E mais os respectivos Driver

O ideal seria utilizar duas Portas do µC
já que são incompativeis.

Usar Mosfet do Tipo Lógico (Vgs 5 V) ou Transistores.

DJ

MensagemEnviado: 30 Out 2010 11:11
por RobL
Não entendí mais nada. Parecem displays comuns, cada segmento em torno de 1,5V.
O que são esses valores de tensão ???
Editando:
Ah, li melhor, você tem certeza que tem 4 leds por segmento e 2 no menor. Então é o que pensei.

MensagemEnviado: 30 Out 2010 14:29
por zazulak
Precisa necessariamente ser multiplexado?

Pergunto isso porque, dada a grande area de cada segmento, seria necessária uma corrente considerável para acendê-los com brilho razoavel numa configuração multiplexada. Fora a maior demanda de processamento, pois o seu microcontrolador terá que ficar sempre trocando o display selecionado, mesmo que não haja atualização dos dados exibidos.

Eu particularmente não multiplexaria. Usaria shift registers. Mais ou menos assim ó:

- Para cada display grande de anodo comum, um 74HC595. Em cada saída do 595, a base de um BCzinho NPN, cujo emissor é aterrado através de um resistor de 220R. Este arranjo parece estranho a primeira vista, mas nada mais é do que uma fonte de corrente constante. 5V - VCE (0.6v) = 4.4V, que divididos por 220r resultam em 20 miliamperes. Coletores dos BCs ligados aos segmentos, e anodos ligados direto numa tensão de 12 a 24V, que não precisa ser regulada, pois a corrente constante garantirá brilho uniforme independente da variação da fonte.

- Para os displays menores, novamente um 74HC595, com as saídas ligadas diretamente aos anodos, e o catodo comum aterrado. A própria resistencia interna das saídas do 595 limita a corrente, considerando que a queda de tensão sobre ele será mínima (5V - 4.2V = 0.8V).

E, o mais mió de bom: Poderás comandar tudo isso com apenas 3 pinos do PIC. Una o "shift clock" de todos os 595 junto, assim como o strobe. Apenas o "data" terá que ser intercalado: Pino 14 de um 595 no pino 9 do anterior, e o pino 14 do primeiro ao PIC.

Além do menor numero de pinos necessários, esta abordagem tambem economiza processamento: Só será necessário enviar dados para o display quando houver alguma mudança da informação a ser exibida.

Tenho código tanto em ASM como em C para AVR para comandar displays assim. Dá pra converter pra PIC facilmente.
------------------------------------------------------

Agora, se for realmente necessário multiplexar, seria bom ter dois circuitos separados, um para os displays grandes, outro pros pequenos, visto que serão alimentados com tensões e polaridades diferentes. Para os grandes, um ULN2803 (igual ao 2003, mas com 8 canais, permite incluir o ponto decimal) mais 2 transistores para cada anodo e alguns resistores. Para os pequenos, um buffer de 8 bits ligado na mesma porta do PIC que a entrada do 2803 e um transistor para cada catodo. Neste caso, usará uma porta de 8 bits inteira e mais 6 pinos para seleção do display ativo (ou 3 se usar um decodificador)

MensagemEnviado: 03 Nov 2010 15:03
por [Daniel]
Seguinte, testei todos eles novamente, na verdade são todos de anodo comum, não era como no esquema que ganhei quando comprei os mesmos, mas enfim:

Somente não faço com shifts pois eu ja soldei todos os fios e colei os displays. E também pois terei que usar muitos chips e resistores vai ficar uma placa muito grande...o cosumo também irá aumentar em alguns mA e a fonte que tenho não vai dar conta (chaveada).

Vou tentar fazer com fets de canal N, procurando bastante, encontrei os 2N7000, então estes vão nos anodos e nos catodos vão os resistores para cada grupo e então ligados ao pinos dos ULN2003.

Pergunto agora, como devo ligar esses fets, preciso usar resistor no Gate?
Os srs acham que talves seja melhor usar os fets nos catodos também?

MensagemEnviado: 03 Nov 2010 21:17
por zazulak
2N7000 é um cara legal, assim como a sua versão SMD, o 2N7002, mas pra esta aplicação, não seria a melhor escolha, pelo seguinte: Para que ele sature, voce teria que ter no gate uma tensão maior que a do +B do seu circuito, o que o tornaria mais complexo. Se fosse usar um FET, o ideal seria um de canal P. Mas aí surge outro inconveniente: FETs canal P nesta faixa de tensão/corrente não são comuns no comércio. O mais comum é o IRF9610, que custa uns 3 reais nas lojas. IMHO, sairia mais em conta com bipolares mesmo.
------------------------
Uma sugestão:

Imagem

Os resistores entre o ULN dos catodos e o banco de displays dependerão da sua alimentação. Os entre os displays grandes e os pequenos (os dois da direita) podem ser de 390 ou 470r. Os resistores em série com as bases dos transistores de anodo também dependerão da alimentação. Para os transistores de anodo, sugiro algo do porte de um BD136, ou mesmo um 2SB772.

MensagemEnviado: 04 Nov 2010 11:14
por RobL
O zazulak fez o esquema que sugeri no ítem 1 acima.
E a sugestão 2 é o mesmo esquema só que não tem o segundo grupo de resistores. Os 2 últimos leds são controlados por um tempo menor (duty ciclo menor).
Se for para fazer um circuito somente (um produto apenas) é mais simples usar a sugestão 1.
Se for vários, a 2 é melhor.
A sugestão 2, controlada por tempo, facilitará o ajuste do brilho de cada grupo, ajustando o tempo do pulso para o segundo grupo. Isto é equivalente a ter 2 fontes de tensão com valor adequada a cada grupo de leds.

MensagemEnviado: 04 Nov 2010 11:57
por brasilma
Mais uma sugestãozinha, caso seja desejável reduzir o número de pinos entre os displays e o processador, nos pinos utilizados para a multiplexação pode ser inserido um decodificador como o 74LS/HCT138 reduzindo de 8 para 3 pinos e nas saídas para os segmentos (caso sejam apresentados apenas números) um decodificador de 7 segmentos, o que reduz de 7 para 4 pinos.

Fiz um e usei só o primeiro, pois tinha ideia de apresentar letras e outros simbolos no painel.

MensagemEnviado: 08 Nov 2010 14:38
por [Daniel]
Montei o esquema do colega ai acima e funcionou... Consegui usar bem poucas peças, e como os displays consomem 10mA por segmento consegui usar transistores BC558.

Obrigado!!

Imagem

Imagem

MensagemEnviado: 16 Set 2011 13:20
por mhagnumdw
[Daniel] escreveu:São estes:

Imagem
Não sei informar o código, os números não estão mais no corpo deles. Mas tenho o desenho dos led onde os maiores tem 4led para cada segmento e os menores tem 2.

No caso os grandes são de anodo comum e, os menores de catodo. Sabes como eu ligo isso (esquema) usando transistores por exemplo.


Opa Daniel, beleza?
Você pode dizer o preço, medidas e onde comprou esses displays?
Obrigado.

--
MhagnumDw

MensagemEnviado: 16 Set 2011 15:17
por mastk
Vc pode encotrat display desse tipo em qualquer quitanda.
Mas de cara pode ir na multicomercialm, opoen ou idal que ele devem ter.

MensagemEnviado: 22 Set 2011 15:06
por mhagnumdw
Comprei dois displays vermelhos de 7 segmentos de 2,3", catodo comum. 4 led's por segmento e 2 led's no ponto (o ponto não vou usar).
Esse: http://www.cromatek.com.br/pdf/opto/D9X0%20_K_.pdf

Tentei ligá-los ao PIC por meio de um ULN2003A, mas depois vi que as saídas desse ULN são tipo coletor aberto (correto?). Não vai para nível lógico 1. Para testes, eu coloquei um pull-up em cada pino de saída do ULN, fazendo funcionar, mas isso aumenta o consumo, número de componentes etc, então não desejo fazer assim.

Acho que a saída para o meu problema é o que o DJ postou, mas não capitei bem a ligação.

Quem puder dar uma ajuda com base no esquema proposto pelo DJ ou num novo raciocínio... fico grato!!

Valeu!

PS: estou multiplexando os displays.
--
MhagnumDw