Atualmente, devido à crescente acessibilidade e potência dos microcontroladores, muitos entusiastas e profissionais da eletrônica tendem a incorporá-los em praticamente todos os seus projetos para resolver problemas simples. É claro que que abdicar de um microcontrolador pode resultar em soluções mais dispendiosas e demoradas, sobretudo quando envolvem a utilização de componentes individuais. Entretanto , devemos lembrar que os componentes discretos também possuem um grande potencial.
Se você ainda é novo no campo da eletrônica, é aconselhável dedicar um tempo ao estudo e reavaliar a necessidade de incorporar microcontroladores em circuitos mais básicos.
Um exemplo onde praticamente todos usam Arduíno: a leitura de encoders.
Encoders são dispositivos eletromecânicos que podem registrar ou reproduzir pulsos elétricos em resposta ao movimento rotativo do seu eixo . A sua finalidade é justamente esta , ou seja, fazer a conversão de movimentos ou deslocamentos lineares em sinais elétricos . Posteriormente por meio da leitura e tratamento destes sinais, podemos facilmente calcular deslocamentos, determinar posições e também a direção da rotação imposta ao seu eixo.
Nas próximas linhas vou mostrar como é possível manipular os dados enviados por um tipo de encoder muito comum no mercado e construir um simples "cofre" eletrônico . Através da quantidade de voltas para a esquerda e para a direita inserimos um código que, quando correto, acionará um solenóide que por sua vez destravará a porta do cofre.
Veja o Encoder Rotativo KY-040 :
Este é um dispositivo eletromecânico que fornece saídas digitais nos pinos CLK e DT. Além disso, também possui a capacidade de ser pressionado, o que o torna útil para a seleção de opções.
O funcionamento desse codificador rotativo é simples: quando o eixo do encoder incremental é girado, são gerados impulsos elétricos de onda quadrada através dos pinos CLK e DT defasados 90° entre si . Neste modelo são gerados 20 pulsos a cada giro de 360°. Além destes, é gerado um pulso de nível baixo pelo pino SW sempre que for pressionado o seu eixo. O módulo já vem com dois resistores SMD de pull-up incorporados, garantindo um sinal alto nas saídas, que caem para nível baixo (0V) quando ativadas.
Vamos ao circuito:
Os sinais do encoder são injetados nos flip flops internos do 4013 . Os capacitores de 100nF são usados para efeitos de "debounce" para que não sejam interpretados mais de um pulso por vez. Com esta disposição circuital conseguimos que giros para a direita ativem somente o CI2 e giros para a esquerda somente o CI3 .
Independente do sentido de giro do eixo do encoder, são gerados pulsos através do pino DT do encoder. Estes pulsos são injetados como sinais de clock para os dois 4017 . A cada pulso injetado é incrementada a contagem no CI 4017 que estiver ativo no momento, sendo o outro bloqueado.
Assim giramos para um lado até que a saída do primeiro 4017 fique alta . depois giramos em sentido oposto para que o outro 4017 apresente nível alto em sua saída.
A saídas dos dois CI's 4017 são ligadas a uma porta NAND que detecta quando as duas estiverem ativas ao mesmo tempo. Neste momento deveria ser acionado o transístor. Entretanto nada acontece porque o emissor está desconectado ( chave SW aberta). A partir de agora, se não for modificada a posiçãodo encoder, basta pressionar o seu eixo para que o solenóide acione.
Os capacitores de 100nF são usados para efeitos de "debounce", de maneira que seja contabilizado um único pulso a cada passo para os três pinos de saída do módulo (DT e CLK ).
Se ainda não ficou claro, o uso é assim:
- Apertar tecla reset.
- Girar lentamente 6 voltas para a direita
- O led vermelho vai piscar 6 vezes
- Girar lentamente 3 voltas para a esquerda
- O led vermelho vai piscar 3 vezes
- Pressionar o eixo do encoder
- O led verde acende e o solenóide aciona
Nenhum comentário:
Postar um comentário