Índice:

Osciloscópio Arduino: Por que funciona: 4 etapas
Osciloscópio Arduino: Por que funciona: 4 etapas

Vídeo: Osciloscópio Arduino: Por que funciona: 4 etapas

Vídeo: Osciloscópio Arduino: Por que funciona: 4 etapas
Vídeo: OSCILOSCÓPIO PARA INICIANTES! | Eletrônica para Iniciantes #119 2024, Maio
Anonim
Image
Image

Há alguns anos, eu estava entrando na área de eletrônica e estudando os princípios básicos. Descobri que o osciloscópio é a ferramenta que ajuda em quase tudo. Agora que entendi isso, comecei a aprender os princípios básicos do funcionamento de um osciloscópio, depois de alguns meses, pensei comigo mesmo, bem, um osciloscópio pode ser implementado em um microcontrolador se eu me colocar em um ponto de aprendizagem de perspectiva. Por que um microcontrolador, porque tinha todas as coisas necessárias para construir um, como um ADC para receber um sinal (mas sem front end de controle), ele tinha portas GPIO que podiam ser usadas para vários fins, também tem uma CPU ainda que mansa! (Estava pensando em um arduino).

Comecei pesquisando sobre os osciloscópios arduino, que eram bons e muito bons, mas gostaria de um código mais simples, fácil de modificar e entender. Quando estava pesquisando, encontrei a base do código atual nos fóruns do Arduino de 'vaupell'. Comecei a modificá-lo, comentá-lo e limpá-lo para torná-lo mais legível. O código original é de Noriaki Mitsunaga.

Então, vamos ver como configurar o hardware e o software e como usá-los.

Ainda não comecei a escrever a explicação do código no wiki do GitHub. se você tiver algum tempo de sobra, dê uma olhada.

! - Este projeto não detalha como fazer um osciloscópio, mas mostra como você pode usar um microcontrolador simples para emular o comportamento de um osciloscópio do mundo real para entender como um osciloscópio funciona.

Etapa 1: conhecendo seu hardware

Conhecendo Seu Hardware
Conhecendo Seu Hardware

O objetivo deste projeto é fornecer uma visão sobre o funcionamento de um escopo. Por esse motivo, escolhi o arduino de plataforma de hardware mais simples e popular. O código pode ser executado em um arduino uno ou um arduino mega, onde o último é preferido porque tem mais pinos livres e acessíveis quando um monitor é instalado nele.

Portanto, neste projeto estarei usando um mega arduino (2560).

O próximo componente é a tela. Esta configuração usa um escudo de toque arduino TFT de 2,5 polegadas (a identificação do driver é 0x9341). Isso dá a capacidade de exibir vários canais na tela que são distinguíveis uns dos outros.

Isso é tudo que há para fazer. No entanto, este escopo é muito limitado em suas capacidades, portanto, não o force ao limite. Algumas coisas específicas para se preocupar são;

o arduino ADC não consegue lidar muito bem com tensões acima de 5 volts e também não consegue lidar com tensões abaixo de 0 volts. Por que, porque é projetado assim.

adquirir dados de vários canais simultaneamente reduz a taxa de amostragem efetiva de um único canal porque as amostras são obtidas alternativamente de vários canais.

a taxa de amostragem é muito baixa (para uma aquisição de canal único pode ir até 10kSps, mas com dois canais cai para 5kSps / canal). Isso pode ser atenuado configurando a frequência de referência do ADC (configurando o pré-escalar) para um valor mais baixo. No entanto, isso tem seus próprios problemas de má resolução.

Também não se esqueça de um computador para fazer o upload do código para o arduino.

Etapa 2: configuração

Configurar
Configurar
Configurar
Configurar

A configuração é muito simples;

Anexe a proteção da tela ao Arduino Mega para que os pinos de alimentação em ambas as placas se alinhem.

conecte a placa ao computador usando um cabo USB.

Abra o IDE do arduino e adicione a biblioteca de exibição TFT SPFD5408 (0x9341), se ainda não estiver presente.

Agora carregue o arquivo de código do github para o Arduino.

GitHub - Osciloscópio Arduino

Aí está!. Você pode alterar o código configurando os canais 8 (ch0) e 15 (ch1) como ON ou OFF na seção de configuração do canal de código. Você pode alterar a variável de taxa para um valor da matriz de taxas para definir o tempo / divisão do escopo. Você pode definir o tipo de gatilho como automático ou único na seção de gatilho do código.

A etapa a seguir mostra um acelerômetro de 3 eixos ADXL335 sendo alimentado e lido pelo Osciloscópio Arduino, como pode ser visto no primeiro vídeo.

Etapa 3: Exemplo - ADXL335 lendo o acelerômetro

Exemplo - ADXL335 lendo o acelerômetro
Exemplo - ADXL335 lendo o acelerômetro
Exemplo - ADXL335 lendo o acelerômetro
Exemplo - ADXL335 lendo o acelerômetro
Exemplo - ADXL335 lendo o acelerômetro
Exemplo - ADXL335 lendo o acelerômetro

Ligue o módulo acelerômetro a partir de 5 Vcc e GND da placa arduino na extrema direita na parte superior e inferior. Agora conecte o pino x-out do módulo adxl335 ao pino A8 da placa arduino como pode ser visto nas fotos. se o eixo x do acelerômetro estiver apontado para baixo, a linha de dados na tela do osciloscópio será deslocada de zero, pois o módulo adxl estará lendo a aceleração devido à gravidade. tente sacudi-lo na direção x, conforme marcado no adxl-board, os pontos aparecerão na tela.

Para saber mais sobre o escopo e seu funcionamento, consulte o Wiki do GitHub

Etapa 4: contribuir?

Se você gostaria de contribuir para a documentação wiki, você é mais que bem-vindo. O osciloscópio é um equipamento fantástico e acho que é uma boa ferramenta STEM !.

Atualmente, estou trabalhando em um pequeno front-end com um PGA fictício e um controle de deslocamento e adicionaria um controle para o tempo / div e talvez lendo sinais CA de baixa tensão.

Recomendado: