Posts com Tag ‘Acionamento’

Embarcados_a-660x205

Introdução

Displays de LED de 7 segmentos foram largamente utilizados como elementos de comunicação visual em painéis, instrumentos etc.  A vantagem de se utilizar esse tipo de componente é que  a disposição dos segmentos de LEDs, os tamanhos dos displays e a disposição e numeração dos pinos é na sua maioria padronizada, permitindo assim que se utilize displays de múltiplos fabricantes, sem prejuízos. São intercambiáveis.

O que são Displays de LED de 7 segmentos?

Na Figura 1 pode-se observar um exemplo típico de display de 7 segmentos e os detalhes de sua arquitetura interna. Com os sete segmentos de LED é possível representar números de 0 a 9 e algumas letras rudimentares.

Display 7 segmentos novo  125px-Seven_segment_display-animated

Figura 1: Display de 7 segmentos com detalhes internos e simulação de operação

Note que os segmentos são identificados por letras de “a” a “g” e o ponto decimal como “dp”. A organização interna dos displays de 7 segmentos pode ser na forma de catodo comum, ou anodo comum, conforme ilustrado na Figura 1. Essa arquitetura facilita o projeto dos circuitos de acionamento desses displays. Os detalhes desses circuitos serão mostrados mais adiante. Para formar um dígito é necessário acender os segmentos correspondentes. Veja as sequências listadas a seguir para a formação dos números e caracteres mais comuns:

  • 0 (Zero) – a, b, c, d, e, f
  • 1 (Um) – b, c
  • 2 (dois) – a, b, d, e, g
  • 3 (três) – a, b, c, d, g
  • 4 (quatro) – b, c, f, g
  • 5 (cinco) – a, c, d, f, g
  • 6 (seis) – a, c, d, e, f, g
  • 7 (sete) – a, b, c
  • 8 (oito) – a, b, c, d, e, f, g (todos)
  • 9 (nove) – a, b, c, f, g
  • A (maiúsculo) – a, b, c, e, f, g
  • B (minúsculo) – c, d, e, f, g
  • C (maiúsculo) – a, d, e, f
  • D (minúsculo) – b, c, d, e, g
  • E (maiúsculo) – a, d, e, f, g
  • F (maiúsculo) – a, e, f, g

Se você observar a simulação de operação de um display de 7 segmentos, como mostrado na Figura 1, poderá perceber que as letras formadas nesse tipo de display deixam muito a desejar. Para melhorar isso, foram criados os displays de 16 segmentos ou alfanuméricos, que já permitem representar de forma razoavelmente boa todas as letras do alfabeto. Os displays alfanuméricos serão apresentados resumidamente no final.

 Os circuitos que serão apresentados mais adiante, foram desenvolvidos para displays de 7 segmentos, mas podem ser facilmente adaptados para os displays alfanuméricos.

 .

Como acionar um display de 7 segmentos

Os circuitos para o acionamento dos displays de 7 segmentos são simples. É necessário ter um elemento de habilitação para permitir o fluxo de energia através dos LEDs, resistores para limitar a corrente em cada LED e assegurar que o brilho seja o suficiente, e um seletor de segmentos, que determina quais os segmentos que deverão ser ligados. Na Figura 2 estão ilustrados esses elementos de forma simplificada.

Aciona_Display1a

Figura 2: Configuração típica para acionamento de um display de 7 segmentos de anodo comum

 Dependendo da sua solução, do circuito lógico ou microcontrolador que você for utilizar, pode-se dispensar a utilização de Q1 e do seletor de segmentos. Porém, é boa prática de projeto não ligar o display direto no microcontrolador, para protegê-lo contra eventuais falhas do display. O seletor de segmentos pode ser implementado com um array de transistores, como por exemplo o uln2003 [1] ou uln2004 [2].

 Para exemplificar o cálculo de alguns parâmetros desse circuito, vamos supor que será utilizado o display da Kingbright de código SA36-11CGKWA [3].

 Do datasheet do display, temos as seguintes informações:

  • Vf = 2,1V (típico) , para If = 20 mA;
  • Máxima corrente If = 30 mAcc;
  • Corrente de Pico = 150 mA, com duty cycle de 1/10 e largura de pulso de 100 ms.

 Devemos tomar alguns cuidados na hora de dimensionar os elementos de acionamento do display:

  • O transistor Q1 deverá suportar no pior caso 8 x If;
  • R = (Vcc – Vf + VceQ1) / If, se desprezarmos a queda no seletor.

 Se Vcc = 5 Vcc, If = 10 mA, e Vce = -0,2V temos:

====> IcQ1 = 8 x 10 mA = 80 mA;

====> R = (5 – 2,1 – 0,2)V/ 10 mA = 270 Ohms.

Na Figura 2 pode-se observar que o circuito de acionamento de um único display de 7 segmentos é bastante simples e fácil de se conectar o circuito a um microcontrolador. E se necessitarmos de mais displays para formar números com mais dígitos?

Como acionar um arranjo com vários displays de 7 segmentos?

Se quisermos mostrar, por exemplo, 4 dígitos num arranjo de displays de 7 segmentos e utilizarmos a solução mostrada na Figura 2, serão necessários pelo menos 32 bits para acionar os quatro dígitos e eventualmente mais 4 linhas de habilitação individual para cada display. Esse arranjo provavelmente inviabilizaria o seu projeto, especialmente se for utilizar microcontroladores de 8 bits. Então… Como resolver esse problema?

A saída para esse problema é utilizar uma configuração multiplexada de acionamento dos displays. Essa solução se aproveita do fato dos nossos olhos, por natureza, reterem a percepção do brilho do LED por algum tempo, de forma que não se percebe uma descontinuidade de brilho se a frequência do chaveamento for alta o suficiente para isso. É o mesmo efeito que nos permite assistir a filmes, onde os quadros do filme são “piscados” numa frequência de 24 vezes por segundo para criar a ilusão de movimento contínuo. Na Figura 3 é mostrado um arranjo desse tipo.

Aciona_Display_multiplos

Figura 3: Circuito para acionamento multiplexado dos displays

Com o arranjo mostrado na Figura 3, acrescentar mais um dígito implica em acrescentar apenas mais um bit para a seleção do display adicional. O barramento para acionamento dos segmentos é compartilhado.

Como calcular os elementos desse circuito? Bem… Neste arranjo devemos considerar mais dois parâmetros: Frequência de multiplexação e número de displays, o que nos dá uma razão entre o período em que o display está ligado e o período em que ele está desligado. No nosso exemplo, essa razão é de 1/4 ou 25% (duty cycle). A frequência de multiplexação deverá ser adotada com valor acima de 24 Hz, por exemplo 30 Hz, para  que os nossos olhos não percebam a cintilação. Outro ponto a considerar, é que a corrente média no display diminui conforme diminui o duty cycle, causando uma diminuição no brilho percebido do display. Assim, para aumentar o brilho, devemos recalcular os resistores de limitação de corrente. Uma boa aproximação, é utilizar o parâmetro de corrente de pico (150 mA, com duty cycle de 1/10) como valor limitante de máximo. Esse parâmetro nos indica como aceitável uma corrente média de 15 mA no período de multiplexação. Se o nosso duty cycle é de 1/4, e quisermos manter uma corrente média de 10 mA, a corrente durante o acionamento deverá assumir o valor de 40 mA e os resistores deverão assumir o seguinte valor:

R = (Vcc – Vf + VceQ1) / If, se desprezarmos a queda no seletor. Ou seja,

R = (5 – 2,1 – 0,2) /40 mA = 67,5 Ohms ou então 68 Ohms (valor comercial para resistores de 5%)

A percepção do brilho do display é bastante subjetiva. Nos cálculos acima, foi realizada a suposição de que o brilho e os demais parâmetros do display variam de forma linear, o que não é exatamente verdadeiro, mas pode ser aproximado dessa forma. No final das contas, sempre será necessário visualmente realizar pequenos ajustes nos valores calculados.

Há mais um detalhe importante que devemos considerar para que o circuito apresentado na Figura 3 funcione corretamente: a dinâmica de acionamento dos displays. Essa dinâmica está ilustrada na Figura 4.

  Diagrama de tempos

Figura 4: Diagrama de tempos referente à multiplexação dos displays

Para evitar um fenômeno conhecido como “vazamento” ou “transbordo” de dígito é necessário desligar o display antes de preparar o barramento de dados para o próximo dígito, e só depois atualizar o barramento e ligar o próximo dígito.

Displays alfanuméricos

Os displays de 16 segmentos ou alfanuméricos permitem representar os dígitos numéricos e, de forma razoavelmente boa, todas as letras do alfabeto. A organização interna típica de um display de 16 segmentos pode ser observada na Figura 5. O arranjo interno, tal como os displays de 7 segmentos, também pode ser de anodo comum ou catodo comum.

.

Display_16_Segmentos_a   Sixteen-segment_display_animated
Figura 5: Organização interna de display de LED de 16 segmentos e simulação de operação

Como acionar um display alfanumérico?

 Na comparação dos displays mostrados na Figura 1 e na Figura 5,  é possível constatar que a principal diferença do display de 7 segmentos e do alfanumérico é obviamente o número de segmentos de LEDs. Enquanto o primeiro tem 7 segmentos para formar os dígitos e mais um para ativar o ponto decimal, o segundo tem 16 segmentos mais o ponto decimal. Naturalmente o circuito de acionamento é mais complexo, especialmente quando se utilizam microcontroladores de 8 bits. Na Figura 5 pode-se observar essa complexidade.

Aciona_Display_16 segmentos

Figura 5: Acionamento de um display alfanumérico

O acionamento de um display alfanumérico, por sua complexidade, requer que seja realizadas algumas atividades adicionais de preparação antes que ele seja acionado. Supondo que seja utilizado um barramento de 8 bits, é necessário que se transfira a primeira metade da seleção dos segmentos dos displays para o primeiro seletor / driver, que deve obrigatoriamente possuir algum tipo de memória, 8 flip-flops por exemplo. Em seguida, transfere-se  a segunda metade da seleção para o barrramento e depois liga-se o display. A seleção do ponto decimal é feita por um bit adicional.

No caso da necessidade de se utilizar displays alfanuméricos em arranjos com vários dígitos / caracteres, também pode ser utilizada a solução de multiplexação mostrada na Figura 3, observadas as particularidades do acionamento para esse tipo de display.

Resumo

 Este artigo apresentou os display de LED de 7 segmentos e algumas formas mais comuns para utilizá-los. É importante conhecer e entender a multiplexação dos dígitos como solução prática e tradicional para prover o seu projeto de sinalização visual. Este artigo também serve de embasamento teórico para que se possa compreender melhor os arranjos e soluções desenvolvidas no próximo artigo técnico da série de Bibliotecas padronizadas em C para o MCS-51 sobre  Displays.

Referências

[1] Datasheet do componente TI ULN2003

[2] Datasheet do componente TI ULN2004

[3] Datasheet do componente KingBright SA36-11CGKWA

Licença Creative Commons
Esta obra, “Displays de LED de 7 segmentos“, de Henrique Frank W. Puhlmann, foi licenciada sob uma Licença Creative Commons Atribuição-NãoComercial-CompartilhaIgual 3.0 Não Adaptada.