Índice:
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:35
Um gerador de sinal é uma peça de equipamento de teste muito útil. Este usa um módulo AD9833 e um Arduino Nano - isso é tudo, nem mesmo um PCB. Você pode opcionalmente adicionar um display OLED. O AD9833 pode gerar ondas senoidais, triangulares e quadradas de 0,1 Hz a 12,5 MHz - o software neste projeto é limitado a 1 Hz a 100 kHz.
Existem outros Instructables usando um Arduino e um AD9833, aqui e aqui. Isso é mais simples e pode ser usado como um gerador de varredura. Os geradores de varredura ajudam a testar a resposta de frequência de filtros, amplificadores e assim por diante. Ao contrário de outros designs de Instructables, isso não inclui um amplificador ou controle de amplitude, mas você pode adicioná-los se desejar.
Etapa 1: gerador de sinal mais simples
Para o gerador de sinal mais simples, basta soldar o módulo AD9833 na parte traseira do Arduino Nano. Nenhum PCB é necessário.
O módulo AD9833 que escolhi é semelhante a este. Não estou dizendo que esse é o fornecedor melhor ou mais barato, mas você deve comprar um que se pareça com essa foto (ou a foto acima).
As conexões entre os módulos são:
- terras conectadas juntas
- D2 = FSync
- D3 = Clk
- D4 = Dados
- D6 = Vcc de AD9833
O AD9833 é alimentado pelo pino de dados D6 do Arduino - o Arduino pode fornecer corrente suficiente. Eu adicionei um capacitor de desacoplamento de 100n porque pensei que "deveria", mas não vi nenhuma diferença - já existe um capacitor de desacoplamento na placa do módulo AD9833.
Se você fosse sofisticado, poderia se preocupar com "solo analógico" versus "solo digital", mas se fosse extravagante, gastaria mais de £ 4.
O gerador de sinais mais simples é controlado e alimentado por um cabo USB de um PC. O USB emula uma porta serial rodando a 115200bps (8 bits, sem paridade). Os comandos são:
- '0'.. '9': altera o dígito para a matriz de frequência "min"
- 'S': define a frequência AD9833 e produz uma onda senoidal
- 'T': define a frequência e produz uma onda triangular
- 'Q': define a frequência e produz uma onda quadrada
- 'R': reinicie o AD9833
- 'M': copia a matriz de frequência "min" para a matriz "max"
- 'G': varre de "min" para "max" ao longo de 1 segundo
- 'H': varrer de "min" para "max" ao longo de 5 segundos
- 'I': varre de "min" para "max" ao longo de 20 segundos
O programa Arduino contém dois arrays de 6 caracteres "min" e "max. Se você transmitir um dígito, ele será deslocado para o array" min ". Se você enviar um 'S', os caracteres do array" min "serão convertidos em um frequência inteira longa e enviada para o AD9833. Então, o envio da string
002500S
irá definir a saída AD9833 para uma onda senoidal de 2500Hz. Você deve sempre enviar todos os 6 dígitos. A frequência mínima é 000001 e a frequência máxima é 999999.
Se você enviar um 'M', o array "min" será copiado para o array "max". Se você enviar um 'H', o AD9833 emitirá repetidamente uma frequência que aumenta gradualmente ao longo de 5 segundos. Ele começa na frequência "mínima" e 5 segundos depois está na frequência "máxima". Então
020000M000100SH
varre de 100 Hz a 20 kHz. A mudança de frequência é logarítmica, portanto, após 1 segundo, a frequência será de 288 Hz, após 2 segundos, 833 Hz, em seguida, 2402, 6931 e 20000. A frequência é alterada a cada milissegundo.
O loop para quando o Arduino recebe outro caractere, portanto, tome cuidado para não enviar o comando seguido por retorno de carro ou alimentação de linha. Esse caractere extra encerraria o loop. Se você estiver usando o Serial Monitor, há uma caixa no canto inferior direito que pode dizer, por exemplo, "Ambos NL e CR" que (eu acho) envia caracteres após o seu comando. Defina-o como "Sem fim de linha".
Você pode baixar o programa Windows EXE abaixo, que enviará os comandos necessários, ou você pode escrever o seu próprio. O arquivo Arduino INO também está aqui.
Etapa 2: adicionar um OLED
Se você adicionar um OLED e dois botões, o gerador de sinal pode funcionar sozinho, sem um PC.
Aqueles de vocês que leram meu osciloscópio Instructable reconhecerão a semelhança. O módulo AD9833 pode ser adicionado ao meu osciloscópio para produzir um "Osciloscópio e gerador de sinal em uma caixa de fósforos".
O display é um OLED de 1,3 rodando a 3,3 V que é controlado por um chip SH1106 por meio de um barramento I2C.
Pesquise no eBay por OLED de 1,3 ". Não quero recomendar um vendedor em particular porque os links ficam rapidamente desatualizados. Escolha um que se pareça com essa foto, diga" I2C "ou" IIC "e tenha quatro pinos identificados como VDD GND SCL SDA. (Alguns monitores parecem ter os pinos em uma ordem diferente. Verifique-os. O nome apropriado para o relógio do I2C é "SCL", mas no eBay as placas podem ser rotuladas como "SCK" como na foto.)
Uma descrição mais completa da biblioteca OLED está em meu osciloscópio Instructable na Etapa 8. Você deve baixar e instalar a biblioteca de driver SimpleSH1106.zip que está na Etapa 8. (Não quero fazer upload de outra cópia aqui e tenho que manter duas cópias.)
O arquivo INO pode ser baixado abaixo. Os números de pino usados para o OLED são declarados em torno da linha 70. Se você construiu meu "Osciloscópio e gerador de sinal em uma caixa de fósforos" e deseja testar este arquivo INO com ele, números de pino alternativos são habilitados por meio de um #define.
Eu mostrei um layout de stripboard para o circuito. Existem dois stripboards - um para o Nano e o AD9833 e outro para a tela. Eles devem formar um sanduíche. As placas são mostradas do lado do componente. Fios finos e flexíveis unem as duas placas. Conecte as placas com isoladores soldados. No meu diagrama, o cobre do stripboard é mostrado em ciano. As linhas vermelhas são links de fios no stripboard ou fios flexíveis que unem as placas. Eu não mostrei os cabos de alimentação e "sinal".
O módulo AD9833 é soldado no lado de cobre do stripboard - no lado oposto do Nano. Solde os pinos nas tiras de cobre e, em seguida, encaixe o AD9833 nelas e solde-o.
O visor mostra uma única frequência ou as frequências "mín" e "máx.".
Existem dois botões: um botão "Horizontal" para selecionar um dígito das frequências e um botão "Vertical" para alterar esse dígito.
Eu ligo o gerador de sinais do circuito que estou desenvolvendo - sempre tenho 5V disponíveis na minha estação de trabalho.
Etapa 3: Desenvolvimentos Futuros
Poderia ser alimentado por bateria? Sim, basta adicionar um PP3 de 9V conectado ao pino RAW do Nano. Normalmente usa 20mA.
Poderia ser alimentado por uma única célula de lítio? Não vejo porque não. Você deve conectar o OLED Vdd e seu resistor pull-up à bateria de 3,7 V (duvido que a saída de 3,3 V do Arduino funcione corretamente).
Um gerador de varredura é mais útil ao testar a resposta de frequência de um filtro se você puder representar graficamente a amplitude em relação à frequência. Medir a amplitude de um sinal é complicado - você tem que trocar a decadência do seu detector de envelope pela ondulação para baixas frequências e o tempo de resposta para altas frequências. Tendo construído seu detector de amplitude, você pode alimentar sua saída no ADC do Arduino do "Gerador de sinal mais simples" e enviar o resultado, junto com a frequência atual, para o PC.
Esta página é um ponto de partida útil ou pesquise no Google por "detector de envelope" ou "detector de pico". No circuito sugerido acima, você configuraria a frequência do sinal, esperaria que ele se estabilizasse, configuraria o pino A0 do Arduino para saída digital baixa, esperaria para descarregar C, configuraria A0 para entrada, espere e, em seguida, medir com o ADC. Deixe-me saber como você está.
Recomendado:
Como usar o gerador de sinal de frequência Arduino DDS AD9850: 7 etapas
Como usar o Arduino DDS Frequency Signal Generator AD9850: Neste tutorial, aprenderemos como fazer um gerador de sinais de frequência usando um módulo AD9850 e Arduino. Assistir ao vídeo! Nota: Consegui obter a frequência de até + 50 MHz, mas a qualidade do sinal fica pior com as frequências mais altas
Revisão completa do gerador de sinal vintage: 8 etapas
Revisão Completa do Gerador de Sinal Vintage: Adquiri um gerador de sinal Eico 320 RF em uma feira de troca de rádio amador por alguns dólares há alguns anos, mas nunca tive tempo de fazer nada com ele até agora. Este gerador de sinal tem cinco faixas selecionáveis de 150 kHz a 36 MHz e com ha
Gerador de sinal RF 100 KHz-600 MHZ no DDS AD9910 Escudo Arduino: 5 etapas
Gerador de sinais RF 100 KHz-600 MHZ no DDS AD9910 Arduino Shield: Como fazer baixo ruído, alta precisão e gerador de RF estável (com AM, modulação FM) no Arduino
Gerador de sinal de dois canais para guitarra: 10 etapas
Gerador de Sinal de Dois Canais para Guitarra: Este projeto é um projeto original e fácil de construir para um Gerador de Sinal de dois canais para guitarra e outros usos. Cobre toda a gama de notas de guitarra (para vocês, guitarristas, desde cordas graves E abertas - 83 Hertz, até a 24ª casa em Mi agudas
Construir este gerador de sinal de varredura LED de 5 Hz a 400 KHz a partir de kits: 8 etapas
Construa este gerador de sinal de varredura de LED de 5 Hz a 400 KHz a partir de kits: Construa este gerador de sinal de varredura fácil a partir de kits prontamente disponíveis. na época, que era um gerador de sinais. Eu queria um