You must login before you can post a comment.
Author: Vinicius Dias
Project access type: Public
Description:
Primeiramente, foi criada uma maquina de estados (moore) capaz de manter o valor 1 da entrada de um botão B pressionado por apenas um ciclo de clock, mesmo que esse botão seja permanentemente pressionado. Foram utilizados dois flip-flops tipo D= D11, D10, configurados a partir de uma combinação lógica onde a entrada de D11=[(QD11)XOR(QD10)].B , a entrada de D10=[(QD11)'.(QD10)'.B] , de modo que sua saída Y1=[(QD11)'.(QD10)] produz o efeito desejado.
Em seguida, foi criada uma segunda maquina de estados (moore) capaz de sequenciar as operações de abertura e fechamento da porta de garagem, ao apertar um botão B de um controle remoto. Considerando os 4 estados possíveis: Porta Fechada (PF), Porta em movimento de abrir (PMA), Porta aberta (PA), Porta em movimento de fechar (PMF), foram utilizados dois flip-flops tipo D=D21, D20, para sequenciar os quatro estados de forma que (PF=00)->(PMA=01)->(PA=10)->(PMF=11)->(PF=00)->... As entradas dos flipflops são D21=(QD21)XOR(QD20) e D20=(QD20)'.B, sendo que a saída dessa máquina Y2=(QD20)'
Verifica-se que Y1 e Y2 são funções exclusivas dos estados, caracterizando a maquina de Moore.
O circuito é configurado de tal modo que a saída Y2=1 indica que a porta está completamente fechada ou completamente aberta (PA ou PF), dessa forma, o botão B=1 (pressionado) é capaz de mudar a porta para o seu próximo estado. A configuração do circuito também é feita de modo que em estados intermediários (PMA ou PMF) o acionamento do botão não tem ação sobre o estado da porta, logo as transições (PMA)->(PA) e (PMF)->(PF) ocorrem independendo da excitação de entrada do botão. Além disso, a saída Y2=0 correspondente aos estados intermediários, operada logicamente com o clock, garante que o botão pressionado não tenha poder de ação nesses estados, pois tal operação impede que o clock chegue à segunda maquina de estados. Dessa forma, para garantir que as transições em estados intermediários sejam feitas nos momentos adequados, dois 'clocks assíncronos' foram adicionados: quando a porta finaliza um PMF (SF=1) ou quando finaliza um PMA (SA=1), sabendo que a sequencia de estados garante que os 'clocks assíncronos' serão acionados após a finalização da operação dos estados intermediários, sinalizando que a máquina pode seguir para seu próximo estado.
O problema relata a existência de um sensor de porta completamente fechada, onde para tal situação SF=1, que ocorre durante estado (PF)=00. Existe também um sensor de porta completamente aberta, onde para tal situação SA=1, que ocorre durante o estado (PA)=10. (SF=SA nunca ocorre).
(PMA)->(PA) o motor realiza o movimento de abrir a porta (PMA) até que o sensor SA assume valor 1, verificando que a porta está completamente aberta (PA) e encerra o trabalho do motor de abertura. SA=1 acaba sendo enviado para a entrada de clock e garante a alteração do estado, que por sua vez volta a depender da excitação de B para chegar em um estado seguinte. O botão B é pressionado fazendo a máquina sair de seu estado atual (PA) para (PMF) e assim que o motor inicia seu trabalho, o valor de SA passa a ser 0, pois a porta não estará completamente aberta. No estado atual, referente a transição (PMF)->(PF), quando a porta se encontrar completamente fechada, o sensor SF assume valor 1, que é o 'clock assíncrono' necessário para que a máquina altere de estado, chegando em (PF), encerrando o trabalho de fechamento no motor e fazendo com que o estado seguinte volte a depender da excitação do botão B para gerar a transição (PF)->(PMA). Ao acionar novamente o botão, a máquina segue para o estado seguinte e o motor inicia o trabalho de abertura (estado PMA) e o valor de SF passa a ser 0, pois a porta não está completamente fechada. Quando a porta finaliza o trabalho de abertura, o valor de SA passa ser 1 e retornamos ao comportamento inicial descrito, seguindo o ciclo de sequencias de operação.
Para simular tal comportamento no circuito projetado, basta garantir que a entrada (SF+SA)' esteja com o valor correto para cada um dos quatro estados de operação. Isso é feito manualmente em cada estado, para simular o reconhecimento dos sensores.
Um decodificador é instalado na saída Q dos flip-flops D21,D22, para verificar o estado atual e para garantir o funcionamento correto do motor. O trabalho de abertura A inicia quando A=(SA)'.(PMA) e o trabalho de fechamento F inicia quando F=(SF)'.(PMF), caso contrário A=F=0 o motor encontra-se parado.
Created: Apr 10, 2021
Updated: Aug 26, 2023
Comments