Elevador Vhdl

download Elevador Vhdl

of 48

Transcript of Elevador Vhdl

CENTRO UNIVERSITRIO POSITIVO NCLEO DE CINCIAS EXATAS E TECNOLGICAS ENGENHARIA DA COMPUTAO

PLANTA DE ELEVADORES COM CONTROLE POR FPGAS

Cristina Biz

UNICENP/NCET Curitiba 2007

ii

CENTRO UNIVERSITRIO POSITIVO NCLEO DE CINCIAS EXATAS E TECNOLGICAS ENGENHARIA DA COMPUTAO

PLANTA DE ELEVADORES COM CONTROLE POR FPGAS

Cristina Biz

Monografia apresentada disciplina de Projeto Final como requisito parcial concluso do Curso de Engenharia da Computao, orientada pelo Prof. Valfredo Pilla Jr..

UNICENP/NCET Curitiba 2007 iii

iv

TERMO DE APROVAO

Cristina Biz

PLANTA DE ELEVADORES COM CONTROLE POR FPGAS

Monografia aprovada como requisito parcial concluso do curso de Engenharia da Computao do Centro Universitrio Positivo, pela seguinte banca examinadora:

Prof. Valfredo Pilla Jr. (Orientador).

Prof. Mauricio Perreto

Prof. Jos Carlos Cunha

Curitiba, 10 de Dezembro de 2007.

v

vi

AGRADECIMENTOS Ao meu orientador Valfredo, pela idia do projeto e todo conhecimento transmitido. Ao professor e amigo Mauricio pelo apoio nos momentos difceis. Aos meus irmos Luciano e Alberoni e minha cunhada Cristiane por terem me proporcionado a oportunidade de cursar a graduao e por me apoiarem sempre. A todos os amigos que compreenderam minha ausncia, durante todo o projeto. E aos principais responsveis por eu ter conseguido terminar este projeto, minha me Carolina e meu noivo Eder pela pacincia e por no me deixarem desistir. Muito obrigada a todos que participaram deste desafio comigo.

vii

viii

RESUMO Este trabalho consiste em um kit didtico para o ensino de lgica programvel. O Kit dispe 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 eletrnicos e mecnicos com um mdulo de controle reconfigurvel incorporado, tornando mais didticas aulas demonstrativas.

Palavras chave: Kit didtico, Planta de elevadores, FPGA, VHDL, Automao.

ix

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

x

SUMRIO1 INTRODUO................................................................................................................................... 1 2 FUNDAMENTAO TERICA ..................................................................................................... 2 2.1 MOTORES DE PASSO ......................................................................................................................... 2 2.2 FPGA................................................................................................................................................. 7 2.3 SENSOR PTICO ................................................................................................................................ 9 2.4 VHDL.............................................................................................................................................. 11 3 ESPECIFICAO 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 VALIDAO.................................................................................................................................... 29 5.1 TESTES............................................................................................................................................. 29 6 CONCLUSO................................................................................................................................... 31 7 REFERNCIAS BIBLIOGRFICAS............................................................................................ 32

xi

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 Esquemtico interface de potncia. ....................................................... 21 Figura 4.4 Placa de interface potncia.................................................................... 22 Figura 4.5 Esquemtico motor de passo................................................................. 22 Figura 4.6 Esquemtico sensor. ............................................................................. 23 Figura 4.7 Placa do sensor. .................................................................................... 23 Figura 4.8 Esquemtico 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 freqncia. ............................................................... 27 Figura 4.13 Interface grfica................................................................................... 27

xii

LISTA DE TABELAS Tabela 2.1 Atuao de um motor de passo unipolar ................................................. 4 Tabela 2.2 Atuao de um motor de passo bipolar ................................................... 5 Tabela 3.1 Estudo de Viabilidade Econmica ......................................................... 18 Tabela 3.2 Cronograma .......................................................................................... 19

xiii

LISTA DE SIGLAS NCET Ncleo de Cincias Exatas e Tecnolgicas UNICENP Centro Universitrio Positivo FPGA (Field Programmable Gate Arrays) Arranjos de Portas Programveis em Campo CLB (Configurable Logic Block) Blocos Lgicos de Configurao LUT (Look-up Tables) Tabela Verdade IOB (Input/Output Block ) Blocos de entrada e sada CPLD (Complex Programmable Logic Devices) Dispositivos de Lgica Programvel 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)

xiv

LISTA DE SMBOLOS - ohm

xv

xvi

1

1 INTRODUO

As primeiras linguagens de descrio de hardware foram desenvolvidas no final dos anos 60, como alternativa para as linguagens de programao 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 aplicao facilitando a validao ou verificao, tanto em termos de funcionamento quanto em termos de tempos de atraso dos componentes e desempenho, sem a necessidade da prototipao do sistema. O projeto ganha portabilidade, j que pode ser compilado em qualquer ferramenta e para qualquer tecnologia. comum, na indstria, o uso de FPGAs (Field Programmable Gate Arrays) e CPLDs (Complex Programmable Logic Devices) para produes 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 Descrio de Hardware e servem para implementar circuitos digitais, como processadores, interfaces, controladores e decodificadores. Com a insero massiva da tecnologia de FPGAs e VHDL nos equipamentos

eletrnicos e, por conseguinte, a crescente demanda por profissionais qualificados nesta rea, nota-se a necessidade do aprendizado desta tecnologia ainda no ambiente acadmico. Assim surgiu a idia 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 sero tratados via FPGA. Para movimentao do elevador ser utilizado motor de passo, sensores para indicao do andar onde se encontra o elevador, botes para chamar o elevador em cada um dos quatro andares, boto representando o painel interno do elevador alm, lgico, do FPGA. Completando o projeto, ser montada uma interface com um microcomputador que far o monitoramento e do posicionamento do elevador.

2 2 FUNDAMENTAO TERICA

Nesta fundamentao terica so abordados os temas principais no desenvolvimento deste projeto so eles: Motor de passo FPGAS Sensores pticos VHDL

2.1 Motores de passo O motor de passo um dispositivo eletromecnico que converte pulsos eltricos em movimentos mecnicos e controlado atravs de pulsos, o que possibilita o deslocamento por passo, onde passo o menor deslocamento angular. A seqncia dos pulsos aplicados relacionada diretamente ao sentido da rotao dos eixos do motor. A velocidade da rotao dos eixos do motor relacionada diretamente freqncia dos pulsos da entrada e o comprimento da rotao relacionado diretamente ao nmero dos pulsos da entrada aplicados. A vantagem do motor de passos em relao aos outros motores a estabilidade.

2.1.1 Funcionalidade O nmero de plos de um motor de passo determinado pelo passo angular desejado por pulsos de entrada. O motores de passo tem alimentao externa. Conforme os pulsos na entrada do circuito de alimentao, este oferece corrente aos enrolamentos certos para fornecer o deslocamento desejado. Estes pulsos so dados com a insero de nveis lgicos sobre os enrolamentos do motor, existem trs tipos bsicos de motores de passo. Relutncia Varivel: Este tipo de motor apresenta o rotor (parte mvel do motor) em ao doce multipolar com os enrolamentos no estator (parte fixa do motor), de forma que entre os dentes do rotor, em relao aos plos do estator exista uma variao de relutncia. Dessa forma, o ponto de equilbrio local coincide com o ponto de mnima relutncia quando as peas polares esto face a face. Atravs da alimentao de cada uma das fases o ncleo do rotor se posiciona de forma a reduzir o entreferro entre as partes, variando a relutncia do circuito magntico. O sentido

3 da corrente nas bobinas no altera o sentido do conjugado, uma vez que o rotor no possui magnetizao prpria. [NEWTON BRAGA, 2007] Im permanente: O motor de im permanente possui o rotor constitudo 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 distribudas sobre dois pares de plos. A seqncia de alimentao das bobinas determina a rotao do motor, sendo que para cada mudana de alimentao de corrente o motor gira um passo. [NEWTON BRAGA, 2007] Hbridos: A forma tpica de construo dos motores hbridos apresenta duas sees, com um eixo de material ferromagntico entre elas, sendo que cada seo contm um rotor e um estator com suas bobinas de fase. No eixo acoplado um im permanente que magnetiza o rotor de uma seo como plo norte e o da outra com sul. As linhas de fluxo magntico saem do plo norte do im acoplado ao eixo, entram no rotor da primeira seo, saem pelos dentes alinhados com os dentes do estator dessa seo e seguem para a outra seo ao longo da carcaa do estator. Nessa outra seo, entram no rotor pelos dentes alinhados com os dentes do estator e completam o circuito magntico com o plo sul do im permanente. De forma anloga aos outros tipos de motores de passo, cada nova excitao 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 alimentao ou uma fonte de alimentao de polaridade comutvel, ou unipolares, que requerem apenas uma fonte de alimentao. Em ambos os casos as fontes utilizadas so de tenso contnua e requerem um circuito digital que produza as seqncias para produzir a rotao do motor. No controle de um motor de passo nem sempre necessria a implementao de uma estratgia de realimentao, mas a utilizao de um encoder, ou de outro sensor de posio poder assegurar uma melhor exatido sempre que for essencial. A vantagem de operar sem realimentao que deixa de ser necessrio um sistema de controle em malha fechada.

4 Motores de passo unipolares Os motores de passo unipolares so facilmente reconhecidos pela derivao ao centro em cada um dos enrolamentos. O nmero de fases duas vezes o nmero de bobinas, uma vez que cada bobina se encontra dividida em duas. Na Figura 2.1 temos a representao de um motor de passo unipolar. Normalmente, a derivao central dos enrolamentos est ligada ao terminal positivo da fonte de alimentao e os extremos de cada enrolamento so ligados alternadamente terra para assim inverter a direo do campo gerado por cada um dos enrolamentos.

Figura 2.1 - Motor de passo unipolar FONTE: MINEBEA(2007).

A Tabela 2.1 mostra seqncias de pulsos que poderiam ser enviados para realizar o movimento do motor.

Tabela 2.1 Atuao de um motor de passo unipolar

FONTE: MINEBEA(2007).

5 Motores de passo bipolares Ao contrrio dos motores de passo unipolares, os motores bipolares requerem um circuito de atuao bem mais complexo. Os motores de passo bipolares so proporcionam um maior torque comparativamente a um motor unipolar do mesmo tamanho. Na Figura 2.2 temos a representao de um motor de passo bipolar.

Figura 2.2 - Motor de passo bipolar FONTE: MINEBEA(2007).

Os motores bipolares so constitudos por enrolamentos separados que devem ser atuados em ambas as direes para permitir o avano de um passo, ou seja, a polaridade deve ser invertida durante o funcionamento do motor. O padro de atuao do driver de todo semelhante ao obtido para o motor de passo unipolar em full-step, mas em vez de 0s e 1s temos o sinal da polaridade aplicada s bobinas. Um exemplo de aplicao pode ser encontrado Na Tabela 2.2 mostra seqncias de pulsos que poderiam ser enviados para realizar o movimento do motor.

Tabela 2.2 Atuao de um motor de passo bipolar

FONTE: MINEBEA(2007).

6 2.1.3 Seqncias de acionamento H trs modos de excitao comumente usados: passo normal, meio-passo, e micropasso: Passo Normal (Full-Step) Na operao de passo normal, o motor usa o ngulo de passo normal, por exemplo: um motor de 200 passos/revoluo em passo normal anda em passos de 1.8 graus, enquanto que em operao de meio-passo, operam com passos de 0.9 grau. H dois tipos de passo normal. De nica excitao 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 no so importantes, por exemplo onde o motor operado a uma velocidade fixa e com condies de carga bem definidas. Problemas com ressonncia podem impedir operao em baixas velocidades. Este modo requer menos potncia do que os demais modos de excitao. Excitao dual: onde o motor operado com as fases energizadas duas de cada vez. Este modo proporciona bom torque e velocidade com poucos problemas de ressonncia. Excitao dual prov aproximadamente 30 a 40% mais torque que a excitao nica, mas tambm requer o dobro de potncia da fonte. Meio-Passo (Half-Step) Excitao de meio-passo a excitao nica e dual alternadas, que resulta em passos com a metade do tamanho de um passo normal. Este modo dobra a resoluo. 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 ressonncia. 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/revoluo, com o modo micro-passo divisor de 10, ele passaria a ter passos de 0.18 graus e 2000 passos/revoluo. Tipicamente, modos de micro-passo variam de divisor de 10 a divisor de 256 (51,200 passos/revoluo para um motor de passo de 1.8 graus). Os micro-passos so produzidos proporcionando corrente nas duas bobinas de acordo com o seno e co-seno. Este modo s

7 usado onde necessrio movimento "macio" ou maior resoluo. [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 lgicos configurveis contidos em um nico circuito integrado. [ENRIQUE MANDADO, 2003] A Figura 2.3 apresenta a estrutura interna de um FPGA.BLOCO LOGICO

INTERCONEXO PROGRAMAVEL BLOCO E/S

Figura 2.3 Estrutura interna de um FPGA.

O FPGA possui trs conjuntos de configuraes. Os blocos lgicos de configurao (CLB) que so os recursos que permitem realizar diferentes funes lgicas. Sua complexidade pode variar desde um simples par de transistores ate um bloco de memria LUT (Look-up Tables) .As clulas de armazenamento dos LUTs de um FPGA so volteis, o que implica perda do contedo armazenado, no caso de falta de suprimento de energia eltrica. Dessa forma, o FPGA deve ser programado toda vez que for energizado. Foram criadas algumas categorias para classificar os FPGAs quanto ao bloco logico: Granularidade grossa: os FPGAs dessa categoria podem possuir unidades lgicas e aritmticas, pequenos microprocessadores e memrias. Granularidade media: esses FPGAs freqentemente contm duas ou mais LUTs e dois ou mais flip-flops. A maioria das arquiteturas de FPGAs implementam a lgica em LUTs de quatro entradas.

8 Granularidade fina: FPGAs que contm um grande nmero de blocos lgicos

simples. Os blocos lgicos normalmente contm uma funo lgica de duas entradas ou um multiplexador 4x1 e um flip-flop. Blocos de entrada e sada IOB (Input/Output Block) que so circuitos pelo interfaceamento das sadas provenientes das combinaes de CLBS (Configurable Logic Block). So basicamente buffers que funcionaro como um pino bidirecional entrada e sada do FPGA. Estes blocos podem ter diferentes graus de complexidade. Recursos de interconexo so conjuntos de trilhas e interruptores programveis que permitem transmitir os sinais entre os blocos lgicos de configurao e blocos de entrada/sada. O processo de escolha das interconexes chamado de roteamento. A arquitetura de roteamento de um FPGA a forma pela qual os seus barramentos e as chaves de comutao so posicionados para permitir a interconexo entre as clulas lgicas. Essa arquitetura deve permitir que se obtenha um roteamento completo e, ao mesmo tempo, uma alta densidade de portas lgicas. [ENRIQUE MANDADO, 2003]

2.2.1 Kit Educacional UP1 O kit UP1 uma placa experimental baseada em 2 dispositivos da famlia Altera.: MAX7000 e FLEX10K. De simples design usado com o software QUARTUS que fornece uma plataforma superior pra o aprendizado de lgica digital e desenvolvimento de CPLD. A Figura 2.4 apresenta o KIT UP1.

Figura 2.4 - KIT UP 1 FONTE: ALTERA (2003)

9 Os dispositivos FLEX10K da Altera so os primeiros CPLDs embarcados da indstria. Baseado em elementos SRAM (Static Random Access Memory) e CMOS (Complementary Metal Oxid Semiconductor), os FPGAs incorporam todas as caractersticas necessrias para executar funes de um CPLD comum. Com at 250.000 portas, a famlia FLEX 10K fornece a densidade, a velocidade e um desempenho elevado alem das caractersticas para integrar sistemas inteiros em um nico dispositivo. Os dispositivos FLEX 10K so reconfigurveis, o que permite vrios testes antes da transmisso. Em conseqncia, no necessrio gerar testes para da cobertura da falha. Os dispositivos FLEX 10K podem ser configurados na placa para a funcionalidade especfica requerida. Nenhuma tcnica de projeto especial requerida para executar as aplicaes, eles podem ser executadas em Verilog HDL, VHDL, e linguagem de descrio 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 lgico. O primeiro utilizado para implementar uma variedade de funes de memria ou funes lgicas complexas, tais como de processamento digital de sinais, microcontroladores e transformao de dados. O arranjo lgico realiza lgica geral como contadores, somadores, mquina de estados e multiplexadores. O uso conjunto dos dois arranjos propicia alto desempenho e alta densidade lgica, permitindo a implementao inclusive de um sistema completo em um nico dispositivo. [ALTERA, 2003]

2.3 Sensor ptico

Este tipo de sensor constitudo por dois componentes denominados, emissor e receptor de luz. Geralmente, os emissores de luz so LEDs eletrnicos ou lmpadas comuns. J o receptor um componente eletrnico foto-sensvel tais como fototransistores, fotodiodos, ou LDRs. [SIEMENS,2007]

10 Alguns tipos de sensores: Barreira O elemento transmissor de irradiao infravermelha alinhado frontalmente a um receptor infravermelho, a uma distncia predominada e especfica para cada tipo de sensor. Qualquer interrupo desta irradiao deixar de atingir o receptor, portanto ocorrer um chaveamento eletrnico. A Figura 2.6 apresenta um exemplo de sensor de barreira.

EMISSO

OBJETO

RECEPTO

O objeto interrompe o feixe entre o emissor e o receptor

Figura 2.6 Sensor de barreira.

Difuso Os elementos de emisso e recepo infravermelha esto montados justapostos em um mesmo conjunto ptico, direcionados para a face sensvel do sensor. Os raios infravermelhos emitidos pelo transmissor, refletem sobre a superfcie de um objeto e retornam em direo do receptor a uma distncia determinada como distncia de comutao, o que provoca o chaveamento eletrnico desde que o objeto possua uma superfcie no totalmente fosca. A Figura 2.7 apresenta um exemplo de sensor difuso.OBJETO EMISSOR

Reflexo no prprio objeto Figura 2.7 Sensor difuso.

11 Retroreflexivo Possui caractersticas mecnicas idnticas ao sistema por difuso com algumas mudanas no sistema ptico.Os raios infravermelhos emitidos, somente refletem em um espelho prismtico especial, colocado a uma distncia, dentro da zona determinada como distncia de comutao, frontalmente a face sensvel do sensor, e retornam em direo ao receptor, formando uma barreira ptica. A comutao 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.

EspelhoEMISSOR OBJETO

Barreira formada entre Receptor e Espelho O Objeto interrompe o feixe. Figura 2.8 Sensor retroreflexivo.

2.4 VHDL Nas dcadas de 70 e 80 foi posto em prtica um programa do Departamento de Defesa Americano, para desenvolvimento de circuitos integrados de alta velocidade, denominado VHSIC (Very High Speed Integradet Circuit) originado da preocupao de domnio das tecnologias envolvidas. Em 1983, foram definidos os requisitos de uma linguagem de descrio de circuitos padro. Microprocessadores eram utilizados em vrias aplicaes, eram reproduzidos e testados aos milhes. Isso significava que o investimento em um nico projeto poderia ser muito maior, inclusive em termos de especificao e testes. A evoluo da metodologia de projeto de software foi ento natural, em funo dos argumentos sustentados pela crise. Hoje ainda grande o desenvolvimento de novos mtodos e a busca por uma linguagem descritiva universal, como o UML, para especificao e projeto de software orientado a objetos.

12 Com o objetivo de adicionar facilidades a linguagem, foram propostos dois padres, 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 informaes de uso comum, como tipos de dados, funes, etc. Como a linguagem VHDL suporta projetos com mltiplos nveis de hierarquia, a descrio pode consistir na interligao de outras descries menores, o cdigo que representa o comportamento esperado do circuito. Esses estilos so denominados estrutural e comportamental, e podem ser mesclados em uma mesma descrio. Com exceo de regies especificas no cdigo, todos os comandos so executados concorrentemente. Isto significa que a ordem na apresentao dos comandos irrelevante para o comportamento da descrio. A ocorrncia de um evento em um sinal leva a execuo de todos os comandos sensveis aquele sinal, da mesma forma que, um circuito, a mudana de um valor em um determinado n afeta todas as entradas ligadas a esse ponto do circuito. A linguagem permite, tambm, delimitar regies do cdigo seqencial, onde a execuo dos comandos segue a ordem de sua apresentao no cdigo. Para essas regies so utilizados comandos especficos, que no podem ser empregados na regio de cdigo concorrente. Subprogramas e processos so regies do cdigo seqencial. Assim como as linguagens de programao. A linguagem VHDL permite definio de subprogramas na forma de procedimentos e funes. Os subprogramas podem ser empregados em rotinas de converso, definio de novos operadores e outras operaes no diretamente ligadas a um circuito passvel de sntese. Nada impede que um subprograma tenha uma correspondncia direta a um elemento do circuito a ser sintetizado. O cdigo de um circuito multiplicador composto por conjuntos de clulas pode ter a funo de cada clula descrita num subprograma. Na linguagem VHDL no feita nenhuma distino entre comandos empregando caracteres maisculos ou minsculos, e os comentrios iniciam aos dois hfens, e terminam no final da linha. Devido a sua potencialidade, o VHDL complexo, e muitas vezes de difcil entendimento, dado as inmeras opes 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 compreenso das opes da linguagem [ROBERTO DAMORE, 2005].

13 Vantagens do Uso A alternativa para uso de uma linguagem formal de descrio de hardware como o VHDL a descrio por diagramas esquemticos. O VHDL apresenta as seguintes vantagens: a) Em sistemas seqenciais, o detalhamento da lgica de controle realizado pelas ferramentas de automao do projeto, o que evita a trabalhosa e limitada aplicao das tcnicas manuais tradicionais; b) O objetivo do projeto fica mais claro que na representao por esquemticos, nos quais a implementao se sobrepe inteno do projeto; c) O volume de documentao diminui, j que um cdigo bem comentado em VHDL substitui com vantagens o esquemtico e a descrio funcional do sistema; d) O projeto ganha portabilidade, j que pode ser compilado em qualquer ferramenta e para qualquer tecnologia. comum, na indstria, o uso de FPGAs e CPLDs para produes iniciais ou de menores escalas em projetos que posteriormente possam ser implementados em ASICs. Todas as implementaes podem usar o mesmo cdigo VHDL.

14

3 ESPECIFICAO DO PROJETO

3.1 Estrutura Geral O projeto possui uma planta com uma cabine de elevador conforme mostra a figura 3.1. Os botes internos e externos do elevador, utilizados para a solicitao de chamadas dos andares, esto instalados em um controle localizado ao lado da planta do elevador e so do tipo push-button. A movimentao da cabine controlada por um motor de passo que est instalado na parte superior do elevador. A indicao de que a cabine est num determinado andar obtida atravs das chaves optoeletrnicas (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. Atravs do computador possvel visualizar a localizao e o estado do elevador. A figura 3.2 mostra o diagrama em blocos do sistema com os componentes acima citados. Descrio de operao do elevador: O elevador atende todas as chamadas vlidas na direo em que est indo e somente quando tiver atendido a todas pode mudar de direo, 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 no 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 no h nenhuma chamada e diversas chamadas forem feitas ao mesmo tempo, dar preferncia descida do elevador.

15 A Figura 3.1 apresenta a planta do elevador.

Figura 3.1 Planta do elevador O software demonstra a movimentao do elevador atravs dos dados enviados pela FPGA para o PC atravs da porta paralela.

16

Figura 3.2 Diagrama em blocos do sistema.

3.2 Arquitetura Hardware Os blocos principais da arquitetura do elevador so: Sensores dos andares Botes Motor FPGA Display

Sensores dos andares Os sensores dos andares so do tipo ptico com o emissor e receptor montados no mesmo invlucro, a sada acionada, quando um objeto interrompe o feixe de luz, impedindo que este atinja o espelho e retorne ao receptor do sensor, a sada do sensor acionada. Botes Existem dois tipos de botes: chamada nos andares interiores ao elevador

17 Os botes so active high, ou seja, normalmente o nvel lgico da entrada a que esto associados 0, ficando 1 quando so pressionados. Cada um dos botes esta ligado a uma porta do FPGA. Os botes possuem leds internos e conforme so apertados indicam em quais andares existem chamadas. Motor O motor do elevador controlado a partir de 4 portas de sada do FPGA, uma para cada sada do motor. Sero utilizados transistores para interface com o motor. FPGA O FPGA utilizado o FLEX10K da Altera, que reconfigurvel, o que permite vrios testes antes da transmisso. Em conseqncia, no necessrio gerar testes para da cobertura da falha. Ele controlado por linguagem de descrio de hardware (VHDL). Display utilizado um CI 4511 que converte um nmero binrio 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 podero ser ligados ou desligados para formar um numero.

3.3 Arquitetura Software Os dados utilizados no software so recebidos pelo PC atravs da porta paralela. O software tem por finalidade realizar a interao do usurio com o sistema desenvolvido, atravs do software possvel ver a movimentao da cabine do elevador. Resumindo, o software desenvolvido para o elevador, plota um grfico onde possvel visualizar a posio da cabine.

18 A Figura 3.3 apresenta o fluxograma do sistema.

INICIO

INICILIAZAO DA COMUNICAO COM DISPOSITIVO DE HARDWARE

ENVIO

ATUALIZA VALORES DOS SENSORES

FECHA A PORTA DE COMUNICAO COM O HARDWARE

FINALIZAR PROGRAMA

FIM

Figura 3.3 Fluxograma do sistema.

3.4 Estudo de Viabilidade economica Tabela 3.1 Estudo de Viabilidade Econmica Recursos Necessrios Horas de trabalho Componentes eletrnicos Plataforma de desenvolvimento Quartus Plataforma de desenvolvimento C++ Builder Maquete Custos (R$) 6.000,00 600,00 Gratuito 2.500,00 300,00

19 3.5 Cronograma Tabela 3.2 Cronograma

20

4 PROJETO

4.1 Projeto de hardware 4.1.1 Motor O motor de passo escolhido para a movimentao 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 reduo mecnica. Alm disso, este motor facilmente encontrado no mercado brasileiro.

Figura 4.2 Faixa de torque de acordo com o tipo do motor FONTE: MINEBEA(2007)

21 4.1.2 Interface de potncia Para que a FPGA possa controlar o motor de passos torna-se necessrio 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 esquemtico da interface. E possui os seguintes componentes: VCC 1K U1 1 2 4N25 6 5 4 VMOTOR 1K Q1 TIP121

Transistores Darlington (TIP 121); 8 Resistores 1 K ohms; Optoacopladores (4N25).

1K U2 1 J5 6 5 4 3 2 1 CON6 2 4N25 J4 1K U3 1 2 4N25 1K U4 1 2 4N25 6 5 4 VMOTOR 1K Q4 TIP121 CON2 6 5 4 VMOTOR 1K Q3 TIP121 CON8 VMOTOR J6 1 2 1 2 3 4 5 6 7 8 6 5 4 VMOTOR 1K Q2 TIP121

Figura 4.3 Esquemtico interface de potncia.

22 A Figura 4.4 mostra a placa da interface de potncia em sua verso final.

Figura 4.4 Placa de interface potncia.MG1 24V PRETO MARRON 1 2 3

4

5

6 VERMELHO LARANJA

MOTOR STEPPER

Figura 4.5 Esquemtico motor de passo. Esta interface funcionar sob o comando da FPGA, ao enviar um nvel lgico alto para das portas dos optoacopladores, ser acionada a bobina do motor e ela ficara energizada.

4.1.3 Sensor ptico (chave optoeletrnica) O sensor PCHT203 da Politronic responsvel pela deteco da posio 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 sada do sensor acionada. Normalmente o nvel lgico 0,

AMARELO

23 ficando 1 quando existe a uma interrupo no sensor. Cada um dos sensores esta ligado a uma da porta do FPGA. A Figura 4.6 apresenta o diagrama esquemtico do acionamento do sensor. E possui os seguintes componentes: 1 chave optoeletronica PCHT203; 1 Resistor 1 K ohms; 1 Resistor 10 K ohms.1K 5V D2

J2 J3 1 CON1 10K D1 CON1 1

J1 CON1

Figura 4.6 Esquemtico sensor. A Figura 4.7 mostra a placa do sensor em sua verso final.

Figura 4.7 Placa do sensor.

1

24 4.1.4 Alimentao do circuito O motor de passo alimentado com +24Vcc e demais partes do circuito com +5Vcc. A alimentao do KIT da Altera feito por uma fonte que pode ser de 7V e 12V de no mnimo 250mA. 4.1.5 Display utilizado um CI 4511 que converte um nmero binrio 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 podero ser ligados ou desligados para formar um numero. A Figura 4.8 apresenta o diagrama esquemtico do acionamento do display.

1 2 3 4 5 J1

7 1 2 6 4 5 3 16

A B C D BI LE LT VDD 4511

a b c d e f g

13 12 11 10 9 15 14 U2

e d V1 c . R1

Figura 4.8 Esquemtico display

e d V1 c .

PHD567

CON5

U5

g f V2 a b

g f V2 a b

25 A Figura 4.9 mostra a placa do display em sua verso final.

Figura 4.9 Placa do display.

4.1.6 FPGA Os sinais de entrada e sada da FPGA so os seguintes: CLK: Sinal que ir definir o clock para FPGA, vem do prprio kit da Altera. Reset: Quando igual a 1 reinicia o modulo. Motor [3..0] : Sinal de sada da FPGA, que indicam o valor de cada fase do motor . Este sinal enviado para interface de potncia para ativao do motor. Display [1..0] : Sinal de sada da FPGA, que indicam o valor do andar que se encontra o elevador. Sensor0: Sinal de entrada da FPGA, que detecta a cabine no trreo. 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. Botes 0: Sinal de entrada da FPGA, que indica uma chamada no trreo. Boto1: Sinal de entrada da FPGA, que indica uma chamada no primeiro andar. Boto2: Sinal de entrada da FPGA, que indica uma chamada no segundo andar. Boto3: Sinal de entrada da FPGA, que indica uma chamada no terceiro andar. Led0: Sinal de sada da FPGA, que indica uma chamada no trreo. Led1: Sinal de sada da FPGA, que indica uma chamada no primeiro andar. Led2: Sinal de sada da FPGA, que indica uma chamada no segundo andar.

26 Led3: Sinal de sada da FPGA, que indica uma chamada no terceiro andar. Pc0: Sinal de sada da FPGA, que permite visualizao do elevador no trreo via software. Pc1: Sinal de sada da FPGA, que permite visualizao do elevador no primeiro andar via software. Pc2: Sinal de sada da FPGA, que permite visualizao do elevador no segundo andar via software. Pc3: Sinal de sada da FPGA, que permite visualizao 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 responsvel por: comandar o motor de passo; receber os sinais dos sensores e botes; enviar os sinais para o software, o display e os leds.

O mesmo foi desenvolvido no software QuartusII, da Altera, na verso gratuita disponibilizada para estudantes. A Figura 4.10 mostra o bloco Elevador que responsvel por receber os sinais dos botes e dos sensores e enviar os sinais para o software e para os leds.elev ador reset clk botao0 botao1 botao2 botao3 sensor0 sensor1 sensor2 sensor3 up down pc0 pc1 pc2 pc3 led0 led1 led2 led3 display [1..0] inst

Figura 4.10-Bloco Elevador

A Figura 4.11 mostra o bloco subir_descer. Este bloco responsvel pelas seqncias de passos a ser enviada para o motor e tambm a deciso sobre subir ou descer (quando

27 existirem chamadas simultneas). Seu funcionamento encerrado quando a cabine chega no andar chamado.subir_descer up down clk reset motor[3..0]

inst2

Figura 4.11 Bloco subir_descer

A Figura 4.12 mostra o bloco divisor de clock, este bloco responsvel pelo tratamento da freqncia do circuito. Foi usada como entrada a varivel clk (clock geral do sistema), e como sada a varivel clk_divisor. Foi feito, inicialmente, um divisor 10_400_00, o que nos proporcionou uma freqncia de aproximadamente 2,5Hz.

div isor clk clk_div isor

inst1

Figura 4.12 Bloco divisor de freqncia.

4.2 Projeto de Software O Software foi desenvolvido em linguagem de programao C++ atravs da ferramenta C++ Builder 6.0 A Figura 4.13 representa a interface grfica que faz a interao do sistema com o usurio final.

Figura 4.13 Interface grfica

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.

29

5 VALIDAO

5.1 Testes 5.1.1 Interface de potncia. No teste da placa da interface de potncia foi utilizada a mesa de testes digital. Utilizando 24V, passando por chaves eltricas da mesa de testes e ligando diretamente ao motor PM55L048 da Minebea, foram aplicadas as seqncias de pulsos no motor fazendo-o girar. Foram verificadas as correntes e tenses nas entradas e sadas da placa de interface de potncia. 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 potncia. Os pulsos para girar o motor eram controlados pelo cdigo em VHDL de acordo com a tabela 2.1. 5.1.3 Display Foi introduzindo os valores de testes na FPGA:

when 0 => Leds Leds Leds Leds