Sommario:

Riproduci brani con Arduino utilizzando ADC a PWM su trasformatore flyback o altoparlante: 4 passaggi
Riproduci brani con Arduino utilizzando ADC a PWM su trasformatore flyback o altoparlante: 4 passaggi

Video: Riproduci brani con Arduino utilizzando ADC a PWM su trasformatore flyback o altoparlante: 4 passaggi

Video: Riproduci brani con Arduino utilizzando ADC a PWM su trasformatore flyback o altoparlante: 4 passaggi
Video: DAC e amplificatore 1 Watt per sintetizzatore audio con Arduino • Progetto 1000 2024, Novembre
Anonim
Riproduci brani con Arduino utilizzando ADC a PWM su trasformatore flyback o altoparlante
Riproduci brani con Arduino utilizzando ADC a PWM su trasformatore flyback o altoparlante
Riproduci brani con Arduino utilizzando ADC a PWM su trasformatore flyback o altoparlante
Riproduci brani con Arduino utilizzando ADC a PWM su trasformatore flyback o altoparlante
Riproduci brani con Arduino utilizzando ADC a PWM su trasformatore flyback o altoparlante
Riproduci brani con Arduino utilizzando ADC a PWM su trasformatore flyback o altoparlante
Riproduci brani con Arduino utilizzando ADC a PWM su trasformatore flyback o altoparlante
Riproduci brani con Arduino utilizzando ADC a PWM su trasformatore flyback o altoparlante

Ciao ragazzi, Questa è la seconda parte del mio altro istruibile (che è stato molto difficile), Fondamentalmente, in questo progetto, ho usato l'ADC e i TIMER sul mio Arduino per convertire il segnale audio in un segnale PWM.

Questo è molto più semplice del mio precedente Instructable, ecco il link del mio primo Instructable se vuoi vedere. collegamento

Per capire la teoria del segnale Audio, Bitrate, Bit depth, Sampling rate, puoi leggere la teoria nel mio ultimo tutorial su Instructable. Il link è sopra.

Passaggio 1: cose di cui abbiamo bisogno per questo progetto (requisiti)

1. Scheda Arduino (possiamo usare qualsiasi scheda (328, 2560) cioè Mega, Uno, Mini, ecc. Ma con pin diversi specifici)

2. PC con Arduino Studio.

3. Tagliere o Perfboard

4. Cavi di collegamento

5. TC4420 (driver Mosfet o qualcosa del genere)

6. Power Mosfet (canale N o P, collegare quindi di conseguenza) (ho usato il canale N)

7. Altoparlante o trasformatore flyback (sì, hai letto bene!!)

8. Alimentatore adatto (0-12V) (ho usato il mio alimentatore ATX)

9. Dissipatore di calore (l'ho recuperato dal mio vecchio PC).

10. Un amplificatore (normale amplificatore musicale) o circuito amplificatore.

Passaggio 2: teoria da ADC a PWM

Teoria da ADC a PWM
Teoria da ADC a PWM
Teoria da ADC a PWM
Teoria da ADC a PWM

Quindi, in questo progetto, ho utilizzato l'ADC integrato di Arduino per eseguire il campionamento dei dati di un segnale audio.

ADC (Analog-To-Digital Converter) come definisce il nome, ADC converte il segnale analogico in campioni digitali. E per Arduino con una profondità massima di 10 bit. Ma per questo progetto, useremo il campionamento a 8 bit.

Durante l'utilizzo dell'ADC di Arduino, dobbiamo tenere a mente l'ADC_reference Voltage.

Arduino Uno offre 1.1V, 5V (riferimento interno, che può essere impostato definendo nel codice) o un riferimento esterno (che dobbiamo applicare esternamente al pin AREF).

Secondo la mia esperienza, un minimo di 2.0V dovrebbe essere usato come tensione di riferimento per ottenere un buon risultato dall'ADC. Come 1.1V non è andato bene almeno per me. (Esperienza personale)

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

Dobbiamo utilizzare un segnale audio amplificato da un amplificatore o un circuito amplificatore con una tensione di picco (tensione massima) di 5 V

Perché ho impostato il riferimento di tensione interno di 5 V, per il nostro progetto. E sto usando un segnale amplificato usando un normale amplificatore (amplificatore musicale), che è per lo più disponibile nella nostra famiglia o puoi costruirne uno per te.

Quindi ora la parte principale. Frequenza di campionamento, che è la quantità di campioni che il nostro ADC richiede al secondo, più è il tasso di conversione, migliore sarà il risultato in uscita, più simile sarà l'onda in uscita rispetto all'ingresso.

Quindi, useremo una frequenza di campionamento di 33,33 Khz in questo progetto, impostando il clock dell'ADC a 500 Khz. Per capire come è così, dobbiamo vedere la pagina di temporizzazione dell'ADC nella scheda tecnica del chip Atmega (328p).

Possiamo vedere che abbiamo bisogno di 13,5 cicli di clock ADC per completare un campione con il campionamento automatico. Con una frequenza di 500Khz, significa 1/500Khz=2uS per un ciclo ADC, il che significa che sono necessari 13,5*2uS=27uS per completare un campione quando si utilizza il campionamento automatico. Dando 3uS in più al microcontrollore (per sicurezza), ottenendo un totale di 30uS totali per un campione.

Quindi 1 campione a 30uS significa 1/30uS=33,33 KSamples/S.

Per impostare la frequenza di campionamento, che dipende da TIMER0 di Arduino, poiché il trigger di campionamento automatico ADC dipende da quello nel nostro caso, come puoi vedere anche nel codice e nel foglio dati, abbiamo creato il valore di OCR0A = 60 (Perché così ???)

Perché secondo la formula indicata nella scheda tecnica.

frequency(o qui Sample Rate)=Clock frequency di Arduino/Prescaler*Value of OCR0A (nel nostro caso)

Frequenza o frequenza di campionamento che vogliamo = 33,33 KHz

Frequenza di clock = 16 MHz

Valore di prescaler=8 (nel nostro caso)

Valore di OCR0A=vogliamo trovare??

che dà semplicemente OCR0A=60, anche nel nostro codice Arduino.

TIMER1 è usato per l'onda portante di un segnale audio, e non entrerò in così tanti dettagli su questo.

Quindi, questa era la breve teoria del concetto da ADC a PWM con Arduino.

Passaggio 3: schematico

Schema
Schema

Collegare tutti i componenti come mostrato nello schema. Quindi hai qui due opzioni: -

1. Collegare un altoparlante (collegato con 5V)

2. Collegare un trasformatore flyback (collegato a 12V)

Ho provato entrambi. Ed entrambi funzionano abbastanza bene.

*IMPORTANTE* *IMPORTANTE**IMPORTANTE**IMPORTANTE**IMPORTANTE*Dobbiamo utilizzare un segnale audio amplificato da un amplificatore o un circuito amplificatore con una tensione di picco (tensione massima) di 5V

Disclaimer:-

* Raccomando di usare il trasformatore flyback con precauzione in quanto può essere pericoloso perché produce alte tensioni. E non sarò responsabile di alcun danno.*

Passaggio 4: test finale

Quindi carica il codice fornito sul tuo Arduino e collega il segnale amplificato al pin A0.

E non dimenticare di collegare tutti i pin di terra a una terra comune.

E divertiti ad ascoltare la musica.

Consigliato: