Elevador didático de 5 andares

4,722 views

Published on

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
4,722
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
160
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Elevador didático de 5 andares

  1. 1. 20/04/12 Elevador Didático de 5 andares pesquisar... Home Objetivos Exemplos de Aplicação KITS Tutoriais Softwares Fórum Trabalhe Conosco Home Exemplos de Aplicação Exemplos Didáticos Elevador Didático de 5 andares Elevador Didático de 5 andares APOIO Andre Vinicius Rocha Silva Projeto Elevador Este projeto trata de um elevador didático de 5 andares, e o que motivou a escolha pelo desenvolvimento de um elevador foi a possibilidade de utilizá-lo com diversos circuitos e lógicas de controle, fazendo com que se possa realizar desde aplicações utilizando lógicas simples, até controles complexos que, além da lógica de funcionamento normal, consideram questões de segurança. O Hardware do elevador utilizado neste projeto foi desenvolvido em parceria com ONLINE alunos do curso de técnólogo em mecatrônica do Instituto Federal de Santa Catarina, na disciplina de projeto integrador, com o intuito de auxiliar no ensino de diversas Nós temos 16 disciplinas como sistemas digitais, circuitos combinacionais e outras diversas visitantes e 2 disciplinas na área. membros online marcos carolwestphal LINKS CNPq SBMicro IFSC NERsD LOGIN Nome de Usuário Senha Lembrar-me ENTRAR Figura 1: Elevador Esqueceu sua senha? Como foi mencionado muitos são os hardwares de controle que poderiam ser Esqueceu seu nome utilizados, sejam um Microcontrolador, um CLP, um circuito de lógica discreta, etc. de usuário? Neste artigo iremos apresentar o desenvolvimento de um hardware de controle, Registrar-se utilizando o lógica programável. O hardware que será utilizado é o kit de desenvolvimento CPLD_7064 que possui um CPLD modelo EPM7064SLC44-10, da ALTERA. O projeto foi desenvolvido para funcionar como um elevador de carga, e PARCEIROS pensado de modo a ser extremamente didático. Seu funcionamento será descrito a seguir. Funcionamentofpgaparatodos.com.br/teste/exemplos-didaticos/108-exemplo-de-exemplo.html 1/12
  2. 2. 20/04/12 Elevador Didático de 5 andares Botões e Sensores Para começar definimos que todos o Botões e Sensores por padrão estão inicialmente em nível lógico "ZERO", para garantir esta condição todos os botões estão ligados a terra por um resistor de "pull down", desta forma quando pressionamos um botão este ficará com nível lógico "UM", no PLD os botões são representado por uma entrada de 5 bits. A figura abaixo apresenta o dado que o PLD recebe quando o botão de um andar é pressionado, como pode ser observado o bit correspondente ao botão vai para "1". Figura 2: Ilustração do sistema de botões Os sensores de andares, como já foi mencionado, obedecem a mesma lógica dos botões, por padrão estão em "ZERO" e se acionadas vão para "1", a figura abaixo apresenta os valores recebidos pelo PLD quando o elevador passa ou está em um andar, neste momento o bit correspondente ao andar apresenta o valor “1” Figura 3: Ilustração do sistema de sensor. Além dos sensores de andar outro sensor representa o estado da porta, foi definido que quando a porta está fechada o sensor fica em "ZERO" e quando ela esta aberta o sensor fica em "1", como pode ser observado na figura abaixo. Figura 4: Ilustração do funcionamento da trava da porta. Motor e Travamento da Portafpgaparatodos.com.br/teste/exemplos-didaticos/108-exemplo-de-exemplo.html 2/12
  3. 3. 20/04/12 Elevador Didático de 5 andares Os sinais de saída do PLD são o comando do motor e o travamento da porta. O motor utilizado neste exemplo é um motor DC simples e seu comando se restringe a uma palavra de dois bits: Saída de controle para o motor Ação no Elevador 00 Elevador Parado 01 Elevador Sobe 10 Elevador Desce Para aplicações mais complexas podem ser implementadas técnicas de soft-start e soft-stop de modo a tornar a aplicação mais proxima ainda da realidade. O comando de travamento da porta é de 1 bit, se o bit está "setado", ou seja, em nível lógico "1" a porta está travada, senão a porta pode ser aberta. Lógica de Funcionamento A Lógica de Funcionamento do elevador obedece uma maquina de estados que possui cinco estados: Espera: No inicio do processo a maquina de estado permanece em um estado de espera para evitar que as transições de estado dos diversos componentes interligados possam interferir na execução das tarefas. Partida: Após o estado de ESPERA, caso o elevador não esteja localizado em nenhum andar, ou seja, todos os sensores em “ZERO”, o elevador deverá tentar um movimento de descida, até atingir o andar mais próximo abaixo. Assim que a condição: “posicionado sobre um andar” for atendida ele vai para a condição de PARADO; Subindo: Enquanto o elevador sobe, pode ser chamado a outros andares, acima ou abaixo de sua localização imediata. Ele permanecerá em seu movimento de subida, até que o último andar solicitado acima dele seja atingido; Parado:Quando o elevador, em movimento, chega a algum andar solicitado, ele para por um intervalo de alguns segundos, e se não houver outro andar solicitado, ele permanece parado no andar; Enquanto o elevador está parado, a porta pode ser aberta, e o elevador não inicia qualquer movimento até que ela volte a ser fechada. Se um botão de andar é pressionado, a solicitação é registrada, e o elevador começa um movimento de subida ou de descida, em direção ao andar correspondente. Descendo: Enquanto o elevador desce, pode ser chamado a outros andares, acima ou abaixo de sua localização imediata. Ele permanecerá em seu movimento de descida, até que o último andar solicitado abaixo dele seja atingido; A Figura que representa a máquina de estados é apresentada a seguir: Figura 5: Diagrama de estados da maquina de estadosfpgaparatodos.com.br/teste/exemplos-didaticos/108-exemplo-de-exemplo.html 3/12
  4. 4. 20/04/12 Elevador Didático de 5 andares Registradores Para o funcionamento da máquina de estados são necessários alguns registradores que serão descritos na tabela abaixo. Entrada de 5 bits associada aos botões de chamada do Botoes[1..5] elevador a cada andar do “edifício”. O estado normal destas entradas é 1, e vai a 0 quando o botão é pressionado. Registrador de 5 bits que armazena a informação de chamada Andar_Solicitado[1..5] do elevador em cada um dos andares do “edifício”. Entrada de 5 bits, associada aos sensores localizados em Sensores[1..5] cada andar do “edifício”. Quando o elevador ativa um dos sensores, leva a 0 a entrada correspondente. Registrador de 5 bits, associado aos andares. Um dos bits Ultimo_Andar[1..5] deverá ser feito 0 quando o elevador passar pelo andar correspondente ao mesmo. Entrada do sensor da porta do elevador, indica (quando em 1) Porta_Fechada que ela não está fechada. Registro do sentido de movimento corrente do elevador (1 Sentido para subindo, e 0 para descendo), utilizado enquanto não atende a todos os andares solicitados. General Chat 3 5 People Here Figura 6: Ilustração do registro de andares requisitados. Andares Solicitados Registrador que armazena os andares solicitados Seu valor é atualizado utilizando um ou lógico com o valor do sensor dos botõesfpgaparatodos.com.br/teste/exemplos-didaticos/108-exemplo-de-exemplo.html 4/12
  5. 5. 20/04/12 Elevador Didático de 5 andares Verificação de Andar Solicitado É feito uma operação lógica e dos andares solicitados com os sensores de andar Se o resultado for diferente de 0 o andar no qual o elevador se encontra foi solicitado Se for 0 não foi solicitado ou já foi atendido Exemplo: Verificação de Solicitação de Andares Acima É feito uma operação lógica e dos andares solicitados com o inverso do andar atual Se o resultado for diferente de 0 existe andares solicitados acima Se for 0 não existe Exemplo: Verificação de Solicitação de Andares Abaixo É feito uma operação lógica e dos andares solicitados com andar atual Se o resultado for diferente de 0 existe andares solicitados abaixo Se for 0 não existe Exemplo:fpgaparatodos.com.br/teste/exemplos-didaticos/108-exemplo-de-exemplo.html 5/12
  6. 6. 20/04/12 Elevador Didático de 5 andares Máquina de estados Funcionamento PARTIDA Se o elevador estiver em um andar qualquer, ele vai para o estado Parado. Se o elevador estiver entre dois andares, ele desce até chegar a algum. SUBINDO O elevador sobe enquanto não chega no andar mais alto solicitado; Quando o elevador chega no andar mais alto solicitado vai para o estado Parado. PARADO Quando o elevador chega a algum andar solicitado, para por um intervalo de 60 segundos. Ele permanecerá parado se a porta estiver aberta ou não houver andar solicitado. Se o andar solicitado: For acima do atual e não há mais nenhum andar abaixo solicitado, então assume o estado Subindo; For abaixo, então assume o estado Descendo.fpgaparatodos.com.br/teste/exemplos-didaticos/108-exemplo-de-exemplo.html 6/12
  7. 7. 20/04/12 Elevador Didático de 5 andares DESCENDO O elevador desce enquanto não passar por um andar solicitado. Quando o elevador chega a algum andar solicitado ele vai para o estado Parado. Visão Geral O Código O início do código, como todo o VHDL, começa com a entidade, onde são declarados o clock, resetn, sensores e botões como entradas e o motor e a trava como saídas: A arquitetura possui alguns sinais auxiliares: chamada, andar, pausa_andar e flag. Chamada é responsavel por registrar os andares solicitados, andar registra o ultimo andar, pausa_andar é responsavel por indicar se o tempo de pausa em um andar ja acabou e a flag indica se o elevador estava descendo ou subindo. O signal estado_elevador é a maquina de estados responsável pelo controle do código.fpgaparatodos.com.br/teste/exemplos-didaticos/108-exemplo-de-exemplo.html 7/12
  8. 8. 20/04/12 Elevador Didático de 5 andares O código possui três processos: o primeiro controla a os andares chamados e atendidos, o segundo trata dos estados da maquina de estados e o ultimo processo é responsável pela rotina de pausa em um andar. O primeiro processo inicia verificando se o elevador está em algum andar, caso sim ele atribui esse andar a variável andar. Em seguida, se algum botão foi pressionado então registra-se um chamado. O passo seguinte é, caso a maquina de estados esteja no estado parado, sinalizar que o andar atual ja foi atendido. No final do processo atribui-se o valor da variável andar_chamado para o signal chamado. O segundo processo é responsavel pelo controle da máquina de estados. Quando o reset é pressionado a maquina de estados vai para o estado espera. Na operação normal do elevador, quando está no estado espera passa para partida e sai do estado partida quando encontra o primeiro andar abaixo dele. Quando o elevador está no estado subindo ele precia identificar qual o andar solicitado mais alto, andar onde irá parar. Para isso implementou-se o conjunto de testes presentes nesse trexo do código. O primeiro conjunto de if-else é responsavel por identificar qual o andar mais alto solicitado, e os ifs dentro deles são responsável por identificar se o andar atual é o mais alto.fpgaparatodos.com.br/teste/exemplos-didaticos/108-exemplo-de-exemplo.html 8/12
  9. 9. 20/04/12 Elevador Didático de 5 andares No estado descendo o elevador deve parar en todos os andares solicitaods e, de forma análoga ao estado de subida, precisa identificar o andar mais baixo solicitado para que possa habilitar novamente a subida. Quando o elevador está no estado parado e a flag de pausa indica que o tempo minimo de parada acabou, caso estava subindo e há um andar mais alto chamando ele continua subindo. Caso esteja no andar mais alto solicitado ou estava descendo e há um andar mais baixo solicitado, então vai para o estado descendo.fpgaparatodos.com.br/teste/exemplos-didaticos/108-exemplo-de-exemplo.html 9/12
  10. 10. 20/04/12 Elevador Didático de 5 andares O terceiro processo faz uma contagem enquanto o elevador está no estado parado, de forma que o elevador não vai para o proximo estado antes que a contagem acabe. Por ultimo é feita uma atribuição de seleção para os valores do motor e uma para a trava de porta Simulação Para a simulação do elevador será necessário emular as solicitações dos andares e o posicionamento do elevador, ou seja, os sensores do elevador. Inicialmente se declara os sinais da simulação: Em seguida declara-se emula-se a o pressionamento do botão de reset e os pulsos de clock: O processo principal inicia com o pressionamento de um botão e o posicionamento do elevador. Em seguida se emula a subida do elevador, pois o elevador está no estado subindo e, em seguida, começa a descida, com a emulação do pressionamento de alguns botões:fpgaparatodos.com.br/teste/exemplos-didaticos/108-exemplo-de-exemplo.html 10/12
  11. 11. 20/04/12 Elevador Didático de 5 andares As formas de ondas encontradas na simulação estão apresentadas abaixo: Figura 7: Formas de onda da simulação. Arquivos de Projeto Elevador simples.zip < Anterior Próximo > Artigos Relacionados : » Placa de Botões Placa de Botões Figura 1 - Placa de Botões A placa de botões é um módulo muito útil do conjunto de kits e pode ser empregada em diversas aplicações seja na configuração de... Read more... » Controle de um Motor de Passofpgaparatodos.com.br/teste/exemplos-didaticos/108-exemplo-de-exemplo.html 11/12
  12. 12. 20/04/12 Elevador Didático de 5 andares » Placa de Display de 6 Algarismos » Leitura Assíncrona de Teclado » Placa de Chaves ADICIONAR COMENTÁRIO Nome (obrigatório) E-mail (obrigatório) Website Você ainda pode digitar 1000 caracte re s Notifique-me de comentários futuros Atualizar Enviar J C omments #fpga geschem a Just registered for PLC2 FPGA Days 2012. Ill be there on June 21 #FPGA http://t.co/gP6HUOs8 v ia web sent 2 minutes ago NBTech NorthBridge Technology #FPGA is out! http://t.co/5btUI3v5 v ia Paper.li sent 13 hours ago HOME OBJETIVOS EXEMPLOS DE APLICAÇÃO KITS TUTORIAIS SOFTWARES FÓRUM TRABALHE CONOSCO EXEMPLOS DIDÁTICOS PROJETOS DE USUÁRIOS QUARTUS II FRITZING WINK MÓDULOS PERIFÉRICOS MÓDULOS PRINCIPAIS Copyright © 2012 Portal - FPGA para Todos. Todos os direitos reservados. Joomla! é um Software Livre com licença GNU/GPL v2.0.fpgaparatodos.com.br/teste/exemplos-didaticos/108-exemplo-de-exemplo.html 12/12

×