Fazendo um osciloscópio de canal único usando Arduino

Experimente Nosso Instrumento Para Eliminar Problemas





Neste post interessante, vamos fazer um osciloscópio simples de canal único usando Arduino e um computador pessoal, onde as formas de onda serão exibidas na tela do PC e a frequência e o período de tempo das ondas de entrada serão exibidos na tela 16 x 2 .

Introdução

Todo entusiasta da eletrônica disse uma vez: “Eu tenho um sonho, um dia vou comprar um osciloscópio”, mas muitos ainda sonham em ter um osciloscópio decente para seus projetos e experimentos.



Como o osciloscópio é um equipamento caro, mesmo para um modelo básico, nós o consideramos uma ferramenta eletrônica de luxo e podemos interromper nossos experimentos e projetos porque não podemos pagar por um.

Este projeto pode ser uma virada de jogo para muitos, entusiastas da eletrônica não precisam gastar muito dinheiro para um osciloscópio medir os parâmetros básicos de uma onda.



A ideia proposta tem uma funcionalidade muito limitada, então não espere os recursos em um osciloscópio de ponta estar presente neste projeto. Obtemos três funcionalidades sólidas deste projeto:

1) representação visual da forma de onda na tela do computador

2) medição de frequência da onda de entrada

3) Medição do período de tempo da onda de entrada em microssegundos.

A frequência e o período de tempo do sinal serão exibidos em um display LCD 16 x 2. Existem dois métodos para representar visualmente a forma de onda na tela do computador que serão descritos na parte posterior deste artigo.

Agora vamos mergulhar na parte técnica da configuração.

A configuração proposta consiste em um arduino que é o cérebro do nosso projeto como de costume, um display LCD 16 x 2, IC 7404, potenciômetro de 10K e um computador de preferência uma máquina Windows.

O arduino é o cérebro da configuração e devemos escolher Arduino UNO ou Arduino mega ou Arduino nano para este projeto, uma vez que outros modelos não têm USB embutido para conversor serial que é essencial para a comunicação entre o Arduino e o computador.

Se escolhermos outros modelos de placa arduino, precisaremos de um conversor USB externo para serial, o que pode complicar o projeto.

Ilustração do LCD para a conexão do Arduino:

Tela LCD do osciloscópio de canal único

O circuito acima é autoexplicativo. Podemos encontrar uma conexão semelhante entre o display e o arduino em outros projetos baseados em LCD.

O potenciômetro de 10K é usado para ajustar o contraste do display LCD 16 x 2, que deve ser configurado pelo usuário para uma visualização ideal.

Osciloscópio de canal único usando Arduino

A função do IC 7404 é eliminar qualquer sinal de ruído da entrada e alimentar o pino A0 de amostragem de frequência. O IC 7404 só produz ondas retangulares, o que é uma grande vantagem para o arduino, já que o arduino é mais capaz de processar sinais digitais do que sinais analógicos.

Programa:

//-----Program Developed by R.Girish-----//
#include
LiquidCrystal lcd(12, 11, 5, 4, 3, 2)
int X
int Y
float Time
float frequency
const int Freqinput = A0
const int oscInput = A1
int Switch = A2
const int test = 9
void setup()
{
Serial.begin(9600)
lcd.begin(16,2)
pinMode(Switch,INPUT)
pinMode(Freqinput,INPUT)
pinMode(oscInput,INPUT)
pinMode(test, OUTPUT)
analogWrite(test,127)
lcd.setCursor(0,0)
lcd.print('Press the button')
}
void loop()
{
if(digitalRead(Switch)==HIGH)
{
lcd.clear()
lcd.setCursor(0,0)
X = pulseIn(Freqinput,HIGH)
Y = pulseIn(Freqinput,LOW)
Time = X+Y
frequency = 1000000/Time
if(frequency<=0)
{
lcd.clear()
lcd.setCursor(0,0)
lcd.print('F=')
lcd.print('0.00 Hz')
lcd.setCursor(0,1)
lcd.print('T=')
lcd.print('0.00 us')
}
else
{
lcd.clear()
lcd.setCursor(0,0)
lcd.print('F=')
lcd.print(frequency)
lcd.print('Hz')
lcd.setCursor(0,1)
lcd.print('T=')
lcd.print(Time)
lcd.print(' us')
delay(500)
}
}
else
{
Serial.println(analogRead(oscInput))
}
}
//-----Program Developed by R.Girish-----//

Depois de concluir a parte do hardware e fazer o upload do código acima. É hora de traçar a forma de onda na tela do computador. Isso pode ser feito de duas maneiras, a maneira mais fácil e mais preguiçosa é descrita abaixo.

Método 1:

• Conecte o fio de entrada ao pino nº 9 do Arduino (modo de teste).
• Abra o IDE Arduino (deve ser 1.6.6 ou versões superiores)
• Vá para a guia “ferramentas” e selecione plotadora serial

Assim que o plotter serial abre, você pode ver a onda retangular que é gerada a partir do pino nº 9 do Arduino, ilustrado abaixo.

onda retangular que é gerada a partir do pino 9 do Arduino

Pressione o botão para mostrar as leituras e também para atualizar as leituras o display LCD, deve mostrar em torno de 490 Hz no “modo de teste”.

Esquema do modo de teste:

O modo de teste é para verificar o funcionamento adequado do osciloscópio. O pino # 9 está programado para fornecer saída de 490Hz.

Método 2:

Este método é relativamente fácil, mas precisamos baixar o software a partir do link fornecido: http://www.x-io.co.uk/downloads/Serial-Oscilloscope-v1.5.zip

Este software nos dará um pouco mais de controle e recursos em comparação com o plotter serial do Arduino. Podemos aumentar e diminuir o zoom da forma de onda gerada, podemos definir a funcionalidade de disparo, controle de deslocamento sobre os eixos vertical e horizontal etc.

• Baixe o software e extraia.

• Agora clique duas vezes no aplicativo Osciloscópio serial.

plotter serial do arduino

• Uma janela aparecerá conforme ilustrado abaixo e selecione a taxa de transmissão para 9600.

selecione a taxa de transmissão para 9600.

• Agora selecione a guia “Porta serial” e selecione a porta COM correta, que pode variar de computador para computador. Se você selecionar a porta COM correta, poderá ver as leituras conforme ilustrado abaixo.

• Agora selecione a guia “osciloscópio” e selecione “canais 1, 2 e 3” (primeira opção).

Agora selecione a guia “osciloscópio” e selecione “canais 1, 2 e 3” (primeira opção). Forma de onda do osciloscópio de canal único usando Arduino

• Você pode ver o sinal de teste gerado pelo Arduino conforme ilustrado abaixo.

Como você pode ver, existem alguns botões de controle no software pelos quais você pode analisar melhor a forma de onda.

NOTA:

A configuração proposta tem uma grande desvantagem:

O Arduino não pode mostrar a forma de onda de entrada na tela do computador e a leitura de frequência / período de tempo na tela LCD simultaneamente. Para superar esse problema, um botão de pressão é fornecido para ler / atualizar a frequência e o período de tempo no visor LCD.

Assim que você pressionar o botão, ele mostrará a frequência e o período de tempo na tela LCD ao mesmo tempo que a forma de onda congelará na tela do computador enquanto você continuar pressionando o botão.

Você também pode considerar isso como uma vantagem, pois pode interromper a frequência no monitor do computador a qualquer momento e isso pode lhe dar tempo para analisar a forma de onda exibida.

Protótipo do autor:

Imagem de protótipo para o circuito do osciloscópio Arduino

Se você tiver mais perguntas sobre este circuito de osciloscópio Arduino de canal único simples, sinta-se à vontade para usar a caixa de comentários abaixo para expressar suas visões específicas




Anterior: Medidor de frequência Arduino usando display 16 × 2 Próximo: Circuito de Transmissor LiFi Internet - Transferência de Sinal USB através de LED