globo de leds vcorrigida - páginas pessoais -...
TRANSCRIPT
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ
DEPARTAMENTO ACADÊMICO DE ELETRÔNICA
CURSO DE ENGENHARIA DA COMPUTAÇÃO
CLAUDIO AKIO NAMIKATA
EDUARDO DOMANSKI DOS SANTOS
RICARDO MARTINS OLIVEIRA FARAH
SULEIMAN AUGUSTO PAVÃO MAHMOUD
GLOBO DE LEDS
TRABALHO ACADÊMICO
CURITIBA
2010
CLAUDIO AKIO NAMIKATA
EDUARDO DOMANSKI DOS SANTOS
RICARDO MARTINS OLIVEIRA FARAH
SULEIMAN AUGUSTO PAVÃO MAHMOUD
GLOBO DE LEDS
Trabalho Acadêmico apresentado à
Unidade Curricular de Oficina de
Integração II do Curso de Engenharia
da Computação da Universidade
Tecnológica Federal do Paraná como
requisito parcial para aprovação.
Orientador: Prof. Dr. Hugo Vieira Neto
CURITIBA
2010
RESUMO
NAMIKATA, Cláudio Akio; SANTOS, Eduardo Domanski dos; FARAH, Ricardo
Martins Oliveira; MAHMOUD, Suleiman Augusto Pavão. Globo de LEDS.
2010. Universidade Tecnológica Federal do Paraná – Curitiba, Paraná.
Este projeto é um trabalho de caráter interdisciplinar que tem como
objetivo o desenvolvimento e documentação de um sistema mecânico-
eletrônico integrado com um software que possibilite a reprodução de imagens
em um globo de LEDs. Consiste em duas partes principais: a etapa mecânica e
a etapa eletrônica. A primeira fornecerá a estrutura física necessária para que,
em conjunto com a segunda, possibilite a demonstração do fenômeno phi e da
persistência da visão.
Palavras-chave: Globo, LEDs, Microcontrolador, Mecânico, Eletrônico,
Persistência da Visão, Fenômeno Phi.
ABSTRACT
NAMIKATA, Cláudio Akio; SANTOS, Eduardo Domanski dos; FARAH, Ricardo
Martins Oliveira; MAHMOUD, Suleiman Augusto Pavão. Globo de LEDS.
2010. Universidade Tecnológica Federal do Paraná – Curitiba, Paraná.
This project is an interdisciplinary study that aims to develop and
document an integrated electro-mechanical system with software that enables
reproduction of images in a LED POV globe. It consists of two main parts:
mechanics and electronics. The first one will provide the physical infrastructure
necessary so that, together with the second, allows the demonstration of the
persistence of vision and the phi phenomenon.
Keywords: Globe, LEDs, Microcontroller, Mechanical, Electronic, Persistence
of Vision, Phenomenon Phi.
LISTA DE SIGLAS
ASCII American Standard Code for Information Interchange
CPU Central Processing Unit
EEPROM Electrically-Erasable Programmable Read-Only Memory
HZ Hertz
JPEG Joint Photographic Experts Group
MCU Microcontroller Unit
MIPS Milhões de Instruções Por Segundo
LCD Liquid Crystal Display
LED Light Emitting Diode
PDV Persistência Da Visão
PLL Phase Lock Loop
RAM Random Access Memory
RISC Reduced Instruction Set Computer
RPM Rotações Por Minuto
SPI Serial Peripheral Interface
LISTA DE FIGURAS
Figura 1 - Eixo principal. ................................................................................... 15
Figura 2 - Protótipo do aparato. ........................................................................ 17
Figura 3 - Diagrama esquemático do transformador e pontes retificadoras
usadas. ............................................................................................................. 18
Figura 4 - Sensor de sincronismo: Emissor e Receptor Infravermelho. ........... 19
Figura 5 – Circuito do projeto utilizando o PIC 18F4620. ................................. 22
Figura 6 - ICD2. ................................................................................................ 24
Figura 7 – Assistente de configuração do PIC fornecido pelo CCS. ................ 26
Figura 8 - Image to ASCII Converter 1.1. ......................................................... 29
Figura 9 - Resultado da conversão da imagem JPEG para a matriz binária. ... 31
Figura 10 - Estrutura do algoritmo .................................................................... 32
SUMÁRIO
1 INTRODUÇÃO ............................................................................................... 8
1.1 MOTIVAÇÃO ............................................................................................... 9
1.2 JUSTIFICATIVA ........................................................................................... 9
1.3 OBJETIVOS ............................................................................................... 10
1.3.1 Objetivo Geral ................................................................................................ 10
1.3.2 Objetivos Específicos ..................................................................................... 10
2 REVISÃO BIBLIOGRÁFICA........................................................................ 11
2.1. PERSISTÊNCIA DA VISÃO ....................................................................... 11
2.2. FENÔMENO PHI ....................................................................................... 12
2.3 LED ............................................................................................................ 12
3 METODOLOGIA .......................................................................................... 14
3.1 PROJETO MECÂNICO .............................................................................. 14
3.1.1 Anel de Rotação ............................................................................................. 14
3.1.2 Preparação Mecânica para Alimentação ....................................................... 15
3.1.3 Rolamentos .................................................................................................... 16
3.1.4 Motor .............................................................................................................. 16
3.1.5 Protótipo ......................................................................................................... 16
3.2 PROJETO ELETRÔNICO .......................................................................... 17
3.2.1 Hardware ........................................................................................................ 17
3.2.1.1 Transformador e Diagrama Esquemático da Fonte de Alimentação ............. 17
3.2.1.2 Sensor ótico de sincronização ....................................................................... 19
3.2.1.3 Microcontrolador ............................................................................................. 19
3.2.1.4 Desenvolvimento ............................................................................................ 22
3.2.2 Software ......................................................................................................... 24
3.2.2.1 Programação do PIC 18F ............................................................................... 25
3.2.2.2 Características da Programação do Software ................................................ 27
3.2.2.3 Algoritmo ........................................................................................................ 28
3.2.3 Problemas Encontrados ................................................................................. 32
3.2.3.1 Gerais ............................................................................................................. 32
3.2.3.2 Estrutura Mecânica ........................................................................................ 32
3.2.3.3 Hardware ........................................................................................................ 33
3.2.3.4 Integração ...................................................................................................... 33
3.2.3.5 Software ......................................................................................................... 34
4 TRABALHOS FUTUROS ............................................................................ 35
5 CONCLUSÃO .............................................................................................. 36
REFERÊNCIAS ................................................................................................ 37
8
1 INTRODUÇÃO
Como constata Saba e Epiphanio (2001), o olho humano é um sensor
poderosíssimo, que em conjunto com o cérebro, capta imagens que
desvendam o mundo exterior com todas as suas formas, relevos, cores e
movimentos.
Para Pedrosa (2009), o olho humano está no cimo da linha de
desenvolvimento da sensibilidade das espécies diante dos fenômenos
luminosos e representa o mais elevado grau de aperfeiçoamento da matéria no
que tange à captação das manifestações da energia luminosa.
Na literatura é comum se encontrar a comparação do olho humano
com uma máquina fotográfica, devido ao sistema de lentes presente em
ambos. Entretanto, fisiologicamente, o olho tem uma capacidade
surpreendente quanto à fotossensibilidade, não podendo ser comparado a uma
simples máquina fotográfica.
O estudo fisiológico da óptica permite revelar particularidades do olho
dito “normal”, como exemplo a persistência das imagens na retina.
Baseado nessas particularidades e possuindo um breve conhecimento
sobre alguns assuntos estudados durante as disciplinas já cursadas pelos
integrantes do grupo, foi possível desenvolver um globo de diodos emissores
de luz que formam imagens de acordo com uma pré-programação feita pelo
usuário.
Neste documento serão mostrados os passos utilizados para a
confecção do globo, sua programação, as dificuldades encontradas e ainda
uma revisão sobre assuntos relevantes ao projeto.
9
1.1 MOTIVAÇÃO
A curiosidade e o desafio de realizar a construção do aparato
eletromecânico partindo de vídeos da internet é a motivação para este trabalho.
É importante comentar, também, sobre a facilidade devida ao fato de
um dos integrantes da equipe ter domínio sobre a utilização de
microcontroladores. Facilidade esta que foi prevista desde o início do projeto e
somou-se como motivação para sua realização.
1.2 JUSTIFICATIVA
Definida pela sua ementa, a disciplina de Oficina de Integração II do
curso de Engenharia de Computação ofertado pela UTFPR tem por objetivo a
integração dos conhecimentos de disciplinas de formação básica e
profissionalizante obtidos até o momento:
Integração dos conhecimentos de disciplinas de formação básica e profissionalizante obtidos até o momento. Aplicação dos conceitos de metodologia científica para o desenvolvimento, em equipes, de um sistema computacional (software e/ou hardware) contemplando essa integração. Aplicação dos conceitos de metodologia científica e comunicação e expressão para a elaboração e apresentação oral de relatório final dos resultados do projeto desenvolvido. (BRASIL, 2010).
Assim, uma das justificativas para o projeto é o atendimento ao que
consta na ementa da disciplina de Oficina de Integração II, pois através de seu
desenvolvimento conhecimentos sobre fisiologia, física, eletrônica, mecânica e
programação serão abordados e integrados.
Cabe ainda dizer que sendo a disciplina ministrada por professores da
área de eletrônica e física, procurou-se um projeto que trabalhasse com um
tema nessas áreas para tornar o acesso à orientação mais rápida, prática e
frequente.
10
1.3 OBJETIVOS
1.3.1 Objetivo Geral
Construir um globo de LEDs que gere imagens de acordo com uma
pré-programação feita pelo usuário. Seu funcionamento será com base na
teoria da persistência da visão e do fenômeno phi.
1.3.2 Objetivos Específicos
Construir um projeto mecânico como estrutura para o globo de
LEDs;
Construir um projeto eletrônico para controlar o funcionamento
dos LEDs;
Desenvolver um software para MCU PIC capaz de reproduzir uma
imagem qualquer no globo de LEDs;
Integrar os projetos mecânico, eletrônico e o software.
11
2 REVISÃO BIBLIOGRÁFICA
Como explica Guyton, a retina é a parte fotossensível do olho. É na
retina que estão as células responsáveis pela formação das cores e pela visão
em ambientes pouco iluminados.
A retina é a parte fotossensível do olho. Nela estão contidos os cones, que são responsáveis pela visão a cores, e os bastonetes, que são, principalmente responsáveis pela visão no escuro. Quando os cones e bastonetes são excitados, os sinais são transmitidos através de neurônios sucessivos, localizados na própria retina, chegando, finalmente às fibras do nervo óptico e ao córtex cerebral. (Guyton, 1988).
2.1. PERSISTÊNCIA DA VISÃO
A persistência da imagem, também conhecida como persistência da
retina, ou ainda retenção retinal, é uma propriedade do olho humano de “reter”
na retina a imagem captada durante um pequeno intervalo de tempo.
Essa propriedade é percebida quando o olho é exposto a uma fonte
luminosa e em seguida é exposto à total escuridão, pois a luz que penetra a
retina é gravada e leva algum tempo para se desfazer (OLIVEIRA, 2009). Essa
persistência da imagem na retina permite a fusão de imagens intermitentes
(GUYTON & HALL, 2006).
A percepção das imagens não é instantânea. É necessário um período
de latência – relativo à cada cor – para que a imagem seja captada. Porém
esse período é aproximadamente compensado pela retenção retinal
(PEDROSA, 2009)
O tempo de persistência da imagem na retina é de aproximadamente
1/10 segundo (GAIOSKI, LEHMKUHL, & COSTA, 2007). Assim, se as
excitações sobre a retina forem feitas com intervalos menores cada impressão
ainda encontra a anterior, à qual se pode ligar, dando-nos uma idéia de
continuidade.
12
2.2. FENÔMENO PHI
Se dois estímulos são expostos aos olhos em diferentes posições, um
após o outro e com pequenos intervalos de tempo, os observadores percebem
um único estímulo que se move da posição primeira à segunda (MACHADO,
2007). A este fenômeno foi dado o nome de Phi, e trata-se, segundo seu
descobridor Wertheimer (1912), de um fenômeno psíquico (e não óptico ou
fisiológico).
Para que a interpretação do movimento ocorra é necessário um
intervalo de mascaramento, como ocorre nos cinemas (AUMONT, 2004). Entre
uma imagem e outra: o obturador bloqueia a luz, gerando um efeito de
mascaramento. Na televisão, pode-se obter o mesmo efeito entrelaçando as
linhas horizontais pares e as linhas horizontais ímpares (ROSS, 2007).
O fenômeno Phi é responsável pela síntese do movimento numa
sequência de imagens exibidas intermitentemente.
2.3 LED
Para melhor entender o funcionamento do globo de LEDs deve-se
destacar alguns conceitos importantes como a sua definição. LED é a sigla que
vem do inglês Light Emitting Diode que significa Diodo Emissor de Luz. O LED
é um diodo semicondutor, constituído por um chip o qual possui uma ponta
metálica com um cristal ou resina epóxi de semicondutor e no qual existe uma
junção P-N, este quando energizado emite luz.
O primeiro LED foi fabricado, em 1962, na fábrica da General Electric
pelo engenheiro Nick Holoniak Jr. Estes eram de cor única, o vermelho. Alguns
anos depois surgem os LEDs das cores verde e amarelo. Em 1993 surgiu o
primeiro LED de cor azul viável comercialmente. Graças a essa descoberta o
pesquisador japonês Shuji Nakamura pode criar o LED de luz branca, que nada
mais é que o LED azul com uma camada de fósforo. Esse material, em cima do
13
semicondutor, converte a luz ultravioleta em luz branca, como ocorre na
fluorescente.
A luz emitida pelo LED não é monocromática como em um laser, mas,
consiste de uma banda espectral de comprimento de onda simples, a qual é
produzida por interações energéticas dos elétrons. A emissão de luz através da
aplicação de uma fonte elétrica de energia é conhecida como
eletroluminescência. O brilho do LED ocorre através de uma recombinação de
lacunas e elétrons, que ocorre na junção P-N polarizada diretamente, a qual
exige que a energia possuída por esses elétrons seja liberada na forma de
calor ou fótons de energia. O comprimento da onda, ou seja, a cor do feixe
depende do material formado pela junção P-N que é o material usado para
fazer o chip do LED.
O LED possui muitas vantagens em relação a outras fontes de luz,
como por exemplo:
São dispositivos muito mais sólidos e potentes, o que faz com que
não sejam suscetíveis as vibrações;
Se usados de forma correta podem ter uma vida útil de 50.000 a
100.000 horas;
Por seu pequeno tamanho consomem pouca carga e
consequentemente utilizam pouca energia;
Operam em baixa tensão;
Convertem aproximadamente 40% de energia elétrica em luz, ao
contrário das luzes incandescentes que convertem apenas 5%.
14
3 METODOLOGIA
O projeto consiste na construção de um aparato que, baseado nos
princípios de persistência da visão e do fenômeno phi, irá gerar imagens
através da rotação de um arco impregnado de LEDs. Tais LEDs foram
programados para acender ou apagar a cada posição que assumir em uma
rotação do arco. Essa programação para acendimento foi feita utilizando um
microcontrolador PIC 18F4620.
Para melhor aproveitamento do tempo, o projeto foi desenvolvido em
duas etapas principais: etapa mecânica e etapa eletrônica.
A seguir, descrevemos em detalhes o desenvolvimento de cada etapa
do projeto.
3.1 PROJETO MECÂNICO
A estrutura mecânica do projeto se baseou em algumas ideias vistas
no próprio Youtube®, onde em alguns casos havia o suporte fixo em bancadas,
e outros que até mesmo foram criados a partir de ventiladores.
Sendo assim, a estrutura mecânica atual é composta por quatro fatores
conjuntos fundamentais, que são:
O tripé de apoio e o arco de sustentação;
O anel de rotação;
O motor;
Os rolamentos e o contato de alimentação.
3.1.1 Anel de Rotação
A maioria dos projetos encontrados na internet utiliza a disposição dos
LEDs em uma circunferência. A explicação para isso é simples: a partir dessa
15
configuração é possível obter a imagem contida em uma esfera, o que
possibilita a formação de textos em perspectiva, assim como a projeção do
mapa-mundi (imagem mais popular dos globos PDV da internet). O anel de
rotação do projeto, que foi improvisado de uma tampa metálica de lixo, tem
22cm de diâmetro, 1mm de espessura e 1,5cm de largura, constituindo uma
adaptação mecânica importante para a disposição dos LEDs.
3.1.2 Preparação Mecânica para Alimentação
Diferentes dos outros itens anteriores que foram inspirados em projetos
já criados, a alimentação de tensão da placa foi feita de uma maneira diferente,
não utilizando nenhuma bateria.
Partindo do fato de que o anel de rotação precisaria de um eixo para
rodar, e que este seria o mesmo eixo onde a placa seria fixa, fez-se a
alimentação em dois contatos (VCC e GND) do próprio eixo, conforme a figura
1.
Figura 1 - Eixo principal.
16
Para que houvesse o contato do fio, inicialmente foi utilizada a própria
palha de aço doméstica, depois substituída por escovas de carrinhos de
autorama, uma ideia apresentada pelo professor orientador do projeto.
3.1.3 Rolamentos
Os rolamentos foram uma solução encontrada para que houvesse o
menor atrito possível na rotação do anel juntamente com a placa e os LEDs.
3.1.4 Motor
O motor foi o último item a ser incluído no projeto mecânico pois a sua
condição de funcionamento dependia criticamente da massa do conjunto
mecânico (eixo de rotação, placa do circuito, fios e LEDs), que juntos pesavam
aproximadamente 250g.
Na busca por motores pequenos e baratos que mantivessem um torque
superior ao peso do conjunto mecânico, foram encontradas muitas
configurações de motores em que o torque inicial era muito grande (até 1 kg),
mas que quando em regime permanente de operação era muito baixo
(aproximadamente 150g). Esse problema ocorreu até acharmos o motor que
mantinha 200g de torque, o que foi suficiente para cobrir a frequência mínima
para o efeito de persistência da visão e manter o arco girando com toda a sua
massa embutida.
3.1.5 Protótipo
A figura 2 mostra o protótipo da parte mecânica do aparato.
17
Figura 2 - Protótipo do aparato.
3.2 PROJETO ELETRÔNICO
3.2.1 Hardware
3.2.1.1 Transformador e Diagrama Esquemático da Fonte de Alimentação
Nesse projeto utilizou-se um transformador de tensão de rede para
uma tensão nominal de 0-9V e 0-22V. Esta tensão foi posteriormente retificada
com pontes retificadoras de 0,5A e filtrada com dois capacitores eletrolíticos de
18
tensões máximas diferentes. O motivo de uma ponte para a placa e outra para
o motor deveu-se à necessidade de duas tensões diferentes.
Depois de filtradas (pelos capacitores), as tensões, agora contínuas,
passaram por dois reguladores de tensão, 7805 e 7824. Do primeiro tem-se a
saída para a alimentação da placa; do segundo, com a regulagem de tensão
usando um potenciômetro e um transistor NPN, TIP122, utilizado para ganho
de corrente (que entra na base e é amplificada na saída coletora, observando-
se a relação de temperatura com o ganho na tensão e o efeito dissipativo
nesta) para o motor (contínuo, até 24V, aproximadamente 18999 RPM, torque
200g).
Na figura 3 é apresentado o diagrama esquemático deste sistema:
Figura 3 - Diagrama esquemático do transformador e pontes retificadoras usadas.
Durante as pesquisas para a realização do trabalho a velocidade de
giro do motor foi levada em consideração, de forma que se utilizou de um
potenciômetro para que a regulação da alimentação deste fosse simples diante
das tentativas de visualização das imagens. Os reguladores de tensão foram
utilizados para as tensões máximas que seriam usadas, o potenciômetro serviu
portanto para tornar a regulação ajustável, a utilização da família de circuitos
integrados LM, em implementações futuras será digna de estudo.
19
3.2.1.2 Sensor ótico de sincronização
A sincronização é feita com base na composição de um par emissor-
receptor infravermelho e é utilizado para que a temporização dos LEDs
independa das variações de velocidade do motor. Trata-se basicamente de um
sistema de realimentação.
O funcionamento é simples: o diodo infravermelho emissor fica preso à
base metálica e o receptor gira com o arco de LEDs. A cada volta completa
captura-se o sinal do emissor, e dessa forma, sabemos exatamente o momento
de uma volta. Esse valor é anotado pelo MCU PIC 18F4620 e a temporização é
então regulada, ou não, caso não tenha variado o tempo da volta.
A figura 4 mostra esquematicamente o emissor e o receptor.
Figura 4 - Sensor de sincronismo: Emissor e Receptor Infravermelho.
3.2.1.3 Microcontrolador
20
Microcontroladores são dispositivos compostos por memória, CPU,
unidade de transferência de dados, temporizadores e unidade de comunicação
(serial, paralelo). No projeto utilizou-se a MCU PIC 18F184620.
MCU PIC
A arquitetura dos microcontroladores PIC é do tipo Harvard e RISC.
Assim, são computadores com um conjunto reduzido de instruções (Reduced
Instruction Set Computer) em que a memória de dados (EEPROM e RAM) é
separada da memória de programa (FLASH), o que possibilita um maior fluxo
de dados através da CPU, ou seja, maior velocidade de execução. Além disso,
essa separação faz com que as instruções possam ser representadas em mais
de 8 bits.
Os PICs possuem em geral características básicas fundamentais:
temporizador, watchdog, memória flash e memória não volátil:
Temporizador: contador de 8 bits, funciona independentemente
da execução do programa. No final da execução de 4 ciclos de clock do
oscilador, o temporizador incrementa um valor (até 255). Como se sabe
o tempo exato entre os intervalos desse incremento, pode-se calcular o
tempo entre dois instantes.
Watchdog: quando o temporizador trava, um contador será
incrementado, e ao atingir um valor limite, o watchdog zera o contador
e força o RESET do microcontrolador.
Memória Flash: memória de programa. Pode ser apagada e
reescrita.
Memória EEPROM: mantida mesmo sem a alimentação. Será útil
para manutenção de dados fixos, como velocidade do motor, etc.
Memória RAM: memória utilizada durante a execução,
temporária.
21
PIC 18F4620
As principais características do PIC 18F4620 utilizado no projeto são:
Memória
Memória Flash: 64 KBytes;
RAM de 3,968 Bytes;
EEPROM de 1 KByte;
CPU
Aproximadamente 10 MIPS;
Compilador C para arquitetura RISC;
Instruções podem ser acessadas em ciclos únicos;
Trabalho com data, timer e A/D interrupts;
Sistema
Oscilador interno de 31kHz até 8MHz, e alcançando até mais de
40MHz com a utilização do PLL (Phase Lock Loop, um multiplicador
de frequência);
Monitor Fail-Safe, que permite operar em baixa velocidade e o
desligamento da aplicação;
Watchdog Timer com oscilador independente RC;
Tensões de alimentação abrangidas de 4,2 até 5V;
Modos de baixo consumo de energia
Execução, espera e ocioso, cada um rodando com uma tensão
específica.
Sistema de conversão A/D (Conversor analógico para digital)
Características de conversão de input analógico em 13 canais para
digital de 10 bits.
Na figura 5, mostra-se o circuito usado no projeto.
22
Figura 5 – Circuito do projeto utilizando o PIC 18F4620.
3.2.1.4 Desenvolvimento
O desenvolvimento do software exigiu conhecimentos sobre o uso da
principal IDE da Microchip, bem como de programação em C ambientada com
os compiladores e específica para o 18F4620.
Foram utilizados os temporizadores internos e o PLL foi utilizado para
obtenção de maior clock.
MPLAB v8.56
O MPLAB v8.56 é a ferramenta principal de desenvolvimento de
software para MCU PIC. Ela possibilita a programação e o debug do software
23
em um ambiente gráfico. Neste projeto o MPLAB foi utilizado somente para a
gravação do programa no PIC.
HighTech Pro v9.63 Trial e CSS
O MCU funciona como um computador, em código de máquina.
Portanto ao desenvolver o software foram utilizados - além dos compiladores
indicados pela fabricante da MCU - a IDE (MPLAB v8.56) e os compiladores
HighTech e CCS que proporcionaram maiores praticidades como a utilização
dos assistentes de configuração para PIC’s.
Utilizamos a versão temporária do compilador Hightech e uma versão
registrada do compilador CCS.
ICD2 e ICD2 BR
O ICD2, assim como PicKit2, é um kit prático para o uso do MCU.
Trata-se de um dispositivo que faz a comunicação do MCU com o ambiente de
desenvolvimento, sua tarefa principal é gravar o programa desenvolvido pelas
IDE’s no MCU (conhecido também como burner em fóruns online). A figura 6
mostra o ICD2.
24
Figura 6 - ICD2.
Em determinado momento utilizamos o ICD2 BR, que apresenta igual
funcionamento e compatibilidade. Essa troca foi feita devido à indisponibilidade
de empréstimo do ICD2.
A versão a qual tivemos acesso é incompatível com sistema
operacional de 64bits, para programação, portanto utilzou-se de uma máquina
virtual (VirtualBox 3.2.10 da Oracle).
O ICD2 integrado ao MPLAB v8.56 possibilita a transferência do
arquivo .hex ao MCU.
3.2.2 Software
25
3.2.2.1 Programação do PIC 18F
Antes de começar o projeto efetivamente, buscou-se a maior
quantidade de referências possíveis, das quais a mais importante delas foi o
trabalho de um russo chamado Csaba Bleuer (BLEUER, 2010) e o de seu
amigo _riko_81 (como era conhecido em comunidades online) (ELETRÔNICA,
2009), que em suma possuíam os projetos melhor elaborados e documentados
(apesar de estarem no idioma russo). No material fornecido pelos autores,
incluiu-se o software, o conversor de imagens para código ASCII e também um
esquema elétrico do hardware.
Mesmo com um projeto “pronto” em mãos, em virtude da grande
diferença de conceitos e de disponibilidade de tempo, materiais e idioma,
pouco pôde ser reutilizado para a efetivação desse trabalho. Em seu projeto,
Csaba Bleuer (BLEUER, 2010) utilizou um microcontrolador ATMEGA8, que é
um componente indisponível à pronta entrega em Curitiba. Assim, observando
que nas lojas de eletrônicos de Curitiba havia certa quantidade e variedade de
microcontroladores Microchip, optou-se pelo PIC18F4620 de 40 pinos. Suas
configurações satisfazem as necessidades dos projetos utilizados como
inspiração, como por exemplo, a memória (3,968k) e a frequência do clock
(cerca de 40MHz).
Com o microcontrolador em mãos, identificou-se uma enorme diferença
de conceitos no quais os dois projetos estavam inseridos (entre a arquitetura
PIC e ATMEL). Csaba Bleuer (BLEUER, 2010) utilizou em seu projeto 64 leds,
número muito superior à quantidade de portas que o ATMEGA8 oferecia, para
tanto, complementarmente adicionou ao seu projeto 4 expansores de porta SPI
de 16 bits, que tinham como função principal aumentar a quantidade de pinos
do ATMEGA. Tentando simplificar ao máximo esse conceito, resolveu-se
aproveitar as portas disponíveis de um único microcontrolador, por isso, o
PIC18F4620 de 40 pinos foi uma escolha suficiente. Dentre os pinos
disponíveis, 4 eram de alimentação, 2 VCCs(5V), 2 GNDs (reset), 2 foram
destinados ao cristal de oscilação, um pino reservado ao Master Clear e um ao
sensor de ciclo, restando então 32 portas para colocarmos 32 LEDs para a
26
exibição da imagem. Embora a quantidade de LEDs neste projeto seja a
metade da encontrada no projeto de Csaba Bleuer, ainda conseguiu-se uma
boa resolução de imagem, como previsto com base em outros projetos
encontrados na internet.
Para o desenvolvimento do software do projeto, foi utilizando o
compilador CCS v.4.068 (CCS Inc, 2010), em virtude de seu grande uso no
mercado para soluções que aplicam microcontroladores em sistemas
embarcados
Assim como qualquer processo intelectual que envolve etapas de
construção, começar um novo projeto nesse compilador envolve alguns passos
básicos que são listados em uma tela de configuração, como na figura 7.
Figura 7 – Assistente de configuração do PIC fornecido pelo CCS.
Essa tela de interface com o usuário permite definir as configurações
específicas de cada microcontrolador, que outrora em versões anteriores do
compilador eram inseridas diretamente no código fonte do programa.
27
Essa tela resume algumas propriedades estabelecidas na ficha de
dados (do datasheet) de cada microcontrolador. Nela existem várias opções de
configuração de funcionamento que listam desde a possibilidade de utilizar o
componente em um modo de trabalho master-slave, até quais portas utilizar
para se ligar um display LCD, por exemplo.
A execução do programa pela MCU exige os seguintes procedimentos:
1) Desenvolvimento do código. No nosso caso, ambientada
principalmente na IDE CSS. Um arquivo .c é gerado;
2) Compila-se o arquivo, gerando um arquivo .hex;
3) Cria-se o projeto no MPLAB v8.56, importam-se os arquivos .hex e
.c;
a. Dentro do MPLAB v8.56 muda-se o modo para
‘Programming’, com o ICD2 devidamente selecionado.
b. Faz-se a gravação dos dados na MCU (Program).
Durante esse processo identificaram-se alguns problemas como mais
comuns (eles estão mencionados juntamente com as soluções na seção 3.3).
3.2.2.2 Características da Programação do Software
No escopo do objetivo do projeto, é importante destacar os itens:
General;
Timer;
Interrupts;
I/O Pins;
IntR Oscillator Config.
No item “General” são configuradas as principais propriedades do
projeto, como o tipo de microcontrolador utilizado, a frequência de trabalho
(clock), além de algumas propriedades específicas citadas com maior ênfase
na seção 3.2.1.
28
Na seção “Timer”, escolhe-se qual dos três temporizadores utilizar,
definindo o seu tempo de resolução de contagem e o tempo em que irá ocorrer
o estouro (overflow).
Exemplo de código: setup_timer_2(T2_DIV_BY,4,1);
Como uma seção complementar, a seção de interrupções cria métodos
fora da rotina principal que identificam quando conversão analógico-digital,
overflow de temporizadores, queda de tensão, entre outros, acontece em
algum momento no microcontrolador. No projeto, o timer 2 foi utilizado em uma
resolução de 1.0 µS e com um overflow de 10.0 µS.
Exemplo de código: enable_interrupts(INT_TIMER2);
“I/O Pins” determina se os pinos utilizados serão de entrada ou de saída
(de dados ou de tensão analógica – ADC). Nesse campo, a única porta que foi
definida como entrada foi o sensor de ciclo (sincronizador), todas as outras
portas destinadas aos LEDs, foram definidas como saídas.
E finalmente IntR Oscillator Config, que habilita as propriedades de
oscilador interno do microcontrolador. Contornando o problema do número
limitado de portas, optou-se por utilizar a configuração de oscilador interno para
eliminar a necessidade de se utilizar o cristal externo de oscilação. A sua
configuração inicialmente foi de 8MHz, que posteriormente foi ampliada a
32MHz com a utilização do PLL multiplicador.
Exemplo de código:
setup_oscillator(OSC_8MHZ|OSC_NORMAL|OSC_31250|OSC_PLL_ON);
3.2.2.3 Algoritmo
Após definir todas as configurações necessárias do microcontrolador,
no algoritmo primeiramente é feita a verificação do funcionamento de todos os
LEDs ligando-os e desligando-os em pequenos intervalos de tempo. Depois
disso, espera-se um tempo de 3s (obtido empiricamente) para que o motor
esteja com sua velocidade máxima estável.
29
Na sequência, com o intuito de obter a velocidade de rotação, é colhida
a medida de tempo de uma volta completa do arco através da contagem do
temporizador dois. Utilizando esse dado, juntamente com a informação do raio
da circunferência, é possível definir qual é a velocidade de rotação do arco, e
consequentemente qual será o tempo em que cada coluna deverá ser acesa.
A quantidade de colunas foi calculada através do raio da circunferência
que era de 110 mm e do diâmetro dos LEDs utilizados que era igual à 3mm.
Logo, o número de colunas foi:
23031102
Depois de obter essa informação, começou-se a enviar os dados que
serão mostrados no globo.
Baseados nas observações dos inúmeros projetos nas comunidades
de eletrônica ((BLEUER, 2010), (CHETNIC, 2010), (EDORKI, 2008),
(BOTRONICS, 2007), (ELETRÔNICA, 2009), (PLEDIAYANO, 2009))
percebeu-se que a forma mais utilizada de se trabalhar com os dados que
deveriam ser visualizados era a sua conversão de formatos de imagem para
código ASCII. Utilizando o software IMAGE TO ASCII CONVERTER 1.1, de
Peter Bone, como mostra a figura 8, realizamos a conversão de algumas
imagens, com a cautela de mantê-las com uma altura de no máximo 32 linhas
e de 200 colunas.
Figura 8 - Image to ASCII Converter 1.1.
30
Dentro de um menu configurável do ASCII Converter foi possível
determinar os caracteres que seriam utilizados para a conversão. Nesse ponto
do projeto houve uma importante mudança conceitual. Csaba Bleuer
(BLEUER, 2010) em seu projeto primeiramente convertia a imagem para
código ASCII e depois transformava esses dados em uma matriz de bytes.
Dentro do código principal do Atmel, Csaba Bleuer, utilizou-se da biblioteca
“pgmspace.h”, criada por Marek Michalkiewicz (MICHALKIEWICZ, 2010), que
efetivamente lia a informação octal da matriz ASCII, e enviava o sinal para os
expansores de porta, cada um com autonomia para gerenciar o estado de 16
pinos. Diferente de Chetnic (CHETNIC, 2010), neste ponto optamos por
trabalhar diretamente com os valores da matriz, transformando-a em uma
enorme matriz binária e estipulando para cada “pixel” um valor de estado
booleano (1 ou 0 ), o que identificaria o estado ligado ou desligado do LED. A
figura 9 ilustra o estado final de uma imagem que inicialmente estava em
JPEG, e foi transformada em uma matriz binária:
31
Figura 9 - Resultado da conversão da imagem JPEG para a matriz binária.
Depois de definir propriamente a ‘forma’ dos dados da imagem a ser
projetada, o software ficou com uma estrutura relativamente simples. A cada
pulso que o sensor realiza ao completar uma volta são executados dois laços.
O mais externo identifica qual coluna está sendo lida, e o interno atualiza os
dados de cada elemento da coluna, linha por linha. Toda a questão do
incremento dos dois laços ocorre depois que houve o impulso do sensor -
indicando sincronismo - como uma marca de referência para o início da
transmissão de sinal.
O status da porta deve-se ao valor que é lido da matriz, como se pode
observar na figura abaixo, se o valor lido é 1 a porta está ligada, caso contrário
está desligada. O índice de cada LED é avaliado pela linha que está sendo
analisada. Caso se encontre entre a primeira e a oitava linha, representa a
porta A, isso se repete sequencialmente até chegar à porta D, a última.
32
Figura 10 - Estrutura do algoritmo
3.2.3 Problemas Encontrados
3.2.3.1 Gerais
O problema mais pontual na equipe foi a dificuldade em encontrar um
horário comum de trabalho, pois todos trabalham fora da Universidade. O
tempo de aula foi importante para poder adiantar diversos aspectos que por
vezes se encontravam atrasados, ora trabalhou-se em sala, ora foi usado para
reunião externa, de forma a se encaixar em um cronograma ideal.
3.2.3.2 Estrutura Mecânica
A estrutura mecânica inicialmente não apresentou nenhum problema
em virtude de ser composta apenas por um tripé metálico e o seu arco, que a
princípio era uma secção de um cano PVC de aproximadamente 200 mm de
diâmetro. O problema realmente começou quando o motor começou a girar o
33
arco, pois este veio a romper com a sua deformação estrutural (achatamento
na zona equatorial), o que quase causou um acidente com um dos membros da
equipe. Após essa experiência, o arco foi substituído de forma estratégica por
uma adaptação feita a uma tampa metálica de lixo, mais resistente ao
achatamento e à disposição de novos furos para inserção de LEDs.
Outro problema de importante destaque foi a fixação do motor.
Inicialmente, o motor era preso bilateralmente, ou seja, não tinha folga de
movimento, o que causava superaquecimento. A solução encontrada foi
prender apenas uma extremidade, o que o deixou mais livre seu movimento,
reduzindo o problema.
3.2.3.3 Hardware
O hardware apresentou um problema que era em parte esperado, mas
necessitou de confirmação empírica. Utilizaram-se inicialmente todos os LEDs
compartilhando o mesmo resistor de anodo. Por inferir que o brilho dos
resistores seria igual em virtude de piscarem em um intervalo de tempo muito
pequeno, resolveu-se testar essa configuração. Falhou, colocou-se, portanto,
um resistor para cada LED, assegurando o fluxo de corrente e seu brilho.
3.2.3.4 Integração
Um problema que pode ser considerado tanto como da parte mecânica,
quanto do hardware, foi a dificuldade em estabelecer os contatos elétricos de
alimentação. Inicialmente tentou-se utilizar até esponjas de aço, que
funcionava, mas sofria desgaste rapidamente. Esse aparato acabou sendo
substituído por contatos de autorama, pois apresentavam melhor desempenho
e durabilidade e assim melhoraram a rotação do globo.
Outro ponto peculiar que pode ser destacado foi a utilização do sensor
e a dificuldade de posicioná-lo em frente ao emissor infravermelho, depois de
34
várias tentativas, a posição ideal foi encontrada ao deixar o receptor levemente
inclinado em relação ao emissor (isso se deve ao pequeno ângulo de recepção,
+-20 graus para modelos de 3mm).
3.2.3.5 Software
O software apresentou vários problemas desde o início. Embora suas
resoluções tenham sido encontradas, uma teve destaque: a configuração do
clock. Inicialmente foi utilizado um clock interno de 8MHz, o que não era
suficiente para atualizar os dados nas colunas a cada incremento do laço.
Com o intuito de contornar esse problema definiu-se o clock utilizando
um cristal externo de oscilação com o multiplicador ativado (PLL 4X), essa
configuração ficou muito suscetível à trepidação, o que parecia até mesmo um
ruído elétrico.
Ao analisar melhor o oscilador interno, descobriu-se que nessa
configuração também existia a possibilidade de utilizar o multiplicador PLL para
elevar o clock interno (anteriormente elevava-se o clock do oscilador externo)
de 8MHz para 32 MHz, o que acabou sendo mais do que suficiente para a
atualização dos dados da imagem.
35
4 TRABALHOS FUTUROS
Como sugestão de trabalhos futuros, é importante destacar o
desenvolvimento de um Globo de LEDs com maior resolução na imagem
gerada e imagem colorida, um globo feito com LEDs RGB.
Outro projeto plausível é fazer um globo que possua interação com o
usuário através de botões, por exemplo, um jogo de tétris.
Um trabalho bem interessante também foi proposto pela professora
Neysa Regattieri, membro do Departamento de Física da UTFPR Curitiba, que
consistiria em fazer um protótipo de um olho para mostrar como se dá a
formação da imagem gerada pelo globo no cérebro humano, ou seja, como a
pessoa interpreta essa imagem.
Vale citar também a idéia de projetar no globo a imagem captada de
uma câmera.
36
5 CONCLUSÃO
O projeto atingiu as metas inicialmente traçadas, alcançou um estado
final, tornando possível a constatação do fenômeno Phi e da persistência da
visão. Comprovou-se empiricamente com o aparato construído que a
velocidade de rotação dos LEDs nos dava a formação de uma imagem
estática, conforme o esperado e descrito no decorrer do projeto. Quanto ao
fenômeno Phi, observou-se que o semiarco onde não havia LEDs fixados
provocava o efeito de mascaramento necessário para que interpretássemos a
figura se movimentando.
Conforme incitado na etapa de pré-projeto, percebeu-se enfim, a
viabilidade comercial do produto de trabalho, tendo em vista que o resultado
alcançado apresentou custo mais baixo do que o esperado. Tratando-se de
comercialização, as melhorias tecnológicas são benéficas quanto ao
desempenho e impacto visual do produto, diante de circuitos menores, melhor
resolução de imagem, display colorido e com diversas programações e com
interação com o usuário, etc.
Dessa forma, após a realização desta documentação e da construção
do produto, é possível caracterizar este esforço como uma etapa válida para o
aprendizado e a aplicação de conhecimentos além dos vistos até o momento
nos cursos da ementa acadêmica. Assim, o resultado obtido não é somente um
produto de trabalho, mas um instrumento de estudo aos discentes, reforçado
pelas soluções para a resolução dos problemas encontrados.
37
REFERÊNCIAS
AUMONT, J. (2004). A imagem. Campinas: Papirus.
BLEUER, C. (2010). Rotating LED Globe. Acesso em Setembro de 2010,
disponível em Hacked GadGets: http://hackedgadgets.com/2010/05/03/rotating-
led-globe/
BOTRONICS (Diretor). (2007). 3D Orbs at Makers Fairs 07 [Filme
Cinematográfico].
CCS INC. (June de 2010). C Compiler Reference Manual. Acesso em
Outubro de 2010, disponível em Custom Computer Inc.:
http://www.ccsinfo.com/downloads/CReferenceManual.pdf
CHETNIC (Diretor). (2010). LED Globe Project [Filme Cinematográfico].
EDORKI (Diretor). (2008). LED Globe At Maraikan [Filme Cinematográfico].
ELETRÔNICA, F. R. (24 de Dezembro de 2009). 3D LED Globe. Acesso em
Setembro de 2010, disponível em Easy Electronics:
http://easyelectronics.ru/3d-led-globus.html
38
EVERLIGHT. (s.d.). Acesso em Outubro de 2010, disponível em
http://www.vtm.co.uk/PDF/Everlight/IR204.pdf
GAIOSKI, E. R., LEHMKUHL, G. S., & COSTA, R. K. (2007). Dispositivo
luminoso com colunas giratórias de diodos emissores de luz. Curitiba,
Paraná: Universidade Federal do Paraná.
GUYTON, A. C., & HALL, J. E. (2006). Tratado de fisiologia médica. Elsevier
Brasil.
MACHADO, A. (2007). Pré-cinemas & pós cinemas. Campinas: Papirus.
MESQUITA, D. C., & ALMEIDA, L. G. (2008). Um estudo sobre as técnicas
de computação gráfica em animação de personagens. Belém.
MICHALKIEWICZ, M. (16 de Junho de 2010). Program Space Utilities.
Acesso em Setembro de 2010, disponível em AVR Libc: http://avr-
libc.nongnu.org/user-manual/group__avr__pgmspace.html
MICROCHIP. (2009). Microcontrollers. Acesso em Setembro de 2010,
disponível em Microchip: http://www.microchip.com/
OLIVEIRA, F. G. (2009). Cruzamento entre a cultura visual, a ilusão de
movimento e animação. Goiás.
39
PEDROSA, I. (2009). Da cor à cor inexistente. Rio de Janeiro: Senac
Nacional.
PLEDIAYANO (Diretor). (2009). 3D LED Display Globe si [Filme
Cinematográfico].
ROSS, J. (2007). Televisão analógica e digital. São Paulo: Antenna Edições
Técnicas.
SABA, M. M., & EPIPHANIO, I. D. (2001). Abrindo o olho: dissecando um
olho de boi para entender a óptica do olho humano. Física na Escola .