Sadržaj:

Reproducirajte pjesme s Arduinom koristeći ADC na PWM na Flyback transformatoru ili zvučniku: 4 koraka
Reproducirajte pjesme s Arduinom koristeći ADC na PWM na Flyback transformatoru ili zvučniku: 4 koraka

Video: Reproducirajte pjesme s Arduinom koristeći ADC na PWM na Flyback transformatoru ili zvučniku: 4 koraka

Video: Reproducirajte pjesme s Arduinom koristeći ADC na PWM na Flyback transformatoru ili zvučniku: 4 koraka
Video: Theme Song | Ben 10: Omniverse | Cartoon Network 2024, Novembar
Anonim
Reproducirajte pjesme s Arduinom pomoću ADC -a na PWM na Flyback transformatoru ili zvučniku
Reproducirajte pjesme s Arduinom pomoću ADC -a na PWM na Flyback transformatoru ili zvučniku
Reproducirajte pjesme s Arduinom pomoću ADC -a na PWM na Flyback transformatoru ili zvučniku
Reproducirajte pjesme s Arduinom pomoću ADC -a na PWM na Flyback transformatoru ili zvučniku
Reproducirajte pjesme s Arduinom pomoću ADC -a na PWM na Flyback transformatoru ili zvučniku
Reproducirajte pjesme s Arduinom pomoću ADC -a na PWM na Flyback transformatoru ili zvučniku
Reproducirajte pjesme s Arduinom pomoću ADC -a na PWM na Flyback transformatoru ili zvučniku
Reproducirajte pjesme s Arduinom pomoću ADC -a na PWM na Flyback transformatoru ili zvučniku

Zdravo momci, Ovo je drugi dio mog drugog uputstva (što je bilo mnogo teško). U osnovi, u ovom projektu sam koristio ADC i TIMERS na svom Arduinu za pretvaranje audio signala u PWM signal.

Ovo je mnogo lakše od mog prethodnog Instructable -a, evo veze mog prvog Instructable -a ako želite vidjeti. veza

Da biste razumjeli teoriju audio signala, brzinu prijenosa, dubinu bita, brzinu uzorkovanja, teoriju možete pročitati u mom posljednjem vodiču na stranici Instructable. Link je gore.

Korak 1: Stvari koje su nam potrebne za ovaj projekat (zahtjevi)

1. Arduino ploča (možemo koristiti bilo koju ploču (328, 2560), tj. Mega, Uno, Mini itd., Ali sa specifičnim različitim pinovima)

2. PC sa Arduino Studio.

3. Breadboard ili Perfboard

4. Povezivanje žica

5. TC4420 (Mosfet vozač ili tako nešto)

6. Uključite Mosfet (N ili P kanal, molimo vas da spojite žicu prema tome) (koristio sam N-kanal)

7. Zvučnik ili Flyback transformator (Da, dobro ste pročitali !!)

8. Odgovarajuće napajanje (0-12V) (koristio sam vlastito ATX napajanje)

9. Hladnjak (spasio sam sa svog starog računara).

10. Pojačalo (normalno muzičko pojačalo) ili kolo pojačala.

Korak 2: Teorija ADC -a na PWM

Teorija ADC -a na PWM
Teorija ADC -a na PWM
Teorija ADC -a na PWM
Teorija ADC -a na PWM

Tako sam u ovom projektu koristio ugrađeni ADC iz Arduina za uzorkovanje podataka audio signala.

ADC (analogno-digitalni pretvarač) kako naziv definira, ADC pretvara analogni signal u digitalne uzorke. A za Arduino s maksimalno 10-bitnom dubinom. Ali za ovaj projekt koristit ćemo 8-bitno uzorkovanje.

Dok koristimo ADC iz Arduina, moramo imati na umu napon ADC_referencije.

Arduino Uno nudi 1,1 V, 5 V (interna referenca, koja se može postaviti definiranjem u kodu) ili vanjska referenca (koju moramo primijeniti izvana na AREF pin).

Prema mom iskustvu, minimalno 2.0V bi se trebalo koristiti kao referentni napon za dobivanje dobrih rezultata od ADC -a. Barem meni 1.1V nije dobro išao. (Lično iskustvo)

*VAŽNO**VAŽNO ** VAŽNO ** VAŽNO ** VAŽNO*

Moramo koristiti pojačani audio signal iz pojačala ili kruga pojačala s vršnim naponom (maksimalni napon) od 5V

Zato što sam za naš projekt postavio internu referencu napona od 5V. I ja koristim pojačani signal koristeći normalno pojačalo (muzičko pojačalo), koje je uglavnom dostupno u našem domaćinstvu ili ga možete sami izgraditi.

Dakle, sada glavni dio. Brzina uzorkovanja, koliko uzoraka uzima naš ADC u sekundi, veća je stopa konverzije, bolji će biti izlazni rezultat, sličniji će biti izlazni val u usporedbi s ulaznim.

Dakle, u ovom ćemo projektu koristiti brzinu uzorkovanja od 33,33Khz, postavljanjem sata ADC -a na 500Khz. Da bismo razumjeli kako je to, moramo vidjeti ADC Timing stranicu u podatkovnom listu Atmega (328p) čipa.

Vidimo da nam je potrebno 13,5 ciklusa takta ADC -a da kompletiramo jedan uzorak s automatskim uzorkovanjem. Sa frekvencijom od 500Khz, to znači 1/500Khz = 2uS za jedan ciklus ADC -a, što znači da je potrebno 13,5*2uS = 27uS za kompletiranje uzorka kada se koristi automatsko uzorkovanje. Davanjem 3uS više mikrokontroleru (za sigurnu stranu), izrađujući ukupno 30uS ukupno za jedan uzorak.

Dakle, 1 uzorak pri 30uS znači 1/30uS = 33,33 KSuzora/S.

Za postavljanje brzine uzorkovanja, koja ovisi o TIMER0 na Arduinu, jer okidač automatskog uzorkovanja ADC -a ovisi o tome u našem slučaju, što možete vidjeti i u kodu i tablici s podacima, napravili smo vrijednost OCR0A = 60 (Zašto je tako ???)

Zato što prema formuli datoj u tehničkom listu.

frekvencija (ili ovdje Sample Rate) = Taktna frekvencija Arduina/Prescalera*Vrijednost OCR0A (u našem slučaju)

Željena frekvencija ili brzina uzorkovanja = 33,33KHz

Taktna frekvencija = 16MHz

Vrijednost predmjerača = 8 (u našem slučaju)

Vrijednost OCR0A = želimo pronaći ??

koji jednostavno daje OCR0A = 60, također u našem Arduino kodu.

TIMER1 se koristi za noseći val audio signala, i neću ulaziti u toliko detalja o tome.

Dakle, to je bila kratka teorija koncepta ADC -a za PWM s Arduinom.

Korak 3: Shema

Shematski
Shematski

Povežite sve komponente kako je prikazano na shemi. Dakle, ovdje imate dvije mogućnosti:-

1. Priključite zvučnik (povezan sa 5V)

2. Priključite povratni transformator (povezan s 12V)

Probao sam oboje. I oboje rade prilično dobro.

*VAŽNO**VAŽNO ** VAŽNO ** VAŽNO ** VAŽNO*Moramo koristiti pojačani audio signal iz pojačala ili kola pojačala sa vršnim naponom (maksimalni napon) od 5V

Odricanje od odgovornosti:-

*Preporučujem korištenje Flyback transformatora s oprezom jer može biti opasan jer proizvodi visoke napone. I neću biti odgovoran za bilo kakvu štetu.*

Korak 4: Završni test

Zato prenesite dati kod na svoj Arduino i povežite pojačani signal na pin A0.

I ne zaboravite spojiti sve uzemljene igle na zajedničko uzemljenje.

I samo uživajte slušajući muziku.

Preporučuje se: