Você está na página 1de 95

Visor Matricial Bidimensional de LEDs RGB

Diogo Filipe Pedro Carvalho

Dissertao para obteno do Grau de Mestre em Engenharia Electrnica

Jri
Presidente: Prof. Joo Jos Lopes da Costa Freire Orientador: Prof. Moiss Simes Piedade Co-Orientador: Prof. Leonel Augusto Pires Seabra de Sousa Vogal: Prof. Guilherme Dinis Moreno da Silva Arroz

Novembro 2009

Agradecimentos
Em primeiro lugar agradeo aos meus pais Joo e Maria Manuela e ao meu irmo Alexandre pelo apoio, esforo e dedicao que sempre me deram.

Um agradecimento especial Patrcia Vicente pelo apoio, motivao e pacincia ao longo da tese.

Ao Prof. Moiss Piedade agradeo pela ajuda, orientao e inspirao no desenvolvimento deste trabalho, e pelo esforo e apoio dado durante o curso de engenharia electrnica.

Ao Sr. Pina dos Santos pela ajuda e pacincia ao longo do curso.

Agradeo ao Eng. Victor Silvestre pela disponibilidade, orientao e material necessrio para o desenvolvimento deste trabalho.

Por ltimo mas no menos importante, um especial agradecimento a todos os meus colegas que me acompanharam durante a minha jornada acadmica.

II

Abstract
LED screens are widely used throughout the world in a variety of applications, including devices for communication and visual presentation. Can be very bright eye-catching, and its information easy to absorb. LED matrix displays have a common vision today on the streets, buildings, parks and other public places. It is a form of visual information where the large LCD screens and other screens become too expensive. The displays are commonly seen in a single color or with 2 or 3 colors. In this thesis are introduced the multicolored LED displays. This project provides an efficient and scalable approach to LED matrix displays. The proposed system consists of an RGB LED array and a circuit to interface with a computer via USB or wireless communication. It also includes a program that runs on a computer to control the display of characters or images on the display. Another important feature is the use of an RGB light sensor for adjusting the color, according to the sensitivity of the human eye in different environments. The advantage of this project is that the size of the display can be increased along the rows and columns without making any changes to the circuit since the display is the repetition of small independent modules.

Keywords:

LED Panel, matrix display, RGB, multicolored, independent modules, scalable.

III

IV

Resumo
Os painis LED so amplamente utilizados em todo o mundo numa variedade de aplicaes, incluindo comunicao e dispositivos de apresentao visual. Podem ser muito brilhantes prendendo a ateno, e as suas informaes fceis de absorver. Visores matriciais LED apresentam-se uma viso comum hoje em dia nas ruas, edifcios, parques e outros locais pblicos. uma forma de informao visual onde os grandes ecrs LCD e outros ecrs tornam-se demasiado dispendiosos. Os visores comummente vistos so de uma nica cor ou com 2 ou 3 cores. Na presente tese so introduzidos os visores LED multicoloridos. Este projecto oferece uma abordagem eficiente e escalvel para ecrs matriciais LED. O sistema proposto constitudo por uma matriz LED RGB e um circuito de interface com um computador atravs de comunicao sem fios ou USB. Tambm inclui um programa que executado no computador para controlar a exibio de caracteres, ou imagens no visor. Outra caracterstica importante a utilizao de um sensor RGB de luz para o ajuste da cor, de acordo com a sensibilidade do olho humano em ambientes diversos. A vantagem deste projecto que o tamanho do visor pode ser aumentado ao longo das linhas e colunas sem fazer nenhuma alterao no circuito uma vez que o visor a repetio de pequenos mdulos independentes.

Palavras-chave:

Painel LED, visor matricial, RGB, multicolorido, mdulos independentes, escalvel.

VI

ndice

AGRADECIMENTOS ............................................................................................................................... I

ABSTRACT ............................................................................................................................................ III

RESUMO ................................................................................................................................................. V

NDICE................................................................................................................................................... VII

LISTA DE FIGURAS .............................................................................................................................. IX

LISTA DE TABELAS ........................................................................................................................... XIII

LISTA DE ABREVIAES .................................................................................................................. XIII

CAPTULO 1 - INTRODUO................................................................................................................ 1

1.1 MOTIVAO.................................................................................................................................... 1 1.2 ESTADO DA ARTE ........................................................................................................................... 2 1.3 OBJECTIVOS................................................................................................................................... 3 1.4 ORGANIZAO DA TESE.................................................................................................................. 4

CAPTULO 2 - VISO GERAL DO SISTEMA........................................................................................ 7 2.1 CONTROLO DE MATRIZES DE LEDS ................................................................................................ 7 2.2 CONTROLO DE BRILHO .................................................................................................................... 8 2.3 COMUNICAO CAN BUS ............................................................................................................. 11 2.4 USB ............................................................................................................................................ 13

VII

2.5 CONCLUSES ............................................................................................................................... 15

CAPTULO 3 - HARDWARE................................................................................................................. 17

3.1 MDULO LED 16X16.................................................................................................................... 17 3.1.1 Placa de controlo do mdulo .......................................................................................... 20 3.2 CONTROLADOR CENTRAL .............................................................................................................. 25 3.3 CONCLUSES ............................................................................................................................... 28

CAPTULO 4 - SOFTWARE ................................................................................................................. 29

4.1 PROGRAMA DO CONTROLADOR DO MDULO LED .......................................................................... 29 4.2 PROGRAMA DO CONTROLADOR CENTRAL ....................................................................................... 34 4.2.1 Descrio dos comandos recebidos .............................................................................. 35 4.3 PROTOCOLO USADO NAS COMUNICAES...................................................................................... 42 4.4 PROGRAMA EXECUTADO NO COMPUTADOR .................................................................................... 48 4.5 CONCLUSES ............................................................................................................................... 63

CAPTULO 5 - RESULTADOS ............................................................................................................. 65

CAPTULO 6 - CONCLUSES E TRABALHO FUTURO .................................................................... 71

6.1 CONCLUSES ............................................................................................................................... 71 6.2 TRABALHO FUTURO ...................................................................................................................... 71

CAPTULO 7 - BIBLIOGRAFIA ............................................................................................................ 73

ANEXO A - ESQUEMAS ELCTRICOS .............................................................................................. 75

ANEXO B - DESENHOS DAS PCBS .................................................................................................. 78

VIII

Lista de Figuras
Fig. 1- Diagrama de blocos do sistema completo ................................................................................... 4 Fig. 2 - Controlo multiplexado e controlo directo ..................................................................................... 7 Fig. 3 Exemplo de controlo multiplexado. ............................................................................................ 8 Fig. 4 - Relao entre o comprimento de onda e a corrente directa num LED azul. .............................. 9 Fig. 5 Variao do brilho de dois LEDs por PWM. .............................................................................. 9 Fig. 6 - Hierarquia temporal para um visor 4X4 e 4 nveis de intensidade por pixel............................. 10 Fig. 7 Controlo individual de brilho numa matriz de LEDs. ............................................................... 10 Fig. 8 - Relao entre o comprimento do barramento CAN e a taxa de transmisso. ......................... 11 Fig. 9 Nveis de tenso numa rede CAN ............................................................................................ 12 Fig. 10 - Formato de mensagem CAN 2.0A .......................................................................................... 12 Fig. 11 - Formato de mensagem CAN 2.0B .......................................................................................... 12 Fig. 12 - Esquema de ligaes no barramento CAN ............................................................................. 13 Fig. 13 - Tipos de conectores USB ....................................................................................................... 14 Fig. 14 - Organizao dos LED's nos mdulos. .................................................................................... 17 Fig. 15 - Luminosidade em relao ao tempo de operao e temperatura ....................................... 18 Fig. 16 - Esquema da matriz LED ......................................................................................................... 19 Fig. 17 - Esquema do bloco de potncia para seleco das colunas ................................................... 19 Fig. 18 - Esquema de ligao em cascata dos TLC5944 ..................................................................... 21 Fig. 19 - Placa CAN_PIC FST ............................................................................................................... 24 Fig. 20 - Placa dos controladores LED .................................................................................................. 24 Fig. 21 - Controlador central .................................................................................................................. 26 Fig. 22 - Sensor de luz TCS230 ............................................................................................................ 27 Fig. 23 Mdulo GSM GPRS G24 da Motorola ................................................................................... 28 Fig. 24 - Fluxograma do programa do controlador dos mdulos .......................................................... 29 Fig. 25 - Fluxograma da rotina de interrupo do timer3 ...................................................................... 31 Fig. 26 - Relao entre os valores de luminncia com correco gamma ........................................... 33 Fig. 27 - Hierarquia temporal do mdulo LED ....................................................................................... 33 Fig. 28 - Fluxograma do programa do controlador central .................................................................... 34
IX

Fig. 29 - Fluxograma da rotina de interrupo do timer2 ...................................................................... 39 Fig. 30 - Fluxograma da funo de correco de cor ........................................................................... 40 Fig. 31 - Formato da mensagem de trama de imagem (CAN bus) ....................................................... 42 Fig. 32 - Formato da mensagem de confirmao de recepo ............................................................ 42 Fig. 33 - Formato da mensagem de pedido do identificador ................................................................. 43 Fig. 34 - Formato da mensagem de trama global ................................................................................. 43 Fig. 35 - Formato da mensagem de trama de imagem (USB) .............................................................. 44 Fig. 36 - Formato da mensagem de confirmao geral ........................................................................ 45 Fig. 37 - Formato da mensagem carregar imagem/animao .............................................................. 45 Fig. 38 - Formato da mensagem de alterao do brilho ....................................................................... 46 Fig. 39 - Formato da mensagem padro ............................................................................................... 46 Fig. 40 - Formato da mensagem de identificadores .............................................................................. 46 Fig. 41 - Formato da mensagem de estado do sensor ......................................................................... 47 Fig. 42 - Formato da mensagem de teste ............................................................................................. 47 Fig. 43 - Seco de importao das imagens para a lista .................................................................... 49 Fig. 44 - Seco de procura de dispositivos ......................................................................................... 50 Fig. 45 - Seco de representao da configurao do visor ............................................................... 51 Fig. 46 - Seco de envio das imagens ................................................................................................ 51 Fig. 47 - Fluxograma da funo de envio da partio 16x16 ................................................................ 52 Fig. 48 - Seco das mensagens de estado ......................................................................................... 53 Fig. 49 - Seco de carregamento da imagem/animao .................................................................... 54 Fig. 50 - Seco guardar imagens ........................................................................................................ 55 Fig. 51 - Seco de alterao do brilho dos LED's ............................................................................... 55 Fig. 52 - Barra de ferramentas padro .................................................................................................. 56 Fig. 53 - Barra de ferramentas de efeitos .............................................................................................. 58 Fig. 54 - Barra de ferramentas de visualizao..................................................................................... 59 Fig. 55 - Barra da caixa de ferramentas ................................................................................................ 60 Fig. 56 - Seco da rea de edio e da lista de imagens ................................................................... 61 Fig. 58 - Seco de exportao das imagens ....................................................................................... 62 Fig. 57 - Caixa de seleco de cor ........................................................................................................ 62

Fig. 59 - Mdulo LED: a) Vista frontal b) Vista posterior ....................................................................... 65 Fig. 60 - Controlador central: a) Vista posterior b) Vista frontal ............................................................ 66 Fig. 61 - Aparncia final da janela principal .......................................................................................... 67 Fig. 62 - Aparncia final da janela de edio ........................................................................................ 68 Fig. 63 - Exemplos de imagens 16x16 exibidas no visor ...................................................................... 68 Fig. 64 - Exemplos de imagens 32x16 exibidas no visor ...................................................................... 69

XI

XII

Lista de Tabelas
Tabela 1 Caractersticas dos painis de mensagem varivel da Microprocessador ........................... 2 Tabela 2 - Caractersticas do ecr LED PH16SOVL1-T16x8 ................................................................. 3 Tabela 3 - Caractersticas dos LEDs individuais e dos LEDs RGB ..................................................... 17 Tabela 4 - Vantagens e desvantagens de vrios controladores de LEDs ........................................... 20 Tabela 5 - Corrente mxima de sada em funo da resistncia externa ............................................ 22 Tabela 6 - Vantagens e desvantagens de vrios expansores de portos .............................................. 22 Tabela 7 - Vantagens e desvantagens de microcontroladores para os mdulos ................................. 23 Tabela 8 - Vantagens e desvantagens de vrios microcontroladores USB .......................................... 25 Tabela 9 - Vantagens e desvantagens de vrios sensores RGB de luz ............................................... 27 Tabela 10 - Converso linear de valores de 4 bits para 12 bits ............................................................ 32 Tabela 11 - Converso de valores de 4 bits para 12 bits com correco gamma ................................ 32 Tabela 12 Relao entre os valores de comparao e a durao pretendida .................................. 37 Tabela 13 - Responsividade da irradincia do TCS230 ........................................................................ 40 Tabela 14 - Caractersticas do visor desenvolvido ............................................................................... 70

Lista de Abreviaes
LED LCD RGB SMD USB PWM CAN Light Emitting Diode Liquid Crystal Display Red, green, Blue Surface Mounted Device Universal Serial Bus Pulse Width Modulation Controller Area Network

XIII

XIV

Captulo 1 - Introduo
1.1 Motivao
Nas ltimas dcadas, a tecnologia Light Emitting Diode (LED) melhorou drasticamente e o mundo da imagem LED enfrentou uma impressionante revoluo. Particularmente nos ltimos anos, novas tcnicas produtivas tm sido desenvolvidas para aumentar o brilho e reduzir a decadncia. Todas essas inovaes permitem os painis luminosos manterem-se em funcionamento por mais de 10 anos sem mudar os LEDs. A rpida aceitao desta tecnologia sobre as actuais tecnologias de exibio de imagem, pode ser atribuda disponibilidade de LEDs verdes e azuis de alto brilho baseados na tecnologia de nitreto de glio e ndio complementando os vermelhos de alto brilho j disponveis anteriormente. Os pontos fortes da tecnologia LED so a alta visibilidade tanto de dia como de noite, a longa vida de operao, alta confiabilidade e resistncia ao ambiente, baixo consumo de energia, baixo peso e espessura, grande gama de potncia e a grande variedade do espectro de cores. Com a reduo do preo dos LEDs em conjunto com o aumento da eficincia, os painis de exibio de imagem, de vdeo e os visores alfanumricos esto a tornar-se uma ferramenta de informao muito importante. Esta tecnologia apresenta-se como uma boa forma de informao visual de grande dimenso em relao aos grandes LCD e outros ecrs que se tornam demasiados dispendiosos. Oferece um amplo ngulo de viso, um grande brilho e uma imagem adequada para aplicao exterior. O sistema de um painel electrnico constitudo, basicamente, por diferentes fontes de sinal de vdeo/imagem acopladas a unidades controladoras (microprocessadores) e por um visor de grandes dimenses composto por um arranjo de mdulos independentes com dimenses que variam conforme o modelo e o fabricante. Cada mdulo possu uma matriz de pontos (pixis) formados, cada um, por LEDs de cor vermelha, verde e azul (padro RGB), que lhe confere a apresentao completa do espectro de cores, tambm conhecido como full color. Estes pixis so espaados uniformemente e so medidos entre os centros para a determinao da resoluo de pixel absoluta. Os painis so normalmente utilizados no exterior, em ecrs publicitrios, recintos desportivos, painis informativos e sinalizao rodoviria. So tambm, por vezes, utilizados como forma de iluminao.

1.2 Estado da Arte


Existem dois tipos de painis LED [13]: os convencionais, utilizando LED s discretos, e os painis surface-mounted (SMD). A maioria dos ecrs ao ar livre e alguns ecrs interiores so construdos em torno de LEDs discretos, tambm conhecidos como LEDs individualmente montados. Um aglomerado de LEDs de cor vermelha, verde e azul controlado em conjunto para formar um pixel full-color [13]. Dos ecrs interiores existentes no mercado, grande parte construda usando tecnologia SMD, uma tendncia que agora se estende para o mercado dos ecrs exteriores. Um pixel SMD composto por leds de cor vermelha, verde e azul juntos no mesmo encapsulamento e que so montados sobre a placa de circuito impresso [14]. Como esses LEDs so menores e esto mais juntos, a distncia mxima de visualizao menor em relao a um ecr de LEDs discretos com a mesma resoluo. O uso no interior que geralmente requer um ecr que se baseia na tecnologia SMD tem um brilho mnimo de 600 candelas por metro quadrado (cd/m) [1], o costuma ser suficiente, mas em condies de alta luminosidade ambiente pode ser necessrio maior brilho para uma boa visibilidade. Para utilizao no exterior, pelo menos 2000 cd/m usado para a maioria das situaes, e um brilho de 5000 cd/m permite a visualizao mesmo com luz solar directa no ecr [2]. Actualmente a tecnologia dos ecrs LED evoluiu muito, existindo ecrs de alta definio que permitem a reproduo de vdeo digital de alta qualidade, com uma palete de cores suportada que ascende a 1 bilio de cores [15]. O maior ecr LED do mundo tem um comprimento superior a 400m e situa-se na Fremont Street Experience em Las Vegas. A nvel nacional, a empresa Fatrnica Fabrico de Artigos Electrnicos, S.A. e a empresa Microprocessador Sistemas Digitais, S.A. produzem uma vasta gama de painis usando tecnologia LED para aplicao essencialmente em sinalizao rodoviria. A Tabela 1 apresenta as principais caractersticas dos painis LED de mensagem varivel da empresa Microprocessador, usados em sinalizao rodoviria [16]. As caractersticas de um ecr LED de exibio de vdeo da Shenzhen Chip Optech Co. [17] esto representadas na Tabela 2. Tabela 1 Caractersticas dos painis de mensagem varivel da Microprocessador RS232 / RS485 Ethernet GSM/GPRS WiFi USB Servidor WEB para configurao remota TCP/IP e SNMP DGT Arquitectura modular Ao ou alumnio IP55~IP65 Texto e grficos Tecnologia LED DIP/SMD Monocromtico, RGB combinaes de cores

Interfaces de comunicao

Configurao da sinalizao

outras

Protocolos de comunicao

Alimentao

AC 230 V 50 Hz ou 110 V 60 Hz DC 24 V Bateria de 24 V e carregador inteligente opcionais

Construo mecnica

Memria no voltil para mensagens pr-programadas De acordo com a norma EN 12966

Tabela 2 - Caractersticas do ecr LED PH16SOVL1-T16x8 Configurao de pixel Espaamento entre pixis [mm] Dimenses do mdulo [mm] Resoluo do mdulo [pixel] Mdulos por visor Peso do visor [kg] Densidade de pixel [pixel/m ] Brilho [cd/ m ] Temperatura de cor [K] Ajuste de brilho ngulo de visualizao Distncia de visualizao [m] Distncia de comunicao [m] Mtodo de controlo dos LEDs Bits por cor Frequncia de varrimento [Hz] Entrada de sinal Temperatura de funcionamento [C] Humidade Tempo de vida dos LEDs [horas] Alimentao Consumo de potncia [W/ m ]
2 2 2

1R, 1G, 1B 16 256x128x20 16x8 4(L)x6(A) Alumnio: 42 3906 5500 5000-9500 100 passos H: 110; V: 70 > 11 Fio: 120; fibra ptica:1000 Corrente constante 14 400 VGA, Svideo, DVI -20 ~ +60 10-95 % 100 000 AC: 220 V/50 Hz Max: 1050

1.3 Objectivos
Visores LED monocromticos so muito comuns hoje em dia, mas esses visores de cor amarela ou vermelha no so atractivos. A introduo de LEDs multicoloridos nos visores torna-os capazes de prender a ateno do observador. O objectivo principal deste trabalho o desenvolvimento de um prottipo de um visor com LEDs RGB de alto brilho e estrutura modular com mdulos bsicos de 16x16 conjuntos RGB de LEDs. Este visor permite assim, a visualizao tanto de caracteres alfanumricos como de imagens bitmap, podendo ser utilizado numa grande diversidade de aplicaes. O sistema utiliza hardware e software para permitir a partio de uma imagem em blocos de 16x16 pixel e a excitao de LEDs correspondente, usando microcontroladores e memria de imagem local. A intensidade dos LEDs e da cor ajusta-se de acordo com a sensibilidade do olho humano em ambiente nocturno e diurno, usando para isso um sensor RGB de luz e algoritmos de controlo dos LEDs.

A estrutura modular permite realizar painis com elevada resoluo, sem alterar o circuito, por associao de mdulos idnticos. A comunicao com os vrios mdulos feita atravs de um controlador central que possu interfaces de comunicao sem fios e USB para a recepo das imagens de um PC controlador. Na Fig. 1 est representado o diagrama de blocos de todo o sistema. Este trabalho tem a colaborao da empresa Fatrnica Fabrico de Artigos Electrnicos, S.A. que j conta com muitos anos de experincia na rea dos visores electrnicos.

Fig. 1- Diagrama de blocos do sistema completo

1.4 Organizao da Tese


No presente captulo feita uma introduo ao problema, ao estado da arte, e so descritas as especificaes do sistema. O captulo 2 apresenta uma viso geral do sistema e as caractersticas tericas implcitas neste. De seguida, no captulo 3 so apresentadas as caractersticas, opes de projecto, e solues propostas para os blocos de hardware que compem o sistema completo. No captulo 4 descrito o software realizado para a execuo no computador e o firmware para a execuo nos microcontroladores, referindo as estratgias adoptadas, o fluxo de programa e descrio das ferramentas. No captulo 5 so apresentados os resultados obtidos a partir do prottipo desenvolvido. Por ltimo, no captulo 6 so apresentadas as concluses e as sugestes de trabalho futuro a desenvolver neste projecto.

Para alcanar os objectivos propostos foram realizadas as seguintes actividades:

1. Pesquisa preliminar de tecnologias de painis LED, arquitecturas e aplicaes atravs de pesquisas na Web, sites de fabricantes, revistas, artigos e livros;
4

2. Desenvolvimento e montagem da matriz LED; 3. Desenvolvimento e construo da placa controladora do mdulo; 4. Realizao do firmware para a placa controladora; 5. Desenvolvimento e construo do controlador central; 6. Realizao do firmware para o controlador central; 7. Implementao do software a ser executado no PC;

Captulo 2 - Viso geral do sistema


Neste captulo apresentada uma viso geral da teoria que est por detrs das vrias tcnicas de controlo necessrias para a implementao do sistema. So explicadas as vantagens e desvantagens de cada uma, demonstrando os motivos das escolhas efectuadas. feita tambm uma abordagem s caractersticas dos protocolos de comunicao utilizados.

2.1 Controlo de matrizes de LEDs


Com o nmero crescente de LEDs a controlar, os recursos necessrios para operar esses LEDs crescem a um nvel incontrolvel. Como tal, so frequentemente organizados em matrizes [1], a fim de tornar eficiente a utilizao dos recursos. De uma forma matricial, os LEDs so dispostos em linhas e colunas. Normalmente seriam precisas 16 sadas para controlar 16 LEDs, mas usando multiplexagem so necessrias apenas 8, tal como se pode verificar na Fig. 2. Por multiplexagem, o LED pretendido ligado activando a correspondente linha e coluna.

Multiplexado
C1 C2 C3 C4

L1 L2 L3 L4
Fig. 2 - Controlo multiplexado e controlo directo

Directo
D1 D2 D3 D4 D5 D16

Nos visores multiplexados os LEDs so ligados por um curto perodo de tempo e repetidamente para cada LED. Cada coluna da matriz activada sequencialmente durante um perodo de tempo a que se d o nome de perodo de varrimento [3]. Como se verifica na Fig. 3, em cada perodo de varrimento so activadas tambm as linhas correspondentes aos LEDs que se querem ligar [4].

C1

C2

C3

C4

Perodo de varrimento

L1 L2 L3 L4

C1 C2 C3 C4 L1 L2 L3 L4
Fig. 3 Exemplo de controlo multiplexado.

ON OFF

As setas indicam os LEDs que acendem para a sequncia apresentada.

A frequncia a que cada coluna activada chamada frequncia de refrescamento. Se esta frequncia for suficientemente elevada, o olho humano no se apercebe da transio, observando apenas um conjunto de LEDs acesos como se fossem ligados simultaneamente [3]. O controlo multiplexado, apesar de inevitavelmente requerer processamento mais complexo, preferido ao controlo directo nos visores electrnicos com muitos elementos de pixel. O que se deve principalmente ao custo, pois necessrio um reduzido nmero de elementos de controlo, mas tambm s reduzidas interconexes e simplicidade de desenho da placa de circuito impresso.

2.2 Controlo de brilho


Para o controlo de luminosidade dos LED s existem principalmente duas opes: variao analgica e variao atravs da modulao da largura de impulso (PWM). Como a luz produzida por um LED depende da corrente que flui atravs dele, a variao analgica controla o brilho do LED atravs da alterao linear da corrente no LED. Este um esquema simples de variao da luminosidade e no introduz novas frequncias como potenciais fontes de rudo electromagntico. No entanto, em ecrs LED usada a variao por PWM devido ao facto de a alterao da corrente no LED afectar o comprimento de onda da luz emitida, como se pode verificar na Fig. 4 [18] para o exemplo de um LED azul. Detectar uma mudana de poucos nanmetros num LED vermelho, verde ou azul difcil para o olho humano, especialmente quando a intensidade da luz tambm est a variar. Mas uma mudana na temperatura de cor da luz branca, no entanto, facilmente detectada. A variao por PWM garante que os LEDs emitem uma cor precisa, independentemente da intensidade. Esse controlo preciso especialmente importante em aplicaes RGB onde a luz de diferentes cores misturada para produzir branco.

Fig. 4 - Relao entre o comprimento de onda e a corrente directa num LED azul.

Na perspectiva do controlador, a variao analgica apresenta uma grande complexidade na preciso da corrente de sada. Em geral, a variao por PWM permite um controlo mais preciso e linear da intensidade de luz e a nveis muito menores do que a variao analgica. Com PWM as alteraes no brilho do LED so obtidas atravs da variao do ciclo de trabalho ou duty-cycle, ou seja, modulando a fraco de tempo em que a corrente flui por perodo [6]. Em outras palavras, o LED rapidamente ligado e desligado. Se a frequncia desta comutao for maior do que 100Hz, o olho humano no v o LED a ligar e desligar, em vez disso ele percepciona um brilho reduzido que proporcional ao duty-cycle. O LED1 da Fig. 5 apresenta um nvel de brilho de 50% pois ligado por 50% do tempo em cada perodo, e por sua vez apresentar um brilho maior que o LED2 [3].

ON

LED1 LED2
1 Perodo 1 Perodo

OFF

Fig. 5 Variao do brilho de dois LEDs por PWM.

A variao por PWM gera um nmero discreto de nveis de brilho para cada LED. O nmero total de passos discretos disponveis durante todo um perodo determina a resoluo do brilho do LED. Ecrs de alta qualidade requerem de centenas a milhares de passos de brilho para reproduzir com preciso o espectro completo de cores necessrias reproduo de vdeo. Cada pixel num ecr colorido composto por trs LEDs: vermelho, verde e azul. Se cada cor tiver 256 passos de brilho, o conjunto RGB capaz de produzir uma palete de cores com mais de 16 milhes de cores.

No entanto, o sistema de controlo da matriz LED ir activar uma coluna inteira ao mesmo tempo. Para controlar o brilho de cada LED necessrio dividir cada perodo de varrimento em faixas de tempo consoante o nmero de nveis de brilho [3], construindo assim uma hierarquia no domnio do tempo, tal como est exemplificado na Fig. 6.

Imagem 1

Imagem 2

C1

C2

C3

C4

Perodo de varrimento

FT1

FT2

FT3

FT4

Faixa de tempo

Fig. 6 - Hierarquia temporal para um visor 4X4 e 4 nveis de intensidade por pixel.

Na Fig. 7 est exemplificada a tcnica de controlo do brilho de cada LED numa matriz 4x4 e com 4 faixas de tempo por perodo de varrimento, obtendo-se assim, nveis de brilho de 0 a 4.

C1
4 3

C2
0

C3
1

C4
C1 C2 C3 C4 L1 L2 L3 L4

Perodo de varrimento

ON OFF

L1
2 2 1 2

L2
0 1 2 3

L3
3 0 4 4

L4

Fig. 7 Controlo individual de brilho numa matriz de LEDs. Os nmeros junto a cada LED indicam o nvel de brilho.

10

Quando o sistema visual humano se apresenta com uma imagem, essa imagem continua a ser perceptiva mesmo quando j no est no campo visual do observador, embora por um curto perodo de tempo. Esse perodo de tempo aproximadamente 20 ms, por isso actualizando a imagem em perodos inferiores a 20 ms, ou seja, se a frequncia de refrescamento for maior que 50Hz (1/20 ms), o observador no percebe qualquer descontinuidade. Este fenmeno permite a visualizao das imagens sem notar cintilao. Para visores LED recomendada uma frequncia de refrescamento acima de 60 Hz [3].

2.3 Comunicao CAN bus


O barramento CAN (Controller Area Network) um protocolo de comunicao srie sncrono. baseado no conceito multi-mestre, onde todos os ns so habilitados para transmitir mensagens, e as mensagens so enviadas para todos os ns existentes na rede [8]. Um ponto forte deste protocolo o facto de ser suficientemente robusto para evitar a coliso entre mensagens, utilizando uma arbitragem bit a bit no destrutiva. Outro conceito bastante interessante o mtodo de codificao NRZ (Non Return to Zero), onde cada bit transmitido por um valor de tenso especfico e constante. Como se verifica na Fig. 8, a velocidade de transmisso dos dados inversamente proporcional ao comprimento do barramento. A maior taxa de transmisso especificada de 1 Mbps considerando-se um barramento de 40 metros [7].

Fig. 8 - Relao entre o comprimento do barramento CAN e a taxa de transmisso.

As redes CAN usam 2 fios com os sinais de dados CAN_H (CAN High) e CAN_L (CAN Low), e os seus condutores elctricos devem ser tranados e no blindados. Os dados enviados atravs da rede so interpretados pela anlise da diferena de potencial entre os fios CAN_H e CAN_L, o que atenua fortemente os efeitos causados por interferncias electromagnticas. Por isso, o barramento CAN classificado como Par Tranado Diferencial.

11

No CAN, os dados no so representados por bits em nvel 0 ou nvel 1. So representados por bits dominantes e bits recessivos, criados em funo da condio presente nos fios CAN_H e CAN_L [7]. A Fig. 9 ilustra os nveis de tenso numa rede CAN, assim como os bits dominantes e recessivos.

Tenso [V] 5 3.5 2.5 1.5 CAN_H Vdif = 2 V CAN_L

Recessivo

Dominante

Recessivo

Fig. 9 Nveis de tenso numa rede CAN

Em cada mensagem podem ser enviados at 8 bytes de dados, existindo dois formatos de mensagens no protocolo CAN [8]: CAN 2.0A Mensagens com identificador padro de 11 bits. possvel ter at 2048 tipos de mensagens numa rede com este formato, o que pode caracterizar uma limitao em determinadas aplicaes. A Fig. 10 apresenta o formato da mensagem para o CAN 2.0A.

Fig. 10 - Formato de mensagem CAN 2.0A CAN 2.0B Mensagens com identificador estendido de 29 bits. possvel ter, aproximadamente, 537 milhes de tipos de mensagens numa rede com este formato. Percebe-se que a limitao em virtude da quantidade de mensagens j no existe. Por outro lado, o que pode ser observado em alguns casos que, os 18 bits adicionais no identificador aumentam o tempo de transmisso de cada mensagem, o que pode caracterizar um problema em determinadas aplicaes que trabalhem em tempo-real. A Fig. 11 apresenta o formato da mensagem para o CAN 2.0B.

Fig. 11 - Formato de mensagem CAN 2.0B

12

Uma das maiores vantagens do CAN a sua robustez e a capacidade de se adaptar s condies de falha, temporrias e/ou permanentes. Pode-se classificar as falhas de uma rede CAN em trs categorias ou nveis: Nvel de Bit, Nvel de Mensagem e Nvel Fsico. Todas as redes CAN possuem 2 terminadores que no so mais do que resistncias com valores entre 120 e 124 ohms [7], como se observa na Fig. 12. Estas resistncias, uma em cada ponta da rede, garantem a perfeita propagao dos sinais elctricos pelos fios e o correcto funcionamento da rede CAN.

N 1
CAN_H

N 2

N 3

N n RT (120 )

RT (120 )

CAN_L

Fig. 12 - Esquema de ligaes no barramento CAN

2.4 USB
O USB (Universal Serial Bus) foi originalmente desenvolvido em meados dos anos 90 por alguns dos lderes mundiais de empresas tecnolgicas, incluindo a Intel, Microsoft, Philips, IBM, Compaq e Northern Telecom. Um dos principais objectivos deste protocolo de comunicao foi resolver alguns dos maiores obstculos ao crescimento futuro da computao pessoal, ou seja, a dificuldade e os custos associados conexo de dispositivos perifricos a computadores. A especificao USB foi desenvolvida para que os utilizadores possam ligar e aceder a perifricos de forma simples e directa. Tambm se procurou criar um sistema pelo qual o fabricante poderia criar produtos que possam interoperar numa arquitectura aberta. O USB trouxe a conectividade Plug & Play tanto para os consumidores como para as empresas e permitiu a proliferao de dispositivos que fornecem uma ampla gama de funcionalidades, tais como impresso, armazenamento, udio, vdeo e interfaces humanas tais como ratos e teclados [19].

Existem duas verses da norma [20]: USB 1.1 (1995) define duas velocidades: 12 Mbps (velocidade total) e 1,5 Mbps (baixa velocidade) e dois tipos de conectores: Srie A e Srie B (ver Fig. 13 [21]). USB 2.0 (2000) define trs velocidades: 480Mbps (alta velocidade), 12 Mbps e 1,5 Mbps. totalmente compatvel com USB 1.1.

13

Conectores

Fig. 13 - Tipos de conectores USB

Topologia do barramento Os dispositivos USB ou so hubs, que fornecem pontos de conexo USB adicionais, ou so perifricos que fornecem capacidades tais como cmaras digitais, discos, teclados, ratos. O USB usa uma topologia em estrela, com um hub no centro e um controlador anfitrio que inicia todas as transferncias de dados, suportando at 127 dispositivos simultaneamente.

Descrio elctrica As conexes USB so constitudas por quatro condutores: alimentao 5 V, massa e dois fios de sinal. O relgio codificado utilizando NRZI com bit stuffing [21]. O protocolo USB permite que o PC detecte automaticamente a corrente que necessria para o dispositivo, distribuindo a energia para os vrios perifricos.

Protocolo do barramento A maioria das operaes envolve trs pacotes [20]: 1. O controlador anfitrio envia um pacote de sinalizao, que descreve o tipo e a direco da operao, o endereo do dispositivo e o nmero do ponto de destino. 2. A fonte da transferncia envia um pacote de dados ou um pacote sem dados.

3. O destinatrio envia um pacote que indica se a transferncia de dados foi bem sucedida.

O protocolo inclui CRCs separados para os campos de controlo e de dados de cada pacote, dando 100% de cobertura em erros de um ou dois bits. A recuperao de erro pode ser realizada em hardware (repetir trs vezes) ou software (implementao do cliente).

Tipos de transferncias A conexo de dados entre o software anfitrio e um ponto de destino chamada pipe e suporta apenas um dos seguintes tipos de transferncia de cada vez: 1. Transferncias de controlo so utilizadas para configurar um dispositivo e podem ser utilizadas para outros fins especficos de cada dispositivo, incluindo o controlo de outros pipes do dispositivo. necessrio no mnimo um pipe de controlo para cada dispositivo USB.

14

2. Transferncias em massa so usadas por dispositivos que no tm nenhum requisito especial de taxa de transferncia. So a forma comum dos dispositivos transferirem grandes quantidades de dados entre o anfitrio e o dispositivo. Exemplos: impressoras e scanners. 3. Transferncias por interrupo so utilizadas para a entrega atempada e fivel de dados. Transferem pequenas quantidades de dados que necessitam de ateno imediata.

O anfitrio verifica os dispositivos para determinar se eles precisam de transferir dados. o dispositivo que indica o tempo entre verificaes. Exemplos: rato, teclado. 4. Transferncias iscronas ocupam uma largura de banda e uma latncia de entrega prnegociadas. Os dados so contnuos e em tempo real na criao, entrega e consumo. Estas transferncias no so sujeitas a verificao de erro, de modo que as aplicaes de tempo real que as esto a usar, tais como streaming de udio, devem tolerar corrupo de dados ocasional.

Controladores de classe Controladores USB de classe so componentes de software que obtm e ligam os dados entre os dispositivos fsicos, tais como impressoras ou discos, e o sistema anfitrio [19]. Cada perifrico USB requer um controlador da sua prpria classe. Estes controladores de baixo nvel so normalmente fornecidos com o perifrico. O PC pode reconhecer quando um perifrico ligado ou desligado durante o funcionamento normal, e capaz de carregar ou descarregar o controlador correspondente ao mesmo tempo. O Windows inclui controladores para as interfaces USB com o nome genrico dispositivos de interface humana (HID). Isto permite que um produto genrico, como um rato, possa ser conectado sem ter que instalar um controlador especial. Quando o perifrico conectado, um sinal de verificao do hub faz com que o Windows envie um sinal pedindo a identificao. O perifrico responde com o seu prprio PID e VID (ID do Produto e Vendedor). O Windows ento pesquisa o controlador atribudo a esse perifrico em particular. Se no encontrar solicita ao utilizador para instalar um.

2.5 Concluses
Aps a anlise das tcnicas usadas no controlo de painis LED foi escolhido o controlo multiplexado adicionado ao PWM, pois permite um elevado nmero de nveis de brilho para cada LED e com reduzido hardware. As caractersticas do barramento CAN adequam-se s necessidades do sistema, nomeadamente a grande robustez e insensibilidade ao rudo, o reduzido numero ligaes, e o relativamente longo comprimento mximo do barramento. Foram tambm apresentadas as caractersticas do protocolo USB, necessrias para a melhor compreenso da forma como foi implementada a comunicao USB descrita mais frente.
15

16

Captulo 3 - Hardware
Este trabalho engloba uma grande componente de hardware. Todos esses blocos de hardware necessrios realizao do sistema esto descritos neste captulo, bem como os mtodos de implementao fsica das tcnicas de controlo analisadas no captulo anterior.

3.1 Mdulo LED 16x16


O mdulo LED 16x16 a parte fundamental do visor. Cada um destes mdulos composto por uma matriz de 256 LEDs vermelhos, 256 LEDs verdes e 256 LEDs azuis . Para a formao de um pixel foram preferidos 3 LEDs individuais de cada u ma das cores em relao a um nico LED RGB. Como se verifica na Tabela 3, apesar de ambos terem a mesma corrente mxima, a intensidade luminosa dos LEDs individuais superior, e a tenso directa inferior permitindo tenses de alimentao mais baixas. Alm disso, os LEDs individuais ocupam uma rea maior, o que uniformiza a luz no mdulo visto que existem menos espaos vazios. Tabela 3 - Caractersticas dos LEDs individuais e dos LEDs RGB LEDs individuais Vermelho
(520MR2C)

LED RGB Azul


(540R2GBC-CA)

Verde
(530PG2C)

(520LB7C)

Vermelho 30 80 2100 2,6

Verde 30 130 5800 4

Azul 30 120 1500 4

Corrente mxima [mA] Dissipao de potncia [mW] Intensidade luminosa a 20 mA [mcd] Tenso directa a 20 mA [V]

30 75 4180 2,4

30 105 8200 3,4

30 105 4180 3,4

Os LEDs que constituem um pixel so organizados de forma triangular e invertidos em relao ao pixel ao seu lado, como apresentado na Fig. 14. Esta configurao faz com que o mdulo apresente uma cor uniforme ao longo de toda a matriz.

Fig. 14 - Organizao dos LED's nos mdulos.


17

O espaamento entre cada pixel de 16,4 mm, o que corresponde a mdulos de 26,2 cm de altura e largura, j incluindo a distncia entre o bordo do mdulo e o pixel mais prximo. O visor ser constitudo no mximo por 16 mdulos, alcanando uma altura e largura de 1,05m e uma resoluo de 64x64 de acordo com a norma EN 12966 [9], possibilitando assim a integrao em sinalizao rodoviria. Uma das principais caractersticas dos LEDs o seu potencial tempo de vida muito longo. Sob condies normais de operao (25 C e 20 mA de corrente), os LEDs tm uma expectativa de vida, em mdia, de cerca de 100.000 horas. Se funcionarem durante 12 horas por dia, o tempo de vida corresponde a mais de 22 anos. Todas as fontes de luz elctrica experimentam uma diminuio na quantidade de luz que emitem ao longo do tempo, um processo conhecido como depreciao de lmen. O sintoma mais comum das falhas nos LEDs a diminuio gradual da produo de luz e de perda de eficincia. Falhas sbitas, embora raras, podem tambm ocorrer. A Alliance for Solid State Illumination Systems and Technologies (ASSIST), um grupo liderado pelo Lighting Research Center (LRC), recomenda a definio de vida til de um LED como o ponto em que o fluxo luminoso diminui para 50% dos lmenes iniciais (abreviado como L50), para LEDs usados neste tipo de aplicaes [25]. Um factor que tem um impacto directo sobre a expectativa de vida do LED a corrente de funcionamento. Se um LED for operado a corrente reduzida a sua vida estendida ainda mais, por outro lado, operar um LED a corrente superior nominal aumenta a produo de luz relativa, mas diminui a sua vida til. Se forem usados num ambiente quente, ou numa rea fechada, o calor tambm ir diminuir o seu tempo de vida til Como se verifica na Fig. 15 a relao entre a luz emitida pelo LED e o tempo de operao no linear.

Fig. 15 - Luminosidade em relao ao tempo de operao e temperatura

Fonte: Lighting Research Center.


18

Na Fig. 16 est representado o esquema da matriz LED. Cada um dos blocos LED_L_C representados, em que L corresponde linha e C coluna, so compostos por um conjunto de 3 LEDs, um de cada cor, ligados em nodo comum.

Fig. 16 - Esquema da matriz LED

Como cada uma das colunas poder ter que suportar correntes superiores a 1 A, foi adicionado o bloco DRIVE_COL para que a seleco das colunas possa ser feita por um controlador com uma corrente mais baixa. Esse bloco constitudo por transstores PMOS TSM2301 cuja corrente de dreno mxima 2,3 A (ver Fig. 17).

Fig. 17 - Esquema do bloco de potncia para seleco das colunas

19

3.1.1 Placa de controlo do mdulo


Ao mdulo constitudo pela matriz LED ser ainda acoplada uma placa que tem como funo o controlo das linhas e colunas da matriz, bem como o controlo de luminosidade de cada LED. Esta placa efectua tambm, a comunicao atravs de CAN bus com um controlador central de onde recebe os dados a apresentar no mdulo. A Tabela 4 apresenta as vantagens e desvantagens de vrios controladores de LEDs para que se possa seleccionar um. Como necessrio o controlo de brilho de cada um dos LEDs individualmente, pode-se excluir o M5450 e o STP16CL596.

Tabela 4 - Vantagens e desvantagens de vrios controladores de LEDs Vantagens MAX6960 Comunicao srie de alta velocidade de 4 fios Deteco de falhas nos LEDs 12 bits de controlo de brilho 24 sadas controladas por PWM Desvantagens Preo elevado Tenso de alimentao mxima de 3,6 V Apenas 2 bits de controlo de brilho Corrente de sada mxima de 30 mA Tenso de alimentao mxima de 3,6 V Encapsulamento TQFN 6x6 mm

MAX6974

34 sadas Possibilidade de controlo multiplexado 12 bits de controlo de brilho TLC5940 Deteco de falhas nos LEDs Deteco de falhas nos LEDs TLC5944 Deteco de temperatura excessiva Corrente de sada mxima de 70 mA Possibilidade de ligao em cascata STP16CL596 Comunicao srie de alta velocidade M5450

No permite controlar individualmente o brilho dos LEDs Corrente de sada mxima de 40 mA Necessita de 22 V para modificao dos dados de correco de pixel Apenas 16 sadas controladas por PWM No permite controlar individualmente o brilho dos LEDs Tenso de alimentao de 3,3 V

O MAX6960 tem apenas 2 bits para controlo de brilho, o que reduzido para a aplicao que se pretende. Alm disso, como o mdulo alimentado a 5 V teria que se adicionar um regulador de tenso para obter uma tenso de alimentao abaixo de 3,6 V, logo tambm se pode excluir. O MAX6974 exclui-se pelo mesmo motivo e por o seu encapsulamento ser de difcil soldadura. Tal como foi referido anteriormente, o mdulo alimentado a 5 V por isso no est disponvel directamente a tenso de 22 V necessria para o TLC5940. Para o controlo de brilho dos LEDs ento usado o controlador inteligente TLC5944 [10]. um controlador de corrente constante com 16 canais e uma corrente mxima de 70 mA cada um. Cada canal regulvel individualmente com 4096 passos PWM e 64 nveis de corrente constante (correco de pixel), permitindo ajustar as variaes de luminosidade entre LEDs. Ambos

20

os controlos de brilho e de correco de pixel so acessveis atravs de uma interface srie comum e a uma frequncia mxima de 30 MHz. Porque o processo de transferncia de dados no deve ser visvel no ecr, o controlador contm dois nveis. Um deles o registo de deslocamento, que responsvel pela recepo dos dados em srie da entrada. A linha DCSEL permite seleccionar se os dados entrada so de intensidades de brilho ou de correco de pixel. Possu tambm, uma sada de dados para ligao em cascata dois ou mais TLC5944 como se observa na Fig. 18. O prximo nvel um registo de dados, responsvel por guardar os dados anteriores. O bloco de sada usa os dados deste ltimo nvel para o controlo do brilho dos LEDs. A estrutura do bloco de sada divide-se em trs categorias: comutao da sada, fonte de corrente constante e controlo PWM. A comutao da sada a mais simples, constituda por um interruptor que liga a sada massa. A fonte de corrente constante combinada com PWM individual para cada um dos canais.

Fig. 18 - Esquema de ligao em cascata dos TLC5944

O TLC5944 tem uma pr-carga FET (Field-Effect Transstor) interna para evitar o fenmeno de iluminao fantasma que ocorre em sistemas de multiplexagem LED. Este controlador tem tambm trs circuitos de deteco de erro, a deteco de LED desconectado, aviso de erro trmico, e pr-aviso trmico. A deteco de LED desconectado detecta LEDs partidos ou desconectados, e curto-circuitos de LEDs para a massa durante o perodo de exibio. O aviso de erro trmico indica uma temperatura demasiado alta, desligando todas as sadas, e o pr-aviso trmico indica que o controlador est a operar a uma temperatura elevada, mas as sadas no so desligadas.

A corrente mxima de cada um dos 16 canais pode ser definida por uma nica resistncia externa conectada entre IREF e a massa. A Tabela 5 apresenta os valores de resistncia externa para alguns valores de corrente mxima.

21

Os LEDs usados suportam uma corrente mxima de 30 mA, mas foi fixado uma corrente mxima de 25 mA por ser um valor seguro, alm disso correntes elevadas reduzem o ciclo de vida do LED. A partir deste valor de corrente foi seleccionada uma resistncia RIREF=1.9 k. Tabela 5 - Corrente mxima de sada em funo da resistncia externa Iomax [mA] 60 55 50 45 40 35 30 RIREF [] 810 884 972 1080 1215 1389 1620 Iomax [mA] 25 20 15 10 5 2 RIREF [] 1944 2430 3240 4860 9720 24300

Como cada TLC5944 pode controlar 16 LEDs em simultneo, so utilizados trs controladores ligados em cascata, um para cada cor, permitindo assim controlar uma coluna inteira da matriz LED de cada vez.

A seleco das colunas da matriz no exige um controlador muito especfico, basta usar um expansor de portos para seleccionar a coluna pretendida atravs de uma comunicao srie. Como a matriz constituda por 16 colunas, observando a Tabela 6 verifica-se que necessrio 2 expansores de portos MAX7301 ou MCP23S09, visto que estes possuem apenas 8 portos.

Tabela 6 - Vantagens e desvantagens de vrios expansores de portos Vantagens MCP23S09 MM5486 MAX7301 MAX7315 Frequncia mxima de 10 MHz 33 portos de sada 20 portos de entrada/sada Comunicao SPI de 26 MHz Comunicao I C
2

Desvantagens Apenas 8 portos de entrada/sada Frequncia mxima de 500 kHz Corrente de sada mxima de 10 mA Apenas 8 portos de entrada/sada Frequncia mxima de 400 kHz

Pretende-se que o tempo de transio das colunas seja o mais baixo possvel para que no haja descontinuidades, por isso, prefervel o MAX7301 em relao ao MM5486, pois permite uma frequncia de relgio maior. O MAX7301 tambm vantajoso em relao aos outros expansores de portos da Tabela 6 devido ao facto de ser necessrio apenas um para controlar as 16 colunas, restando ainda alguns portos para possveis aplicaes futuras. Apesar de ter uma corrente mxima de sada de 10 mA, esta mais do suficiente para controlar os transstores MOS da matriz LED [11].

22

Cada mdulo ter a capacidade de ser autnomo e independente dos restantes, permitindo o seu funcionamento mesmo em caso de avaria de qualquer bloco do sistema. Esta caracterstica permite que o visor continue a exibir as imagens mesmo que um dos mdulos tenha uma avaria ou que a comunicao com o controlador central seja interrompida. Para que isso seja possvel utilizado um microcontrolador em cada mdulo para o processamento dos dados. A partir da Tabela 7 seleccionou-se o microcontrolador dsPIC30F6012A. A escolha deste microcontrolador deve-se principalmente ao facto de ser alimentado a 5 V, no sendo necessrio gerar outras tenses, de possuir mdulos integrados para comunicao CAN, de possuir 2 mdulos SPI para a comunicao com o TLC5944 e com o MAX7301, e uma grande capacidade de memria que permite o armazenamento de vrias imagens [12].

Tabela 7 - Vantagens e desvantagens de microcontroladores para os mdulos Vantagens dsPIC33FJ64MC506 Mdulo CAN integrado 2 mdulos SPI 8 kbytes de memria RAM Mdulo CAN integrado Tenso de alimentao de 5 V 16 kbytes de memria RAM 2 mdulos SPI Acesso directo memria (DMA) Tenso de alimentao de 5 V Mdulos CAN integrados 2 mdulos SPI 8 kbytes de memria RAM Desvantagens Tenso de alimentao de 3,3 V 3,25 kbytes de memria RAM Apenas 1 mdulo SPI No tem mdulos CAN Tenso de alimentao de 3,3 V No tem acesso directo memria (DMA)

PIC18F4685

dsPIC33FJ64GP306

dsPIC30F6012A

Para a rpida integrao do microcontrolador nos mdulos, foi utilizada a placa CAN_PIC FST apresentada na Fig. 19, e desenvolvida no mbito do projecto Frmula Student pelo aluno Vtor Almeida. Esta placa inclui o microcontrolador dsPIC30F6012 e o respectivo circuito oscilador, os transceptores necessrios para as comunicaes CAN, vrios conectores para o acesso aos portos do microcontrolador, e um regulador de tenso que pode ser usado opcionalmente para obter os 5 V da alimentao.

23

Fig. 19 - Placa CAN_PIC FST 1) Conector para comunicao CAN utilizado para a conexo ao barramento CAN. 2) Conectores para os controladores LED fazem a ligao placa dos controladores dos LEDs. 3) Microcontrolador dsPIC30F6012A efectua o processamento dos dados. 4) Transceptores CAN necessrios para adaptar os nveis de tenso do microcontrolador com os nveis de tenso do barramento CAN. 5) Regulador de tenso regula a tenso de alimentao para 5 V.

A placa dos controladores LED da Fig. 20 recebe os dados do microcontrolador relativos s intensidades e coluna actualmente activa, e actua nos LEDs gerando o sinal de PWM correspondente intensidade de cada LED. Permite tambm a configurao do identificador do mdulo atravs dos DIP-switches. Esta placa encaixa directamente na parte posterior da placa da matriz LED permitindo a fcil integrao na matriz.

Fig. 20 - Placa dos controladores LED 1) Conectores para a matriz LED fazem a conexo com os LEDs da matriz.

24

2) Conector para a placa CAN_PIC FST utilizado para efectuar as comunicaes com o microcontrolador. 3) Selectores do identificador permitem seleccionar o identificador de cada mdulo. O identificador configurado a partir da posio do mdulo no visor: Selector 1 linha do visor (bit menos significativo); Selector 2 linha do visor (bit mais significativo); Selector 3 coluna do visor (bit menos significativo); Selector 4 coluna do visor (bit mais significativo). 4) Conector da alimentao usado para a alimentao de 5 V.

3.2 Controlador central


Os dados enviados por um computador para serem mostrados em todo o visor, so recebidos por este bloco do sistema atravs de comunicao sem fios ou USB. Aps repartio dos dados, estes so enviados por CAN para os mdulos correspondentes. Como o controlador central que tem conhecimento de todos os mdulos ligados ao barramento, optou-se por incorporar neste o sensor RGB de luz que faz a correco de cor de todo o visor.

Apesar da Microchip no possuir microcontroladores com comunicao USB e CAN simultaneamente, as escolhas basearam-se em microcontroladores deste fabricante devido ao facto de j existirem as ferramentas de programao e de desenvolvimento, usadas tambm para o microcontrolador do mdulo dos LEDs. Para se obter as interfaces de comunicao pretendidas, foi usado o conversor de CAN para SPI MCP2515 e seleccionou-se a partir da Tabela 8 um microcontrolador com comunicao USB integrada.

Tabela 8 - Vantagens e desvantagens de vrios microcontroladores USB Vantagens PIC18F4450 PIC18F46J50 Tenso de alimentao de 5 V 3,7 kbytes de memria RAM Mdulo SPI Tenso de alimentao de 5 V Mdulo SPI 35 pinos de entrada/sada Tenso de alimentao de 5 V Mdulo SPI Desvantagens No tem mdulo SPI Apenas 768 bytes de memria RAM Tenso de alimentao de 3,3 V 2 kbytes de memria RAM 24 pinos de entrada/sada 2 kbytes de memria RAM

PIC18F4550

PIC18F2550

25

Como necessrio um mdulo de comunicao SPI para o MCP2515 e o controlador central alimentado a 5V, exclui-se o PIC18F4450 e o PIC18F46J50. Entre os dois microcontroladores restantes seleccionou-se o PIC18F4550 por existir em stock e tambm por ter um maior nmero de pinos de entrada/sada, o que permite adicionar mais interfaces de comunicao com o PC.

O prottipo do controlador central est apresentado na Fig. 21 e foi desenvolvido com apenas 6,5 cm de largura e 4,3 cm de altura, podendo ser incorporado junto aos mdulos.

Fig. 21 - Controlador central

Os campos numerados significam: 1) Conector para comunicao CAN utilizado para a conexo ao barramento CAN. Optou-se por escolher um conector do tipo IDC para a fcil conexo de um cabo plano que interliga todos os mdulos. Alm dos sinais necessrios para a comunicao CAN tambm disponibilizada a tenso de alimentao de 5 V e vrios sinais de massa que actuam como blindagem reduzindo as interferncias. 2) Conector de alimentao externa permite a alimentao do controlador central atravs de uma fonte externa de 5 V. 3) Conector USB usado para a ligao ao computador. 4) Seleco da origem da alimentao jumper para seleco entre a alimentao externa e a alimentao USB. Jumper colocado: alimentao atravs do USB; Jumper retirado: alimentao externa. 5) Conector de expanso permite a adio de diferentes mdulos de comunicao com o computador. tambm neste conector que feita a interligao do sensor de luz.

26

6) Indicadores de estado indicadores luminosos que informam sobre o estado do sistema, nomeadamente as comunicaes e a alimentao. 7) Conector de programao usado para a programao do microcontrolador.

O sensor RGB de luz ligado ao controlador central atravs do conector de expanso, e pode ser instalado prximo deste ou junto aos mdulos de modo a determinar a intensidade da luz ambiente que incide neles. Observando a Tabela 9, exclui-se o sensor MCS3AS pois constitudo apenas pelos fotododos, sendo necessrio adicionar todo o condicionamento de sinal para posterior aquisio pelo microcontrolador. Entre os restantes sensores foi seleccionado o TCS230 [23] devido ao ADJD-S311-CR999 alm de ter uma tenso de alimentao de apenas 3,6 V, possui um encapsulamento de pequenas dimenses e de difcil soldadura.

Tabela 9 - Vantagens e desvantagens de vrios sensores RGB de luz Vantagens ADJD-S311-CR999 Comunicao srie de 2 fios Tenso de alimentao de 5 V Converso de intensidade de luz para frequncia Encapsulamento SOP8 Desvantagens Tenso de alimentao mxima de 3,6 V Encapsulamento CSP 2,2x2,2 mm Gama da frequncia de sada ampla (10 Hz 600 kHz) Sem condicionamento de sinal

TCS230 MCS3AS

Na Fig. 22 est representado o sensor de luz aps a montagem na PCB e ligao ao respectivo cabo.

Fig. 22 - Sensor de luz TCS230

Apesar do controlador central apenas incluir a comunicao com o computador atravs de USB, possvel adicionar outros mdulos de comunicao usando o conector de expanso. Este

27

conector est preparado para a conexo padro RS-232, permitindo ligar um mdulo sem fios GPRS que utiliza a rede de telecomunicaes mveis, possibilitando a comunicao a grandes distncias. Existem no mercado vrios mdulos GPRS com conexo RS-232 como por exemplo o mdulo G24 da Motorola, apresentado na Fig. 23.

Fig. 23 Mdulo GSM GPRS G24 da Motorola

3.3 Concluses
Nesta seco foram apresentados os blocos de hardware que compem o sistema. Tambm foi referida a disposio dos LEDs nos mdulos e as dimenses para cada mdulo, para o visor completo, e para o controlador central. Para cada dispositivo de hardware foi apresentada uma lista de possveis componentes para desempenhar a funcionalidade desejada, tendo sido expostas todas as escolhas adoptadas.

28

Captulo 4 - Software
Neste captulo descrito o modo como foram implementados nos microcontroladores os algoritmos que fazem o processamento dos dados , o controlo dos LEDs, e permitem as comunicaes entre os vrios blocos do sistema. Todos os microcontroladores foram programados em C e o compilador usado foi o CCS C V4.088. A escolha deste compilador deve-se ao facto de incluir todas as bibliotecas necessrias para as vrias comunicaes, de possuir exemplos de implementao, e de permitir o rpido e fcil controlo dos perifricos. O funcionamento do programa desenvolvido em C#, e que permite o controlo do visor a partir de um computador, tambm explicado, bem como as suas principais funes desenvolvidas.

4.1 Programa do controlador do mdulo LED


Como se verifica na Fig. 24, o programa desenvolvido para executar no dsPIC30F6012A comea por fazer as inicializaes necessrias, tais como: Leitura do identificador do mdulo; Configurao dos mdulos SPI para o TLC5944 e para o MAX7301; Inicializao do mdulo PWM para gerar o sinal de relgio GSCLK; Configurao do timer3 para ser incrementado a cada ciclo do GSCLK e gerar interrupo a cada 4096 ciclos; Inicializao do mdulo CAN e dos controladores dos LEDs; Carregar as imagens salvas na EEPROM para a RAM;
Sim Actualiza prxima coluna Prox_Col=0 No Prox_Col==1? Dados recebidos por CAN? No Sim Executa comando Inicializaes Inicio

Cada mdulo possui um identificador que alm de permitir a distino das mensagens que correspondem a cada um, permite tambm que sejam localizados quanto linha e coluna em que se

Fig. 24 - Fluxograma do programa do controlador dos mdulos

situam no visor. Este identificador seleccionado atravs de DIP-switches aquando da instalao do mdulo, e o seu valor lido na fase das inicializaes.

29

O sinal de relgio GSCLK usado pelo TLC5944 para fazer a contagem do nmero de faixas de tempo que uma sada deve ser ligada, para se obter deste modo, a largura de impulso pretendida. Como este sinal tem uma frequncia alta, a melhor opo para o gerar atravs do mdulo PWM integrado. Desta forma consegue-se obter a frequncia pretendida, sem atrasos, e alm disso a execuo do programa no interrompida. Na inicializao do mdulo CAN, este configurado para a velocidade de transmisso mxima (1 Mbps), utilizao de identificadores estendidos (29 bits), e os filtros definidos para a recepo apenas de mensagens destinadas ao identificador de cada mdulo ou de mensagens globais destinadas a todos os mdulos. No barramento CAN o tempo nominal de bit dividido em segmentos de tempo separados e no sobrepostos, e estes so compostos por unidades de tempo inteiras chamadas time quanta ou TQ. A taxa de transmisso definida atravs da seleco do time quanta de cada segmento, e para a determinao desses valores foi utilizada a aplicao Microchip CAN Bit Timing Calculator disponibilizada pela Intrepid Control Systems, Inc. Nesta fase, tambm so carregadas para as respectivas variveis na RAM as imagens que foram guardadas na EEPROM, devido a esta ser uma memria no voltil.

Aps as inicializaes, o programa entra no ciclo principal onde comea por verificar se existem dados recebidos por CAN. Caso existam executado o comando correspondente aos bits do identificador da mensagem recebida. Podem ser recebidos 5 comandos diferentes: Carregar imagem; Alterar brilho; Guardar na EEPROM; Guardar trama de imagem; Obter identificador;

De seguida verificado se j possvel avanar para a prxima coluna da matriz, e caso seja, so actualizados os dados dos LEDs referentes a essa coluna. Este ciclo principal repete-se infinitamente.

Cada mdulo tem capacidade para guardar 10 imagens, o que permite mudar de imagem ou realizar uma animao sem ser necessrio reenviar cada uma das imagens. O comando carregar imagem permite assim alterar a imagem actual por uma das 10 imagens guardadas. Essas imagens esto em variveis na memria RAM, por isso, caso ocorra uma falha de energia perder-se-o. Para que isso no acontea usado o comando guardar na EEPROM que salva as imagens em memria no voltil. Este comando s executado quando o utilizador o pretende pois a escrita nesta memria muito lenta, tipicamente 2 ms por palavra [12], o que pode demorar 4 segundos para guardar todas as imagens. Como o processo interrompe a execuo do programa, o mdulo no poder responder durante esse perodo de tempo.

30

A aplicao principal deste trabalho a integrao em sinalizao rodoviria e no a exibio de vdeo, por isso desnecessria uma grande resoluo de cor, reduzindo assim o tempo de envio das imagens. Como o protocolo CAN permite o envio de apenas 8 bytes de dados de cada vez, optou-se por usar 4 bits por cada cor, obtendo-se um total de 4096 cores. Deste modo possvel enviar simultaneamente os dados referentes a uma linha completa de uma das cores de uma imagem, o que realizado atravs do comando guardar trama de imagem. Apesar da EEPROM s possuir 4 kB de memria, a utilizao de 4 bits por cor torna tambm possvel guardar todas as 10 imagens, pois estas ocupam 10384 bytes = 3840 bytes. necessrio que o controlador central saiba quais so os endereos dos mdulos ligados ao barramento CAN, evitando o envio de dados a mdulos no existentes. Para que isso seja possvel usado o comando obter identificador em que o mdulo responde com o seu identificador. O comando alterar brilho usado para alterar o brilho de cada uma das cores RGB, o que permite reduzir ou aumentar a luminosidade de todo o visor, bem como corrigir desvios na cor.

O controlador TLC5944 tem capacidade para 12 bits de controlo de luminosidade por PWM, o que corresponde a 4096 faixas de tempo. Deste modo, assim que ocorrem 4096 ciclos do GSCLK gerada uma interrupo (ver Fig. 25).

Interrupo (Timer3=4096)

Envia impulso de BLANK

Na funo de interrupo enviado um impulso para o pino de BLANK do controlador. Este impulso reinicia o seu contador interno para uma nova contagem. De seguida dada a informao para que o MAX7301 desligue a coluna actual e ligue a prxima. Incrementa-se o nmero da coluna e indica-se que j se podem actualizar os dados da prxima coluna. Caso os dados correspondentes coluna actual estejam prontos, envia-se ento um impulso para o pino XLAT. Deste modo os dados so carregados do registo de deslocamento interno dos TLC5944 para o registo de dados, actualizando assim as intensidades dos LEDs. Por fim o timer3 reiniciado para uma nova contagem de 4096 ciclos e sai-se da funo.

Muda a coluna

Incrementa coluna Prox_Col=1

Dados prontos? No

Sim

Carregar dados

Reinicia timer3

Fim

Fig. 25 - Fluxograma da rotina de Tal como descrito anteriormente, utilizou-se 4 bits interrupo do timer3

31

de resoluo por cada cor, mas o controlador permite at 12 bits de resoluo. Por isso, foi necessrio criar uma tabela de converso em que cada um dos 16 valores corresponde a um valor entre 0 e 4095. Para realizar esta tabela de converso seguiu-se uma relao linear, Tabela 10, incrementando 273 em cada passo.

Tabela 10 - Converso linear de valores de 4 bits para 12 bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

0 273 546 819 1092 1365 1638 1911 2184 2457 2730 3003 3276 3549 3822 4095

Contudo os resultados obtidos a partir desta converso no apresentam grande qualidade, pois a faixa de valores em que observa um brilho alto maior que a de baixo brilho. Este facto explicado atravs da no linearidade entre a luminncia e o brilho. Embora muitas vezes sejam utilizados alternadamente, luminncia e brilho [22] no so sinnimos. Luminncia refere-se luz emitida, a luz projectada por unidade de rea e medida em cd/m (candela por metro quadrado). Brilho refere-se percepo da luminncia atribudo pelo olho humano.

Para corrigir a relao no linear entre luminncia e brilho usada a correco gamma, e dada pela equao (1) [22].

luminnciacorrigida = luminncia

(1)

Para ecrs de tubo de raios catdicos geralmente usado um de 2,2 [3]. Neste caso dado pela equao (2).

4095 = 15

= log15 4095 = 3,07

(2)

A tabela de converso obtida a partir da correco gamma est representada na Tabela 11 e a sua representao grfica na Fig. 26.

Tabela 11 - Converso de valores de 4 bits para 12 bits com correco gamma 0 0 1 1 2 8 3 29 4 70 5 140 6 245 7 394 8 593 9 852 10 1178 11 1579 12 2063 13 2638 14 3313 15 4095

A utilizao da tabela de converso permite uma execuo do cdigo mais rpida, pois evita que seja o microcontrolador a executar todos os clculos em tempo real.

32

Fig. 26 - Relao entre os valores de luminncia com correco gamma

A Fig. 27 representa a hierarquia temporal do mdulo LED e permite retirar (3), (4) e (5).

Imagem 1

Imagem 2

Perodo de

Col1 Col2 Col3 Col4

...

Col15 Col16 varrimento

FT1

FT2

FT3

FT4

...

FT FT Faixa de 4095 4096 tempo

Fig. 27 - Hierarquia temporal do mdulo LED

t Col =

t Img 16

(3)

t FT =

t Img t Col = 4096 65536 FFT 65536

(4)

FImg =

(5)

Tal como referido no captulo anterior, pretende-se que a frequncia de refrescamento seja superior a 60 Hz para que o observador no note cintilao no visor. A partir de (5) determina-se que para que isso seja possvel necessrio que FFT seja maior que 3,9 MHz, logo escolhe-se 5 MHz pois a frequncia que o mdulo PWM do microcontrolador permite. Deste modo obtm-se uma frequncia FImg = Frefrescamento 76 Hz.

33

4.2 Programa do controlador central


O fluxograma do programa desenvolvido para executar no PIC18F4550 do controlador central est representado na Fig. 28. Inicialmente so realizadas as vrias
Inicializaes Incio

inicializaes necessrias, entre as quais: Configurao dos timers e suas interrupes; Configurao do mdulo SPI; Inicializao do mdulo USB; Configurao do mdulo CAN do MCP2515; Obteno dos identificadores de todos os mdulos activos no barramento CAN;
t0_ovr==1 e animaes activas? No Sim Executa animao Dados recebidos do PC? No Sim Executa comando

Pretende-se transmitir do computador para o controlador central uma grande quantidade de dados que constituem as imagens. Por isso, configurou-se o mdulo USB para transferncia em massa e para a velocidade mxima permitida, ou seja, velocidade total. Com este tipo de transferncia garante-se tambm que os dados so recebidos sem erros.

No sensor activo e corrige_cor==1 Sim Executa correco de cor

Na inicializao do mdulo CAN, este configurado para a velocidade de transmisso mxima (1 Mbps), utilizao de identificadores estendidos (29

Fig. 28 - Fluxograma do programa do controlador central

bits), e os filtros definidos para a recepo de todas as mensagens vlidas.

Para que o controlador central possa enviar os dados a todos os mdulos ligados ao barramento CAN, necessita de saber os seus identificadores, e por isso, feita nesta fase uma aquisio desses identificadores. O mtodo usado para essa aquisio descrito mais frente. Deste modo possvel tambm enviar para o computador o nmero de mdulos e a sua posio no visor.

De seguida o programa entra no ciclo principal onde comea por verificar se existem dados recebidos do computador. Caso existam executado o comando correspondente mensagem recebida. Podem ser recebidos 7 comandos diferentes: Guardar trama de imagem;
34

Carregar imagem/animao; Obter identificador; Guardar na EEPROM; Alterar brilho; Activar/desactivar sensor de luz; Comando de teste;

O prximo passo do programa verificar se as animaes esto activas e simultaneamente se ocorreu interrupo do timer0. Se a condio for verdadeira executada a funo que processa as animaes. Por fim, se o sensor de luz estiver activo e simultaneamente se foi alcanado o instante de tempo em que deve ser efectuada uma nova correco de cor, executada a funo correspondente. Este ciclo principal repete-se infinitamente.

4.2.1 Descrio dos comandos recebidos


Guardar trama de imagem A mensagem correspondente ao comando guardar trama de imagem constituda por 3 bytes com parmetros da mensagem e por 32 bytes de dados de imagem, correspondentes a 4 linhas de uma cor do mdulo. O protocolo USB permite enviar no mximo 64 bytes por cada transmisso, sendo possvel enviar 7 linhas de um mdulo e os 3 bytes de parmetros, mas optou-se por enviar apenas 4 linhas de modo a corresponder um nmero inteiro de mensagens para completar as 16 linhas de um mdulo. Quando recebido o comando guardar trama de imagem so guardados os dados na posio correspondente da tabela de imagem, e caso correspondam s ltimas 4 linhas de imagem, dada a indicao de cor completa. Como o controlador central no tem uma grande capacidade de memria, aps essa indicao enviam-se os dados de cor para o mdulo respectivo. A funo responsvel pelo envio dos dados para os mdulos envia cada uma das 16 linhas da imagem por CAN para o respectivo mdulo, obtendo confirmao de recepo por cada linha enviada. Como a velocidade de transmisso de 1 Mbps o tempo mnimo para o envio dos dados e recepo da confirmao de 220 s j incluindo os bits do identificador e outros bits adicionais. Por isso, com recurso ao timer1 se no for recebida a confirmao da recepo aps 10 ms, so reenviados os dados, e se mesmo assim no for recebida confirmao em 10 ms retornada uma indicao de erro de transmisso. Essa indicao tambm enviada para o computador informando o utilizador.

35

Carregar imagem/animao

As animaes permitem alternar automaticamente a imagem exibida no visor com as restantes imagens guardadas nos mdulos, criando imagens animadas. O intervalo de tempo entre cada transio de imagem definido pelo utilizador. A mensagem que constitui o comando carregar imagem/animao, composta por 1 byte onde referido o tipo de comando da mensagem, por 1 byte que indica o nmero de imagens da animao, e por 10 bytes em que cada um tem reservado 4 bits para a indicao do ndice da imagem e os restantes 4 bits para a indicao do tempo at transio para a prxima imagem. Definidos 4 bits para a seleco do intervalo de tempo, resta definir qual a durao de cada um dos 16 valores possveis. Para o valor mnimo seleccionou-se 50 ms permitindo assim visualizar imagens GIF rpidas, e para o valor mximo escolheu-se 10 minutos por exemplo para alternar entre imagens publicitrias. Os valores de tempo intermdios foram escolhidos segundo uma distribuio aproximadamente logaritmica para que os intervalos de tempo entre os valores baixos sejam pequenos e os intervalos de tempo entre os valores altos sejam maiores. Como os timers no permitem contabilizar uma durao to grande, a soluo foi configurar o timer0 para gerar uma interrupo a cada 50 ms e nessa rotina de interrupo reinicializado o timer0 e coloca-se a varivel t0_ovr igual a 1. Deste modo o ciclo principal do programa vai executar o bloco denominado Executa animao da Fig. 28. Neste bloco, que corresponde funo que processa as animaes, comparada uma varivel correspondente ao nmero de interrupes do timer0 com o valor necessrio para atingir a durao desejada. Se o nmero de interrupes necessrias tiver sido alcanado, a varivel reinicializada, avana-se para a prxima imagem, e envia-se a informao aos mdulos para trocarem de imagem. Caso contrrio, incrementa-se apenas a varivel. O facto de ser o controlador central a dar a indicao para mudar de imagem permite que os mdulos estejam sincronizados e mudem todos de imagem ao mesmo tempo. Os valores de comparao correspondentes ao nmero de interrupes do timer0 so relacionados com cada um dos 16 valores de tempo possveis, atravs da Tabela 12. Quando recebido o comando carregar imagem/animao verifica-se o nmero de imagens da animao. Se for apenas uma imagem, desactivam-se as animaes e envia-se a indicao para os mdulos carregarem essa imagem. A funo responsvel por enviar essa indicao verifica se os mdulos, cujos endereos so conhecidos, confirmam essa indicao. Recorrendo ao timer1, caso algum dos mdulos no envie a confirmao em 1 ms, retornada a indicao de erro. Como a velocidade de transmisso de 1 Mbps e a mensagem de confirmao constituda apenas por um byte, o tempo aproximado para o envio da mensagem de 80 s j incluindo os bits do identificador e outros bits adicionais, logo 1 ms suficiente mesmo que ocorra algum atraso. Caso o nmero de imagens da animao seja superior a um, copia-se para a tabela de animaes os dados recebidos e reinicia-se o timer0.

36

Tabela 12 Relao entre os valores de comparao e a durao pretendida ndice 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Tempo 50 ms 100 ms 200 ms 300 ms 400 ms 500 ms 800 ms 1s 3s 5s 10 s 30 s 1 min 3 min 5 min 10 min Valor de comparao 1 2 4 6 8 10 16 20 60 100 200 600 1200 3600 6000 12000

Obter identificador

O protocolo CAN no possui um mtodo especfico para a determinao de quais os identificadores dos dispositivos ligados ao barramento. A ideia inicial foi o envio de uma mensagem global, recebida por todos os mdulos, indicando para estes enviarem o seu identificador. O controlador central recolhe as mensagens recebidas durante um perodo de tempo pr-definido e adiciona cada um dos identificadores a uma tabela. Mas essa estratgia mostrou-se ineficaz mesmo com perodos de aquisio de 1 segundo, pois os mdulos respondiam simultaneamente, esgotando a capacidade dos buffers de recepo e perdendo-se algumas mensagens. Como se sabe que o nmero mximo de mdulos 16, e os seus identificadores esto entre 0 e 15, a alternativa para obter os identificadores foi enviar uma mensagem a cada um e esperar um perodo de tempo pr-definido para se receber uma resposta. Caso seja obtida uma resposta, incrementa-se a varivel correspondente ao nmero de mdulos detectados e adiciona-se o identificador a uma tabela de mdulos. De seguida, efectua-se o mesmo procedimento para os restantes identificadores. Se durante esse perodo de tempo no for recebida uma resposta, apenas enviada a mensagem para prximo identificador. Como a velocidade de transmisso de 1 Mbps e a mensagem de resposta constituda apenas por um byte, o tempo aproximado para o envio da mensagem de 80 s j incluindo os bits

37

do identificador e outros bits adicionais. Por isso, seleccionou-se um perodo de 1 ms para se receber a resposta, e contabilizado atravs do timer1. Mesmo com essa grande margem de atraso, o tempo mximo que pode demorar a executar esta funo 16 ms, ou seja, quando nenhum mdulo envia resposta. Este tempo no tem grande influncia na execuo do programa, pois esta uma funo que executada apenas nas inicializaes ou quando recebido o comando Obter identificador. Ao ser recebido este comando tambm enviada uma mensagem de resposta com o nmero de mdulos detectados e os seus identificadores.

Guardar na EEPROM Ao ser recebido o comando guardar na EEPROM enviada uma mensagem global, recebida por todos os mdulos, para que estes salvem as imagens na memria no voltil.

Alterar brilho

O brilho do visor e a intensidade luminosa de cada uma das cores podem ser modificados de forma automtica atravs do sensor RGB de luz ou podem ser modificados manualmente pelo utilizador. O comando alterar brilho executa a modificao manual, enviando para os mdulos uma mensagem global com os dados correspondentes s intensidades de cor recebidas do computador.

Activar/desactivar sensor de luz

O sensor RGB de luz utilizado converte a intensidade de luz para frequncia, sendo necessrio definir um mtodo para medio dessa frequncia. Uma das solues seria a utilizao do mdulo de captura do PIC18F4550, gerando uma interrupo a cada flanco ascendente e determinando o tempo decorrido entre duas interrupes sucessivas. Este tempo decorrido igual ao perodo do sinal. A desvantagem deste mtodo que para sinais de frequncia alta so geradas interrupes com um reduzido intervalo de tempo entre si, o que teria efeito na execuo do programa pois este seria interrompido muitas vezes para executar a rotina de interrupo. Outra soluo que resolve essa desvantagem a utilizao do sinal do sensor como relgio externo do timer3, sendo assim incrementado a cada ciclo do sinal e sem qualquer interrupo do programa. Deste modo apenas necessrio ler o valor do timer ao fim de um determinado perodo de tempo, e dividir esse perodo pelo valor lido para a determinao do perodo do sinal. Para que seja possvel determinar o valor de frequncia em toda a gama possvel do sensor, escolheu-se um intervalo entre as leituras do timer3 de 100 ms. Como o timer3 de 16 bits, este intervalo de tempo permite adquirir frequncias entre 10 Hz e 655 kHz.

38

A contabilizao do intervalo de 100 ms feita recorrendo ao timer2, mas como este no tem

Interrupo Timer2

capacidade para uma durao to grande, foi configurado para gerar uma interrupo a cada 5 ms que o maior divisor de 100 permitido pelo timer. Como se verifica na Fig. 29 a rotina de interrupo do timer2 comea por verificar se ocorreram 20 interrupes, ou seja, se o intervalo de 100 ms est completo. Em caso afirmativo reiniciada a varivel correspondente ao nmero de interrupes do timer2 e verificado se o timer3 excedeu o mximo da sua contagem (overflow). Este facto pode acontecer se o sensor de luz produzir uma frequncia acima de 655 kHz, e quando acontece reiniciada a contagem. Por isso para no se obter um valor baixo quando se devia obter um valor muito alto, fixa-se o valor do timer3 ao seu valor mximo. De seguida feita a leitura do timer3 e guarda-se o valor na varivel correspondente cor a que se refere a medio. Selecciona-se a prxima cor a ser medida pelo sensor e reinicia-se a contagem do timer3.
t_corrige_cor == 360000? No Sim t_corrige_cor=0 corrige_cor=1 timer3=0 L timer3 Selecciona prxima cor t3_ovr==1? No Sim t3_ovr=0 timer3=65535 Sim t2_ciclos=0 No t2_ciclos==20?

Em

geral,

as

condies

de

luminosidade
t2_ciclos++ t_corrige_cor++ Fim

ambiente no tm grandes variaes num curto perodo de tempo, logo desnecessrio executar a correco de cor a cada 300 ms, que o tempo que demora a adquirir os valores de intensidade luminosa de cada uma das 3 cores. Deste modo definiu-se a varivel t_corrige_cor para a contagem do nmero de interrupes do timer2

Fig. 29 - Fluxograma da rotina de interrupo do timer2

necessrias para se obter o intervalo de tempo entre cada correco de cor. O intervalo de tempo escolhido foi de 30 minutos (360000 interrupes), pois j permite observar alguma variao de luminosidade ambiente, e alm disso, desocupa o barramento CAN por mais tempo. Caso o perodo de tempo tenha sido atingido, reinicia-se a varivel t_corrige_cor e coloca-se a varivel corrige_cor a 1 para que no ciclo principal do programa possa ser executada a funo que determina os valores correco de cor e a funo que os envia para os mdulos.

A funo responsvel pela correco de cor inicialmente configura as variveis de correco de cada uma das cores para o seu valor mximo, que 63 como se pode verificar na Fig. 30. Este valor provm dos 6 bits de correco de pixel do TLC5944 e que so usados para a correco de cor.

39

A varivel lum_dec, correspondente ao valor de luminosidade geral a ser decrementado, configurada com o valor mximo de 54. Este valor significa que a luminosidade geral nunca desce abaixo de 9, ou seja 14%, impedindo que o visor seja completamente desligado mesmo em situaes de muito baixa

corr_cor() R = 63 G = 63 B = 63 lum_dec = 54 val_R= val_R*0.66 val_B= val_B*0.76 lum = val_R + val_G + val_B; Determinar a cor com o maior valor Obter a diferena entre cada cor e a maior Sim R=R4 val_R= val_R>>1

luminosidade ambiente. Atravs de testes prticos verificou-se que 14% ainda permite a visualizao das imagens durante a noite. De seguida so normalizados os valores de intensidade luminosa adquiridos pelo sensor de luz, multiplicando a intensidade do vermelho pelo factor 0,66 e a intensidade do azul pelo factor 0,76. Os factores de multiplicao foram baseados na Tabela 13 [23] que dada pelo fabricante do sensor, um LED e ajustados como

experimentalmente

usando

branco

referncia de branco, de modo a que os valores de cada uma das cores sejam iguais (val_R = val_G = val_B).

val_R>=1? No

Tabela 13 - Responsividade da irradincia do TCS230 Cor do fotododo Vermelho Verde Azul Responsividade da irradincia [Hz/(W/cm )] 579 318 360
2

Sim val_G>=1? No Sim

G=G4 val_G= val_G>>1

val_B>=1? No

B=B4 val_B= val_B>>1

O sensor de luz tambm possui fotododos sem filtros de cor e que podem ser usados para a medio da luminosidade geral, mas o facto de no conterem nenhum filtro faz com que as suas medies incluam comprimentos de onda no visveis pelo olho humano, tal como a radiao infravermelha, logo no se pretende que entrem nas medies. Por isso preferiu-se determinar o valor da luminosidade geral atravs da soma dos valores de cada uma das 3 cores.

lum>=8? No

Sim

lum_dec -= 6 lum = lum >> 1

R = R - lum_dec G = G - lum_dec B = B - lum_dec Fim

Fig. 30 - Fluxograma da funo de correco de cor

A relao entre cada uma das cores independente da luminosidade geral, e para obter essa relao a funo determina qual a cor que apresenta a maior intensidade luminosa e calcula a diferena entre essa cor e cada uma das restantes. A partir dessas diferenas possvel ajustar-se as cores do visor de modo a igualarem-se com a luz ambiente. Para se proceder correco de cor decrementa-se a intensidade das cores proporcionalmente ao valor da diferena.

40

As variveis correspondentes aos valores da intensidade luminosa de cada cor so de 16 bits, deste modo pode-se utilizar o nmero de bits que ocupam as diferenas para se quantificar a correco, obtendo-se assim 16 nveis possveis. Se por cada bit for decrementado 4 varivel de correco, essa varivel pode atingir o valor zero, o que significa que essa cor seria desligada. No entanto isso s aconteceria em casos extremos e com uma luz monocromtica, o que no acontece com a luz ambiente. Quanto luminosidade geral foram definidos 9 nveis possveis, decrementando assim o valor 6 varivel lum_dec, perfazendo o valor mximo de 54. Estes 9 nveis foram escolhidos com base em medies experimentais, onde se verificou que valores de luminosidade geral acima de 8192 (maiores que 13 bits) correspondem incidncia directa do sol e por isso necessria a luminosidade mxima do visor. Para valores abaixo de 8 (menores que 4 bits) corresponde uma sala s escuras e por isso apenas a luminosidade mnima suficiente. Aps a determinao do valor da varivel lum_dec resta subtrair a cada uma das variveis de correco o valor de luminosidade a decrementar. Quando recebido o comando activar/desactivar sensor de luz trocado o valor da varivel que indica o estado do sensor. O valor desta varivel tambm enviado na mensagem de resposta para o computador, informando o utilizador do estado do sensor.

Comando de teste

Este comando usado para testar a comunicao entre o controlador central e o computador. Ao ser recebido o comando de teste o LED do controlador central pisca e enviada uma mensagem de resposta com os mesmos dados que foram recebidos.

41

4.3 Protocolo usado nas comunicaes


Nesta seco so descritos com maior detalhe os vrios tipos de mensagens usados nas comunicaes entre os diferentes blocos do sistema.

Controlador central Mdulos LED

Fig. 31 - Formato da mensagem de trama de imagem (CAN bus)

A mensagem de trama de imagem utilizada para o envio dos dados correspondentes s imagens do controlador central para os mdulos LED. Os conjuntos numerados da Fig. 31 indicam: 1) Linha em que se localiza o mdulo no visor; 2) Coluna em que se localiza o mdulo no visor; 3) ndice da linha da imagem a que correspondem os dados enviados; 4) Dados globais (igual a 0); 5) Cor enviada (0 Vermelho, 1 Verde, 2 Azul); 6) Nmero da imagem a que se referem os dados; 7) No usados; 8) Dados de uma linha da imagem.

Como so necessrios 15 bits no identificador da mensagem, teve que ser usado identificadores estendidos de 29 bits, pois os identificadores padro de 11 bits so insuficientes. Aps a recepo da mensagem, o mdulo responde com a mensagem de confirmao da Fig. 32.

Fig. 32 - Formato da mensagem de confirmao de recepo

Os conjuntos numerados desta mensagem indicam: 1) Linha em que se localiza o mdulo no visor; 2) Coluna em que se localiza o mdulo no visor;
42

3) No usados; 4) Indicao de recepo (7 Confirmao geral, 1 Confirmao de pedido do ID).

A mensagem de pedido do identificador representada na Fig. 33, usada pelo controlador central para obter os identificadores de cada mdulo. O mdulo ao receber esta mensagem responde com a mensagem de confirmao da Fig. 32 e utiliza a indicao de recepo especfica deste tipo de mensagem. Deste modo, o controlador central obtm o identificador do mdulo a partir do identificador da mensagem de resposta.

Fig. 33 - Formato da mensagem de pedido do identificador

Os conjuntos numerados desta mensagem indicam: 1) Linha em que se localiza o mdulo no visor; 2) Coluna em que se localiza o mdulo no visor; 3) No usados; 4) Dados globais (igual a 0); 5) No usados; 6) Obter identificador (igual a 1).

A mensagem de trama global representada na Fig. 34, recebida por todos os mdulos ligados ao barramento, permitindo enviar indicaes comuns a todos os mdulos ou executar mudanas sncronas de imagens. Os mdulos respondem com a mensagem de confirmao.

Fig. 34 - Formato da mensagem de trama global

Os conjuntos numerados desta mensagem indicam: 1) No usados; 2) Dados globais (igual a 1); 3) No usados;

43

4) Tipo de comando (2 Carregar imagem, 10 Alterar brilho, 11 Guardar na EEPROM); 5) Nmero da imagem a carregar (usado apenas no comando carregar imagem); 6) Intensidade luminosa da cor vermelha (usado apenas no comando alterar brilho); 7) Intensidade luminosa da cor verde (usado apenas no comando alterar brilho); 8) Intensidade luminosa da cor azul (usado apenas no comando alterar brilho).

Computador Controlador central

A mensagem de trama de imagem utilizada para o envio, do computador para o controlador central, dos dados correspondentes a 4 linhas da imagem.

Fig. 35 - Formato da mensagem de trama de imagem (USB)

Os conjuntos numerados da Fig. 35 indicam: 1) Tipo de dados (1 - Trama de imagem); 2) Linha em que se localiza o mdulo no visor; 3) Coluna em que se localiza o mdulo no visor; 4) ndice da linha n enviada; 5) Cor enviada (0 Vermelho, 1 Verde, 2 Azul); 6) Nmero da imagem a que se referem os dados; 7) No usados; 8) Dados da linha n; 9) Dados da linha n+1; 10) Dados da linha n+2; 11) Dados da linha n+3;

Aps a recepo da mensagem, o mdulo responde com a mensagem de confirmao da Fig. 36. Na mensagem de confirmao dada a indicao de recepo dos dados ou, caso a cor esteja completa, a indicao se o envio dos dados para os mdulos foi bem sucedido ou no.

44

Fig. 36 - Formato da mensagem de confirmao geral

O byte enviado nesta mensagem indica: 1) Tipo de resposta (7 Dados recebidos, 8 Envio dos dados para os mdulos com sucesso, 9 Erro no envio dos dados para os mdulos).

A mensagem carregar imagem/animao representada na Fig. 37 usada para o computador indicar ao controlador central qual a imagem que deve ser exibida no visor ou, no caso das animaes, qual a ordem das imagens e respectivas duraes de cada uma. Podem ser escolhidas entre uma e dez imagens. Aps a recepo da mensagem, o mdulo responde com a mensagem de confirmao de dados recebidos da Fig. 36.

Fig. 37 - Formato da mensagem carregar imagem/animao

Os conjuntos numerados desta mensagem indicam: 1) Tipo de dados (2 Carregar imagem/animao); 2) Nmero de imagens da animao; 3) ndice da 1 imagem da animao; 4) Durao da 1 imagem da animao; 5) ndice da 2 imagem da animao; 6) Durao da 2 imagem da animao; ... 7) ndice da 10 imagem da animao; 8) Durao da 10 imagem da animao.

A mensagem de alterao do brilho da Fig. 38 usada para enviar os valores definidos manualmente pelo utilizador correspondentes intensidade luminosa de cada uma das cores. Aps a recepo da mensagem, o mdulo responde com a mensagem de confirmao de dados recebidos da Fig. 36.
45

Fig. 38 - Formato da mensagem de alterao do brilho

Os conjuntos numerados desta mensagem indicam: 1) Tipo de dados (50 Alterar brilho); 2) Intensidade luminosa da cor vermelha; 3) Intensidade luminosa da cor verde; 4) Intensidade luminosa da cor azul. A mensagem padro representada na Fig. 39 constituda apenas por 1 byte e usada no envio de vrios comandos.

Fig. 39 - Formato da mensagem padro

O byte enviado nesta mensagem indica: 1) Tipo de dados (10 Obter identificadores, 11 Guardar na EEPROM, 51 Activar/desactivar sensor de luz).

A mensagem padro cujo tipo de dados corresponde ao comando obter identificadores, usada para o computador requerer a lista de identificadores dos mdulos. Aps a recepo desta mensagem o controlador central responde com a mensagem de identificadores da Fig. 40, indicando o nmero de mdulos ligados ao barramento CAN e os respectivos identificadores.

Fig. 40 - Formato da mensagem de identificadores

Os conjuntos numerados desta mensagem indicam: 1) Tipo de resposta (7 Dados recebidos);

46

2) Nmero de mdulos; 3) Identificador do 1 mdulo; 4) Identificador do 2 mdulo; ... 5) Identificador do 16 mdulo.

A mensagem padro cujo tipo de dados corresponde ao comando guardar na EEPROM, usada para enviar indicao ao controlador central para que os mdulos salvem as imagens na memria no voltil. Aps a recepo da mensagem, o mdulo responde com a mensagem de confirmao de dados recebidos da Fig. 36.

A mensagem padro cujo tipo de dados corresponde ao comando activar/desactivar sensor de luz, usada para activar ou desactivar a correco automtica de cor que feita usado o sensor RGB de luz. A esta mensagem o mdulo responde com a mensagem de estado do sensor da Fig. 41.

Fig. 41 - Formato da mensagem de estado do sensor

Os conjuntos numerados desta mensagem indicam: 1) Tipo de resposta (7 Dados recebidos); 2) Estado do sensor (0 Sensor desactivado, 1 Sensor activado).

A mensagem de teste representada na Fig. 42 usada para testar as comunicaes entre o computador e o controlador central. Quando recebida a mensagem de teste, esta reenviada para o computador.

Fig. 42 - Formato da mensagem de teste

Os conjuntos numerados desta mensagem indicam: 1) Tipo de dados (0 Teste); 2) Dados de teste;
47

4.4 Programa executado no computador


O programa que executado no computador permitindo o controlo e a monitorizao do visor pelo utilizador, foi desenvolvido em linguagem C Sharp (C#). O C# uma linguagem de programao poderosa mas simples, orientada a objectos, e destinada principalmente a desenvolvedores de aplicaes usando o Microsoft. NET Framework. uma linguagem de programao desenvolvida pela Microsoft, baseada em C/C++, e que tem fortes semelhanas com o Java, tendo como objectivo combinar a alta produtividade e simplicidade do Visual Basic com o potencial do C++ [24]. O ambiente de desenvolvimento fornecido pelo Microsoft Visual C# 2008 torna esses poderosos recursos de fcil utilizao, e os muitos assistentes e melhorias includas aumentam a produtividade do desenvolvedor.

Transferncias USB

Como o mdulo USB do controlador central foi configurado para transferncias em massa, necessrio um controlador de software para instalar o dispositivo USB. Deste modo utilizou-se o controlador de software WinUSB disponibilizado pela Microchip. Aps a instalao do dispositivo, o primeiro passo no programa foi estabelecer a transmisso de dados com o controlador central, baseando-se nos exemplos fornecidos pela Microchip. Para isso foi necessrio desenvolver 3 funes principais.

FindMyDevice

Na instalao do dispositivo USB, este foi registado com a chave GUID do controlador de software. A funo FindMyDevice procura o dispositivo com essa chave e caso encontre atribudo um identificador que as outras funes usam para aceder ao dispositivo. tambm enviada a indicao para a barra de estado se ele est conectado ou desconectado. A funo retorna True se o dispositivo foi detectado e False se no foi.

OnDeviceChange

Esta funo chamada quando h alteraes nos dispositivos USB, ou seja, quando for conectado ou desconectado um dispositivo. Se o identificador desse dispositivo for o identificador do controlador central, dada a indicao que este foi conectado ou desconectado.

48

SendAndReceiveViaBulkTransfers

Caso o controlador central esteja conectado, esta funo envia um conjunto de bytes de dados e depois l a resposta recebida. A funo recebe como parmetros a tabela com os dados a enviar, uma tabela para os dados a receber e uma varivel para indicao do nmero de bytes recebidos. Se ocorrer uma falha nas transmisses dada essa indicao e a funo retorna False.

O programa realizado constitudo por duas janelas importantes, a janela principal e a janela de edio.

Janela principal

nesta janela que feito o controlo do visor, a sua monitorizao, o envio das imagens, e a configurao das animaes. Na Fig. 43 est representada a seco da janela principal onde so importadas e visualizadas as imagens a enviar para o visor. Os campos numerados desta seco esto descritos abaixo: 1) Abrir imagem abre a caixa de dilogo para o utilizador seleccionar a imagem do ficheiro a importar; 2) Gravar imagem guarda a imagem seleccionada para o ficheiro; 3) Mover imagem para baixo desloca a imagem seleccionada para baixo; 4) Mover imagem para cima desloca a imagem seleccionada para cima; 5) Mostra seleco mostra imagem seleccionada; 6) Remover imagem remove da lista a imagem seleccionada; 7) Adicionar imagem da janela de edio abre a janela de edio para editar as imagens a adicionar lista; 8) Lista de imagens permite visualizar todas as imagens adicionadas lista. Fig. 43 - Seco de importao das imagens para a lista Quando se clica no boto abrir imagem, executada a funo que abre a caixa de dilogo para seleco de arquivo. De seguida, carregado para o programa o ficheiro de imagem escolhido. Se a imagem for vlida e a sua resoluo corresponder configurao actual do visor, carregada para a lista, caso contrrio mostrada uma janela de alerta com a indicao da resoluo que deve ter a imagem.

49

O boto gravar imagem abre a caixa de dilogo e guarda a imagem seleccionada na localizao e formato escolhido pelo utilizador. Dependendo do formato de imagem escolhido, utilizando o codec correspondente. Caso a gravao no seja bem sucedida mostrado um alerta de erro e dada a opo de nova tentativa. Quanto aos botes utilizados para moverem a imagem seleccionada, estes trocam a posio da imagem na lista e alteram o seu identificador para corresponder nova posio. A lista de imagens no mais do que uma coleco de classes ImageBuffer. Cada classe constituda por uma imagem, por variveis contendo o nmero de bits por pixel, a resoluo vertical e horizontal, e por uma string com os parmetros da imagem. Cada imagem da coleco exibida na rea referida lista, bem como a string com os seus parmetros.

Quando o utilizador pretende obter o estado dos blocos que constituem o visor, utiliza a seco de procura de dispositivos mostrada na Fig. 44 para verificar se esto todos operacionais.

Fig. 44 - Seco de procura de dispositivos

Os botes desta seco indicam: 1) Procurar controlador central executa a funo FindMyDevice indicando na barra de estado se o controlador central se encontra conectado ou desconectado. 2) Procurar mdulos envia uma mensagem com o comando obter identificadores, recebendo o nmero de mdulos activos no barramento CAN.

A funo responsvel por requerer os identificadores dos mdulos utiliza a funo SendAndReceiveViaBulkTransfers para enviar a mensagem correspondente ao comando obter identificadores. Caso a transferncia tenha sido bem sucedida e a resposta recebida seja a esperada, dada a indicao ao utilizador do nmero de mdulos e dos seus endereos. tambm nesta funo que determinada a configurao actual do visor atravs da verificao do maior identificador de linha e coluna dos mdulos. De seguida executada a funo que actualiza a representao dos mdulos presentes no visor. Como se pode verificar na Fig. 45, os blocos a preto representam os mdulos LED presentes no visor, os blocos brancos representam os mdulos em falta para completar a configurao, e os blocos cinzentos representam os mdulos no presentes e que no esto includos na configurao actual.

50

Fig. 45 - Seco de representao da configurao do visor

Nesta seco ainda indicada a resoluo de imagem a que corresponde a configurao actual do visor.

Aps importadas as imagens para a lista, o utilizador pode escolher enviar todas as imagens para o visor ou enviar apenas a imagem desejada. O envio efectuado na seco de envio das imagens mostrada na Fig. 46.

Fig. 46 - Seco de envio das imagens

Os campos numerados desta seco significam: 1) Enviar imagens envia para o visor todas as imagens da lista; 2) Enviar imagem seleccionada envia para o visor apenas a imagem seleccionada na lista; 3) Barra de progresso indica a evoluo do envio.

Ao ser carregado o boto correspondente ao envio da imagem seleccionada, adquirido o seu ndice, feita uma cpia da imagem e de seguida executada a funo encarregue do envio de uma imagem completa. A diferena em relao ao boto usado para o envio de todas as imagens da lista que este repete o mesmo processo tantas vezes quanto o nmero de imagens na lista. A funo responsvel pelo envio da imagem completa recebe como parmetros a imagem a enviar e o seu ndice.

51

Inicialmente esta funo verifica se foi detectado pelo menos um mdulo, se a resoluo da imagem corresponde resoluo actual do visor, e se a imagem est no formato de 16 bits por pixel, prosseguindo apenas caso todas as condies sejam satisfeitas. No entanto, se a imagem no estiver de acordo com caractersticas necessrias, exibida uma mensagem de alerta com a indicao da resoluo ou do formato de pixel pretendido. De seguida so adquiridos os valores correspondentes a cada um dos pixis da imagem e so gravados numa tabela tridimensional. Nesta tabela uma das dimenses corresponde largura da imagem, na outra a altura da imagem, e a ultima a cada uma das 3 cores RGB. No visor foi definida a utilizao de 4 bits por cor, ou seja, 12 bits por pixel (bpp), mas a palete de cores do Windows no permite esse formato. Deste modo foi utilizado o formato possvel mais prximo que 16 bpp, o que corresponde a 5 bits por cor restando um bit que no usado. A converso para este formato feita de modo automtico, permitindo assim uma representao fidedigna da imagem original. As imagens bitmaps tm valores de intensidade de cor entre 0 e 255. A diferena entre imagens com diferentes bpp o nmero de passos em que se dividem os 255 valores de intensidades. Desta forma para se obterem os 32 passos por cor de uma imagem com 16 bpp basta efectuar uma deslocao para a direita de 3 bits Contudo, este formato apresenta um bit por cor a mais que o necessrio, mas pode-se desprezar o bit menos significativo sem introduzir grandes erros de quantificao. Logo os valores que vo ser gravados na tabela
USB No Procura conectado dispositivo ? Sim USB Envia dados e Sim conectado recebe resposta ? No Envio com sucesso? Sim Trama_img ++ Incrementa barra de progresso Retorna True Fim No Retorna False Trama_img < 4? Sim Cor = 0 Trama_img = 0 No envia_part_img

Cor < 3 ? Sim No Cor ++ Trama_img=0

Adquirir 4 linhas da partio

tridimensional so os valores correspondentes a cada uma das cores aplicando-lhes uma deslocao para a direita de 4 bits. O prximo passo o envio, para cada mdulo presente no visor, dos dados da partio da imagem que lhe corresponde. Para isso executada a funo envia_part_img tantas vezes quanto o nmero de mdulos. A funo envia_part_img representada na Fig. 47 procede ao envio de uma partio 16x16 da imagem, recebendo como parmetros o endereo do mdulo de destino, o ndice da imagem, e a tabela com os valores dos pixis. Esta funo comea por adquirir da tabela os valores dos pixis correspondentes s primeiras 4 linhas da partio, e relativos cor vermelha. A partir do identificador do mdulo

Fig. 47 - Fluxograma da funo de envio da partio 16x16

52

determina-se qual a distncia que necessrio percorrer horizontalmente e verticalmente na tabela para se obterem os valores dos pixis que correspondem partio desejada. Aps a aquisio desses valores, se o controlador central no estiver conectado, executada a funo FindMyDevice para verificar se foi conectado desde a ltima procura. Se mesmo assim no for detectado retornado False e a funo termina, mas se for detectado so enviadas as 4 linhas da partio atravs de uma mensagem de trama de imagem. Caso o envio seja bem sucedido incrementada a barra de progresso e feita a aquisio das 4 linhas seguintes, repetindo-se este ciclo at serem enviadas as 16 linhas da partio. Quando se completa o envio das 16 linhas, o controlador central envia os dados para o mdulo respectivo, dando indicao ao utilizador caso ocorra um erro no envio. De seguida, todo o ciclo repetido at serem adquiridos e enviados os valores dos pixis da partio relativos cor verde e cor azul. Retornando True em caso de envio bem sucedido da partio.

O utilizador informado constantemente do estado do sistema, por isso sempre que ocorram erros nas transmisses ou sempre que seja necessrio notificar o utilizador, utilizada a seco da Fig. 48 para transmitir as mensagens de estado.

Fig. 48 - Seco das mensagens de estado

Os campos numerados desta seco indicam: 1) Caixa de mensagens permite visualizar as mensagens de estado; 2) Limpar apaga todas as mensagens da caixa de mensagens.

53

A seco de carregamento da imagem/animao da Fig. 49 utilizada para seleccionar qual das imagens guardadas nos mdulos deve ser exibida no visor, ou ento, para configurar a ordem das imagens e a sua durao no caso das animaes.

Fig. 49 - Seco de carregamento da imagem/animao

Os campos numerados desta seco significam: 1) Nmero de imagens indica o nmero de imagens da animao; 2) Executar carrega a imagem ou executa a animao; 3) ndice da imagem indica a ordem de cada uma das imagens da animao; 4) Durao da imagem durao de cada uma das imagens da animao.

Ao ser definido um nmero de imagens menor que 10 so ocultados os controlos que no so necessrios, e caso seja definida s uma imagem ocultado tambm o controlo de durao da imagem, indicando que as animaes foram desactivadas.

54

A transio das imagens nas animaes segue a ordem das setas, e ao chegar ltima imagem retorna primeira e repete o ciclo. A durao de cada uma escolhida entre os 16 intervalos de tempo possveis que foram definidos no controlador central. Quando premido o boto executar, enviado para o controlador central a mensagem com os dados que foram seleccionados nesta seco, indicando atravs das mensagens de estado se o envio foi bem sucedido ou no. Para que as imagens enviadas para os mdulos no sejam perdidas em caso de falha de energia, usada a seco da Fig. 50 para guardar as imagens na memria no voltil.

Fig. 50 - Seco guardar imagens

Este procedimento demorado, por isso o utilizador informado que o sistema no ir responder nesse perodo de tempo. Deste modo, deve ser executado apenas quando o utilizador j fez a escolha de todas as imagens contidas nos mdulos.

A seco de alterao do brilho representada na Fig. 51 permite que o utilizador modifique a luminosidade geral do visor e as intensidades mximas de cada uma das cores, possibilitando o ajuste manual da cor. Nesta seco tambm possvel activar ou desactivar o sensor de luz, alternando assim, entre o modo de ajuste automtico e o modo de ajuste manual.

Fig. 51 - Seco de alterao do brilho dos LED's

55

Os campos numerados desta seco indicam: 1) Activar/desactivar sensor activa ou desactiva o sensor RGB de luz; 2) Intensidade da cor vermelha ajusta manualmente a intensidade luminosa mxima da cor vermelha; 3) Intensidade da cor verde ajusta manualmente a intensidade luminosa mxima da cor verde; 4) Intensidade da cor azul ajusta manualmente a intensidade luminosa mxima da cor azul; 5) Luminosidade ajusta manualmente a luminosidade geral do visor; 6) Alterar executa as modificaes de brilho.

Ao ser pressionado o boto activar/desactivar sensor enviado para o controlador central a mensagem correspondente e a partir da resposta obtido o estado actual do sensor, sendo exibido nas mensagens de estado. O controlo de luminosidade efectuado atravs da modificao das intensidades de cada uma das cores simultaneamente e para o mesmo nvel. A intensidade de cada cor pode ser ajustada em 64 nveis permitidos pelos controladores dos mdulos, sendo esses valores enviados na mensagem de alterao de brilho quando pressionado o boto alterar.

Janela de edio

A janela de edio foi desenvolvida a partir do editor de cones VariIcons disponvel em sourceforge.net. Deste editor utilizou-se a interface grfica e modificou-se a sua programao de acordo com as necessidades pretendidas, nomeadamente a substituio das funes que fazem a importao e o processamento de cones por funes correspondentes para imagens bitmap e jpeg. Esta janela permite a criao das imagens a exibir no visor ou apenas a edio de imagens existentes. possvel inserir texto, efectuar correces de cor e contraste, rodar, redimensionar a imagem para a resoluo do visor, entre outros.

Na Fig. 52 est representada a barra de ferramentas padro que contm as funes bsicas.

Fig. 52 - Barra de ferramentas padro

Os botes desta barra significam: 1) Nova imagem cria uma imagem em branco e com a resoluo do visor.

56

Caso existam imagens carregadas na lista dada a opo ao utilizador para as gravar, e de seguida obtm-se da janela principal a resoluo actual do visor, criando-se uma nova imagem com essa resoluo e adicionando-a lista. 2) Abrir imagem abre uma imagem do ficheiro. aberta uma caixa de dilogo para o utilizador escolher do ficheiro a imagem que pretende importar. Permite abrir os tipos de imagem mais comuns, tais como BMP, JPEG e PNG. Se existirem imagens na lista dada a opo ao utilizador para as gravar ou para as remover, adicionando-se de seguida lista a imagem importada. 3) Guardar imagem guarda a imagem seleccionada para o ficheiro. Abre a caixa de dilogo e guarda a imagem seleccionada na localizao e formato escolhido pelo utilizador. Dependendo do formato de imagem escolhido, utilizando o codec correspondente. Caso a gravao no seja bem sucedida mostrado um alerta de erro e dada a opo de nova tentativa. 4) Cortar corta a imagem e coloca-a na rea de transferncia. Copia a imagem ou uma parte seleccionada da imagem para a rea de transferncia e de seguida apaga-a. 5) Copiar copia a imagem para a rea de transferncia. 6) Colar cola a imagem da rea de transferncia. Obtm a imagem da rea de transferncia, cola-a na imagem escolhida e selecciona a imagem que foi adicionada, permitindo que o utilizador a possa movimentar para o ponto desejado antes de a fixar. 7) Desfazer desfaz uma aco executada. Quando efectuada uma alterao nas imagens guardada uma cpia da imagem antes da modificao, sendo possvel guardar as ltimas 10 alteraes. Deste modo, o boto desfazer substitui a imagem actual pela ltima imagem guardada. 8) Repetir repete a aco desfeita. De igual forma, sempre que desfeita uma modificao guardada a imagem actual, e por isso o boto repetir restaura a imagem actual. 9) Anti-Aliasing activa/desactiva o anti-aliasing. O anti-aliasing uma tcnica de minimizao da distoro que se obtm quando se representa uma imagem a baixa resoluo. Ao ser activado so configuradas as funes de sistema para desenharem as imagens usando esta tcnica.

57

A barra de efeitos da Fig. 53 permite rodar as imagens, ajustar o contraste e o brilho, e redimensionar as imagens de modo a corresponderem resoluo do visor.

Fig. 53 - Barra de ferramentas de efeitos

Os botes desta barra significam: 1) Rodar 90 para a esquerda efectua uma rotao da imagem ou da rea seleccionada de 90 no sentido anti-horrio. Utiliza as funes de sistema para rodar a imagem 90. 2) Rodar 90 para a direita efectua uma rotao da imagem ou da rea seleccionada de 90 no sentido horrio. Utiliza as funes de sistema para rodar a imagem 270. 3) Inverter na horizontal inverte a imagem ou a rea seleccionada horizontalmente. Utiliza as funes de sistema para inverter a imagem na horizontal. 4) Inverter na vertical inverte a imagem ou a rea seleccionada verticalmente. Utiliza as funes de sistema para inverter a imagem na vertical. 5) Rotao livre roda a imagem ou a rea seleccionada um nmero especfico de graus. Abre a caixa de dilogo contendo uma barra de deslocamento para que o utilizador possa seleccionar o ngulo de rotao pretendido. De seguida obtida a matriz 2D correspondente imagem, e efectuada uma rotao a partir do seu centro e relativa ao ngulo seleccionado. Por fim volta-se a desenhar a nova imagem. 6) Recortar/Redimensionar recorta ou redimensiona a imagem para o tamanho do visor. Abre uma caixa de dilogo onde so pedidas a nova altura e a nova largura. Se a opo de escala estiver desactivada recortado da imagem uma rea com essas dimenses. Caso contrrio criada uma imagem com as novas dimenses e copia-se a imagem completa para a nova imagem. ainda dada a opo ao utilizador de a cpia ser realizada com interpolao por procura do valor mais prximo ou por interpolao de alta qualidade. 7) Contraste ajusta o contraste da imagem. Abre a caixa de dilogo contendo uma barra de deslocamento com valores entre 0 e 200 para ajuste do contraste. Acima de 100 reforado o contraste e abaixo reduzido. 8) Cor desloca o espectro de cores na imagem.
58

Permite alterar a tonalidade, a saturao e a luminncia atravs de barras de deslocamento na janela de dilogo. A tonalidade corresponde percepo da cor e pode ser ajustada entre 0 e 360, a saturao descreve a pureza da cor, ou seja, o seu carcter vivo ou descorado e pode se ajustado entre -100 e 100, e a saturao indica a quantidade de luz da cor, ou seja, o seu aspecto claro ou sombrio ajustando-se entre -100 e 100. Para estas alteraes foi usado a biblioteca de efeitos do editor de cones VariIcons. 9) Brilho altera o brilho da imagem. Adiciona a cada uma das componentes RGB o valor seleccionado na barra de deslocamento da janela de dilogo, e que pode ser ajustado entre -255 e 255.

Para se ajustar as opes de visualizao das imagens, tais como o zoom, usada a barra de ferramentas de visualizao da Fig. 54.

Fig. 54 - Barra de ferramentas de visualizao

Os botes desta barra significam: 1) Centrar centra a imagem na rea de edio. Desloca a imagem de modo a que o seu centro coincida com o centro da rea de edio. 2) Grelha exibe a grelha que delimita cada pixel da imagem. Cria uma grelha correspondente ao nmero de linhas e colunas da imagem. 3) Zoom altera o zoom de imagem. Aumenta o tamanho de visualizao da imagem at 25 vezes o tamanho original. 4) Tamanho mximo define o zoom para o valor mximo que permite a visualizao da imagem completa. Aumenta o zoom de modo a que a altura e a largura da imagem no ultrapassem os limites da rea de visualizao. 5) Hexadecimal exibe os cdigos das cores em formato hexadecimal.

A janela de edio usada para criar desenhos em telas em branco ou sobre outras imagens, por isso a barra da caixa de ferramentas da Fig. 55 um dos principais componentes.
59

3 4

10 11

12 13

14 15 16 17 18 19

20 21 22

Fig. 55 - Barra da caixa de ferramentas

Esta barra constituda pelas seguintes ferramentas: 1) Navegador usado para movimentar a imagem. 2) Caneta usado para desenhar linhas ou curvas e de forma livre. 3) Curva usado para desenhar uma linha curva. 4) Rectngulo cheio usado para desenhar formas rectangulares com o interior a cheio. 5) Elipse cheia usado para criar elipses e crculos com o interior a cheio. 6) Rectngulo arredondado cheio usado para desenhar formas rectangulares com cantos arredondados e com o interior a cheio. 7) Polgono cheio usado para criar uma forma com qualquer nmero de lados e com o interior a cheio. 8) Sector cheio usado para desenhar sectores circulares com o interior a cheio. 9) Texto usado para introduzir texto na imagem. 10) Pipeta a cor de um pixel da imagem determinada e definida como a cor actual. 11) Pincel usado para pintar linhas e curvas espessas e de forma livre. 12) Seleco usado para seleccionar qualquer parte quadrada ou rectangular da imagem. 13) Apagar imagem apaga a imagem ou uma rea seleccionada. 14) Linha usado para desenhar uma linha recta. 15) Rectngulo usado para desenhar uma linha rectangular. 16) Elipse usado para desenhar crculos e linhas elpticas. 17) Rectngulo arredondado usado para desenhar linhas rectangulares com cantos arredondados. 18) Polgono usado para criar uma forma com qualquer nmero de lados. 19) Sector usado para desenhar sectores circulares. 20) Aergrafo usado para criar um efeito de aergrafo na imagem. 21) Preencher com cor usado para preencher com cor toda a imagem ou uma forma delimitada. 22) Marcos usados para alinhar imagens ou pontos comuns.

Na Fig. 56 est representada a rea de edio onde so utilizados os componentes da caixa de ferramentas para efectuar a alterao ou criao das imagens. tambm exibida a lista de imagens, permitindo visualizar todas as imagens importadas.

60

Fig. 56 - Seco da rea de edio e da lista de imagens

Os campos numerados desta seco indicam: 1) rea de edio rea onde so editadas as imagens. Aps cada modificao a imagem da lista actualizada. 2) Mover imagem para baixo desloca a imagem seleccionada para baixo. Troca a posio da imagem na lista com a imagem abaixo e altera os respectivos identificadores. 3) Mover imagem para cima desloca a imagem seleccionada para cima. Troca a posio da imagem na lista com a imagem acima e altera os respectivos identificadores. 4) Mostra seleco mostra imagem seleccionada. 5) Remover imagem remove da lista a imagem seleccionada. 6) Adicionar imagem adiciona lista uma imagem em branco e com o formato escolhido. dada a opo ao utilizador para escolher o tamanho e o formato de pixel pretendido, de seguida criada uma imagem em branco com essas caractersticas e adiciona-se lista. 7) Lista de imagens permite visualizar todas as imagens adicionadas lista. A lista de imagens constituda por uma coleco de classes ImageBuffer, e cada classe contm uma imagem e um conjunto de variveis com as suas caractersticas. Cada imagem da coleco exibida na rea referida lista, tal como a string com os seus parmetros.

61

A seleco da cor actual utilizada pelos componentes da caixa de ferramentas realizada de forma fcil e intuitiva atravs da caixa de seleco de cor da Fig. 57.

Os campos numerados desta caixa indicam: 1) Seleco de cor permite escolher a cor desejada. Ao clicar numa cor com o boto esquerdo do rato definida como a cor do primeiro plano e ao clicar com o boto direito definida a cor do plano de fundo. O controlo deslizante direita permite seleccionar a saturao da cor. 2) Primeiro plano permite visualizar a cor actual do primeiro plano e seleccionar a sua transparncia. O valor 255 corresponde a uma forma opaca e o valor zero significa uma forma totalmente transparente. 3) Plano de fundo permite visualizar a cor actual do plano de fundo e seleccionar a sua transparncia. O valor 255 corresponde a uma forma opaca e o valor zero significa uma forma totalmente transparente. Fig. 57 - Caixa de seleco de cor Aps a criao, correco, ou edio das imagens, estas podem ser exportadas directamente para a janela principal. possvel exportar todas as imagens da lista ou apenas a imagem desejada, mas antes necessrio que as imagens se encontrem no formato 16 bpp para que a janela principal as possa processar correctamente. A seco que desempenha essas funcionalidades est representada na Fig. 58.

Fig. 58 - Seco de exportao das imagens

Os campos numerados desta seco indicam: 1) Converter para 16 bpp converte a imagem seleccionada para o formato 16 bpp. Cria uma nova imagem com o mesmo tamanho mas com o formato 16 bpp e, utilizando as funes de sistema, copia a imagem seleccionada para a nova imagem. Por fim adiciona-se a nova imagem lista.

62

2) Adicionar imagem seleccionada exporta para a janela principal a imagem seleccionada na lista e de seguida fecha a janela de edio. verificado se o tamanho da imagem corresponde configurao actual do visor e verificado se a imagem est no formato 16 bpp, informando o utilizador atravs de uma mensagem de alerta caso alguma das verificaes falhe. Se as caractersticas da imagem seleccionada forem as correctas, esta adicionada a lista da janela principal e fecha-se a janela de edio. 3) Adicionar todas a imagens exporta para a janela principal todas as imagens da lista e de seguida fecha a janela de edio. Se cada uma das imagens da lista possuir o tamanho e o formato correcto, so adicionadas lista da janela principal, caso contrrio exibida uma mensagem de alerta.

4.5 Concluses
No presente captulo foram explicitadas as tcnicas usadas para o controlo dos leds e para as comunicaes, descrevendo o fluxo de execuo dos programas desenvolvidos para os microcontroladores dos vrios blocos de hardware. Apresentou-se o protocolo criado para as mensagens transmitidas entre os blocos do sistema, descrevendo-se os vrios campos das mensagens, a funo de cada uma, e as mensagens de resposta esperadas. Foram tambm descritas todas as funcionalidades do programa executado no computador e que permite ao utilizador controlar o visor atravs de comunicao USB, referindo as funes mais importantes desenvolvidas.

63

64

Captulo 5 - Resultados
Neste captulo apresentado o aspecto final de cada um dos blocos de hardware do prottipo desenvolvido. So tambm demonstradas as capacidades deste visor atravs de alguns exemplos de imagens exibidas por este. No final as caractersticas gerais do visor so expostas numa tabela que concentra as caractersticas indicadas ao longo deste documento.

Na Fig. 59 observa-se um mdulo completo constitudo pela matriz LED em que na parte posterior esto acoplados os controladores e o microprocessador.

(a)

(b)

Fig. 59 - Mdulo LED: a) Vista frontal b) Vista posterior

Nesta fase apenas foram construdos 2 mdulos LED, o que suficiente para testar o funcionamento do sistema e a repartio de uma imagem por cada um dos mdulos. Caso posteriormente seja necessrio um visor com um maior nmero de mdulos, basta conect-los ao barramento CAN e o sistema detecta-os automaticamente. As placas de circuito impresso (PCB) dos controladores so de dupla face e foram produzidas nas instalaes do Instituto Superior Tcnico, o que no foi possvel com as PCBs de dupla face da matriz LED devido s suas dimenses. Deste modo foram produzidas de forma profissional por uma empresa, escolhendo-se a fabricao da PCB em preto de forma a reduzir os reflexos. A ltima verso da placa CAN_PIC FST tambm foi produzida de forma profissional. Para permitir a fixao do mdulo LED foram includos 5 furos com 4 mm de dimetro na PCB da matriz

65

Como se verifica na Fig. 60 (a) a utilizao de componentes SMD no controlador central permitiu reduzir as suas dimenses, apesar de possuir todas as funcionalidades necessrias. Este controlador foi realizado de forma a permitir a adio de outros protocolos de comunicao com o computador, e por isso foi includo na PCB um conector de expanso. A PCB apresentada de face simples e foi produzida nas instalaes do Instituto Superior Tcnico.

(a)

(b)

Fig. 60 - Controlador central: a) Vista posterior b) Vista frontal

Todas as PCBs foram desenvolvidas atravs do programa Altium DXP 2004, pois j foi utilizado anteriormente para a edio de esquemas elctricos e produo de PCBs, conhecendo-se por isso o seu funcionamento.

O programa realizado para executar no computador efectua as comunicaes com o controlador central atravs de USB, mas facilmente permite a adio de outros protocolos de comunicao, bastando apenas, trocar as 3 funes correspondentes comunicao USB por funes correspondentes comunicao pretendida. Os requisitos necessrios para o programa so: Windows XP, Windows Vista; .NET Framework 1.1; 64 MB de RAM; 1 MB de espao em disco;

O programa desenvolvido de utilizao fcil e intuitiva, informando o utilizador das configuraes necessrias aquando do envio das imagens para o visor. Outra caracterstica importante a representao grfica da configurao actual do visor, permitindo verificar de forma simples se todos os mdulos instalados foram detectados ou se ocorreu alguma avaria.

66

Na Fig. 61 apresentada a janela principal completa por todas as seces descritas em detalhe no captulo anterior.

Fig. 61 - Aparncia final da janela principal

a partir desta janela que feito todo o controlo e monitorizao do visor, pois a janela de edio no efectua qualquer comunicao.

A janela de edio possui uma coleco til de ferramentas de desenho na caixa de ferramentas. Estas ferramentas podem ser utilizadas para criar as imagens e para adicionar mensagens alfanumricas ou uma variedade de formas s imagens pretendidas, antes de as enviar para o visor. Outro factor importante a possibilidade de redimensionar as imagens para que possam ser exibidas de acordo com a resoluo actual do visor. Todas essas ferramentas bsicas esto disponveis num nico programa, no sendo necessria a utilizao de um programa de edio de imagem separado, e permite simultaneamente o controlo do visor pois a janela principal mantm-se sempre activa.

Na Fig. 62 apresentada a janela de edio composta pelas barras de ferramentas descritas no captulo anterior.

67

Fig. 62 - Aparncia final da janela de edio

Para se proceder ao teste das imagens exibidas no visor foi inicialmente testado com apenas um mdulo LED para se avaliar o desempenho com imagens 16x16. Os resultados obtidos com algumas imagens de exemplo esto representados na Fig. 63, sendo que este teste no permite avaliar a qualidade das imagens pois a resoluo actual do visor baixa.

Fig. 63 - Exemplos de imagens 16x16 exibidas no visor


68

Aps o correcto funcionamento do mdulo LED o passo seguinte foi adicionar horizontalmente ao visor um segundo mdulo, verificando se a sua deteco feita automaticamente. Com esta nova configurao o visor permite a recepo de imagens 32x16 repartindo-as por cada um dos mdulos respectivos. Como se verifica pelos exemplos de imagens exibidas da Fig. 64, no se distingue a linha que separa cada um dos mdulos, o que demonstra que a partio da imagem foi bem efectuada.

Fig. 64 - Exemplos de imagens 32x16 exibidas no visor

Quando as imagens so vistas de perto os LEDs aparecem como pontos independentes, tal como se verifica nas imagens de exemplo apresentadas. A distncia mnima do visor onde esses LED's se misturam formando uma nica cor conhecida como a distncia de cor composta, e pode ser calculada pela distncia entre pixis multiplicada por 500 [2]. Para este visor a distncia de cor composta de 8,2 m. Esta tambm, por vezes, erroneamente chamada distncia mnima de visualizao.

69

A distncia mnima de visualizao a distncia abaixo da qual a imagem vista como um conjunto de pixis individuais, e para visores de LEDs discretos calculada pela distncia entre pixis multiplicada por 1000. Para este visor uma distncia de visualizao acima de 16 m permite ver uma imagem suave.

As especificaes do visor desenvolvido esto em resumo na Tabela 14, possibilitando a comparao com as especificaes dos visores comerciais indicados como exemplo no captulo 1.

Tabela 14 - Caractersticas do visor desenvolvido Configurao de pixel Espaamento entre pixis [mm] Dimenses do mdulo [mm] Resoluo do mdulo [pixel] Mdulos por visor Densidade de pixel [pixel/m ] Brilho [cd/ m ] Ajuste de brilho ngulo de visualizao Distncia de visualizao [m] Distncia de comunicao [m] Interfaces de comunicao Mtodo de controlo dos LEDs Bits por cor Frequncia de refrescamento [Hz] Tempo de vida dos LEDs [horas] Alimentao Consumo de potncia [W/ m ]
2 2 2

1R, 1G, 1B 16,4 262x 262x30 16x16 4x4 3844 2200 64 passos 30 > 16 CAN bus: 40 USB Corrente constante 4 76 50 000 DC: 5 V Max: 96 Arquitectura modular; Memria no voltil; Sensor RGB de luz para correco da cor; De acordo com a norma EN 12966; AC: 220 V 50 Hz

Outras caractersticas

As caractersticas que sobressaem em relao aos visores apresentados como exemplo so o facto de este visor possuir um consumo muito menor, apesar de o brilho tambm ser menor. Outro factor que o distingue o facto de utilizar o sensor RGB para a correco de cor.

70

Captulo 6 - Concluses e trabalho futuro


6.1 Concluses
Neste trabalho foi apresentado um visor matricial de LEDs para exibio tanto de caracteres alfanumricos como de imagens a cores. O sistema composto por uma matriz tricolor com um circuito de interface com um computador. Tambm inclui um programa que executado no computador para controlar as informaes a serem exibidas. A constituio em mdulos permite obter um visor de maior resoluo por associao de mdulos idnticos. Esta caracterstica tambm facilita o transporte e a rpida reparao em caso de avaria atravs da simples substituio do mdulo com avaria. O projecto do sistema tendo em conta as definies da norma EN 12966 permite a sua incorporao em sinalizao rodoviria, expandindo assim a gama de possveis aplicaes. Os resultados obtidos mostraram-se promissores, e sendo que aqui ficaram descritas a prototipagem dos sistemas, prev-se o desenvolvimento do produto para comercializao generalizada.

6.2 Trabalho futuro


Como projecto futuro pretende-se implementar o mdulo sem fios GPRS para que o visor possa ser controlado remotamente, visto que a sua integrao no ficou completa neste trabalho. Podem ainda ser feitas muitas outras melhorias, entre as quais configurar a verificao de avarias na matriz LED, pois os controladores j incluem essa funcionalidade. Como a luminosidade obtida inferior dos visores comerciais, a corrente mxima nos LEDs deve ser aumentada bem como a adio de sistemas de monitorizao dos LEDs, o que apesar de reduzir a vida til dos LEDs necessrio para o aumento do brilho. Para o prottipo desenvolvido utilizou-se a placa CAN_PIC FST para o controlo da matriz, mas futuramente pretende-se integrar o microprocessador na placa dos controladores LED. Alm de tudo isso necessria tambm a construo da estrutura de suporte do visor que seja adequada s condies para a instalao em ambiente exterior.

71

72

Captulo 7 - Bibliografia
[1] Francis Nguyen, Challenges in the design of a RGB LED display for indoor applications, Elsevier Science B.V., 2001. [2] David Thilwind, LED It Be!, www.screens.ru, 2007. [3] Agilent Technologies, Introduction to Driving LED Matrices, Agilent Technologies, Inc., Maio 2001. [4] Nozomu Takahashi, Led display device and method for controlling the same, United States Patent 5708452, 1998. [5] Aleena Emmanuel, Arun Prabhakar, Arvind G Shankar, Raji James, Multicolour LED Display, Cochin University of Science and Technology. [6] L. Svilainis, Considerations of the Driving Electronics of LED Video Display, Kaunas University of Technology, 2007 [7] Han-Way Huang, The HCS12/9S12: An Introduction to Hardware and Software Interfacing , Chapter 13 - Controller Area Network, Cengage Learning, 2005. [8] Digi-Key Corporation, Serial Communications using the dsPIC30F CAN, Product training Modules Online, 2007. [9] Norma Portuguesa EN 12966-1, Sinalizao vertical rodoviria - Painis de mensagem varivel, Instituto Portugus da Qualidade, 2007. [10] Texas Instruments, TLC5944 16-Channel, 12-Bit PWM LED Driver with6-Bit Dot Correction and Pre-Charge FET, Texas Instruments Incorporated, 2008. [11] Maxim, MAX7301 4-Wire-Interfaced, 2.5V to 5.5V, 20-Port and28-Port I/O Expander, Maxim Integrated Products, Inc., 2006. [12] Microchip, dsPIC30F6011A/6012A/6013A/6014A Data Sheet, Microchip Technology Inc., 2006. [13] Jay Ankeney, Technology Showcase: Large-format LED Displays, Digital Content Producer, 2005.

73

[14] Chao-ying Lin, Sun-bin Yin, Sheng-bang Huang, Pel-fang Chiang, Light emitting diode and fabrication method thereof, United States Patent 7339197, 2008. [15] Colorado Time Systems, Full color LED video displays, www.coloradotime.com, 2009 . [16] Microprocessador S.A., Variable Message Signs, www.mpdisplays.net, 2008. [17] Shenzhen Chip Optech Co., LTD, Ph16mm outdoor full color virtual pixel LED display, www.chipshow.com, 2008. [18] Maxim, Standard and White LED Basics and Operation - Appnote 3070, Maxim Integrated Products, Inc., 2004. [19] FreeRange Technologies, Inc, Introduction to USB, www.freerange.com, 2008. [20] David J. Meppelink, USB Technical Overview, 2003. [21] Embedded Systems Academy, Universal Serial Bus, www.esacademy.com, 2001. [22] Maxim, Using Lookup Tables to Perform Gamma Correction on LEDs - Appnote 3667, Maxim Integrated Products, Inc., 2005. [23] TAOS, TCS230 Programmable color light-to-frequency converter, Texas Advanced Optoelectronic
Solutions, Inc., 2003.

[24] John Sharp, Microsoft Visual C# 2008 Step by step, Microsoft Press, 2008. [25] U.S. Department of Energy, Lifetime of White LEDs, Building Technologies Program, 2006.

74

Anexo A - Esquemas elctricos

Fig. 1 - Esquema elctrico dos controladores dos LEDs

75

Fig. 2 - Esquema elctrico do controlador central

76

Fig. 3 - Esquema elctrico da placa CAN_PIC FST

77

Anexo B - Desenhos das PCBs

(a)

(b) Fig. 4 - Desenho da PCB dos controladores dos LEDs: a) Vista superior b) Vista inferior

Fig. 5 - Desenho da PCB do controlador central

78

(a)

(b) Fig. 6 - Desenho da PCB da placa CAN_PIC FST: a) Vista superior b) Vista inferior

79