ENCICLOPÉDIA DE RÁDIO ELETRÔNICA E ENGENHARIA ELÉTRICA Visor LED de matriz. Enciclopédia de rádio eletrônica e engenharia elétrica Enciclopédia de eletrônica de rádio e engenharia elétrica / iluminação Ao desenvolver um dispositivo baseado em um microcontrolador, quase sempre surge o problema de escolher um dispositivo de exibição de informações. Se você deseja exibir letras, números e outros caracteres grandes e de alto brilho no indicador, geralmente a melhor solução é um display LED de matriz. O artigo proposto discute o módulo de tal display para oito familiaridades desenvolvido pelo autor. Ele pode trabalhar com diversas fontes de informação, recebendo dados delas para exibição via interface TWI (I2C). O chip MAX6953 serviu como protótipo para a unidade de controle matricial LED. O módulo descrito é projetado como uma alternativa aos módulos LCD, cuja principal desvantagem é a baixa legibilidade das informações exibidas devido ao pequeno tamanho dos caracteres e ao contraste insuficiente da imagem. Além da matriz de LED, o módulo possui uma unidade de controle de microcontrolador que converte códigos de caracteres e informações de controle recebidas de um dispositivo externo em sinais de controle de LED. O gerador de caracteres do módulo contém caracteres com códigos $20-$7F, de acordo com a tabela de códigos ASCII (sinais de pontuação, números, letras latinas e alguns outros caracteres) e com códigos $A8, $B8, $00-$FF (Russo letras, de acordo com a tabela de códigos CP1251). Se desejado, o conjunto de símbolos exibidos pode ser complementado adicionando imagens de novos símbolos à tabela geradora de caracteres localizada no programa do microcontrolador. Implementado "piscar" do personagem em qualquer uma das oito familiaridades. O número de familiaridade e a frequência de piscar define a fonte de informação. O ajuste do brilho de uma luminescência de diodos luminescentes tanto automaticamente, dependendo da iluminação externa, como manualmente fornece-se. O módulo é conectado à fonte de informação através da interface TWI (I2C). Se não houver conexão, a mensagem "No Data!" é exibida. O endereço do módulo no barramento TWI é $A0. Se necessário (por exemplo, se outros dispositivos com o mesmo endereço estiverem conectados ao mesmo barramento), ele pode ser alterado. Para fazer isso, no programa do microcontrolador do módulo (arquivo MATRIX_8D.asm), você precisa encontrar a linha .equ AddrTWI = $A0 e substitua o endereço $A0 nele por outro e, em seguida, traduza novamente o programa. A unidade de controle LED consiste em dois nós, cujos diagramas são mostrados na fig. 1 e fig. 2. As placas dos nós são interligadas unindo os conectores X3 com X12, X4 com X9 e X6 com X7. O cabo da fonte de informação é conectado ao conector X2. Após a fabricação do módulo, o microcontrolador DD1 (ATmega1-8PU) é programado através do conector X16. Os códigos do arquivo MATRIX_8D.hex devem ser carregados na memória FLASH do microcontrolador, e sua configuração deve ser programada conforme Tabela. 1, onde os valores de bits que diferem dos definidos pelo fabricante do microcontrolador são destacados em cores.
Tabela 1
Nota.0 - bit programado, 1 - bit não programado. As placas possuem oito (um para cada caractere de exibição) nós A1-A8, que, sob o controle do microcontrolador, formam os sinais fornecidos aos cátodos combinados de cada linha de LEDs do caractere da matriz. Todos esses nós são iguais e são montados de acordo com o esquema mostrado na Fig. 3. Cada um tem um chip MC74HC595AD que converte a saída do código serial do microcontrolador em paralelo e um conjunto de amplificadores de corrente de coletor aberto baseados em transistores compostos (chip ULN2803ADW). A cada um dos conectores X1 dos nós A1-A8, são conectados os cátodos das fileiras de LEDs da familiaridade correspondente.
O programa do microcontrolador seleciona alternadamente os nós A1-A8 para carregar códigos neles, emitindo um código de O a 0 (um a menos que o número de familiaridade) para as saídas PC2-PC7 do microcontrolador e um sinal para a saída PC3 que permite o funcionamento do descodificador DD2 (ver Fig. 1). Como resultado, um nível lógico baixo é definido na saída do decodificador correspondente ao código, o que permite que o chip DD1 conectado a ele (Fig. 3) receba o código serial gerado pelo programa na saída PB3 do microcontrolador. Os sinais gerados nas saídas PD3-PD7 e nos transistores amplificados VT2-VT6 fornecem tensão alternadamente para cada um dos cinco circuitos que combinam os ânodos das colunas de LED da matriz. Alto-falantes com o mesmo número de oito caracteres são conectados em paralelo e ligados ao mesmo tempo, o que torna a tela piscando menos perceptível. O transistor VT1, controlado por um sinal da saída PB0 do microcontrolador, permite desligar todos os LEDs do display ao mesmo tempo. Para alimentar o módulo display, o X8 é alimentado com 9 V, 50 Hz. Pode ser obtido de qualquer transformador abaixador adequado. O autor utilizou um transformador TP-132-3 com tensão no enrolamento secundário de 9 V a uma corrente de carga de 0,5 A. A tensão alternada retifica a ponte de diodos VD2. O estabilizador integrado DA1 fornece 5 V aos microcircuitos do módulo. Um estabilizador com uma tensão de saída ajustável é construído em um transistor de efeito de campo VT8 e um estabilizador paralelo DA2. Foi utilizado o circuito descrito por I. Nechaev no artigo "Um estabilizador com uma pequena queda de tensão mínima". A tensão U definida usando o resistor de ajuste R17brilhante através dos transistores VT1-VT6 entra nos ânodos dos LEDs e determina o brilho de seu brilho. Além disso, o transistor de efeito de campo VT7 controla o brilho. Sua porta é energizada por um resistor variável R11, resistores fixos R12, R13 e um divisor de tensão fotoresistor R16. A resistência do fotorresistor diminui à medida que aumenta a iluminação do local onde o display está instalado. Como resultado, a tensão de porta do transistor VT7 aumenta e ele se abre, o que reduz a tensão Ubrilhante e o brilho dos LEDs do visor. O resistor variável R11 define os limites ideais para mudanças automáticas de brilho. Ao remover o jumper S1, o controle automático de brilho pode ser desabilitado. A matriz de LED está localizada em duas placas idênticas montadas de acordo com a mostrada na fig. 4 esquema. O conector X1 da primeira placa de LED é conectado ao conector X5 da placa, cujo diagrama é mostrado na fig. 1 e conectores X2-X5 com conectores X1 dos nós A1-A4 na mesma placa. Da mesma forma, conecte a segunda placa de LED àquela cujo circuito é mostrado na fig. 2 usando o conector X11 e os conectores Xl dos nós A5-A8.
Em vez de LEDs discretos, para construir um display, você pode usar matrizes sintetizadoras de sinal de LED prontas com uma organização de elementos 5x8 ou 5x7 com ânodos conectados às colunas da matriz. Observe que as matrizes 5x7 não exibirão totalmente todas as letras russas. Todas as placas de circuito impresso do módulo são dupla face em fibra de vidro laminado com espessura de 1,5 mm. Um desenho dos condutores do circuito impresso da placa na qual o microcontrolador e os nós A1-A4 estão localizados é mostrado na fig. 5 e a localização das peças - na Fig. 6.
A placa com nós A5-A8 é feita de acordo com o desenho mostrado na fig. 7, e as partes são dispostas de acordo com a Fig. 8. Em ambas as placas, as designações de itens de peças relacionadas aos nós A1-A8 (incluindo conectores) são fornecidas com prefixos que correspondem ao número do nó, por exemplo, 8DD1. Os conectores X5, X11 e 1X1-8X1 estão localizados nas laterais das placas opostas onde estão instaladas as demais peças. Isso é feito para facilitar o encaixe direto com os conectores localizados nas placas de matriz de LED. Um desenho dessas placas (duas delas são idênticas) é mostrado na fig. 9. Os conectores neles são instalados no lado oposto aos LEDs. Todas as placas usam conectores PBS (fêmea) e PLS (macho) de linha única.
A exceção são as duas filas X1, X2 (PLD-6) e X10 (PBD-4) nas placas de controle. Os códigos de caracteres recebidos da fonte de informação, o programa do microcontrolador DD1 armazena na RAM, e então analisa e busca na tabela do gerador de caracteres os códigos correspondentes à imagem do caractere desejado para exibição. Um fragmento do gerador de caracteres, consistindo de dez blocos de 16 caracteres cada, é dado na Tabela. 2. Cada símbolo é descrito por cinco (de acordo com o número de colunas da matriz) códigos binários de oito bits (de acordo com o número de linhas da matriz). As unidades nesses códigos correspondem a LEDs ligados, zeros a desligados. Tabela 2
O programa reescreve os códigos de exibição do personagem nas células RAM, onde eles são armazenados temporariamente antes de serem exibidos. O módulo de hardware SPI do microcontrolador envia esses códigos um a um para os registradores seriais dos microcircuitos 74HC595 dos nós A1-A8 aos quais se destinam. A partir daqui, eles são transferidos para seus registradores de armazenamento pelos sinais gerados na saída PB2 do microcontrolador. O número total de colunas de LED em um display de oito dígitos é 5x8=40. É necessário atualizar as informações com uma frequência de pelo menos 100 Hz, caso contrário, é possível piscar. Assim, não mais do que 1/100/40 = 0,00025 s pode ser gasto na gravação de informações em uma coluna - são 4000 períodos da frequência do clock do microcontrolador igual a 16 MHz. As solicitações de interrupção do programa com aproximadamente esse período são geradas por um temporizador de oito bits do microcontrolador com um pré-dimensionador da frequência do relógio em 64. O fator de recálculo do temporizador é definido como 62. A taxa real de atualização de informações acabou sendo 16000000/64/ 62/40=100,8 Hz. Sempre que as informações exibidas precisarem ser alteradas, sua fonte deve enviar um pacote de endereço e dez bytes de informação para o módulo via interface TWI. O byte de endereço deve conter o endereço do módulo com um zero (escrever sinalizador) no bit menos significativo. Os primeiros oito bytes de informação contêm os códigos de caracteres a serem exibidos da esquerda para a direita. Os quatro bits superiores do nono byte devem conter um número que seja 7 unidades maior que o número da familiaridade que pisca no visor (os números são contados de 1 a 8 da esquerda para a direita). Quando este byte é definido como zero, o piscar é desabilitado. O período intermitente especifica o número no décimo byte, cada unidade corresponde a 50 ms. O módulo de exibição confirma para a fonte que recebeu o endereço correto seguido de nove bytes de dados. A recepção do décimo byte de informação não é confirmada, o que indica a conclusão da recepção do pacote. Depois disso, o módulo está novamente pronto para receber o próximo pacote. Antes de ser recebida, as informações recebidas anteriormente são exibidas no visor. O tratamento de erros de recepção no programa do microcontrolador não é executado. Se for recebido um código de caractere que não esteja no gerador de caracteres, um ponto de interrogação em um quadro retangular será exibido na familiaridade correspondente. Não há nenhum comando para limpar o visor. Em vez disso, um pacote de informações com oito caracteres de espaço (US$ 20) deve ser enviado. Para evitar que o módulo display congele, um watchdog timer é ativado em seu microcontrolador.Se a sub-rotina de controle do display não for chamada dentro de 32 ms, o microcontrolador é forçado a reiniciar e o programa começa novamente, como quando a energia é ligada. A aparência do módulo display sem caixa na lateral dos LEDs é mostrada na fig. 10, e do lado da instalação dos microcircuitos - na fig. 11. Antes de ligar a estrutura montada pela primeira vez, é necessário definir o valor mínimo de tensão Ubrilhante. A unidade de controle automático de brilho é ajustada dependendo das condições de operação do visor.
O invólucro do módulo é de um reprodutor de vídeo Philips. As linhas SDA e SCL são conectadas ao módulo por meio de uma chave bidirecional de duas posições. Em uma posição, as informações vêm de qualquer fonte externa por meio de um conector de quatro pinos instalado na caixa do módulo. No segundo - do relógio eletrônico localizado na mesma caixa, montado de acordo com o esquema mostrado na fig. 12.
O relógio é construído em um microcontrolador ATmega8535-16PU (DD1) e um microcircuito DS1307 (DD2) - um relógio em tempo real com uma interface I2C. Para se comunicar com o microcontrolador DD2, o microcontrolador DD1 usa o mesmo barramento de dois fios através do qual transmite informações para o módulo de exibição. Mas os endereços do chip ($D0) e do módulo ($A0) no barramento são diferentes, o que dá ao microcontrolador do relógio a capacidade de distingui-los. Deve-se tomar cuidado para que os endereços não coincidam ao conectar o módulo de exibição a outras fontes de informação. Os códigos do arquivo MasterDevice.hex são inseridos na memória FLASH do microcontrolador clock, e a configuração é programada conforme Tabela. 3. Como na Tabela. 1, os estados de bit que diferem daqueles definidos pelo fabricante são destacados em cores. Tabela 3
Nota. 0 - bit programado, 1 - bit não programado. O relógio tem sete botões de controle. Seu propósito: SB1 - colocar o microcontrolador em seu estado original, reiniciando o programa; SB2 - mude para o modo de configuração de hora e data. O visor mostra brevemente "Hora". Em seguida, são exibidos o nome do registro, cujo conteúdo deve ser alterado e o valor nele escrito; SB3 - transição do modo de exibição da hora atual para o modo de exibição da data. No modo de ajuste de hora e data - a transição para o registro com um endereço inferior, que é exibido no visor; SB4 - transição do modo de configuração de hora e data para o modo de exibição de hora atual. Pressionar este botão inicia o gerador de relógio interno, a contagem dos segundos começa do zero. O visor mostra brevemente "Concluído"; SB5 - escrevendo um novo valor no registro, o display mostra brevemente a inscrição "Write"; SB6 - aumenta o valor de gravação no registro selecionado, a própria gravação ocorre quando você pressiona o botão SB5; SB7 - transição do modo de exibição de data para o modo de exibição de hora atual. No modo de configuração de data e hora - diminuindo o valor para gravação no registro selecionado, a gravação propriamente dita ocorre quando o botão SB5 é pressionado. Programas para microcontroladores do módulo de exibição e relógio podem ser baixados em ftp://ftp.radio.ru/pub/2014/06/disp.zip. Autor: N. Salimov Veja outros artigos seção iluminação. Leia e escreva útil comentários sobre este artigo. Últimas notícias de ciência e tecnologia, nova eletrônica: Couro artificial para emulação de toque
15.04.2024 Areia para gatos Petgugu Global
15.04.2024 A atratividade de homens atenciosos
14.04.2024
Outras notícias interessantes: ▪ Fotos ajudam a acreditar em mentiras ▪ Envenenadores de sangue frio ▪ Escolha da profissão - por genes ▪ Uma variedade útil de milho para pipoca foi desenvolvida Feed de notícias de ciência e tecnologia, nova eletrônica
Materiais interessantes da Biblioteca Técnica Gratuita: ▪ seção do site para o designer de rádio amador. Seleção de artigos ▪ artigo A vida é boa e a vida é boa. expressão popular ▪ artigo O que a Revolução Francesa e o governo de Napoleão trouxeram para o país? Resposta detalhada ▪ artigo Mergulhador. Descrição do trabalho ▪ artigo Vernizes para folha-de-flandres. receitas simples e dicas
Deixe seu comentário neste artigo: Todos os idiomas desta página Página principal | Biblioteca | Artigos | Mapa do Site | Revisões do site www.diagrama.com.ua |