48
CENTRO UNIVERSITÁRIO POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS ENGENHARIA DA COMPUTAÇÃO PLANTA DE ELEVADORES COM CONTROLE POR FPGAS Cristina Biz UNICENP/NCET Curitiba 2007

PLANTA DE ELEVADORES COM CONTROLE POR FPGAS · FPGA – (Field Programmable Gate Arrays) Arranjos de Portas Programáveis em Campo ... anos 60, como alternativa para as linguagens

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: PLANTA DE ELEVADORES COM CONTROLE POR FPGAS · FPGA – (Field Programmable Gate Arrays) Arranjos de Portas Programáveis em Campo ... anos 60, como alternativa para as linguagens

CENTRO UNIVERSITÁRIO POSITIVO

NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS

ENGENHARIA DA COMPUTAÇÃO

PLANTA DE ELEVADORES COM CONTROLE POR

FPGAS

Cristina Biz

UNICENP/NCET

Curitiba

2007

Page 2: PLANTA DE ELEVADORES COM CONTROLE POR FPGAS · FPGA – (Field Programmable Gate Arrays) Arranjos de Portas Programáveis em Campo ... anos 60, como alternativa para as linguagens

ii

Page 3: PLANTA DE ELEVADORES COM CONTROLE POR FPGAS · FPGA – (Field Programmable Gate Arrays) Arranjos de Portas Programáveis em Campo ... anos 60, como alternativa para as linguagens

iii

CENTRO UNIVERSITÁRIO POSITIVO

NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS

ENGENHARIA DA COMPUTAÇÃO

PLANTA DE ELEVADORES COM CONTROLE POR

FPGAS

Cristina Biz

Monografia apresentada à disciplina de Projeto Final como requisito parcial à

conclusão do Curso de Engenharia da Computação, orientada pelo Prof. Valfredo Pilla

Jr..

UNICENP/NCET

Curitiba

2007

Page 4: PLANTA DE ELEVADORES COM CONTROLE POR FPGAS · FPGA – (Field Programmable Gate Arrays) Arranjos de Portas Programáveis em Campo ... anos 60, como alternativa para as linguagens

iv

Page 5: PLANTA DE ELEVADORES COM CONTROLE POR FPGAS · FPGA – (Field Programmable Gate Arrays) Arranjos de Portas Programáveis em Campo ... anos 60, como alternativa para as linguagens

v

TERMO DE APROVAÇÃO

Cristina Biz

PLANTA DE ELEVADORES COM CONTROLE POR FPGAS

Monografia aprovada como requisito parcial à conclusão do curso de Engenharia da

Computação do Centro Universitário Positivo, pela seguinte banca examinadora:

Prof. Valfredo Pilla Jr. (Orientador).

Prof. Mauricio Perreto

Prof. José Carlos Cunha

Curitiba, 10 de Dezembro de 2007.

Page 6: PLANTA DE ELEVADORES COM CONTROLE POR FPGAS · FPGA – (Field Programmable Gate Arrays) Arranjos de Portas Programáveis em Campo ... anos 60, como alternativa para as linguagens

vi

Page 7: PLANTA DE ELEVADORES COM CONTROLE POR FPGAS · FPGA – (Field Programmable Gate Arrays) Arranjos de Portas Programáveis em Campo ... anos 60, como alternativa para as linguagens

vii

AGRADECIMENTOS

Ao meu orientador Valfredo, pela idéia do projeto e todo conhecimento transmitido.

Ao professor e amigo Mauricio pelo apoio nos momentos difíceis.

Aos meus irmãos Luciano e Alberoni e minha cunhada Cristiane por terem me

proporcionado a oportunidade de cursar a graduação e por me apoiarem sempre.

A todos os amigos que compreenderam minha ausência, durante todo o projeto.

E aos principais responsáveis por eu ter conseguido terminar este projeto, minha mãe

Carolina e meu noivo Eder pela paciência e por não me deixarem desistir.

Muito obrigada a todos que participaram deste desafio comigo.

Page 8: PLANTA DE ELEVADORES COM CONTROLE POR FPGAS · FPGA – (Field Programmable Gate Arrays) Arranjos de Portas Programáveis em Campo ... anos 60, como alternativa para as linguagens

viii

Page 9: PLANTA DE ELEVADORES COM CONTROLE POR FPGAS · FPGA – (Field Programmable Gate Arrays) Arranjos de Portas Programáveis em Campo ... anos 60, como alternativa para as linguagens

ix

RESUMO

Este trabalho consiste em um kit didático para o ensino de lógica programável. O Kit

dispõe de uma planta de elevadores com controle em hardware, para tanto o sistema de

controle foi desenvolvido em VHDL com o qual uma FPGA foi configurada.

O objetivo deste projeto é mostrar de forma mais simplificada e atraente o

funcionamento de dispositivos eletrônicos e mecânicos com um módulo de controle

reconfigurável incorporado, tornando mais didáticas aulas demonstrativas.

Palavras chave:

Kit didático, Planta de elevadores, FPGA, VHDL, Automação.

Page 10: PLANTA DE ELEVADORES COM CONTROLE POR FPGAS · FPGA – (Field Programmable Gate Arrays) Arranjos de Portas Programáveis em Campo ... anos 60, como alternativa para as linguagens

x

ABSTRACT

This work consists of a didactic kit for the education of programmable logic. The Kit

makes use of a plant of elevators with control in the hardware, for in such a way the control

system was developed in VHDL with which a FPGA was configured.

The objective of this project is to show more of simplified form and attractive the

functioning of electronic and mechanical devices with a module of incorporated

reconfigurable control, becoming more didactic demonstrative lessons.

Key Word:

Plant of elevators, Didactic kit, Automation, FPGA, VHDL

Page 11: PLANTA DE ELEVADORES COM CONTROLE POR FPGAS · FPGA – (Field Programmable Gate Arrays) Arranjos de Portas Programáveis em Campo ... anos 60, como alternativa para as linguagens

xi

SUMÁRIO

1 INTRODUÇÃO................................................................................................................................... 1

2 FUNDAMENTAÇÃO TEÓRICA..................................................................................................... 2

2.1 MOTORES DE PASSO ......................................................................................................................... 2

2.2 FPGA................................................................................................................................................. 7

2.3 SENSOR ÓPTICO................................................................................................................................ 9

2.4 VHDL.............................................................................................................................................. 11

3 ESPECIFICAÇÃO DO PROJETO ................................................................................................ 14

3.1 ESTRUTURA GERAL........................................................................................................................ 14

3.2 ARQUITETURA HARDWARE ........................................................................................................... 16

3.3 ARQUITETURA SOFTWARE............................................................................................................. 17

3.4 ESTUDO DE VIABILIDADE ECONOMICA ......................................................................................... 18

3.5 CRONOGRAMA ................................................................................................................................ 19

4 PROJETO ......................................................................................................................................... 20

4.1 PROJETO DE HARDWARE................................................................................................................ 20

4.2 PROJETO DE SOFTWARE ................................................................................................................ 27

5 VALIDAÇÃO.................................................................................................................................... 29

5.1 TESTES............................................................................................................................................. 29

6 CONCLUSÃO................................................................................................................................... 31

7 REFERÊNCIAS BIBLIOGRÁFICAS............................................................................................ 32

Page 12: PLANTA DE ELEVADORES COM CONTROLE POR FPGAS · FPGA – (Field Programmable Gate Arrays) Arranjos de Portas Programáveis em Campo ... anos 60, como alternativa para as linguagens

xii

LISTA DE FIGURAS

Figura 2.1 - Motor de passo unipolar .......................................................................... 4

Figura 2.2 - Motor de passo bipolar ............................................................................ 5

Figura 2.3 – Estrutura interna de um FPGA. ............................................................... 7

Figura 2.4 - KIT UP 1 ................................................................................................ 8

Figura 2.5 – FLEX 10K.............................................................................................. 9

Figura 2.6 – Sensor de barreira. ................................................................................ 10

Figura 2.7 – Sensor difuso. ....................................................................................... 10

Figura 2.8 – Sensor retroreflexivo. ........................................................................... 11

Figura 3.1 – Planta do elevador ................................................................................ 15

Figura 3.2 – Diagrama em blocos do sistema............................................................ 16

Figura 3.3 – Fluxograma do sistema. ........................................................................ 18

Figura 4.1 – Motor de passo PM55L-048 ................................................................. 20

Figura 4.2 – Faixa de torque de acordo com o tipo do motor..................................... 20

Figura 4.3 – Esquemático interface de potência. ....................................................... 21

Figura 4.4 – Placa de interface potência.................................................................... 22

Figura 4.5 – Esquemático motor de passo................................................................. 22

Figura 4.6 – Esquemático sensor. ............................................................................. 23

Figura 4.7 – Placa do sensor. .................................................................................... 23

Figura 4.8– Esquemático display.............................................................................. 24

Figura 4.9 – Placa do display.................................................................................... 25

Figura 4.10-Bloco Elevador...................................................................................... 26

Figura 4.11 – Bloco subir_descer ............................................................................. 27

Figura 4.12 – Bloco divisor de freqüência. ............................................................... 27

Figura 4.13– Interface gráfica................................................................................... 27

Page 13: PLANTA DE ELEVADORES COM CONTROLE POR FPGAS · FPGA – (Field Programmable Gate Arrays) Arranjos de Portas Programáveis em Campo ... anos 60, como alternativa para as linguagens

xiii

LISTA DE TABELAS

Tabela 2.1 – Atuação de um motor de passo unipolar ................................................. 4

Tabela 2.2 – Atuação de um motor de passo bipolar ................................................... 5

Tabela 3.1– Estudo de Viabilidade Econômica ......................................................... 18

Tabela 3.2– Cronograma .......................................................................................... 19

Page 14: PLANTA DE ELEVADORES COM CONTROLE POR FPGAS · FPGA – (Field Programmable Gate Arrays) Arranjos de Portas Programáveis em Campo ... anos 60, como alternativa para as linguagens

xiv

LISTA DE SIGLAS

NCET – Núcleo de Ciências Exatas e Tecnológicas

UNICENP – Centro Universitário Positivo

FPGA – (Field Programmable Gate Arrays) Arranjos de Portas Programáveis em

Campo

CLB – (Configurable Logic Block) Blocos Lógicos de Configuração

LUT – (Look-up Tables) Tabela Verdade

IOB – (Input/Output Block ) Blocos de entrada e saída

CPLD – (Complex Programmable Logic Devices) Dispositivos de Lógica

Programável Complexa

VHSIC – (Very High Speed Integrated Circuit) Linguagem de Decrial de Hardware

SRAM – (Static Random Access Memory)

CMOS – (Complementary Metal Oxid Semiconductor)

ASICS – (Aplication Specific Integrated Circuit)

Page 15: PLANTA DE ELEVADORES COM CONTROLE POR FPGAS · FPGA – (Field Programmable Gate Arrays) Arranjos de Portas Programáveis em Campo ... anos 60, como alternativa para as linguagens

xv

LISTA DE SÍMBOLOS

Ω - ohm

Page 16: PLANTA DE ELEVADORES COM CONTROLE POR FPGAS · FPGA – (Field Programmable Gate Arrays) Arranjos de Portas Programáveis em Campo ... anos 60, como alternativa para as linguagens

xvi

Page 17: PLANTA DE ELEVADORES COM CONTROLE POR FPGAS · FPGA – (Field Programmable Gate Arrays) Arranjos de Portas Programáveis em Campo ... anos 60, como alternativa para as linguagens

1

1 INTRODUÇÃO

As primeiras linguagens de descrição de hardware foram desenvolvidas no final dos

anos 60, como alternativa para as linguagens de programação para descrever e simular

dispositivos de hardware. O VHDL (Very High Speed Integrated Circuit) é uma linguagem

estruturada que oferece a possibilidade de descrever o hardware e este ser simulado antes de

sua aplicação facilitando a validação ou verificação, tanto em termos de funcionamento

quanto em termos de tempos de atraso dos componentes e desempenho, sem a necessidade da

prototipação do sistema. O projeto ganha portabilidade, já que pode ser compilado em

qualquer ferramenta e para qualquer tecnologia. É comum, na indústria, o uso de FPGAs

(Field Programmable Gate Arrays) e CPLDs (Complex Programmable Logic Devices) para

produções iniciais ou de menores escalas em projetos que posteriormente possam ser

implementados em ASICs (Aplication Specific Integrated Circuit) [VHDL, 2005].

O FPGA é um circuito integrado que pode ser configurado por meio de Linguagem de

Descrição de Hardware e servem para implementar circuitos digitais, como processadores,

interfaces, controladores e decodificadores.

Com a inserção massiva da tecnologia de FPGAs e VHDL nos equipamentos

eletrônicos e, por conseguinte, a crescente demanda por profissionais qualificados nesta área,

nota-se a necessidade do aprendizado desta tecnologia ainda no ambiente acadêmico. Assim

surgiu a idéia de montar um equipamento que pudesse servir para o ensino dessas tecnologias.

O objetivo deste projeto é o desenvolvimento de uma maquete de um elevador, cujos

comandos serão tratados via FPGA. Para movimentação do elevador será utilizado motor de

passo, sensores para indicação do andar onde se encontra o elevador, botões para chamar o

elevador em cada um dos quatro andares, botão representando o painel interno do elevador

além, é lógico, do FPGA. Completando o projeto, será montada uma interface com um

microcomputador que fará o monitoramento e do posicionamento do elevador.

Page 18: PLANTA DE ELEVADORES COM CONTROLE POR FPGAS · FPGA – (Field Programmable Gate Arrays) Arranjos de Portas Programáveis em Campo ... anos 60, como alternativa para as linguagens

2

2 FUNDAMENTAÇÃO TEÓRICA

Nesta fundamentação teórica são abordados os temas principais no desenvolvimento

deste projeto são eles:

• Motor de passo

• FPGAS

• Sensores ópticos

• VHDL

2.1 Motores de passo

O motor de passo é um dispositivo eletromecânico que converte pulsos elétricos em

movimentos mecânicos e é controlado através de pulsos, o que possibilita o deslocamento por

passo, onde passo é o menor deslocamento angular. A seqüência dos pulsos aplicados é

relacionada diretamente ao sentido da rotação dos eixos do motor. A velocidade da rotação

dos eixos do motor é relacionada diretamente à freqüência dos pulsos da entrada e o

comprimento da rotação é relacionado diretamente ao número dos pulsos da entrada

aplicados. A vantagem do motor de passos em relação aos outros motores é a estabilidade.

2.1.1 Funcionalidade

O número de pólos de um motor de passo é determinado pelo passo angular desejado

por pulsos de entrada. O motores de passo tem alimentação externa. Conforme os pulsos

na entrada do circuito de alimentação, este oferece corrente aos enrolamentos certos para

fornecer o deslocamento desejado. Estes pulsos são dados com a inserção de níveis lógicos

sobre os enrolamentos do motor, existem três tipos básicos de motores de passo.

Relutância Variável:

Este tipo de motor apresenta o rotor (parte móvel do motor) em aço doce multipolar

com os enrolamentos no estator (parte fixa do motor), de forma que entre os dentes do rotor,

em relação aos pólos do estator exista uma variação de relutância. Dessa forma, o ponto de

equilíbrio local coincide com o ponto de mínima relutância quando as peças polares estão face

a face. Através da alimentação de cada uma das fases o núcleo do rotor se posiciona de forma

a reduzir o entreferro entre as partes, variando a relutância do circuito magnético. O sentido

Page 19: PLANTA DE ELEVADORES COM CONTROLE POR FPGAS · FPGA – (Field Programmable Gate Arrays) Arranjos de Portas Programáveis em Campo ... anos 60, como alternativa para as linguagens

3

da corrente nas bobinas não altera o sentido do conjugado, uma vez que o rotor não possui

magnetização própria. [NEWTON BRAGA, 2007]

Imã permanente:

O motor de imã permanente possui o rotor constituído de um material

permanentemente magnetizado. Uma maneira de se visualizar o funcionamento desse motor é

imaginar o rotor como um imã simples e o estator como duas fases distribuídas sobre dois

pares de pólos. A seqüência de alimentação das bobinas determina a rotação do motor, sendo

que para cada mudança de alimentação de corrente o motor gira um passo. [NEWTON

BRAGA, 2007]

Híbridos:

A forma típica de construção dos motores híbridos apresenta duas seções, com um

eixo de material ferromagnético entre elas, sendo que cada seção contém um rotor e um

estator com suas bobinas de fase.

No eixo é acoplado um imã permanente que magnetiza o rotor de uma seção como

pólo norte e o da outra com sul. As linhas de fluxo magnético saem do pólo norte do imã

acoplado ao eixo, entram no rotor da primeira seção, saem pelos dentes alinhados com os

dentes do estator dessa seção e seguem para a outra seção ao longo da carcaça do estator.

Nessa outra seção, entram no rotor pelos dentes alinhados com os dentes do estator e

completam o circuito magnético com o pólo sul do imã permanente. De forma análoga aos

outros tipos de motores de passo, cada nova excitação de fase provocará um novo passo.

[NEWTON BRAGA, 2007]

2.1.2 Tipos de motores

Os motores de passo podem ser bipolares, que requerem duas fontes de alimentação

ou uma fonte de alimentação de polaridade comutável, ou unipolares, que requerem apenas

uma fonte de alimentação. Em ambos os casos as fontes utilizadas são de tensão contínua e

requerem um circuito digital que produza as seqüências para produzir a rotação do motor. No

controle de um motor de passo nem sempre é necessária a implementação de uma estratégia

de realimentação, mas a utilização de um encoder, ou de outro sensor de posição poderá

assegurar uma melhor exatidão sempre que for essencial. A vantagem de operar sem

realimentação é que deixa de ser necessário um sistema de controle em malha fechada.

Page 20: PLANTA DE ELEVADORES COM CONTROLE POR FPGAS · FPGA – (Field Programmable Gate Arrays) Arranjos de Portas Programáveis em Campo ... anos 60, como alternativa para as linguagens

4

Motores de passo unipolares

Os motores de passo unipolares são facilmente reconhecidos pela derivação ao centro

em cada um dos enrolamentos. O número de fases é duas vezes o número de bobinas, uma

vez que cada bobina se encontra dividida em duas. Na Figura 2.1 temos a representação de

um motor de passo unipolar. Normalmente, a derivação central dos enrolamentos está ligada

ao terminal positivo da fonte de alimentação e os extremos de cada enrolamento são ligados

alternadamente à terra para assim inverter a direção do campo gerado por cada um dos

enrolamentos.

Figura 2.1 - Motor de passo unipolar

FONTE: MINEBEA(2007).

A Tabela 2.1 mostra seqüências de pulsos que poderiam ser enviados para realizar o

movimento do motor.

Tabela 2.1 – Atuação de um motor de passo unipolar

FONTE: MINEBEA(2007).

Page 21: PLANTA DE ELEVADORES COM CONTROLE POR FPGAS · FPGA – (Field Programmable Gate Arrays) Arranjos de Portas Programáveis em Campo ... anos 60, como alternativa para as linguagens

5

Motores de passo bipolares

Ao contrário dos motores de passo unipolares, os motores bipolares requerem um

circuito de atuação bem mais complexo. Os motores de passo bipolares são proporcionam um

maior torque comparativamente a um motor unipolar do mesmo tamanho.

Na Figura 2.2 temos a representação de um motor de passo bipolar.

Figura 2.2 - Motor de passo bipolar

FONTE: MINEBEA(2007).

Os motores bipolares são constituídos por enrolamentos separados que devem ser

atuados em ambas as direções para permitir o avanço de um passo, ou seja, a polaridade deve

ser invertida durante o funcionamento do motor. O padrão de atuação do driver é de todo

semelhante ao obtido para o motor de passo unipolar em full-step, mas em vez de 0’s e 1’s

temos o sinal da polaridade aplicada às bobinas. Um exemplo de aplicação pode ser

encontrado Na Tabela 2.2 mostra seqüências de pulsos que poderiam ser enviados para

realizar o movimento do motor.

Tabela 2.2 – Atuação de um motor de passo bipolar

FONTE: MINEBEA(2007).

Page 22: PLANTA DE ELEVADORES COM CONTROLE POR FPGAS · FPGA – (Field Programmable Gate Arrays) Arranjos de Portas Programáveis em Campo ... anos 60, como alternativa para as linguagens

6

2.1.3 Seqüências de acionamento

Há três modos de excitação comumente usados: passo normal, meio-passo, e micro-

passo:

Passo Normal (Full-Step)

Na operação de passo normal, o motor usa o ângulo de passo normal, por exemplo:

um motor de 200 passos/revolução em passo normal anda em passos de 1.8 graus, enquanto

que em operação de meio-passo, operam com passos de 0.9 grau.

Há dois tipos de passo normal.

De única excitação de fase: o motor é operado com só uma fase energizada de cada

vez. Este modo só deve ser usado onde o torque e a velocidade não são importantes, por

exemplo onde o motor é operado a uma velocidade fixa e com condições de carga bem

definidas. Problemas com ressonância podem impedir operação em baixas velocidades. Este

modo requer menos potência do que os demais modos de excitação.

Excitação dual: é onde o motor é operado com as fases energizadas duas de cada vez.

Este modo proporciona bom torque e velocidade com poucos problemas de ressonância.

Excitação dual provê aproximadamente 30 a 40% mais torque que a excitação única, mas

também requer o dobro de potência da fonte.

Meio-Passo (Half-Step)

Excitação de meio-passo é a excitação única e dual alternadas, que resulta em passos

com a metade do tamanho de um passo normal. Este modo dobra a resolução. O torque do

motor varia ao alternar o passo, isto é compensado pela necessidade de se usar um passo com

metade do ângulo normal. Este modo é totalmente livre de problemas de ressonância. Pode

operar motores em uma grande faixa de velocidades e com quase qualquer carga encontrada

comumente.

Micro-Passo (Micro-Step)

No modo de micro-passo, o ângulo de passo natural de um motor pode ser dividido em

muitos ângulos menores. Um motor com de 1.8 graus tem 200 passos/revolução, com o modo

micro-passo divisor de 10, ele passaria a ter passos de 0.18 graus e 2000 passos/revolução.

Tipicamente, modos de micro-passo variam de divisor de 10 a divisor de 256 (51,200

passos/revolução para um motor de passo de 1.8 graus). Os micro-passos são produzidos

proporcionando corrente nas duas bobinas de acordo com o seno e co-seno. Este modo só é

Page 23: PLANTA DE ELEVADORES COM CONTROLE POR FPGAS · FPGA – (Field Programmable Gate Arrays) Arranjos de Portas Programáveis em Campo ... anos 60, como alternativa para as linguagens

7

usado onde é necessário movimento "macio" ou maior resolução. [NEWTON BRAGA,

2007].

2.2 FPGA

FPGA (Field Programmable Gate Arrays) é um circuito integrado configurado por

software e serve para implementar circuitos digitais, como processadores, interfaces,

controladores e decodificadores. Consiste de um grande arranjo de blocos lógicos

configuráveis contidos em um único circuito integrado. [ENRIQUE MANDADO, 2003]

A Figura 2.3 apresenta a estrutura interna de um FPGA.

Figura 2.3 – Estrutura interna de um FPGA.

O FPGA possui três conjuntos de configurações. Os blocos lógicos de configuração

(CLB) que são os recursos que permitem realizar diferentes funções lógicas. Sua

complexidade pode variar desde um simples par de transistores ate um bloco de memória

LUT (Look-up Tables) .As células de armazenamento dos LUTs de um FPGA são voláteis, o

que implica perda do conteúdo armazenado, no caso de falta de suprimento de energia

elétrica. Dessa forma, o FPGA deve ser programado toda vez que for energizado.

Foram criadas algumas categorias para classificar os FPGA´s quanto ao bloco logico:

Granularidade grossa: os FPGAs dessa categoria podem possuir unidades lógicas e

aritméticas, pequenos microprocessadores e memórias.

Granularidade media: esses FPGAs freqüentemente contêm duas ou mais LUTs e dois

ou mais flip-flops. A maioria das arquiteturas de FPGAs implementam a lógica em LUTs de

quatro entradas.

BLOCO LOGICO

INTERCONEXÃO

PROGRAMAVEL

BLOCO E/S

Page 24: PLANTA DE ELEVADORES COM CONTROLE POR FPGAS · FPGA – (Field Programmable Gate Arrays) Arranjos de Portas Programáveis em Campo ... anos 60, como alternativa para as linguagens

8

Granularidade fina: FPGAs que contêm um grande número de blocos lógicos

simples. Os blocos lógicos normalmente contêm uma função lógica de duas entradas ou um

multiplexador 4x1 e um flip-flop.

Blocos de entrada e saída IOB (Input/Output Block) que são circuitos pelo

interfaceamento das saídas provenientes das combinações de CLBS (Configurable Logic

Block). São basicamente buffers que funcionarão como um pino bidirecional entrada e saída

do FPGA. Estes blocos podem ter diferentes graus de complexidade.

Recursos de interconexão são conjuntos de trilhas e interruptores programáveis que

permitem transmitir os sinais entre os blocos lógicos de configuração e blocos de

entrada/saída. O processo de escolha das interconexões é chamado de roteamento. A

arquitetura de roteamento de um FPGA é a forma pela qual os seus barramentos e as chaves

de comutação são posicionados para permitir a interconexão entre as células lógicas. Essa

arquitetura deve permitir que se obtenha um roteamento completo e, ao mesmo tempo, uma

alta densidade de portas lógicas. [ENRIQUE MANDADO, 2003]

2.2.1 Kit Educacional UP1

O kit UP1 é uma placa experimental baseada em 2 dispositivos da família Altera.:

MAX7000 e FLEX10K. De simples design é usado com o software QUARTUS que fornece

uma plataforma superior pra o aprendizado de lógica digital e desenvolvimento de CPLD.

A Figura 2.4 apresenta o KIT UP1.

Figura 2.4 - KIT UP 1

FONTE: ALTERA (2003)

Page 25: PLANTA DE ELEVADORES COM CONTROLE POR FPGAS · FPGA – (Field Programmable Gate Arrays) Arranjos de Portas Programáveis em Campo ... anos 60, como alternativa para as linguagens

9

Os dispositivos FLEX10K da Altera são os primeiros CPLDs embarcados da indústria.

Baseado em elementos SRAM (Static Random Access Memory) e CMOS (Complementary

Metal Oxid Semiconductor), os FPGA´s incorporam todas as características necessárias para

executar funções de um CPLD comum. Com até 250.000 portas, a família FLEX 10K fornece

a densidade, a velocidade e um desempenho elevado alem das características para integrar

sistemas inteiros em um único dispositivo. Os dispositivos FLEX 10K são reconfiguráveis, o

que permite vários testes antes da transmissão. Em conseqüência, não é necessário gerar testes

para da cobertura da falha. Os dispositivos FLEX 10K podem ser configurados na placa para

a funcionalidade específica requerida. Nenhuma técnica de projeto especial é requerida para

executar as aplicações, eles podem ser executadas em Verilog HDL, VHDL, e linguagem de

descrição de hardware da Altera (AHDL). [ALTERA, 2003]

A Figura 2.5 apresenta o FLEX 10K.

Figura 2.5 – FLEX 10K

FONTE: ALTERA (2003)

Cada dispositivo FLEX 10K contem um arranjo embutido e um arranjo lógico. O

primeiro é utilizado para implementar uma variedade de funções de memória ou funções

lógicas complexas, tais como de processamento digital de sinais, microcontroladores e

transformação de dados. O arranjo lógico realiza lógica geral como contadores, somadores,

máquina de estados e multiplexadores. O uso conjunto dos dois arranjos propicia alto

desempenho e alta densidade lógica, permitindo a implementação inclusive de um sistema

completo em um único dispositivo. [ALTERA, 2003]

2.3 Sensor Óptico

Este tipo de sensor é constituído por dois componentes denominados, emissor e

receptor de luz. Geralmente, os emissores de luz são LED´s eletrônicos ou lâmpadas comuns.

Já o receptor é um componente eletrônico foto-sensível tais como fototransistores, fotodiodos,

ou LDR´s. [SIEMENS,2007]

Page 26: PLANTA DE ELEVADORES COM CONTROLE POR FPGAS · FPGA – (Field Programmable Gate Arrays) Arranjos de Portas Programáveis em Campo ... anos 60, como alternativa para as linguagens

10

Alguns tipos de sensores:

Barreira

O elemento transmissor de irradiação infravermelha é alinhado frontalmente a um

receptor infravermelho, a uma distância predominada e específica para cada tipo de sensor.

Qualquer interrupção desta irradiação deixará de atingir o receptor, portanto ocorrerá um

chaveamento eletrônico.

A Figura 2.6 apresenta um exemplo de sensor de barreira.

Figura 2.6 – Sensor de barreira.

Difuso

Os elementos de emissão e recepção infravermelha estão montados justapostos em um

mesmo conjunto óptico, direcionados para a face sensível do sensor. Os raios infravermelhos

emitidos pelo transmissor, refletem sobre a superfície de um objeto e retornam em direção do

receptor a uma distância determinada como distância de comutação, o que provoca o

chaveamento eletrônico desde que o objeto possua uma superfície não totalmente fosca.

A Figura 2.7 apresenta um exemplo de sensor difuso.

Figura 2.7 – Sensor difuso.

RECEPTOOBJETO EMISSO

O objeto interrompe o feixe entre o emissor e o receptor

EMISSOR

Reflexão no próprio objeto

OBJETO

Page 27: PLANTA DE ELEVADORES COM CONTROLE POR FPGAS · FPGA – (Field Programmable Gate Arrays) Arranjos de Portas Programáveis em Campo ... anos 60, como alternativa para as linguagens

11

Retroreflexivo

Possui características mecânicas idênticas ao sistema por difusão com algumas

mudanças no sistema óptico.Os raios infravermelhos emitidos, somente refletem em um

espelho prismático especial, colocado a uma distância, dentro da zona determinada como

distância de comutação, frontalmente a face sensível do sensor, e retornam em direção ao

receptor, formando uma barreira óptica. A comutação ou chaveamento ocorre quando se retira

o espelho ou quando se interrompe a barreira de raios infravermelhos entre sensor e espelho

com um objeto ou corpo de qualquer natureza. [SIEMENS,2007]

A Figura 2.8 apresenta um exemplo de sensor retroreflexivo.

Figura 2.8 – Sensor retroreflexivo.

2.4 VHDL

Nas décadas de 70 e 80 foi posto em prática um programa do Departamento de Defesa

Americano, para desenvolvimento de circuitos integrados de alta velocidade, denominado

VHSIC (Very High Speed Integradet Circuit) originado da preocupação de domínio das

tecnologias envolvidas. Em 1983, foram definidos os requisitos de uma linguagem de

descrição de circuitos padrão. Microprocessadores eram utilizados em várias aplicações, eram

reproduzidos e testados aos milhões. Isso significava que o investimento em um único projeto

poderia ser muito maior, inclusive em termos de especificação e testes. A evolução da

metodologia de projeto de software foi então natural, em função dos argumentos sustentados

pela crise. Hoje ainda é grande o desenvolvimento de novos métodos e a busca por uma

linguagem descritiva universal, como o UML, para especificação e projeto de software

orientado a objetos.

EMISSOR

Barreira formada entre Receptor e Espelho

O Objeto interrompe o feixe.

Espelho

OBJETO

Page 28: PLANTA DE ELEVADORES COM CONTROLE POR FPGAS · FPGA – (Field Programmable Gate Arrays) Arranjos de Portas Programáveis em Campo ... anos 60, como alternativa para as linguagens

12

Com o objetivo de adicionar facilidades a linguagem, foram propostos dois padrões, o

IEEE 1164 e IEEE 1076.3. O primeiro define o pacote “Std_logic_1164”, e o segundo os

pacotes “Numeric_std” e “ Numeric_bit”. Um pacote em VHDL é um local para

armazenamento de informações de uso comum, como tipos de dados, funções, etc.

Como a linguagem VHDL suporta projetos com múltiplos níveis de hierarquia, a

descrição pode consistir na interligação de outras descrições menores, o código que representa

o comportamento esperado do circuito. Esses estilos são denominados estrutural e

comportamental, e podem ser mesclados em uma mesma descrição.

Com exceção de regiões especificas no código, todos os comandos são executados

concorrentemente. Isto significa que a ordem na apresentação dos comandos é irrelevante para

o comportamento da descrição. A ocorrência de um evento em um sinal leva a execução de

todos os comandos sensíveis aquele sinal, da mesma forma que, um circuito, a mudança de

um valor em um determinado nó afeta todas as entradas ligadas a esse ponto do circuito.

A linguagem permite, também, delimitar regiões do código seqüencial, onde a

execução dos comandos segue a ordem de sua apresentação no código. Para essas regiões são

utilizados comandos específicos, que não podem ser empregados na região de código

concorrente. Subprogramas e processos são regiões do código seqüencial.

Assim como as linguagens de programação. A linguagem VHDL permite definição de

subprogramas na forma de procedimentos e funções. Os subprogramas podem ser empregados

em rotinas de conversão, definição de novos operadores e outras operações não diretamente

ligadas a um circuito passível de síntese. Nada impede que um subprograma tenha uma

correspondência direta a um elemento do circuito a ser sintetizado. O código de um circuito

multiplicador composto por conjuntos de células pode ter a função de cada célula descrita

num subprograma.

Na linguagem VHDL não é feita nenhuma distinção entre comandos empregando

caracteres maiúsculos ou minúsculos, e os comentários iniciam aos dois hífens, e terminam no

final da linha.

Devido a sua potencialidade, o VHDL é complexo, e muitas vezes de difícil

entendimento, dado as inúmeras opções para modelar o comportamento de um mesmo

circuito. Entretanto, o entendimento de um pequeno numero de comandos, suficiente para

modelamento de estruturas medianamente complexas, pode ser rapidamente atingido. A

necessidade de projetos mais complexos encaminha a procura por novos comandos levando a

uma maior compreensão das opções da linguagem [ROBERTO D´AMORE, 2005].

Page 29: PLANTA DE ELEVADORES COM CONTROLE POR FPGAS · FPGA – (Field Programmable Gate Arrays) Arranjos de Portas Programáveis em Campo ... anos 60, como alternativa para as linguagens

13

Vantagens do Uso

A alternativa para uso de uma linguagem formal de descrição de hardware como o

VHDL é a descrição por diagramas esquemáticos. O VHDL apresenta as seguintes vantagens:

a) Em sistemas seqüenciais, o detalhamento da lógica de controle é realizado pelas

ferramentas de automação do projeto, o que evita a trabalhosa e limitada aplicação das

técnicas manuais tradicionais;

b) O objetivo do projeto fica mais claro que na representação por esquemáticos, nos

quais a implementação se sobrepõe à intenção do projeto;

c) O volume de documentação diminui, já que um código bem comentado em VHDL

substitui com vantagens o esquemático e a descrição funcional do sistema;

d) O projeto ganha portabilidade, já que pode ser compilado em qualquer ferramenta e

para qualquer tecnologia. É comum, na indústria, o uso de FPGAs e CPLDs para produções

iniciais ou de menores escalas em projetos que posteriormente possam ser implementados em

ASICs. Todas as implementações podem usar o mesmo código VHDL.

Page 30: PLANTA DE ELEVADORES COM CONTROLE POR FPGAS · FPGA – (Field Programmable Gate Arrays) Arranjos de Portas Programáveis em Campo ... anos 60, como alternativa para as linguagens

14

3 ESPECIFICAÇÃO DO PROJETO

3.1 Estrutura Geral

O projeto possui uma planta com uma cabine de elevador conforme mostra a figura

3.1.

Os botões internos e externos do elevador, utilizados para a solicitação de chamadas

dos andares, estão instalados em um controle localizado ao lado da planta do elevador e são

do tipo “push-button”. A movimentação da cabine é controlada por um motor de passo que

está instalado na parte superior do elevador. A indicação de que a cabine está num

determinado andar é obtida através das chaves optoeletrônicas (sensor de barreira), com

emissor e receptor no mesmo componente. Existe ainda um display BCD 7 segmentos que

indica o andar no qual o elevador se encontra. Através do computador é possível visualizar a

localização e o estado do elevador. A figura 3.2 mostra o diagrama em blocos do sistema com

os componentes acima citados.

Descrição de operação do elevador:

O elevador atende todas as chamadas válidas na direção em que está indo e somente

quando tiver atendido a todas pode mudar de direção, ou seja:

• Se o elevador estiver subindo, atenderá aos pedidos de subida, se houver pedido

para subir acima do andar atual do elevador.

• Se o elevador estiver descendo, atenderá aos pedidos de descida, se houver pedido

para descer abaixo do andar atual do elevador.

• Se não houver pedidos, o elevador fica parado. Se em seguida, for feito um pedido

para algum andar diferente daquele em que ele estava parado, ele atenderá ao

pedido.

• Quando não há nenhuma chamada e diversas chamadas forem feitas ao mesmo

tempo, dar preferência à descida do elevador.

Page 31: PLANTA DE ELEVADORES COM CONTROLE POR FPGAS · FPGA – (Field Programmable Gate Arrays) Arranjos de Portas Programáveis em Campo ... anos 60, como alternativa para as linguagens

15

A Figura 3.1 apresenta a planta do elevador.

Figura 3.1 – Planta do elevador

O software demonstra a movimentação do elevador através dos dados enviados pela

FPGA para o PC através da porta paralela.

Page 32: PLANTA DE ELEVADORES COM CONTROLE POR FPGAS · FPGA – (Field Programmable Gate Arrays) Arranjos de Portas Programáveis em Campo ... anos 60, como alternativa para as linguagens

16

Figura 3.2 – Diagrama em blocos do sistema.

3.2 Arquitetura Hardware

Os blocos principais da arquitetura do elevador são:

• Sensores dos andares

• Botões

• Motor

• FPGA

• Display

Sensores dos andares

Os sensores dos andares são do tipo óptico com o emissor e receptor montados no

mesmo invólucro, a saída é acionada, quando um objeto interrompe o feixe de luz, impedindo

que este atinja o espelho e retorne ao receptor do sensor, a saída do sensor é acionada.

Botões

Existem dois tipos de botões:

• chamada nos andares

• interiores ao elevador

Page 33: PLANTA DE ELEVADORES COM CONTROLE POR FPGAS · FPGA – (Field Programmable Gate Arrays) Arranjos de Portas Programáveis em Campo ... anos 60, como alternativa para as linguagens

17

Os botões são “active high”, ou seja, normalmente o nível lógico da entrada a que

estão associados é 0, ficando 1 quando são pressionados. Cada um dos botões esta ligado a

uma porta do FPGA.

Os botões possuem leds internos e conforme são apertados indicam em quais andares

existem chamadas.

Motor

O motor do elevador é controlado a partir de 4 portas de saída do FPGA, uma para

cada saída do motor. Serão utilizados transistores para interface com o motor.

FPGA

O FPGA utilizado é o FLEX10K da Altera, que é reconfigurável, o que permite vários

testes antes da transmissão. Em conseqüência, não é necessário gerar testes para da cobertura

da falha. Ele é controlado por linguagem de descrição de hardware (VHDL).

Display

É utilizado um CI 4511 que converte um número binário de 0 a 9 em um conjunto de

sinais para ligar os leds de um display de sete segmentos. O display apresenta sete segmentos

luminosos que poderão ser ligados ou desligados para formar um numero.

3.3 Arquitetura Software

Os dados utilizados no software são recebidos pelo PC através da porta paralela. O

software tem por finalidade realizar a interação do usuário com o sistema desenvolvido,

através do software é possível ver a movimentação da cabine do elevador.

Resumindo, o software desenvolvido para o elevador, plota um gráfico onde é possível

visualizar a posição da cabine.

Page 34: PLANTA DE ELEVADORES COM CONTROLE POR FPGAS · FPGA – (Field Programmable Gate Arrays) Arranjos de Portas Programáveis em Campo ... anos 60, como alternativa para as linguagens

18

A Figura 3.3 apresenta o fluxograma do sistema.

Figura 3.3 – Fluxograma do sistema.

3.4 Estudo de Viabilidade economica

Tabela 3.1– Estudo de Viabilidade Econômica

Recursos Necessários Custos (R$) Horas de trabalho 6.000,00 Componentes eletrônicos 600,00 Plataforma de desenvolvimento Quartus Gratuito Plataforma de desenvolvimento C++ Builder 2.500,00 Maquete 300,00

INICILIAZAÇÃO DA

COMUNICAÇÃO

COM DISPOSITIVO

DE HARDWARE

ENVIO

FECHA A PORTA DE

COMUNICAÇÃO COM

O HARDWARE

ATUALIZA

VALORES DOS

SENSORES

FIM

FINALIZAR

PROGRAMA

INICIO

Page 35: PLANTA DE ELEVADORES COM CONTROLE POR FPGAS · FPGA – (Field Programmable Gate Arrays) Arranjos de Portas Programáveis em Campo ... anos 60, como alternativa para as linguagens

19

3.5 Cronograma

Tabela 3.2– Cronograma

Page 36: PLANTA DE ELEVADORES COM CONTROLE POR FPGAS · FPGA – (Field Programmable Gate Arrays) Arranjos de Portas Programáveis em Campo ... anos 60, como alternativa para as linguagens

20

4 PROJETO

4.1 Projeto de hardware

4.1.1 Motor

O motor de passo escolhido para a movimentação do elevador foi o PM55L-048 da

Minebea, motor unipolar de 2 fases e ângulo de passo de 7.5°. [MINEBEA,2007]

Figura 4.1 – Motor de passo PM55L-048

FONTE: MINEBEA(2007).

A figura 4.2 mostra a faixa de torque dos motores de passo da marca Minebea. O

motor acima foi escolhido pelo seu torque elevado, o que elimina a necessidade de caixas de

redução mecânica. Além disso, este motor é facilmente encontrado no mercado brasileiro.

Figura 4.2 – Faixa de torque de acordo com o tipo do motor

FONTE: MINEBEA(2007)

Page 37: PLANTA DE ELEVADORES COM CONTROLE POR FPGAS · FPGA – (Field Programmable Gate Arrays) Arranjos de Portas Programáveis em Campo ... anos 60, como alternativa para as linguagens

21

4.1.2 Interface de potência

Para que a FPGA possa controlar o motor de passos torna-se necessário o uso de uma

interface de potencia. Foi projetado um circuito que suporta alimentar o motor sem

aquecimento.

A Figura 4.3 apresenta o diagrama esquemático da interface. E possui os seguintes

componentes:

• Transistores Darlington (TIP 121);

• 8 Resistores 1 K ohms;

• Optoacopladores (4N25).

VCC

VMOTOR

VMOTOR

Q2TIP121

1K

1 6

2

5

4

U2

4N25

1K

VMOTOR

Q3TIP121

1K

1 6

2

5

4

U3

4N25

1K

VMOTOR

Q4TIP121

1K

1 6

2

5

4

U4

4N25

1K

Q1TIP121

1K

1 6

2

5

4

U1

4N25

VMOTOR

1K

12345678

J4

CON8

123456

J5

CON6

12

J6

CON2

Figura 4.3 – Esquemático interface de potência.

Page 38: PLANTA DE ELEVADORES COM CONTROLE POR FPGAS · FPGA – (Field Programmable Gate Arrays) Arranjos de Portas Programáveis em Campo ... anos 60, como alternativa para as linguagens

22

A Figura 4.4 mostra a placa da interface de potência em sua versão final.

Figura 4.4 – Placa de interface potência.

123

4 5 6

MG1

MOTOR STEPPER

VE

RM

ELH

O

PRETO

MARRON

AM

AR

EL

O

LA

RA

NJ

A

24V

Figura 4.5 – Esquemático motor de passo.

Esta interface funcionará sob o comando da FPGA, ao enviar um nível lógico alto para

das portas dos optoacopladores, será acionada a bobina do motor e ela ficara energizada.

4.1.3 Sensor Óptico (chave optoeletrônica)

O sensor PCHT203 da Politronic é responsável pela detecção da posição da cabine do

elevador. [POLITRONIC, 2004]

Quando um objeto interrompe o feixe de luz, impedindo que este atinja o espelho e

retorne ao receptor do sensor, a saída do sensor é acionada. Normalmente o nível lógico é 0,

Page 39: PLANTA DE ELEVADORES COM CONTROLE POR FPGAS · FPGA – (Field Programmable Gate Arrays) Arranjos de Portas Programáveis em Campo ... anos 60, como alternativa para as linguagens

23

ficando 1 quando existe a uma interrupção no sensor. Cada um dos sensores esta ligado a uma

da porta do FPGA.

A Figura 4.6 apresenta o diagrama esquemático do acionamento do sensor. E possui

os seguintes componentes:

• 1 chave optoeletronica PCHT203;

• 1 Resistor 1 K ohms;

• 1 Resistor 10 K ohms.

D2

D110K

1K

5V

1

J1

CON1

1

J2

CON1

1

J3

CON1

Figura 4.6 – Esquemático sensor.

A Figura 4.7 mostra a placa do sensor em sua versão final.

Figura 4.7 – Placa do sensor.

Page 40: PLANTA DE ELEVADORES COM CONTROLE POR FPGAS · FPGA – (Field Programmable Gate Arrays) Arranjos de Portas Programáveis em Campo ... anos 60, como alternativa para as linguagens

24

4.1.4 Alimentação do circuito

O motor de passo é alimentado com +24Vcc e demais partes do circuito com +5Vcc.

A alimentação do KIT da Altera é feito por uma fonte que pode ser de 7V e 12V de no

mínimo 250mA.

4.1.5 Display

É utilizado um CI 4511 que converte um número binário de 0 a 9 em um conjunto de

sinais para ligar os leds de um display de sete segmentos. O display apresenta sete segmentos

luminosos que poderão ser ligados ou desligados para formar um numero.

A Figura 4.8 apresenta o diagrama esquemático do acionamento do display.

gg

ff

aa

bb

..

cc

dd

ee

V1

V1

V2

V2

U2

PH

D5

67

A7

B1

C2

D6

LT3

BI4

LE5

a13

b12

c11

d10

e9

f15

g14

VDD16

U5

4511

12345

J1

CON5

R1

Figura 4.8– Esquemático display

Page 41: PLANTA DE ELEVADORES COM CONTROLE POR FPGAS · FPGA – (Field Programmable Gate Arrays) Arranjos de Portas Programáveis em Campo ... anos 60, como alternativa para as linguagens

25

A Figura 4.9 mostra a placa do display em sua versão final.

Figura 4.9 – Placa do display.

4.1.6 FPGA

Os sinais de entrada e saída da FPGA são os seguintes:

CLK: Sinal que irá definir o clock para FPGA, vem do próprio kit da Altera.

Reset: Quando igual a “1” reinicia o modulo.

Motor [3..0] : Sinal de saída da FPGA, que indicam o valor de cada fase do motor .

Este sinal é enviado para interface de potência para ativação do motor.

Display [1..0] : Sinal de saída da FPGA, que indicam o valor do andar que se encontra

o elevador.

Sensor0: Sinal de entrada da FPGA, que detecta a cabine no térreo.

Sensor1: Sinal de entrada da FPGA, que detecta a cabine no primeiro andar.

Sensor1: Sinal de entrada da FPGA, que detecta a cabine no segundo andar.

Sensor1: Sinal de entrada da FPGA, que detecta a cabine no terceiro andar.

Botões 0: Sinal de entrada da FPGA, que indica uma chamada no térreo.

Botão1: Sinal de entrada da FPGA, que indica uma chamada no primeiro andar.

Botão2: Sinal de entrada da FPGA, que indica uma chamada no segundo andar.

Botão3: Sinal de entrada da FPGA, que indica uma chamada no terceiro andar.

Led0: Sinal de saída da FPGA, que indica uma chamada no térreo.

Led1: Sinal de saída da FPGA, que indica uma chamada no primeiro andar.

Led2: Sinal de saída da FPGA, que indica uma chamada no segundo andar.

Page 42: PLANTA DE ELEVADORES COM CONTROLE POR FPGAS · FPGA – (Field Programmable Gate Arrays) Arranjos de Portas Programáveis em Campo ... anos 60, como alternativa para as linguagens

26

Led3: Sinal de saída da FPGA, que indica uma chamada no terceiro andar.

Pc0: Sinal de saída da FPGA, que permite visualização do elevador no térreo via

software.

Pc1: Sinal de saída da FPGA, que permite visualização do elevador no primeiro andar

via software.

Pc2: Sinal de saída da FPGA, que permite visualização do elevador no segundo andar

via software.

Pc3: Sinal de saída da FPGA, que permite visualização do elevador no terceiro andar

via software.

Up: Indica que o elevado esta subindo.

Down: Indica que o elevador esta descendo.

O hardware descrito em VHDL é responsável por:

• comandar o motor de passo;

• receber os sinais dos sensores e botões;

• enviar os sinais para o software, o display e os leds.

O mesmo foi desenvolvido no software QuartusII, da Altera, na versão gratuita

disponibilizada para estudantes. A Figura 4.10 mostra o bloco Elevador que é responsável por

receber os sinais dos botões e dos sensores e enviar os sinais para o software e para os leds.

reset

clk

botao0

botao1

botao2

botao3

sensor0

sensor1

sensor2

sensor3

up

down

pc0

pc1

pc2

pc3

led0

led1

led2

led3

display [1..0]

elev ador

inst

Figura 4.10-Bloco Elevador

A Figura 4.11 mostra o bloco subir_descer. Este bloco é responsável pelas seqüências

de passos a ser enviada para o motor e também a decisão sobre subir ou descer (quando

Page 43: PLANTA DE ELEVADORES COM CONTROLE POR FPGAS · FPGA – (Field Programmable Gate Arrays) Arranjos de Portas Programáveis em Campo ... anos 60, como alternativa para as linguagens

27

existirem chamadas simultâneas). Seu funcionamento é encerrado quando a cabine chega no

andar chamado.

up

down

clk

reset

motor[3..0]

subir_descer

inst2

Figura 4.11 – Bloco subir_descer

A Figura 4.12 mostra o bloco divisor de clock, este bloco é responsável pelo

tratamento da freqüência do circuito. Foi usada como entrada a variável clk (clock geral do

sistema), e como saída a variável clk_divisor. Foi feito, inicialmente, um divisor 10_400_00,

o que nos proporcionou uma freqüência de aproximadamente 2,5Hz.

clk clk_div isor

div isor

inst1

Figura 4.12 – Bloco divisor de freqüência.

4.2 Projeto de Software

O Software foi desenvolvido em linguagem de programação C++ através da

ferramenta C++ Builder 6.0

A Figura 4.13 representa a interface gráfica que faz a interação do sistema com o

usuário final.

Figura 4.13– Interface gráfica

Page 44: PLANTA DE ELEVADORES COM CONTROLE POR FPGAS · FPGA – (Field Programmable Gate Arrays) Arranjos de Portas Programáveis em Campo ... anos 60, como alternativa para as linguagens

28

Ao inicializar o software o computador realiza varreduras constantes na paralela

aguardando o sinal da FPGA que indica o andar em que esta a cabine.

Page 45: PLANTA DE ELEVADORES COM CONTROLE POR FPGAS · FPGA – (Field Programmable Gate Arrays) Arranjos de Portas Programáveis em Campo ... anos 60, como alternativa para as linguagens

29

5 VALIDAÇÃO

5.1 Testes

5.1.1 Interface de potência.

No teste da placa da interface de potência foi utilizada a mesa de testes digital.

Utilizando 24V, passando por chaves elétricas da mesa de testes e ligando diretamente ao

motor PM55L048 da Minebea, foram aplicadas as seqüências de pulsos no motor fazendo-o

girar. Foram verificadas as correntes e tensões nas entradas e saídas da placa de interface de

potência.

Inicialmente os testes foram feitos no protoboard, e finalizados na placa de circuito

impresso.

5.1.2 Motor de passo

No teste do motor de passo, foi utilizado o Kit UP1 e a placa da interface de potência.

Os pulsos para girar o motor eram controlados pelo código em VHDL de acordo com a tabela

2.1.

5.1.3 Display

Foi introduzindo os valores de testes na FPGA:

when 0 => Leds <= "0000";

when 1 => Leds <= "0001";

when 2 => Leds <= "0010";

when 3 => Leds <= "0011 “;

e o display devera responder aos sinais.

5.1.4 Hardware descrito na FPGA:

Os testes devem realizados no simulador de ondas do próprio QuartusII e no KitUP1

da Altera.

5.1.5 União dos módulos

Foram realizadas chamadas para andares de forma aleatórias, a movimentação da

cabine é controlada pelo um motor de passo que está instalado na parte superior do elevador.

A indicação de que a cabine chegou ao andar chamado é obtida pelo acionamento do sensor

Page 46: PLANTA DE ELEVADORES COM CONTROLE POR FPGAS · FPGA – (Field Programmable Gate Arrays) Arranjos de Portas Programáveis em Campo ... anos 60, como alternativa para as linguagens

30

que envia o sinal para a FPGA. Então é possível ver via display o andar que a cabine se

encontra. Através do computador é possível visualizar a localização e o estado do elevador.

Page 47: PLANTA DE ELEVADORES COM CONTROLE POR FPGAS · FPGA – (Field Programmable Gate Arrays) Arranjos de Portas Programáveis em Campo ... anos 60, como alternativa para as linguagens

31

6 CONCLUSÃO

Este trabalho buscou introduzir uma alternativa para o ensino de lógica programável

mais atrativa e menos abstrata. Foi possível perceber a importância da divisão em blocos do

hardware desenvolvido em VHDL.

A placa UP1 mostrou-se uma ferramenta bastante versátil para todos os testes

necessários mostrando a eficiência da lógica reconfiguravel para o controle de vários

dispositivos. Isto possibilitou uma maior flexibilidade para a lógica a ser implementada. Outro

diferencial é a grande quantidade de portas disponíveis para o desenvolvimento de projetos.

Durante os testes, ocorreram problemas eventuais de movimentação do elevador. Isto

se deve aos “trancos” sofridos pela cabine durante a movimentação. Estes “trancos” são

ocasionados pelos passos do motor. O sensor alterava o nível lógico indicativo da presença da

cabine antes de a cabine estar efetivamente no andar. Uma possível solução para este

problema seria desvincular os sinais dos sensores dos comandos de movimentação do motor

na FPGA.

Os resultados obtidos no projeto atingiram as metas desejadas no inicio do projeto, ou

seja, o desenvolvimento de uma maquete de um elevador cujos comandos são tratados via

FPGA.

Futuramente poderá ser feito um comando para dois elevadores, permitido assim a

implantação de uma lógica mais elaborada para o controle das cabines. Além disso é possível

incrementar o software inserindo mais informações como status de portas (aberta ou fechada),

sinais indicativos de andares chamados e uma lista indicando as prioridades que os andares

serão atendidos.

Page 48: PLANTA DE ELEVADORES COM CONTROLE POR FPGAS · FPGA – (Field Programmable Gate Arrays) Arranjos de Portas Programáveis em Campo ... anos 60, como alternativa para as linguagens

32

7 REFERÊNCIAS BIBLIOGRÁFICAS

ALTERA; Disponível em:

http://www.altera.com, Acessado em Março 2007

BRAGA, Newton C.. Eletrônica Básica para Mecatronica: São Paulo: Saber,2005.

D´AMORE, Roberto, VHDL : Rio de Janeiro: LTC, 2005.

MANDADO, Enrique, Dispositivos Lógicos Programables: Madrid: Thomson,

2003.

MINEBEA; Disponível em:

http://www.eminebea.com/content/html/en/engineering/motors/pm_motor/selection_p

m/drivecircuit.shtml, Consultado em Maio 2007

Motor de Passo de Relutância Variável; Disponível em:

http://members.fortunecity.com/camusp/relatorios/pmc527Acionamentosparamecatron

ica/MotordeRelutanciaChaveada.doc , Consultado em Maio 2007

POLITRONIC, Componentes eletrônicos; Disponível em:

http://www.politronic.com.br, Novembro de 2004. Consultado em Maio 2007

SIEMENS, Sensores Óticos; Disponível em :

http://www.siemens.com.br/templates/produto.aspx?channel=250&produto=12741 ,

Consultado Março 2007.