Índice:

Gerador de função: 12 etapas (com imagens)
Gerador de função: 12 etapas (com imagens)

Vídeo: Gerador de função: 12 etapas (com imagens)

Vídeo: Gerador de função: 12 etapas (com imagens)
Vídeo: Gerador de Sinais fácil e barato para fazer - Gerador de funções 2024, Julho
Anonim
Gerador de funções
Gerador de funções
Gerador de funções
Gerador de funções

Este instrutível descreve o projeto do gerador de função baseado no circuito integrado analógico MAX038 do Maxims

O gerador de função é uma ferramenta muito útil para os fanáticos por eletrônica. É necessário para sintonizar circuitos de ressonância, testar equipamentos de áudio e vídeo, projetar filtros analógicos e para muitos outros propósitos diferentes.

Hoje, existem dois tipos principais de geradores de função; digital, (baseado em DSP, DDS…) que são cada vez mais usados e analógicos, que foram as origens.

Ambos os tipos têm vantagens e desvantagens. Os geradores digitais podem gerar sinais com frequência muito estável, mas têm problemas em gerar sinais senoidais muito puros (o que não é problema para o analógico). Além disso, os geradores de função principalmente espalhados com base na abordagem DDS não têm uma faixa de geração de frequência tão grande.

Há muito tempo eu queria projetar um gerador de funções útil, que pudesse de alguma forma combinar algumas das vantagens de ambos os tipos (analógico e digital) de geradores. Decidi basear o design no chip Maxim MAX038 *

* Observação - este chip não é mais produzido e vendido pela Maxim. Está obsoleto. Ainda é possível encontrá-lo no eBay, Aliexpress e outros sites de componentes eletrônicos.

Existem também outros chips geradores de função analógica (XR2206 da Exar, icl8038 da Intersil), mas eu tinha

um MAX038 disponível e eu o usei. Os recursos digitais do gerador de função foram executados por um chip Atmega328. Suas funções são as seguintes:

  • controla a seleção da faixa de frequência
  • controla o tipo de sinal (senoidal, retangular, triangular, dente de serra)
  • mede a amplitude do sinal
  • mede o deslocamento DC
  • mede a frequência do sinal
  • mede o THD do sinal seno na faixa de áudio (ainda precisa ser implementado)
  • exibe todas essas informações em um display LCD de 16x2 caracteres.

Etapa 1: descrição de MAX038

Descrição MAX038
Descrição MAX038

Anexei a folha de dados do MAX038. Aqui podem ser vistos os parâmetros mais importantes do chip:

♦ Faixa de frequência operacional de 0,1 Hz a 20 MHz

♦ Formas de onda de triângulo, dente de serra, seno, quadrado e pulso

♦ Ajustes Independentes de Freqüência e Ciclo de Trabalho

♦ 350 a 1 faixa de varredura de frequência

♦ 15% a 85% do ciclo de trabalho variável

♦ Buffer de saída de baixa impedância: 0,1Ω

♦ Desvio de temperatura baixa 200ppm / ° C

Outro requisito importante é a necessidade de alimentação dupla (± 5V). A amplitude de saída é fixa (~ 2 VP-P com deslocamento de 0 V DC).

Na página 8 da ficha técnica encontra-se o diagrama de blocos do chip. Na página 11 pode ser visto o circuito mais simples, que pode ser utilizado para geração de sinal de onda senoidal. Este circuito foi tomado como base para o projeto do gerador de funções.

Etapa 2: O circuito…

O circuito …
O circuito …

Na foto é apresentado o circuito do gerador de funções fiz essa imagem com a maior resolução possível para garantir que cada valor de.dispositivo possa ser lido corretamente. O esquema parece bastante complexo e para ser melhor compreendido explicarei suas partes principais separadamente. Muitos leitores podem me culpar por o circuito ser muito redundante. Isso é verdade. A princípio você pode ver que ele contém dois chips MAX038. A razão é que o PCB suporta os dois tipos de pacotes SO e DIP. A redundância também pode ser vista em algumas funções -

1) Os LEDs mostram a faixa de frequência ativa atual, mas também é exibida no LCD;

2) Os LEDs também são usados para indicar o tipo de sinal, mas também o LCD mostra essas informações

O design é feito desta forma para permitir mais flexibilidade ao usuário - caso deseje ele não poderá usar o LCD, ou simplesmente poderá omitir a soldagem dos LED's. Eu os soldei para poder depurar a funcionalidade durante as fases de design.

Pode-se notar também que eu uso muitos opamps. Alguns deles podem ser omitidos sem problemas - especialmente os buffers. No momento, os amplificadores operacionais por si só oferecem grande redundância - em um pacote você pode encontrar 2, 4 até 8 amplificadores separados, e isso a um preço relativamente baixo. Por que não usá-los?

Redundantes também são os capacitores de filtragem - cada chip analógico usado tem seu próprio banco de capacitores (capacitores de tântalo + cerâmica para ambas as fontes). Alguns deles também podem ser omitidos.

Etapa 3: Explicação do circuito - Fonte de alimentação (1)

Explicação do circuito - Fonte de alimentação (1)
Explicação do circuito - Fonte de alimentação (1)

Como eu disse, este gerador requer alimentação dupla. A tensão positiva é criada pelo uso do regulador de tensão linear 7805. A alimentação negativa é gerada pelo chip 7905. O ponto intermediário do transformador 2x6V é conectado ao terra comum da placa. As fontes de alimentação geradas - tanto o positivo quanto o negativo são separados em analógico e digital por choques. Dois LEDs indicam a presença de cada alimentação.

Etapa 4: Explicação do circuito - Controle de faixa de frequência (2)

Explicação do circuito - Controle de faixa de frequência (2)
Explicação do circuito - Controle de faixa de frequência (2)

Para cobrir uma grande faixa de frequência, um banco de capacitores múltiplos é usado. Os capacitores têm valores diferentes e definem diferentes subfaixas de frequência. Apenas um desses capacitores é usado durante o trabalho - sua placa inferior é aterrada por uma chave transistor MOS. A placa inferior do capacitor a ser aterrada é controlada pelo Atmega328 pelo uso do chip demultiplexador 74HC238. Como interruptores MOS, usei transistores BSS123. O principal requisito para esta chave é ter baixo Ron e a menor capacitância de drenagem possível. O controle digital do banco de capacitores pode ser omitido - o PCB contém orifícios para soldar os fios para a chave rotativa mecânica.

Etapa 5: Explicação do circuito - o ajuste de frequência (3)

Explicação do circuito - o ajuste de frequência (3)
Explicação do circuito - o ajuste de frequência (3)

Na imagem são mostrados os circuitos de controle de freqüência e ciclo de serviço. Lá eu usei o LM358 opamp padrão (amplificador duplo em um pacote). Usei também potenciômetros duplos de 10K.

O chip MAX038 gera voltagem interna de referência 2,5 V, que normalmente é usada como referência para todos os ajustes.

Esta tensão é aplicada na entrada inversora do IC8a e gera uma referência de tensão negativa usada para o DADJ (ajuste do ciclo de trabalho). Ambas as tensões são aplicadas no potenciômetro do DADJ, cuja derivação do meio é protegida e aplicada ao pino DADJ do chip MAX038. O jumper JP5 pode ser usado para desabilitar a função DADJ, quando conectado ao terra. O controle de frequência de "Curso" é executado alterando a corrente afundada / originada no pino MAX038 "IIN". Esta corrente é definida pelo resistor R41 e a tensão de saída do opamp protegendo a derivação do meio do potenciômetro de controle de frequência de curso. Todos estes podem ser substituídos por um único potenciômetro (em conexão de reostato) entre os pinos REF e IIN MAX038.

Etapa 6: Explicação do circuito - Controle de amplitude, geração de sinal SYNC … (4)

Explicação do circuito - Controle de amplitude, geração de sinal SYNC … (4)
Explicação do circuito - Controle de amplitude, geração de sinal SYNC … (4)
Explicação do circuito - Controle de amplitude, geração de sinal SYNC … (4)
Explicação do circuito - Controle de amplitude, geração de sinal SYNC … (4)
Explicação do circuito - Controle de amplitude, geração de sinal SYNC … (4)
Explicação do circuito - Controle de amplitude, geração de sinal SYNC … (4)
Explicação do circuito - Controle de amplitude, geração de sinal SYNC … (4)
Explicação do circuito - Controle de amplitude, geração de sinal SYNC … (4)

Conforme escrito na folha de dados, o sinal de saída do MAX038 tem amplitude ~ 1 V com tensão DC igual ao potencial de terra.

Eu queria ter a possibilidade de controlar a amplitude do sinal e definir o offset DC por mim mesmo. Como recurso adicional, eu queria ter um sinal SYNC com níveis CMOS em paralelo com o sinal de saída. Por padrão o chip MAX038 gera esse sinal, mas no datasheet eu li que se esse recurso estiver habilitado (o que significa - pino DV + conectado a 5V), alguns picos (ruído) podem ser observados na saída do sinal analógico. Eu queria manter o mais limpo possível e por isso gerei o sinal SYNC externamente. O PCB é feito de forma que o pino DV + possa ser facilmente conectado à fonte principal. O pino SYNC é roteado para o conector BNC - somente o resistor de 50 Ohm deve ser soldado. Neste caso, o circuito de geração de sinal SYNC pode ser omitido. Aqui, como você pode ver, eu uso também potenciômetros duplos, mas eles não estão conectados em paralelo. A razão para isso é - eu meço a amplitude relativamente. A tensão no ponto médio de um potenciômetro é detectada pelo ADC Atmega328 e a amplitude do sinal é calculada com base neste valor. É claro que esse método não é muito preciso (depende do casamento de ambas as seções do potenciômetro, o que nem sempre ocorre), mas é preciso o suficiente para minhas aplicações. Neste circuito IC2A está funcionando como buffer de tensão. IC4A também. O IC2B opamp funciona como amplificador somador - cria o sinal de saída do gerador funcional como a soma da tensão de deslocamento e o sinal principal com amplitude ajustada. O divisor de tensão R15. R17 gera um sinal de tensão adequado para medir o deslocamento do sinal principal CC. É detectado pelo ADC Atmega328. O IC4B opamp funciona como comparador - ele controla o inversor de geração SYNC realizado pelos dois transistores MOS (BSS123 e BSS84). O U6 (THS4281 - Texas Instruments) muda o sinal de saída gerado pelo MAX038 DC para 2,5 V e o amplifica 1,5 vezes. Assim, o sinal gerado é detectado pelo AVR ADC e processado posteriormente com o algoritmo FFT. Nesta parte eu usei trilho de alta qualidade para trilho opamps com largura de banda de 130 MHz (TI - LMH6619).

Para ficar mais fácil entender como funciona exatamente a geração do sinal SYNC, estou incluindo algumas fotos de simulações LTSpice do circuito. Na terceira imagem: o sinal azul é a tensão de deslocamento (entrada do IC2B). O verde é o sinal de saída com amplitude ajustada. O vermelho é o sinal de saída do gerador funcional. A curva de ciano é o sinal SYNC.

Etapa 7: Design de PCB

Design PCB
Design PCB

Usei "Eagle" para o design do PCB. Encomendei o PCB no "PCBway". Eles levaram apenas quatro dias para produzir as pranchas e uma semana para entregá-las. Sua qualidade é alta e o preço extremamente baixo. Paguei apenas 13 dólares por 10 PCBs!

Além disso, eu poderia pedir placas de circuito impresso de cores diferentes sem aumento de preço. Eu escolhi os amarelos:-).

Estou anexando os arquivos gerber de acordo com as regras de design "PCBway".

Etapa 8: Solda

Image
Image
De solda
De solda
De solda
De solda

Primeiro eu soldei os dispositivos de circuito da fonte de alimentação.

Depois de testar o bloco de alimentação, soldei o chip Atmega328 com seus dispositivos de suporte: cristal de quartzo, capacitores, tampas de filtragem e o conector ISP. Como você pode ver, tenho um jumper na linha de alimentação do chip AVR. Eu o desconecto quando programo o chip através do ISP. Eu uso o programador USBtiny para esse fim.

Na próxima etapa, soldei o chip de-mux 74HC238, os LEDs indicando a faixa de frequência. Carreguei um pequeno programa Arduino no chip Atmega, que estava testando a multiplexação. (veja o vídeo no link acima)

Etapa 9: Soldando …

De solda…
De solda…
De solda…
De solda…
De solda…
De solda…

No próximo passo eu soldei os opamps trabalhando no modo DC (LM358) e os potenciômetros de ajuste de frequência e DADJ e verifiquei todas as suas funções.

Além disso, soldei os interruptores BSS123, os capacitores de determinação de frequência e o chip MAX039. Testei o gerador funcional testando o sinal na saída de sinal do chip nativo. (Você pode ver meu antigo osciloscópio soviético, produzido em 1986, ainda funcionando em ação:-))

Etapa 10: Mais solda …

Mais solda …
Mais solda …
Mais solda …
Mais solda …
Mais solda …
Mais solda …

Depois disso, soldei o soquete para o display LCD e testei com o esboço "Hello world".

Eu soldei os outros opamps restantes, capacitores, potenciômetros e os conectores BNC.

Etapa 11: Software

Image
Image
Programas
Programas

Para a criação do firmware Atmega328 usei o IDE Arduino.

Para a medição de frequência, usei a biblioteca "FreqCounter". O arquivo de esboço e a biblioteca usada estão disponíveis para download. Eu criei símbolos especiais para representar o modo usado atualmente (seno, retangular, triângulo).

Na foto acima podem ser vistas as informações mostradas no LCD:

  • Frequência F = xxxxxxxx em Hz
  • Faixa de freqüência Rx
  • Amplitude em mV A = xxxx
  • Offset em mV 0 = xxxx
  • tipo de sinal x

O gerador de função tem dois botões na frente e no lado esquerdo - eles são usados para alterar a faixa de frequência (subir-descer). À direita delas está a chave deslizante para o controle do modo, depois da esquerda para a direita siga o potenciômetro para o controle da frequência (curso, multa, DADJ), amplitude e o deslocamento. Perto do potenciômetro de ajuste de deslocamento é colocado o interruptor usado para comutar entre o deslocamento fixo em 2,5 V CC e o sintonizado.

Eu encontrei um pequeno erro no código "Generator.ino" no arquivo ZIP - os símbolos para formas de onda senoidal e triangular foram trocados. No único arquivo "Generator.ino" anexado aqui, o erro foi corrigido.

Etapa 12: a ser feito …

Image
Image

Como última etapa, pretendo implementar um recurso adicional - medição do THD do sinal senoidal da frequência de áudio em tempo real usando FFT. Isso é necessário porque o ciclo de trabalho do sinal senoidal pode diferir de 50%, o que pode ser causado por incompatibilidades de chip interno e outros motivos e pode criar distorções harmônicas. O ciclo de trabalho pode ser ajustado pelo potenciômetro, mas sem observar o sinal no osciloscópio ou analisador de espectro é impossível aparar bem sua forma. O cálculo do THD com base no algoritmo FFT pode resolver o problema. O resultado dos cálculos de THD será exibido no LCD no espaço vazio superior direito.

No vídeo pode ser visto o espectro do gerado pelo sinal senoidal MAX038. O analisador de espectro é baseado na placa Arduino UNO + escudo TFT de 2,4 . O analisador de espectro usa a biblioteca SpltRadex Arduino desenvolvida por Anatoly Kuzmenko para executar FFT em tempo real.

Eu ainda não decidi - usar esta biblioteca ou usar a biblioteca FHT criada pelo Musiclabs.

Pretendo usar as informações obtidas das medições do frequencímetro para calcular a janela de amostragem adequada e suspender o uso de janelas adicionais durante os cálculos de FFT. Só preciso encontrar algum tempo livre para fazer isso acontecer. Espero ter alguns resultados em breve….

Recomendado: