Índice:

Reproduza músicas com o Arduino usando ADC para PWM no transformador ou alto-falante Flyback: 4 etapas
Reproduza músicas com o Arduino usando ADC para PWM no transformador ou alto-falante Flyback: 4 etapas

Vídeo: Reproduza músicas com o Arduino usando ADC para PWM no transformador ou alto-falante Flyback: 4 etapas

Vídeo: Reproduza músicas com o Arduino usando ADC para PWM no transformador ou alto-falante Flyback: 4 etapas
Vídeo: Aula Microprocessadores 8W 26/10/2020 2024, Novembro
Anonim
Reproduza músicas com o Arduino usando ADC para PWM no transformador ou alto-falante Flyback
Reproduza músicas com o Arduino usando ADC para PWM no transformador ou alto-falante Flyback
Reproduza músicas com o Arduino usando ADC para PWM no transformador ou alto-falante Flyback
Reproduza músicas com o Arduino usando ADC para PWM no transformador ou alto-falante Flyback
Reproduza músicas com o Arduino usando ADC para PWM no transformador ou alto-falante Flyback
Reproduza músicas com o Arduino usando ADC para PWM no transformador ou alto-falante Flyback
Reproduza músicas com o Arduino usando ADC para PWM no transformador ou alto-falante Flyback
Reproduza músicas com o Arduino usando ADC para PWM no transformador ou alto-falante Flyback

Ola pessoal, Esta é a segunda parte do meu outro instrutível (que foi muito difícil). Basicamente, neste projeto, usei o ADC e os TIMERS no meu Arduino para converter o sinal de áudio em um sinal PWM.

Isso é muito mais fácil do que meu Instructable anterior, aqui está o link do meu primeiro Instructable se você quiser ver. ligação

Para entender a teoria do sinal de áudio, taxa de bits, profundidade de bits, taxa de amostragem, você pode ler a teoria no meu último tutorial sobre instrutível. O link está acima.

Etapa 1: coisas que precisamos para este projeto (requisitos)

1. Placa Arduino (podemos usar qualquer placa (328, 2560), ou seja, Mega, Uno, Mini, etc, mas com pinos diferentes específicos)

2. PC com Arduino Studio.

3. Breadboard ou Perfboard

4. Fios de conexão

5. TC4420 (driver Mosfet ou algo parecido)

6. Power Mosfet (canal N ou P, conecte-os adequadamente) (usei o canal N)

7. Alto-falante ou transformador Flyback (sim, você leu certo !!)

8. Fonte de alimentação adequada (0-12V) (usei minha própria fonte de alimentação ATX)

9. Dissipador de calor (eu salvei do meu antigo PC).

10. Um amplificador (amplificador de música normal) ou circuito amplificador.

Etapa 2: Teoria de ADC para PWM

Teoria de ADC para PWM
Teoria de ADC para PWM
Teoria de ADC para PWM
Teoria de ADC para PWM

Portanto, neste projeto, usei o ADC integrado do Arduino para fazer amostragem de dados de um sinal de áudio.

ADC (conversor analógico para digital) como o nome define, o ADC converte o sinal analógico em amostras digitais. E para Arduino com profundidade máxima de 10 bits. Mas, para este projeto, usaremos amostragem de 8 bits.

Ao usar o ADC do Arduino, devemos ter em mente a tensão ADC_reference.

O Arduino Uno oferece 1,1 V, 5 V (referência interna, que pode ser definida definindo no código) ou uma referência externa (que temos que aplicar externamente ao pino AREF).

De acordo com minha experiência, um mínimo de 2,0 V deve ser usado como tensão de referência para obter um bom resultado do ADC. Como 1.1V não foi bem pelo menos para mim. (Experiência pessoal)

* IMPORTANTE * * IMPORTANTE ** IMPORTANTE ** IMPORTANTE ** IMPORTANTE *

Precisamos usar um sinal de áudio amplificado de um amplificador ou circuito amplificador com uma tensão de pico (tensão máxima) de 5V

Porque eu configurei a referência de tensão interna de 5V, para o nosso projeto. E estou usando um sinal amplificado usando um amplificador normal (amplificador de música), que está mais disponível em nossa casa ou você pode construir um para si mesmo.

Então agora a parte principal. Taxa de amostragem, que é a quantidade de amostras que nosso ADC coleta por segundo, quanto maior a taxa de conversão, melhor será o resultado de saída, mais semelhante será a onda de saída em comparação com a entrada.

Portanto, estaremos usando uma taxa de amostragem de 33,33Khz neste projeto, configurando o relógio ADC em 500Khz. Para entender como funciona, temos que ver a página de temporização do ADC no datasheet do chip Atmega (328p).

Podemos ver que precisamos de 13,5 ciclos de clock do ADC para completar uma amostra com amostragem automática. Com uma frequência de 500Khz, significa 1 / 500Khz = 2uS para um ciclo de ADC, o que significa que 13,5 * 2uS = 27uS são necessários para completar uma amostra quando a amostragem automática é usada. Dando 3uS a mais para o Microcontrolador (pelo lado seguro), perfazendo um total de 30uS totalmente para uma amostra.

Portanto, 1 amostra a 30uS significa 1 / 30uS = 33,33 KSamples / S.

Para definir a taxa de amostragem, que depende do TIMER0 do Arduino, porque o acionador de amostragem automática do ADC depende disso em nosso caso, como você também pode ver no código e no datasheet, definimos o valor de OCR0A = 60 (por que isso ???)

Porque de acordo com a fórmula fornecida na folha de dados.

frequência (ou aqui Taxa de amostragem) = frequência de relógio do Arduino / Prescaler * Valor de OCR0A (em nosso caso)

Frequência ou taxa de amostragem que desejamos = 33,33 KHz

Frequência do relógio = 16 MHz

Valor de pré-escala = 8 (no nosso caso)

Valor de OCR0A = queremos encontrar ??

que simplesmente dá OCR0A = 60, também em nosso código Arduino.

TIMER1 é usado para onda portadora de um sinal de áudio, e não vou entrar em tantos detalhes sobre isso.

Então, essa foi a teoria resumida do conceito de ADC para PWM com Arduino.

Etapa 3: esquemático

Esquemático
Esquemático

Conecte todos os componentes conforme mostrado no esquema. Então você tem aqui duas opções: -

1. Conecte um alto-falante (conectado com 5V)

2. Conecte um transformador Flyback (conectado com 12V)

Eu tentei ambos. E ambos funcionam muito bem.

* IMPORTANTE * * IMPORTANTE ** IMPORTANTE ** IMPORTANTE ** IMPORTANTE * Precisamos usar um sinal de áudio amplificado de um amplificador ou circuito de amplificador com uma tensão de pico (tensão máxima) de 5V

Isenção de responsabilidade:-

* Recomendo usar o transformador Flyback com cuidado, pois pode ser perigoso porque produz altas tensões. E não serei responsável por nenhum dano. *

Etapa 4: Teste Final

Portanto, carregue o código fornecido para o seu Arduino e conecte o sinal amplificado ao pino A0.

E não se esqueça de conectar todos os pinos de aterramento a um aterramento comum.

E apenas divirta-se ouvindo música.

Recomendado: