- Componentes necessários:
- Explicação do circuito:
- Gerador de sinal usando 555 Timer IC:
- Schmitt Trigger Gate:
- Explicação do código do contador de frequência do Arduino:
Quase todo aquarista eletrônico deve ter enfrentado um cenário em que deve medir a frequência do sinal gerado por um relógio ou contador ou cronômetro. Podemos usar um osciloscópio para fazer o trabalho, mas nem todos podem pagar por um osciloscópio. Podemos comprar equipamentos para medir a frequência, mas todos esses dispositivos são caros e não são para todos. Com isso em mente, vamos projetar um contador de frequência simples, mas eficiente, usando o Arduino Uno e o gatilho Schmitt.
Este contador de frequência Arduino é econômico e pode ser facilmente feito, vamos usar o ARDUINO UNO para medir a frequência do sinal, UNO é o coração do projeto aqui.
Para testar o Frequency Meter, vamos fazer um gerador de sinal fictício. Este gerador de sinal fictício será feito usando um chip temporizador 555. O circuito do temporizador gera uma onda quadrada que será fornecida ao UNO para teste.
Com tudo no lugar, teremos um medidor de frequência Arduino e um gerador de ondas quadradas. O Arduino também pode ser usado para gerar outros tipos de formas de onda, como onda senoidal, onda dente de serra, etc.
Componentes necessários:
- 555 timer IC e 74LS14 Schmitt trigger gate ou NOT gate.
- 1K Ω resistor (2 peças), 100Ω resistor
- Capacitor 100nF (2 peças), capacitor 1000µF
- 16 * 2 LCD,
- Pote de 47KΩ,
- Placa de ensaio e alguns conectores.
Explicação do circuito:
O diagrama de circuito da medição de frequência usando Arduino é mostrado na figura abaixo. O circuito é simples, um LCD faz interface com o Arduino para exibir a frequência medida do sinal. 'Wave Input' vai para o Circuito Gerador de Sinal, do qual estamos fornecendo sinal para o Arduino. Uma porta de disparo Schmitt (IC 74LS14) é usada para garantir que apenas a onda retangular seja alimentada para o Arduino. Para filtrar o ruído, adicionamos alguns capacitores na alimentação. Este medidor de frequência pode medir frequências de até 1 MHz.
O circuito gerador de sinal e o gatilho Schmitt são explicados abaixo.
Gerador de sinal usando 555 Timer IC:
Em primeiro lugar, vamos falar sobre o gerador de onda quadrada baseado em 555 IC, ou devo dizer 555 Astable Multivibrator. Este circuito é necessário porque, com o frequencímetro instalado, devemos ter um sinal cuja frequência seja conhecida por nós. Sem esse sinal, nunca seremos capazes de dizer o funcionamento do medidor de freqüência. Se tivermos um quadrado de frequência conhecida, podemos usar esse sinal para testar o medidor de frequência Arduino Uno e podemos ajustá-lo para ajustes de precisão, no caso de quaisquer desvios. A imagem do gerador de sinal usando 555 Timer IC é dada abaixo:
O circuito típico de 555 no modo Astable é fornecido abaixo, a partir do qual derivamos o circuito gerador de sinal fornecido acima.
A frequência do sinal de saída depende de RA, resistores RB e capacitor C. A equação é dada como, Frequência (F) = 1 / (Período de tempo) = 1,44 / ((RA + RB * 2) * C).
Aqui RA e RB são valores de resistência e C é o valor de capacitância. Colocando os valores de resistência e capacitância na equação acima, obtemos a frequência da onda quadrada de saída.
Pode-se ver que RB do diagrama acima é substituído por um potenciômetro no Circuito Gerador de Sinal; isso é feito para que possamos obter uma onda quadrada de frequência variável na saída para melhores testes. Para simplificar, pode-se substituir o potenciômetro por um resistor simples.
Schmitt Trigger Gate:
Sabemos que todos os sinais de teste não são ondas quadradas ou retangulares. Temos ondas triangulares, ondas dentais, ondas senoidais e assim por diante. Com o UNO sendo capaz de detectar apenas as ondas quadradas ou retangulares, precisamos de um dispositivo que possa alterar qualquer sinal para ondas retangulares, por isso usamos Schmitt Trigger Gate. A porta de disparo Schmitt é uma porta lógica digital, projetada para operações aritméticas e lógicas.
Esta porta fornece OUTPUT com base no nível de tensão de INPUT. Um Schmitt Trigger tem um nível de tensão THERSHOLD, quando o sinal INPUT aplicado à porta tem um nível de tensão superior ao THRESHOLD da porta lógica, OUTPUT vai para HIGH. Se o nível do sinal de tensão de ENTRADA for inferior a LIMITE, a SAÍDA do gate será BAIXA. Normalmente não obtemos o gatilho Schmitt separadamente, sempre temos uma porta NOT seguindo o gatilho Schmitt. O funcionamento do Schmitt Trigger é explicado aqui: Schmitt Trigger Gate
Vamos usar o chip 74LS14, este chip tem 6 portas Schmitt Trigger. Essas portas SEIS são conectadas internamente conforme mostrado na figura abaixo.
A Tabela da Verdade da Porta Trigger Schmitt Invertida é mostrada na figura abaixo, com isso temos que programar o UNO para inverter os períodos de tempo positivo e negativo em seus terminais.
Agora vamos alimentar qualquer tipo de sinal para a porta ST, teremos onda retangular de períodos de tempo invertidos na saída, vamos alimentar esse sinal para UNO.
Explicação do código do contador de frequência do Arduino:
O código para essa medição de frequência usando o arduino é bastante simples e de fácil compreensão. Aqui estamos explicando a função pulseIn , que é principalmente responsável por medir a frequência. O Uno tem uma função especial pulseIn , que nos permite determinar a duração do estado positivo ou a duração do estado negativo de uma onda retangular particular:
Htime = pulseIn (8, HIGH); Ltime = pulseIn (8, LOW);
A função fornecida mede o tempo durante o qual o nível Alto ou Baixo está presente no PIN8 de Uno. Portanto, em um único ciclo de onda, teremos a duração dos níveis positivo e negativo em microssegundos. A função pulseIn mede o tempo em microssegundos. Em um determinado sinal, temos o tempo alto = 10 ms e o tempo baixo = 30 ms (com frequência 25 Hz). Portanto, 30000 será armazenado no número inteiro Ltime e 10000 no Htime. Quando os somamos, teremos a Duração do Ciclo e, invertendo-a, teremos a Frequência.
O código completo e o vídeo para este medidor de frequência usando Arduino são fornecidos abaixo.