Dúvida Display 7 Segmentos Anodo Comum

Circuitos eletrônicos, topologias, diagramas elétricos, etc...

Moderadores: 51, Renie, gpenga

Dúvida Display 7 Segmentos Anodo Comum

Mensagempor cmte » 15 Ago 2008 11:43

Olá!

Estou tentado fazer um relógio / termômetro utilizando um 16F877 com 4 displays de 7 segmentos multiplexados, de anodo comum. Os segmentos são ligados pelo port D através de um ULN2003 com resistores de 220r na saída (catodos), e os displays (anodos) são (ou deveriam ser) acionados por 4 transístores BC558, ligados ao PIC (port B) por resistores de 10k (PIC > resistor > base do transístor). Os transístores são alimentados por 6v, que é a mesma linha que alimenta um LM7805, que fornece 5v (4,85v) para o circuito.
O programa funciona perfeitamente na placa easyPic5, mas na placa definitiva não. A parte que mais tenho dúvidas é no acionamento dos transístores. Na placa easyPic não existem (ao menos no esquema não aparecem), e os displays são catodo comum.

Eu poderia ligar os pinos do PIC diretamente aos anodos dos displays, sem usar PWM para controle da corrente, sem o risco de queimar o PIC?
Caso negativo, há outra forma de acionar os displays, utilizando o mínimo de componentes?


Agradeço de antemão qualquer auxílio!


Yuri.
cmte
Byte
 
Mensagens: 141
Registrado em: 29 Nov 2006 12:53

Mensagempor fabim » 15 Ago 2008 11:57

então.
Para economizar espaço, estes fabricantes utilizam displays de 7´S, com resistores internos.
Se olhar no datasheet deles, vai ver que trabalham de por exemplo 3.2 a 5.5V, com maxima corrente em 5.5V e X mA.
No seu caso se não houver resistores internos nestes displays, voce deve colocar resistor em série para limitar a corrente.
Portas do pic é média de 20mA.

Fabim
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Mensagempor renatokodaira » 15 Ago 2008 12:02

Eu nao entendi muito bem a descriçao do seu circuito (nao consegui imaginar direito), mas se o programa foi feito pra displays catodo comum, nao vai funcionar com displays anodo comum. Tudo que era acionado por nivel 1 (alto) nos catodos comuns deve ser acionado com nivel 0 (baixo) nos anodos comum. Precisaria adaptar o programa. Tente fazer isso.
renatokodaira
Byte
 
Mensagens: 402
Registrado em: 11 Out 2006 15:15

Mensagempor cmte » 15 Ago 2008 12:49

Fabim,

No datasheet não aparecem resistores internos.
Algumas informações dos displays:

Min. 8000 e Typ 36000 ucd @ 10mA
Forward voltage: Typ 1,85v. Max 2,5v. Test conditions: If 20mA.
DC forward current: 30mA.
Peak forward current: 155 mA (1/10 duty cycle - 0,1ms pulse width).
Reverse voltage: 5v.

Se considerar o pior caso, que é o número 8 (todos os segmentos acesos), acho que ultrapassa o limite do PIC. Ou dá para usar só com resistor limitando a corrente em uns 15mA a 20mA por segmento?


Renato,

não mencionei, mas eu havia feito a alteração na tabela dos números.
O problema é que os displays nem chegam a acender...





Obrigado,

Yuri.
cmte
Byte
 
Mensagens: 141
Registrado em: 29 Nov 2006 12:53

Mensagempor renatokodaira » 15 Ago 2008 14:44

Baum, consegui pensar melhor depois do almoço e olhando pro esquema interno do ULN2003 consegui imaginar como é o circuito:

Os terminais comuns (anodos) dos displays de leds sao ligados aos coletores dos BC558, cujos emissores estao ligado ao positivo da alimentaçao. As bases dos transistores (de comutaçao) sao ligadas às portas do PIC por resistores de base. OK. Para ligar um display é necessario aterrar a tensao de base dos BC558.

Os catodos de cada segmento do display estao ligados aos coletores de cada transistor driver (NPN darlington) do ULN2003, com o emissor ao terra e a base as portas do PIC. Dessa forma para acender o segmento o nivel precisa ser alto na entrada (base) do ULN2003. Entao nesse caso a tabela pode ser igual à usada com displays catodo comum (porque o ULN2003 é inversor).

Entao, se o circuito foi concebido dessa forma, só precisa inverter a logica de chaveamento dos displays, a logica de acionamento dos segmentos é a mesma.

Mas eu acho que poderia economizar o ULN2003, porque o PIC consegue suprir a corrente para acender os displays (sao só 4 e multiplexados).
renatokodaira
Byte
 
Mensagens: 402
Registrado em: 11 Out 2006 15:15

Mensagempor fabim » 15 Ago 2008 14:59

5V PIC - 2V LEd display = 3V.
Cara com 10mA por seguimento ja acende legalzinho, ainda mais se for vermeio.
5-2=3
3V/0.010 = 300R para limitar corrente.
330R é o valor mais proximo comercial.
8 * 10 = 80mA, Porta, em FULL.
Pó fazer tranquilaço sem ULN.
Só usar binario reverso para formar os numeros, ou seja, porta inicializa em 1, joga para 0 para acender o seguimento X.

Fabim
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Mensagempor cmte » 15 Ago 2008 16:58

Pessoal, obrigado pela atenção.

Renato, o circuito é como você descreveu. Só completando, entre os catodos e o ULN2003 há resistores de 220r.

Antes de arrancar os cabelos eu tentei de tudo na programação; inverter a lógica de acionamento dos segmentos foi uma das tentativas. Mas como você escreveu, o ULN inverte o sinal.
Os valores dos resistores ligados às bases dos transístores estão corretos (10k) ?

Fabim, os emissores dos transistores estão ligados direto na alimentação, que é de 6v. Os resistores teriam que ser então de + - 400r ?

O PIC ainda tem "pendurado" nele um DS1302 e um LM35. Se eu retirar o ULN ele aguenta o tranco?

O circuito já está montado. Do jeito que está não deveria funcionar?


Obrigado novamente,

Yuri.
cmte
Byte
 
Mensagens: 141
Registrado em: 29 Nov 2006 12:53

Mensagempor fabim » 15 Ago 2008 17:01

DS1302 = consumo apenas no momento da comunicação
LM35 = nenhum consumo, apenas alguns uA a mais no momento do ADC ler ele.

Guénta e sobra pra paçoquinha com coca ainda.
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Mensagempor renatokodaira » 18 Ago 2008 15:31

Tenta diminuir o valor de 10k dos resistores nas entradas do ULN2003, mas acho que mesmo com 10k deveria acender algum display (mesmo fraquinho) pois o ULN é composto de vários darlingtons. E a frequencia de chaveamento/multiplexaçao ? Como é ? Será que cada display multiplexado fica um bom tempo em "ON" suficiente ?
renatokodaira
Byte
 
Mensagens: 402
Registrado em: 11 Out 2006 15:15

Mensagempor fabim » 18 Ago 2008 15:35

ZÉzim.
Tava lendo o seu primeiro post.
SE o D-7´S é ANODO comum <<! anodo!!
Pra que transistor PNP >??

Anodo Vai a VDC.
Katodo vai ao ULN, ou ao PIC.

Expeguimenta ligar o Comum do display ao VDC, e pegas um dos seguimentos com resistor de uns 330R e jogar ao GND. Vai acenter tio.

Olha aí direitinho acho que você esta confundindo Anodo Comum com Katodo comum.

Fabim
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Mensagempor renatokodaira » 18 Ago 2008 16:18

Ele escreveu na primeira mensagem que os displays anodos comuns são multiplexados, por isso precisam dos PNPs para ligá-los e desligá-los.
renatokodaira
Byte
 
Mensagens: 402
Registrado em: 11 Out 2006 15:15

Mensagempor cmte » 18 Ago 2008 23:14

Gente, obrigado pelo interesse e pela ajuda.

Passei o final de semana arrancando os cabelos.
Tentei baixar o valor dos resistores que vão nas bases dos transístores (de 10k para 4,7k e também para 2,2k), tentei ligar direto os transístores no VDC, alterei o programa para suprimir o ADC, e nada.
Na placa easyPic, o tempo dos anodos em ON é 2ms e em OFF é 1ms. Fica sem "flicker". Tentei aumentar (na placa) para ON 10ms e OFF 5ms, e nada. Nem pisca. Nada acende.
O ULN2003 está ligado direto na portD. Nas saídas dele estão os transístores de 220r.

Tô chegando à coclusão que tem algum outro bode por aqui. Como sou ignorante em eletrônica, minha esperança é que seja algo fácil de resolver.

Vou procurar um hospedeiro de imagens para poder colocar o desenho do circuito e o desenho da placa aqui. Pode ser que a placa tenha sido mal-desenhada. Não é a primeira vez que um projeto meu não sai do protoboard, hehehe.

Obrigado novamente!

Yuri.
cmte
Byte
 
Mensagens: 141
Registrado em: 29 Nov 2006 12:53

Mensagempor cmte » 20 Ago 2008 01:26

Pessoal,

Se puderem analisar o circuito e a placa e me dar uma luz, agradeço muito! :D


Obrigado novamente!

Yuri.

Imagem


Imagem
cmte
Byte
 
Mensagens: 141
Registrado em: 29 Nov 2006 12:53

Mensagempor fabim » 20 Ago 2008 09:11

Yuri.
- 0.7V do ULN
- 0.7V do BC558
- 1.85 V do Led do display

= 3,25V
ou seja o sistema começa a acender depois desta tensão de potencial.
5V - 3.25V = 1.75V << / 220R = 7mA por led <<
Era pra acender sim sinhor, experimente jogar apenas um digito sem multiplexar pra ver se esta acendendo o dito display, se não tiver observe se as tensões estão corretas, se estão chegando onde deveriam.

Sobre os resistores na entrada do ULN.
Observe o data
http://focus.ti.com/lit/ds/symlink/uln2003a.pdf

PAG-3
Ultimo esquema abaixo.
Ele tem um resistor de base de 2.7K, que ja forma um divisor resistivo que para tensão TTL do UC no "caso", ja esta dentro do Vrange de entrada.

Arranca estes resistores das entradas do ULN, verifique tensões, verifique se os GND´s estão corretos.

SE mesmo assim não funcionar, chame a mãe DINÁ, e uns 3 Paiz de santo. Se mesmo assim não funcionar.

Tire o Ucontrolador do Soquete, com fiozinhos, sogue o resistor de 10K de um dos BC para multiplexação para GND, com outro fiozinho jogue 5V direto para porta do ULN, Resumo... Tem que ir acendendo os seguimentos, caso não acenda o problema é no circuito eletrico, se acender pode ser no uControlador.

FAbim
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Mensagempor Maurício » 20 Ago 2008 10:09

cmte!

De onde vem, e qual é o valor da tensão que entra nos emissores de Q1, Q2, Q3 e Q4?

[]'s
"Não leve a vida tão à sério, afinal, nenhum de nós sairá vivo, dela!"
Avatar do usuário
Maurício
Word
 
Mensagens: 678
Registrado em: 14 Out 2006 17:23
Localização: São Paulo - SP

Próximo

Voltar para Circuitos Diversos

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

x