• Nenhum resultado encontrado

FACULDADE DE TECNOLOGIA DE SÃO PAULO CURSO DE MATERIAIS, PROCESSOS E COMPONENTES ELETRÔNICOS

N/A
N/A
Protected

Academic year: 2019

Share "FACULDADE DE TECNOLOGIA DE SÃO PAULO CURSO DE MATERIAIS, PROCESSOS E COMPONENTES ELETRÔNICOS"

Copied!
61
0
0

Texto

(1)

FACULDADE DE TECNOLOGIA DE SÃO PAULO

CURSO DE MATERIAIS, PROCESSOS E COMPONENTES

ELETRÔNICOS

Bruno Toledo Resende

Letreiro Digital Estroboscópico Multicolorido com 7 LEDs

SÃO PAULO

(2)

2

FACULDADE DE TECNOLOGIA DE SÃO PAULO

CURSO DE MATERIAIS, PROCESSOS E COMPONENTES

ELETRÔNICOS

Bruno Toledo Resende

Letreiro Digital Estroboscópico Multicolorido com 7 LEDs

SÃO PAULO

2012

Trabalho de conclusão do curso, apresentado para

obtenção do grau de tecnólogo no Curso de

Tecnologia em Materiais, Processos e Componentes

Eletrônicos da Faculdade de Tecnologia de São

Paulo.

(3)

3

AGRADECIMENTOS

Em especial, aos meus pais José Carlos e Maria Teresa, à minha irmã

Cristhiane e todos os meus familiares, que são a razão da minha vida e sempre me

apoiaram em todos os momentos.

Ao Prof. Roberto Katsuhiro Yamamoto, pela orientação, confiança e apoio

durante o trabalho.

Aos professores da FATEC-SP, por tudo que me ensinaram ao longo do

curso.

(4)

4

“O segredo do sucesso é saber algo que ninguém mais sabe”

(5)

5

RESUMO

Letreiros digitais são usados para dar notícias, para informar sobre

promoções, novidades, chamando a atenção para um determinado assunto, etc. São

comumente utilizados em transportes públicos, hospitais, rodovias, supermercados,

e diversos outros lugares, com o objetivo de atrair a atenção das pessoas para a

mensagem que é mostrada. Os letreiros digitais são feitos com a utilização de

matrizes com grande quantidade de LEDS. Este trabalho tem como objetivo

oferecer uma alternativa criativa e chamativa para letreiros digitais comuns que

utilizam matrizes de LEDs. O letreiro digital estroboscópico utiliza somente 7 LEDs

multicoloridos controlados por um microcontrolador, uma estrutura giratória e uma

velocidade de giro adequada. Quando é feita a sincronização entre os LEDs e a

velocidade do motor, graças a uma anomalia na visão humana, o letreiro mostra a

frase como se estivesse flutuando no ar e há possibilidade de ser visto de pontos

distintos. A frase pode ser escolhida entre as pré-definidas na programação, através

de uma conexão com um computador. O desenvolvimento do trabalho envolveu a

parte eletrônica e programação do microcontrolador, além da montagem da estrutura

e adaptação do motor. Foram feitos diversos testes para aperfeiçoar a

sincronização, mudando valores das rotinas de tempo do programa e a velocidade

do motor, até que fosse feita a sincronização que atendesse aos objetivos. Durante

o desenvolvimento surgiram pequenos contratempos, que foram resolvidos e outros

que necessitaram de uma mudança no programa. Os resultados finais são

satisfatórios, o letreiro mostra as frases escolhidas flutuando no ar e a utilização de 2

(6)

6

ABSTRACT

Digital displays are used for giving news, to inform about promotions, calling

attention to a specific subject, etc. Digital displays are usually used at public

transportation, hospitals, roads, markets, and another places, with the intention of

calling people’s attention for the message that is showed. This work aims to offer a

creative and flashy alternative to common digital signage using arrays of LEDs. The

stroboscopic digital display uses only 7 multicolored LEDs controlled by a

microcontroller, a rotatory structure at an adequate velocity. When is made the

synchronism between LEDs and motor velocity, because of an anomaly in the

human vision, the display shows the phrase looking like it’s fluctuating in the air, and

there is possibility of being seen from different spots. The phrase can be chosen

between one of the pre-defined phrases from the programming, through a connection

with the computer. The work’s development involves electronics and microcontroller

programming, besides that, involves the structure mounting and motor adaptation.

Several tests were made to improve the synchronization, and the motor velocity,

changing values of the time routines of the program, until the ideal synchronism had

been reached. During the development drawbacks have been solved, some of them

required a change in the program. The results were satisfactory, the sign shows the

chosen phrases floating in the air with two or more colors in every sentence, calling

(7)

7

LISTA DE ILUSTRAÇÕES

Figura 1- Sinalização feita com painel de LEDs em uma rodovia. 13

Figura 2- Esquema dos pinos do AT89S8253. 16

Figura 3- Circuito de clock. 17

Figura 4- Esquema dos pinos do MAX232. 18

Figura 5- Foto do circuito integrado LM7805. 18

Figura 6- Sinal de sincronismo (clock). 20

Figura 7- Esquema de ligação do circuito de clock. 21

Figura 8- Esquema do circuito de reset manual e automático. 22

Figura 9- Circuito regulador de tensão com LM7805. 23

Figura 10- Esquema de ligação do MAX232 contida no datasheet, com respectivos valores dos capacitores (1µf). 24

Figura 11- Cabo conversor USB/RS232. 25

Figura 12- Ligações e esquema de transmissão de dados. 26

Figura 13- Combinações de cores e relação entre terminais e cores 28

Figura 14- Esquema de ligação entre LED RGB e microcontrolador. 29

Figura 15- Foto da placa de circuitos. 29

(8)

8

Figura 17- Motor fixado na tampa, fonte do motor, fonte do circuito e conversor de

corrente dentro da caixa. 31

Figura 18- Ilustração do contato deslizante 32

Figura 20- Fotos do Contato deslizante 32

Figura 21- Caixa de circuito principal e fios para ligação aos LEDs no eixo giratório e ao encaixe do cabo. 33

Figura 22- Foto da estrutura giratória. 34

Figura 23- Posição de ventilador cooler, potenciômetro do conversor de corrente e botão Liga/Desliga. 35

Figura 24- Tela de programação do PEQUI. 36

Figura 25- Tela de simulação do PEQUI. 36

Figura 25- Foto do gravador 8051 USB e software de gravação. 37

Figura 26- Fluxograma principal. 38

Figura 27- Fluxogramas das rotina que criam a frase, letras e apagam os LEDs. 39 Figura 29- Tela de configuração do Hyperterminal. 42

Figura 30- Tela de comunicação do Hyperterminal. 42

Figura 31- Coluna de LEDs formada durante testes de sincronismo 43

(9)

9

Figura 34- Instruções de programação de uma letra C verde. 47

Figura 35- Foto da estrutura completa após acabamento. 49

Figura 36- Foto do letreiro em funcionamento. 50

Figura 37- Foto do letreiro em funcionamento. 51

Figura 38- Trecho do manual do gravador 8051 USB. 52

LISTA DE TABELAS Tabela 1 – Ligações entre LEDs e pinos do microcontrolador. 24

Tabela 2 - Tabela verdade de uma porta NOR. 24

Tabela 3- Tabela de recarga do temporizador e erro % obtido durante transferência de dados para uma determinada frequência de cristal oscilador. 37

LISTA DE SIGLAS

A: ampere

ASCII: codificação de caracteres de oito bits baseada no alfabeto inglês

Bps: bits por segundo

(10)

10 F: frequência

HEX: hexadecimal

Hz: hertz

Kbytes: quilobytes

LED: diodo emissor de luz

mA: miliampere

MHz: mega-hertz

ms: milissegundos

pF: picofarad

RGB: sistema de cores formado por Vermelho (Red), Verde (Green) e Azul (Blue)

rpm: rotação por minuto

s: segundos

T: tempo

TTL: circuitos digitais construídos de transistores de junção bipolar (BJT)

USB: Universal Serial Bus

V: volts

µF: microfarad

µs: microssegundos

(11)

11

SUMÁRIO

1. INTRODUÇAO 13

1.1 APRESENTAÇÃO 14

1.2 OBJETIVO 15

2. EMBASAMENTO TEÓRICO 16

2.1 MICROCONTROLADOR AT89S8253 16

2.2 CIRCUITO INTEGRADO MAX232 17

2.3 REGULADOR DE TENSÃO LM7805 18

2.4 EFEITO ESTROBOSCÓPICO 19

3. DESENVOLVIMENTO 20

3.1 MONTAGEM DOS CIRCUITOS 20

3.1.1 CIRCUITO DE CLOCK DO AT89S8253 20

3.1.2 CIRCUITO DE RESET DO AT89S8253 21

3.1.3 CIRCUITO REGULADOR DE TENSÃO 22

3.1.4 CIRCUITO DE COMUNICAÇÃO 23

3.1.5 CIRCUITO DOS LEDS 26

3.2 MONTAGEM DA ESTRUTURA E ADAPTAÇÃO DO MOTOR 30

3.3 PROGRAMAÇÃO 35

(12)

12

3.3.2 GRAVAÇÂO DO PROGRAMA 37

3.3.3 FLUXOGRAMAS 38

3.3.4 COMUNICAÇÃO 39

3.3.5 SINCRONIZAÇÃO 43

3.3.6 FORMAÇÃO DOS CARACTERES E FRASE 46

4. RESULTADOS 49

4.1 PROBLEMAS E DIFICULDADES 51

5. CONCLUSÃO 54

5.1 TRABALHOS FUTUROS 55

6. REFERÊNCIAS 56

(13)

13

1. INTRODUÇÃO

Letreiros digitais comuns utilizam painéis de LEDs para formação dos

caracteres. Esses painéis utilizam uma grande quantidade de LEDs para formação

de frases simples e geralmente utilizam apenas uma ou duas cores, como podemos

observar na figura 1, sinalizações em lugares comuns, como senha para filas,

sinalizações em rodovias, no transporte público, onde são importantes para a

comunicação, como visto em ônibus e metrô, sinalizando as linhas de transporte e

estações.

Figura 1: Sinalização feita com painel de LEDs em uma rodovia.

Esse trabalho apresenta uma alternativa de fácil manutenção e menor custo,

por usar apenas 7 LEDs, e muito chamativo, pelo fato de os LEDs serem

multicoloridos e a frase ser apresentada como se estivesse flutuando no ar, podendo

(14)

14

Com a sincronização feita entre o controle sobre a frequência que os LEDs

piscam e a velocidade do motor, é possível a visualização do texto graças a uma

anomalia na visão humana, que faz com que consigamos ver a formação do texto

estroboscópicamente.

1.2 APRESENTAÇÃO

O projeto envolve a parte mecânica, a parte eletrônica e a parte de

programação do microcontrolador.

A parte mecânica envolve a adaptação do motor e fixação de placas de

circuitos do microcontrolador e dos LEDs fixada no eixo giratório. O eixo giratório

precisa ter equilíbrio e ser bem fixado para poder girar em uma velocidade

constante. O motor tem que girar o eixo dos LEDs em uma velocidade necessária

para que se consiga o efeito estroboscópico.

A parte eletrônica envolve a alimentação necessária para o motor funcionar,

passagem de alimentação para placa do microcontrolador e LEDs que estarão no

eixo giratório, e comunicação com o notebook/computador via porta USB. São

utilizados diversos componentes eletrônicos na construção da placa do

microcontrolador, placa dos LEDs e na recepção do sinal USB enviada pelo

notebook, como circuitos integrados, resistores, capacitores, cristal oscilador,

transistores, fios de conexão, LEDs RGB, microcontrolador AT89S8253, etc.

A programação do microcontrolador controlará os momentos em que os LEDs

acendem e apagam e o tempo que ficarão acesos, dependendo da necessidade de

(15)

15

LEDs, assim formando as letras e, consequentemente, as frases. Os caracteres

serão programados em cores diferentes e cabe ao usuário escolhe-las. O

microcontrolador será responsável por receber os dados enviados pelo

notebook/computador e converte-los em ações, que podem ser letras para formar a

frase ou as cores escolhidas.

1.3 OBJETIVO

Implementação de um letreiro digital estroboscópico utilizando somente sete

LEDs (RGB) multicoloridos fixados lado a lado verticalmente em uma estrutura

giratória. A sincronização dos LEDs é controlada por um microcontrolador da família

8051. A frase a ser exibida no letreiro poderá ser alterada pelo usuário, dentre as

frases pré-definidas, através de uma conexão USB com um notebook, assim como

as cores. O controle sobre a velocidade da frase formada poderá ser feito por um

(16)

16

2. EMBASAMENTO TEÓRICO

2.1 MICROCONTROLADOR AT89S8253

O microcontrolador AT89S8253 da Atmel é um dispositivo que contém, dentro

de um mesmo invólucro, um microprocessador e outros dispositivos como, por

exemplo, memória ROM, memória RAM, conversores A/D e D/A e dispositivos para

comunicação serial, dentre outros. É um componente que já vem pronto para ser

programado e utilizado [1].

O microcontrolador AT89S8253 possui 40 pinos, 32 portas de entrada e saída (I/0),

12 kbytes de memória para gravação do programa e trabalha com tensões de 4,0 a

5,5 volts, além de consumir um valor de corrente muito baixo [2].

A figura 2 mostra um esquema de pinos do AT89S8253.

(17)

17

Pode-se notar que existem pinos que tem dupla finalidade. Dependendo do

esquema de hardware, poderão ser utilizados para uma ou outra função específica.

O microcontrolador é um circuito eletrônico que executa uma sequência

definida de instruções. Estas instruções estão contidas no programa e são

executadas a partir de um sinal de sincronismo que ativa o sistema. Esse sinal de

sincronismo é chamado clock e, pode ser interno ou externo.

No caso do clock interno, que será usado neste projeto, deverá conter um

circuito com um cristal oscilador e dois capacitores, conforme a figura 3.

Figura 3: Circuito de clock.

2.2 CIRCUITO INTEGRADO MAX232

O circuito integrado MAX232 é um conversor de nível, que transforma os

sinais de uma porta serial para sinais adequados para uso em circuitos com

microprocessadores, por exemplo. O MAX232 converte os sinais de transmissão e

recepção serial RS232 com tensões de ± 12 volts para sinais de nível TTL (5 volts),

(18)

18

Figura 4: Esquema dos pinos do MAX232 [3].

2.3 REGULADOR DE TENSÃO LM7805

Esse componente faz com que, para um determinado intervalo de tensões de

entrada suportadas, o valor de tensão de saída seja constante.

Especificamente, o componente que estará sendo usado na alimentação da

placa de circuitos no projeto é o LM7805, que, para uma faixa de tensão de entrada

entre 7 volts e 25 volts, regula a saída será constante em 5 volts. A figura 5 mostra

uma foto do regulador.

(19)

19

Este regulador de tensão é comumente usado em circuitos que utilizam

tensões de nível TTL.

2.4 EFEITO ESTROBOSCÓPICO

O efeito estroboscópio baseia-se na persistência das imagens em nossa

retina. A visualização dos caracteres neste trabalho por efeito estroboscópico só é

possível graças a uma anomalia na visão humana, chamada persistência da retina.

Esta anomalia consiste na capacidade da retina em manter por uma fração de

segundo uma imagem, mesmo depois de haver mudado. As células fotossensíveis

da retina transformam a energia luminosa em impulsos bio-elétricos, e estes são

enviados para o cérebro, que então os interpreta como imagem. Mesmo depois de o

cérebro ter recebido os impulsos, a retina continua mandando informações, por

aproximadamente 0,1 de segundo após o último estímulo luminoso. Por este

motivo, se uma imagem for trocada numa velocidade maior do que esta, elas

(20)

20

3. DESENVOLVIMENTO

3.1 MONTAGEM DOS CIRCUITOS

A montagem dos circuitos envolve os circuitos de reset e clock do

microcontrolador AT89S8253, o circuito do regulador de tensão que alimentará as

placas, o circuito conversor de sinal para comunicação com o computador/notebook

e o circuito dos LEDs.

3.1.1 CIRCUITO DE CLOCK DO AT89S8253

O circuito do microcontrolador precisa conter pequenos circuitos e ligações

necessárias para o seu funcionamento, neste projeto foi utilizado um circuito de

clock com um cristal oscilador de frequência de 12 MHz e dois capacitores

cerâmicos de 33 pF, que fornece um ciclo de máquina de 1 µs, conforme a figura 6:

Figura 6: Sinal de sincronismo (clock).

Um ciclo de máquina consiste em uma sequência numerada de S1 a S6, em

que cada estado S ocupa dois ciclos de relógio, ou melhor, cada ciclo de máquina

(21)

21

O ciclo de máquina ou clock é calculado do seguinte modo:

Frequência do clock = frequência do cristal = 12x10-6 = 1x10-6 ou 1µs

Ciclos de relógio 12

O tempo de clock de 1 µs foi escolhido para facilitar os cálculos feitos durante

a programação, devido ao numero ser inteiro.

O esquema do circuito usado no trabalho é mostrado na figura 7.

Figura 7: Esquema de ligação do circuito de clock.

3.1.2 CIRCUITO DE RESET DO AT89S8253

Para que o microcontrolador inicie a sua operação, é necessário que tenha

um processo de reset. Este processo pode ocorrer toda vez que o circuito é

energizado ou por meio de uma chave, mantida a Vcc durante 2 ou mais ciclos de

(22)

22

O reset ocorre quando o pino 9 (RST) é levado ao nível logico 1, após isso, o

programa será executado a partir do seu primeiro endereço na memória.

O esquema de reset é mostrado na figura 8.

Figura 8: Esquema do circuito de reset manual e automático.

3.1.3 CIRCUITO REGULADOR DE TENSÃO

Todos os componentes eletrônicos usados no projeto trabalham com nível de

tensão TTL, ou seja, 5 volts (DC) e a alimentação de todo o circuito é feita por uma

fonte de alimentação de 9 volts e 500 mA (DC).

Foi montado um circuito simples utilizando o regulador de tensão LM7805

para transformar a tensão de entrada de 9 volts em tensão de saída de 5 volts para

(23)

23

Figura 9: Circuito regulador de tensão com LM7805.

Os capacitores C1 e C2 eliminam ruídos e dão maior estabilidade à tensão de

saída.

Considerando a corrente de 500mA de entrada, podemos calcular a potencia

dissipada por este circuito integrado LM7805:

Potencia dissipada = (9 V -- 5 V)x0,5 A = 2 W

A potência dissipada pelo LM7805 é de 2 watts, o que é suficiente para

esquentá-lo, necessitando de um dissipador de calor adequado.

3.1.4 CIRCUITO DE COMUNICAÇÃO

O circuito de comunicação é responsável por receber o sinal RS232 (±12

volts) enviado pelo computador/notebook e converte-lo em sinal de nível TTL (5

volts), reconhecido pelo microcontrolador. Para isso foi utilizado o circuito integrado

MAX232 [2]. A ligação utilizada foi a contida no próprio datasheet do MAX232,

(24)

24

Figura 10: Esquema de ligação do MAX232 contida no datasheet, com respectivos valores dos

capacitores (1µf).

A comunicação é feita pela porta USB do computador/notebook, utilizando um

(25)

25

Figura 11: Cabo conversor USB/RS232.

A ponta do cabo serial RS232 tem 3 pinos que são usados na comunicação

entre computador/notebook e MAX232, que são:

-Pino 2: recebe o sinal enviado pelo microcontrolador;

-Pino 3: transmite o sinal enviado pelo computador/notebook.

-Pino 5: GND (terra).

O pino 2 do cabo é ligado ao pino 14 do MAX232, o pino 3 do cabo é ligado

ao pino 13 do MAX232 e o pino 5 do cabo é ligado direto ao GND (terra) da placa.

A comunicação entre MAX232 e microcontrolador necessita de 2 ligações, o

pino 11 do MAX232 é ligado ao pino 10 do microcontrolador e o pino 12 do MAX232

é ligado ao pino 11 do microcontrolador.

Os pinos 10 e 11 do microcontrolador são responsáveis por receber e enviar

os dados durante a comunicação.

(26)

26

Figura 12: Ligações e esquema de transmissão de dados.

3.1.5 CIRCUITO DOS LEDS

O microcontrolador AT89S8253 consome pouca corrente e apresenta baixa

corrente em suas portas, de no máximo 10 mA, essa baixa corrente não é suficiente

para acender os LEDs. Para corrigir esse problema foram usados circuitos

integrados 7402, que possuem em seu interior 4 portas NOR de 2 entradas cada.

Cada porta do microcontrolador foi ligada as 2 entradas de uma porta NOR,

assim, quando o sinal da porta do microcontrolador for de nível logico “0”, a saída da

porta NOR será de nível logico “1”, acendendo o LED. Conforme a tabela verdade

(27)

27

Tabela 1: Tabela verdade de uma porta NOR.

Cada LED RGB possui quatro terminais, três para as cores e um para o

ânodo ser ligado ao GND (terra). Cada terminal de cor do LED foi ligado a uma porta

do microcontrolador, assim, foram usadas vinte e uma portas do microcontrolador

para cada cor dos sete LEDs.

As ligações foram feitas conforme indicadas na tabela 2.

(28)

28

Os LEDs RGB possuem três cores principais que podem ser combinadas

para formar outras cores, como a ilustração mostrada na figura 13.

Figura 13: Combinações de cores com LED RGB e relação entre terminais e cores.

Foram usados resistores de 100 para limitar a corrente enviada aos LEDs e

(29)

29

Figura 14 : Esquema de ligação entre LED RGB e microcontrolador.

Uma foto da placa com todos os circuitos mencionados anteriormente é vista

na figura 15.

(30)

30

Os LEDs ficaram em outra placa fixada na ponta do eixo giratório, mostrado

na figura 16.

Figura 16: Foto da placa com LEDs no eixo giratório.

3.2 MONTAGEM DA ESTRUTURA E ADAPTAÇÃO DO MOTOR

Foi utilizado um motor DC de 24 volts e corrente de 8 A com rotação de até

3000 rpm. Neste projeto, foi preciso ter controle sobre a velocidade do motor e para

isso, foi utilizado um conversor de corrente PWM PULSE WIDTH MODULATION. O

conversor proporciona uma variação suave de rotação, mantendo estabilidade e

torque mesmo em baixas rotações. Para alimentação do motor e do conversor, foi

utilizada uma fonte de tensão DC de 24 volts e 10 A. O motor foi fixado na tampa da

caixa, e a fonte e o conversor ficam dentro da caixa, junto com a fonte de 9 volts que

alimenta o circuito e uma fonte de 6,5 volts que alimenta o cooler para refrigeração

(31)

31

Figura 17: Motor fixado na tampa, fonte do motor, fonte do circuito e conversor de corrente dentro da caixa.

Os circuitos ficam fixos no eixo giratório e para a alimentação deles não foi

possível a utilização de fios ou cabos, pois eles enrolariam no eixo quando o motor

fosse ligado. A solução para esse problema foi aumentar a extensão do eixo do

motor e a colocação de um eixo fixo ao lado do motor, para que fosse feito um

“contato deslizante” para transmitir eletricidade para fios no eixo do motor e

alimentar o circuito. O eixo fixo e a extensão do eixo do motor são feitos de cano

plástico rígido, e os fios passam por dentro deles. O contato deslizante foi feito com

camadas de papel alumínio, que devido às suas propriedades elétricas, conduz

muito bem a eletricidade, alimentando o circuito. No eixo do motor, foram enroladas

camadas de papel alumínio e no eixo fixo foi presa uma fita feita de camadas de

(32)

32

contato, através do papel alumínio. A figura 18 mostra uma ilustração de como o

contato deslizante é ligado aos fios e preso aos eixos.

Figura 18: Ilustração do contato deslizante.

As figuras a 19 e 20 mostram o contato deslizante.

(33)

33

O eixo giratório foi todo feito de material plástico, e os fios e circuitos ficam

dentro dele, conforme a figura 21.

Figura 21: Caixa de circuito principal e fios para ligação aos LEDs no eixo giratório e ao encaixe do cabo.

O eixo giratório onde foram fixados os circuitos, encaixe do cabo e LEDs tem

36 cm de comprimento e foi fixo ao eixo do motor pelo seu centro, para ter equilíbrio.

A placa com os circuitos principais foi colocada em uma caixa e fixada no centro do

eixo giratório, a placa com os LEDs foi colocada em uma caixa pequena e colocada

em uma ponta do eixo giratório, na outra ponta fica o encaixe do cabo, também em

uma caixa. Foi preciso colocar alguns pesos para contrabalancear e deixar o eixo

em equilíbrio, que é altamente necessário para o bom funcionamento do projeto.

A figura 22 mostra, ainda sem nenhum acabamento final, a parte de cima do

motor, o contato deslizante, o eixo giratório e como foram fixadas as caixas com os

(34)

34

Figura 22: Foto da estrutura giratória fixa ao eixo do motor, contato deslizante, caixas com LEDs à esquerda, caixa com encaixe do cabo à direita, caixa com a placa de circuitos no

centro e contra pesos para equilibrar o peso de cada ponta do eixo giratório.

Foram adicionados a caixa um ventilador e cooler para refrigeração do motor,

fontes e conversor de corrente. Do lado de fora da caixa se encontra o

potenciômetro do conversor de corrente, para o usuário controlar a velocidade do

(35)

35

Figura 23: Posição de ventilador cooler, potenciômetro do conversor de corrente e botão Liga/Desliga.

3.3PROGRAMAÇÃO

3.3.1 LINGUAGEM DE PROGRAMAÇÃO

A programação foi feita em linguagem assembler [1], que é considerada uma

linguagem de baixo nível, diretamente relacionada com a arquitetura do computador,

no caso desse trabalho, um microcontrolador da família 8051. Para usar essa

linguagem, deve-se conhecer a arquitetura e as localizações dos registradores,

memórias, temporizadores, portas e outros.

A programação deve ser compilada em formato HEX (hexadecimal), para ser

ser gravado nos microcontroladores da família 8051.

O compilador usado foi o PEQUI, que trabalha exclusivamente com a

linguagem assembler e funciona como compilador e simulador do programa,

mostrando eventuais erros de programação. Imagens do PEQUI são mostradas nas

(36)

36

Figura 24: Tela de programação do PEQUI.

(37)

37

3.3.2 GRAVAÇÂO DO PROGRAMA

A gravação do arquivo HEX gerado pelo compilador é feita pelo gravador

8051 USB. O modelo de gravador utilizado grava apenas dois tipos de

microcontroladores, o AT89S52 e o AT89S8253 utilizado neste projeto, o gravador

acompanha um software utilizado para apagar e gravar programas, mostrado na

figura 26.

(38)

38

3.3.3 FLUXOGRAMAS

A programação foi baseada nos fluxogramas das figuras 27 e 28.

(39)

39

Figura 28: Fluxogramas das rotina que criam a frase, letras e apagam os LEDs.

3.3.4 COMUNICAÇÃO

A programação da comunicação controla a velocidade de transmissão, a

recepção e transmissão de dados e habilita a interrupção, para que durante o

funcionamento do letreiro seja possível a mudança da frase sem precisar reiniciar o

(40)

40

Programação da configuração da comunicação:

Prog: MOV Tmod,#20h; configura timer 1 p/ MODO 2 (recarga automática) MOV TH1,#0E6H;recarrega o timer para taxa de 1200bps

SETB TR1; liga o temporizador 1

MOV IE,#90H; habilita interrupção pela comunicação

MOV SCON,#50H; configura comunicação para MODO 1 (taxa variável) SJMP $; loop infinito até receber algum dado pela comunicação

Org 0023h; endereço para onde o programa salta quando tem interrupção

Mov A,Sbuf; move o dado recebido em SBUF para o acumulador

CLR RI; limpa o aviso de interrupção do receptor, habilitando nova recepção

O valor #0E6H da recarga do timer 1 para 1200 bps é dado pela tabela

contida na aba de ajuda do PEQUI, onde também são encontrados todas as

instruções e exemplos de programação, como mostra a tabela 3.

Tabela 3: Tabela de recarga do temporizador e erro % obtido durante transferência de dados para uma determinada frequência de cristal oscilador.

A tabela 3 mostra que para uma taxa de transmissão de 1200 bps e 2400 bps

(41)

41

0,16% e durante os testes, não foram verificados problemas de transmissão devido

a sua velocidade.

O software utilizado para comunicação com o letreiro é o Hyperterminal, que

já vem instalado em versões do Windows. O Hyperterminal permite criar uma

conexão entre computador e um equipamento externo.

Ao conectar o cabo USB/RS232 no computador e no letreiro, é preciso

instalar um driver para reconhecimento do cabo pelo Windows, o driver vem em um

CD junto ao cabo USB/RS232 e faz a simulação da porta USB como sendo uma

porta COM.

O hyperterminal permite ao usuário escolher a porta de comunicação, a taxa

de transmissão, que tipos de dados serão transmitidos e outros parâmetros não

utilizados neste projeto.

O tipo de dados transmitidos são no formato ASCII, uma codificação de

caracteres de oito bits baseada no alfabeto inglês.

As figuras 29 e 30 mostram a configuração do hyperterminal e a tela de

(42)

42

Figura 29: Tela de configuração do Hyperterminal.

(43)

43

3.3.5 SINCRONIZAÇÃO

Ao iniciar os testes de sincronização, foi preciso achar um ponto para servir

como base e perceber como funciona o sincronismo entre tempo e velocidade do

motor.

O primeiro passo tomado foi criar duas rotinas de tempo, uma controlaria o

tempo em que uma coluna de LEDs ficaria acesa e outra rotina controlaria o tempo

que a coluna de LEDs ficaria apagada. O tempo que a coluna de LEDs ficaria

apagada deveria ser muito maior, para fazer com que os LEDs apenas piscassem

na mesma posição a cada volta.

Após algumas tentativas, mudando os valores das rotinas de tempos e

variando a velocidade do motor, a coluna de LEDs piscava sempre na mesma

posição, mas piscava a cada duas voltas ou mais. O resultado é mostrado na figura

31.

(44)

44

O próximo passo foi diminuir o tempo que a coluna de LEDs ficava apagada,

para apenas uma volta. Feito o ajuste, o tempo que a coluna de LEDs ficava

apagada foi ajustada para aproximadamente 104 ms e o tempo que a coluna de

LEDs ficava acesa ajustada para aproximadamente 352 us , com isso, a frequência

para acender apenas uma coluna a cada volta pôde ser calculada,

F = 1 / T = 1 / ( 101 ms + 352 us ) = 9,8 Hz. (1)

Como a frequência é de aproximadamente 9,8 Hz, próxima da frequência de

10 Hz considerada imperceptível pela persistência retiniana, podemos perceber que

a coluna de LEDs não apaga completamente, mas apenas varia sua intensidade

luminosa.

A velocidade aproximada do motor também pôde ser calculada sabendo-se o

tempo total que os LEDs demoram para dar uma volta e acender sempre na mesma

posição. Velocidade do motor = 60 s / (101 ms + 352 us) = 591 rpm. (2)

Com essa frequência, não seria possível criar o efeito estroboscópico com

uma coluna por vez feita em cada volta na formação dos caracteres, foi decidido que

o letreiro deveria mostrar todos os caracteres durante cada volta, assim, a

frequência dos LEDs seria alta e o efeito da persistência retiniana aconteceria.

O último passo foi acender todos os LEDs, formando colunas e preenchendo

toda a circunferência formada pelo giro, substituindo o tempo que o Led ficava

apagado por novas rotinas de tempos para acender e apagar os LEDs várias vezes,

(45)

45

Figura 32: Várias colunas de LEDs formadas durante os testes de sincronização.

As colunas foram formadas e o tempos utilizados para manter os LEDs

apagados e acesos foram iguais, 176 us. A velocidade do motor foi mantida em

aproximadamente 561 rpm.

A frequência dos LEDs para a formação das colunas é de:

F = 1 / T = 1 / (704 us) = 1,42 KHz. (3)

Como visto na figura , o efeito desejado foi alcançado, as colunas são vistas

de ponta a ponta na circunferência, devido a alta frequência dos LEDs.

As rotinas de tempo usadas são simples de serem calculadas, como no

exemplo a seguir:

.

MOV R0,#0B0h; move para o registrador R0 o valor de 176

DJNZ R0; decrementa o registrador R0 até chegar ao valor 0, depois continua com a próxima instrução

(46)

46

O exemplo cria um atraso de 511 us, a instrução MOV é realizada em 1 us e

cada decrementação da instrução DJNZ é realizada em 2 us, então:

1 + (2 x 176) = 353 us de atraso.

Durante os testes, foi percebido que quanto menor fosse os atrasos de

tempos, maior seria a velocidade do motor para que ocorresse sincronização. Com

atrasos de tempos menores, as colunas ficam mais próximas umas das outras e

para uma melhor visualização, a velocidade do motor deveria ser aumentada.

Como temos o controle sobre a sua velocidade, podemos varia-la até

chegarmos à sincronização desejada, além de mudar o sentido de rotação dos LEDs

quando acesos, fazendo-os girar em sentido horário e anti-horário, de forma rápida

ou devagar, conforme o desejado.

O único cuidado com a variação da velocidade do motor foi para não

prejudicar a estrutura feita de plástico, devido ao grande deslocamento de ar que o

eixo giratório cria. Por esse motivo, a velocidade do motor foi mantida em

aproximadamente 591 rpm.

3.3.6 FORMAÇÃO DOS CARACTERES E FRASE

Com o mapeamento do letreiro, obtido nos testes de sincronização com

colunas, foi possível entender como deveriam ser programados os caracteres.

Grande parte dos caracteres foi programada utilizando quatro colunas, e

algumas exceções, como as letras W, T e M foram programadas com cinco colunas,

assim seriam possíveis a formação de 31 caracteres. Caso haja alguma coluna a

mais ou a menos devido a programação dos caracteres, a correção é feita variando

(47)

47

O eixo giratório gira no sentido horário e os caracteres foram programados da

última coluna para a primeira coluna, como na figura 33.

Figura 33: Exemplo de como é feita a programação de uma letra C.

Um exemplo da programação da letra C verde é mostrada na sub-rotina

mostrada na figura 34.

(48)

48

Cada sub-rotina de criação das letras apresenta diferenças de tempo em

relação as outras, devido aos comandos para acender os LEDs serem diferentes.

Portanto, os resultados dos cálculos realizados até agora são diferentes para cada

tipo de combinação de letras que a frase necessita. As variações são de poucos

microssegundos em cada letra, mas em uma frase inteira poderá modificar

levemente e a frequência da frase, necessitando de uma modificação da velocidade

do motor.

A formação das frases, assim como as colunas das letras, é feita da última

(49)

49

4. RESULTADOS

Com o letreiro pronto e funcionando, a estrutura foi pintada na cor preta fosca,

para que em um ambiente noturno, conseguíssemos ver apenas os LEDs, sem

interferência luminosa devido a reflexos que poderiam ser feitos por luzes sobre a

estrutura. Uma foto da estrutura final é vista na figura 35.

(50)

50

Ao iniciar o letreiro, é preciso escolher uma frase através da conexão com um

computador/notebook. Assim que a frase é escolhida, o letreiro passa a apresentar a

frase até que receba outra informação de escolha, trocando a frase a ser mostrada.

Os testes de formação das frases foram feitos para 2 tipos de frases

coloridas, uma frase grande e outra pequena, com pouca variação entre as

velocidades exigidas pelo motor, para que fosse feita a sincronização que causasse

o efeito desejado.

O primeiro teste foi feito com as palavras FATEC – SP. Conforme a foto tirada

no momento do teste, vista na figura 36.

(51)

51

O segundo teste foi feito com uma frase grande, completando a circunferência

formada pelo eixo giratório. A frase usada foi TRABALHO DE CONCLUSÃO DE

CURSO! Uma parte da frase é mostrada na figura 37.

Figura 37: Foto do letreiro em funcionamento.

Nos momentos em que as fotos foram tiradas, os textos se apresentavam sem

movimentos, devido ao controle da velocidade do motor.

4.1 PROBLEMAS E DIFICULDADES

O principal problema encontrado foi a compatibilidade entre compilador e

gravador, devido ao compilador ser antigo e sua ultima atualização ser do ano de

(52)

52

apresentam mudanças na estrutura, como a quantidade de memória RAM. O

compilador PEQUI disponibiliza 128 Kbytes de memória RAM e os

microcontroladores gravados pelo gravador 8051 USB possuem 256 Kbytes de

memória RAM

Essa falta de compatibilidade fez com que nenhuma instrução utilizando a

memória RAM funcionasse, afetando o objetivo inicial do trabalho.

O objetivo inicial do trabalho era o usuário do letreiro poder escrever uma

frase, que seria reconhecida pelo microcontrolador e o letreiro mostraria o que foi

digitado. Para isso, os dados digitados deveriam ser gravados na memória RAM do

microcontrolador e depois comparados com os caracteres programados.

O manual do gravador 8051 USB indica que a maioria dos compiladores

geram arquivos .HEX incompletos, conforme a imagem da figura 38, retirada do

manual.

(53)

53

No manual, os fabricantes deram duas alternativas, a primeira é utilizar o

compilador BASCOM, porém este compilador é pago e sua compra é feita em

dólares. Existe a versão DEMO, mas disponibiliza pouca memória de gravação.

A segunda alternativa é utilizar o programa ICPROG, para compatibilizar o

arquivo HEX com o gravador. O ICPROG compatibiliza o arquivo a ser gravado

apenas criando outro arquivo HEX maior, compilando a memória de programação

usada e o restante não usado em um único arquivo. O ICPROG não compatibiliza a

quantidade de memória RAM compilada de 128 Kbytes para uma RAM de 256

Kbytes que é utilizada pelos novos microcontroladores.

Devido à falta de compatibilidade, o objetivo principal foi mudado para frases

(54)

54

5. CONCLUSÃO

Neste trabalho foi desenvolvido um letreiro utilizando 7 LEDs, que são girados

por um motor permitindo a visualização de um texto devido a uma anomalia na retina

humana denominada persistência da retina. Esta anomalia consiste na retenção de

um estímulo visual pela retina humana por uma fração de segundo, mesmo após o

desaparecimento da fonte de luz que o provocou. Graças a esta anomalia, podemos

ver o texto formado a partir da sincronização entre velocidade do motor e controle

dos LEDs por um microcontrolador.

O microcontrolador é responsável por controlar os LEDs necessários para

formação de cada letra e o tempo que cada um permanece aceso ou apagado.

Foram realizados diversos testes para conseguir uma sincronização perfeita,

gerando a visualização das frases de modo que conseguíssemos ver o texto em

qualquer ponto da circunferência.

Os cálculos apresentados sobre frequência e velocidade do motor são apenas

aproximados, devido a necessidade da modificação da velocidade do motor para

cada tipo de combinação das letras, devido ao fato da frequência variar para cada

frase formada.

Os circuitos utilizados são simples e não requerem um grande estudo para a

utilização dos mesmos. A maior parte dos circuitos utilizados é disponibilizada pelos

próprios fabricantes dos componentes, em seus respectivos datasheets.

Durante o desenvolvimento, surgiram pequenos contratempos durante a

(55)

55

estrutura, pois sendo de plástico, precisou ser colada com solda plástica, para uma

melhor fixação das caixas.

Os resultados finais foram satisfatórios, após a escolha da frase, o letreiro

começa a apresentar a frase e a visualização é perfeita. O letreiro mostra as frases

sem movimento, com movimento horário e com movimento anti-horário que podem

ser escolhidos variando a velocidade do motor.

5.1 TRABALHOS FUTUROS

O letreiro pode ser melhorado em alguns setores, como estrutura,

comunicação e programação. Com uma estrutura mais rígida e aerodinâmica,

poderiam ser feitas sincronizações com velocidades mais altas, sem a preocupação

de a velocidade de giro danificar a estrutura.

A comunicação pode ser feita sem utilização de cabos, aumentando a

comodidade do usuário, e mudando a frase sem precisar desligar o motor. A

comunicação poderia ser feita por WI-FI, simples sinais de rádio frequência, ou por

celulares, simplesmente discando o código necessário. Poderiam ser enviados

sinais por celulares, tablets e outros equipamentos eletrônicos.

A programação pode ser aperfeiçoada, diminuindo o número de instruções,

como o tamanho da programação não foi vista como algo preocupante no decorrer

do trabalho, a programação acabou ficando grande, mas pode ser otimizada.

A programação pode ser incrementada, por exemplo, com uma rotina de

(56)

56

6.REFERÊNCIAS

[1] NICOLOSI, D. E., Microcontrolador 8051 Detalhado, 6ª edição, São Paulo: Érica,

2007. Cap. 1, 2, 3, 8 e 10.

[2] Atmel Corporation. Datasheet do microcontrolador AT89S8253. Disponível em:

<http://www.atmel.com/Images/doc3286.pdf>; Acessado em 04/10/2011.

[3] Maxim inovation delivered. Datasheet do circuito integrado MAX232. Disponível

em: <http://www.maxim-ic.com/datasheet/index.mvp/id/1798>. Acessado em

29/10/2011.

[4] Instituto Newton C. Braga. Efeito estroboscópico. Disponível em:

<http://www.newtoncbraga.com.br/index.php/almanaque/1829-alm248.html>.

Acessado em 15/02/2012.

[5] Cerne tecnologia e treinamento. Manual do gravador 8051 USB. Disponível em:

(57)

57

7. ANEXO A: PROGRAMA

Neste anexo, estão contidas as linhas de programação principais, uma rotina

de frase e uma rotina de letra.

Prog: (rotina que configura a comunicação e recebimento do código digitado)

Mov Tmod,#20h; (configura timer 1 p/ MODO 2 (recarga automática))

MOV TH1,#0E6H; (recarrega o timer para taxa de 1200bps)

SETB TR1; (liga o temporizador 1)

MOV IE,#90H; (habilita interrupção pela comunicação)

MOV SCON,#50H; (configura comunicação para MODO 1 (taxa variável))

RECEBE: SJMP $; (loop infinito até receber algum dado pela comunicação)

Org 0023h; (endereço para onde o programa salta quando tem interrupção)

Mov A,Sbuf; (move o dado recebido em SBUF para o acumulador)

CLR RI; (limpa o aviso de interrupção do receptor, habilitando nova recepção)

JMP compara; (salta para a rotina de comparação)

compara: ( rotina que compara o que foi digitado e salta para a frase escolhida)

cjne a,#61h,frase2; (compara o que foi digitado, se for diferente de #61, salta para frase2)

jmp inicio; (salta para a frase com código #61)

frase2: cjne a,#62h,frase3; (compara o que foi digitado, se for diferente de #62, salta para frase3, se for igual, salta para a frase escolhida)

jmp inicio1; (salta para a frase com código #62)

frase3: cjne a,#63h,frase4; (compara o que foi digitado, se for diferente de #63, salta para frase4, se for igual, salta para a frase escolhida)

jmp inicio2; (salta para a frase com código #63)

frase4:cjne a,#64h,frase5; (compara o que foi digitado, se for diferente de #64, salta para frase5, se for igual, salta para a frase escolhida)

jmp inicio3; ( pula para a frase com código #64)

frase5: cjne a,#65h,frase6; (compara o que foi digitado, se for diferente de #65, salta para frase6, se for igual, salta para a frase escolhida)

jmp inicio4; (salta para a frase com código #65)

frase6: cjne a,#66h,frase7; (compara o que foi digitado, se for diferente de #66, salta para frase7, se for igual, salta para a frase escolhida)

jmp inicio5; (salta para a frase com código #66)

frase7: ( rotina que acende cada LED com uma cor diferente e chama rotina que envia a informação de código não aceito)

mov p1,#11011110b; mov p2,#00011000b; CLR p3.5;

(58)

58 CLR p3.3;

call envia; ( chama rotina que envia a informação de código não aceito)

JMP RECEBE; (salta para rotina RECEBE)

INICIO: ( rotina que cria uma das frases)

mov r2,#0CCh; ( carrega o registrador r2)

call letraspc; ( chama rotina que cria um espaço de 4 colunas)

call atraso; ( chama rotina que cria um espaço entre as letras)

mov r2,#0CCh; (carrega o registrador r2)

call letraEverde; ( chama a rotina que cria a letra E verde)

call atraso; ( chama rotina que cria um espaço entre as letras)

(59)

59 call atraso; mov r2,#0CCh; call letraFazul; call atraso; mov r2,#0CCh; call letraspc; call atraso; mov r2,#0CCh; call letraspc; call atraso; mov r2,#0CCh; call letraspc; call atraso; mov r2,#0CCh; call letraspc; call atraso; mov r2,#0CCh; call letraspc; call atraso; mov r2,#0CCh; call letraspc; call atraso; mov r2,#0CCh; call letraspc; call atraso; mov r2,#0CCh; call letraspc; call atraso; mov r2,#0CCh; call letraspc; call atraso; mov r2,#0CCh; call letraspc; call atraso; mov r2,#0CCh; call letraspc; call atraso; mov r2,#0CCh; call letraspc; call atraso; mov r2,#0CCh; call letraspc; call atraso; mov r2,#0CCh; call letraspc; call atraso; mov r2,#0CCh; call letraspc; call atraso;

(60)

60

Durante a execução, são chamados 31 caracteres por frase. A execução fica em

loop infinito, formando a mesma frase repetitivamente até que receba outro código.

letraEamarelo: ( rotina que cria a letra E amarela)

djnz r2,letraEamarelo; ( decrementa r2 para criar um atraso, após isso, acende uma coluna com as próximas instruções)

CLR P1.0; ( acende o LED ligado a porta P1.0)

CLR P2.1; CLR P3.4; CLR P1.1; CLR P2.2; CLR P3.2;

mov r2,#0B0h; ( carrega o registrador r2)

letraEamarelo4: djnz r2,letraEamarelo4; ( decrementa r2 para criar um atraso, que mantem os LEDs acesos)

call apaga;

mov r2,#0B1h; ( carrega o registrador r2)

letraEamarelo33: djnz r2,letraEamarelo33; ( decrementa r2 para criar um atraso, que mantem os LEDs apagados)

CLR P1.0; CLR P2.1; CLR P3.4; CLR P1.1; CLR P2.2; CLR P3.2;

mov r2,#0B0h; ( carrega o registrador r2)

letraEamarelo3: djnz r2,letraEamarelo3; ( decrementa r2 para criar um atraso, que mantem os LEDs acesos)

call apaga;

mov r2,#0B1h; ( carrega o registrador r2)

letraEamarelo22: djnz r2,letraEamarelo22; ( decrementa r2 para criar um atraso, que mantem os LEDs apagados)

CLR P1.0; CLR P2.1; CLR P3.4; CLR P1.1; CLR P2.2; CLR P3.2;

mov r2,#0B0h; ( carrega o registrador r2)

letraEamarelo2: djnz r2,letraEamarelo2; ( decrementa r2 para criar um atraso, que mantem os LEDs acesos)

call apaga;

mov r2,#0B1h; ( carrega o registrador r2)

letraEamarelo13: djnz r2,letraEamarelo13; ( decrementa r2 para criar um atraso, que mantem os LEDs apagados)

(61)

61 CLR P2.1;

CLR P2.4; CLR P2.7; CLR P3.4; CLR P1.5; CLR P1.7; CLR P1.1; CLR P2.2; CLR P2.5; CLR P3.6; CLR P3.2;

mov r2,#0B0h; ( carrega o registrador r2)

letraEamarelo1: djnz r2,letraEamarelo1; ( decrementa r2 para criar um atraso, que mantem os LEDs acesos)

call apaga; ( chama rotina que apaga todos os LEDs)

Imagem

Figura 1: Sinalização feita com painel de LEDs em uma rodovia.
Figura 2: Esquema dos pinos do AT89S8253.
Figura 6: Sinal de sincronismo (clock).
Figura 7: Esquema de ligação do circuito de clock.
+7

Referências

Outline

Documentos relacionados

Em 1992, um estudo multicêntrico (FBNC, 1992) de 387 pacientes com bulimia nervosa, por oito semanas e divididos em três grupos – um recebeu placebo, outro 20 mg/dia de fluoxetina, e

Resultados: Os parâmetros LMS permitiram que se fizesse uma análise bastante detalhada a respeito da distribuição da gordura subcutânea e permitiu a construção de

H´a dois tipos de distribui¸co˜es de probabilidades que s˜ao as distribui¸c˜oes discretas que descrevem quantidades aleat´orias e podem assumir valores e os valores s˜ao finitos, e

Desdobramento dos tipos de adubos orgânicos (esterco bovino; mix; palha de carnaúba e sem adubação) dentro dos sistemas de cultivo (solteiro e consorciado) para

Esta realidade exige uma abordagem baseada mais numa engenharia de segu- rança do que na regulamentação prescritiva existente para estes CUA [7], pelo que as medidas de segurança

Se você vai para o mundo da fantasia e não está consciente de que está lá, você está se alienando da realidade (fugindo da realidade), você não está no aqui e

Algumas vezes negócios relacionados a Propriedade Intelectual são questionados judicialmente em função de que a utilização de um método de avaliação ser muito subjetivo. Se

Considerando que a maioria dos dirigentes destas entidades constituem-se de mão de obra voluntária e na maioria das vezes sem formação adequada para o processo de gestão e tendo