Tartalomjegyzék:

Zeneszámok lejátszása Arduino segítségével az ADC - PWM használatával a Flyback Transformeren vagy hangszórón: 4 lépés
Zeneszámok lejátszása Arduino segítségével az ADC - PWM használatával a Flyback Transformeren vagy hangszórón: 4 lépés

Videó: Zeneszámok lejátszása Arduino segítségével az ADC - PWM használatával a Flyback Transformeren vagy hangszórón: 4 lépés

Videó: Zeneszámok lejátszása Arduino segítségével az ADC - PWM használatával a Flyback Transformeren vagy hangszórón: 4 lépés
Videó: Arduino motorvezérlő , újra az élők sorában 2024, November
Anonim
Zeneszámok lejátszása Arduino segítségével az ADC - PWM használatával a Flyback Transformer vagy hangszórón
Zeneszámok lejátszása Arduino segítségével az ADC - PWM használatával a Flyback Transformer vagy hangszórón
Zeneszámok lejátszása Arduino segítségével az ADC - PWM használatával a Flyback Transformer vagy hangszórón
Zeneszámok lejátszása Arduino segítségével az ADC - PWM használatával a Flyback Transformer vagy hangszórón
Zeneszámok lejátszása Arduino segítségével az ADC - PWM használatával a Flyback Transformer vagy hangszórón
Zeneszámok lejátszása Arduino segítségével az ADC - PWM használatával a Flyback Transformer vagy hangszórón
Zeneszámok lejátszása Arduino segítségével az ADC - PWM használatával a Flyback Transformer vagy hangszórón
Zeneszámok lejátszása Arduino segítségével az ADC - PWM használatával a Flyback Transformer vagy hangszórón

Helló srácok, Ez a másik utasítása a második részemnek (ez nagyon nehéz volt). Alapvetően ebben a projektben az Arduino -n lévő ADC -t és időzítőt használtam az audiojel PWM -jellé alakítására.

Ez sokkal könnyebb, mint a korábbi Instructable -m, itt van az első Instructable linkje, ha látni szeretné. link

Az audiojel, a bitráta, a bitmélység, a mintavételi arány elméletének megértéséhez olvassa el az elméletet az Instructable -ról szóló utolsó oktatóanyagomban. A link fent.

1. lépés: A projekthez szükséges dolgok (követelmények)

1. Arduino tábla (bármilyen táblát (328, 2560) használhatunk, azaz Mega, Uno, Mini stb., De különböző tűkkel)

2. PC Arduino Stúdióval.

3. Breadboard vagy Perfboard

4. Vezetékek csatlakoztatása

5. TC4420 (Mosfet driver vagy ilyesmi)

6. Tápellátás Mosfet (N vagy P csatorna, kérjük, kösse be a kábelt ennek megfelelően) (N-csatornát használtam)

7. Hangszóró vagy Flyback Transformer (Igen, jól olvasta !!)

8. Megfelelő tápegység (0-12V) (saját ATX tápegységet használtam)

9. Hűtőborda (a régi PC -ről mentettem ki).

10. Erősítő (normál zenei erősítő) vagy erősítő áramkör.

2. lépés: Az ADC elmélete a PWM -hez

Az ADC elmélete a PWM -hez
Az ADC elmélete a PWM -hez
Az ADC elmélete a PWM -hez
Az ADC elmélete a PWM -hez

Tehát ebben a projektben az Arduino beépített ADC -jét használtam az audiojel adatmintavételéhez.

Az ADC (analóg-digitális konverter), ahogy a név is meghatározza, az ADC az analóg jelet digitális mintává alakítja. És az Arduino számára, maximum 10 bites mélységgel. Ehhez a projekthez azonban 8 bites mintavételt fogunk használni.

Az Arduino ADC használata közben szem előtt kell tartanunk az ADC_reference Voltage -t.

Az Arduino Uno 1.1V, 5V (belső referencia, amelyet kódban lehet megadni) vagy külső referenciát kínál (amelyet külsőleg kell alkalmaznunk az AREF pin -re).

Tapasztalataim szerint minimum 2,0 V -ot kell használni referenciafeszültségként, hogy jó eredményt érjen el az ADC -ből. Mivel az 1.1V legalábbis nem esett jól nekem. (Személyes tapasztalat)

*FONTOS**FONTOS ** FONTOS ** FONTOS ** FONTOS*

5V -os csúcsfeszültségű (max. Feszültségű) erősítőből vagy erősítő áramkörből származó erősített hangjelet kell használnunk

Mivel a projektünkhöz 5 V belső feszültségreferenciát állítottam be. És én egy erősített jelet használok egy normál erősítővel (zenei erősítő), amely többnyire a háztartásunkban kapható, vagy építhet egyet magának.

Tehát most a fő rész. Mintavételi arány, azaz mennyi mintát vesz az ADC másodpercenként, annál nagyobb az átváltási arány, jobb lesz a kimeneti eredmény, több hasonló lesz a kimeneti hullám a bemenethez képest.

Tehát ebben a projektben 33,33 Khz mintavételi gyakoriságot fogunk használni, ha az ADC órát 500 Khz -re állítjuk. Ahhoz, hogy megértsük, hogyan van ez, meg kell látnunk az ADC időzítési oldalt az Atmega (328p) chip adatlapján.

Láthatjuk, hogy egy minta automatikus mintavételezéshez 13,5 ADC órajelre van szükségünk. 500Khz frekvenciával 1/500Khz = 2uS egy ADC ciklusra, ami azt jelenti, hogy 13,5*2uS = 27uS szükséges a minta befejezéséhez automatikus mintavétel esetén. Ha 3uS -t ad a mikrovezérlőnek (a biztonság kedvéért), akkor összesen 30uS -ot készít egy mintára.

Tehát 1 minta 30uS -on 1/30uS = 33,33 KSamples/S.

A mintavételi gyakoriság beállításához, amely függ az Arduino TIMER0 -tól, mivel az ADC automatikus mintavételi trigger attól függ, hogy a mi esetünkben, amint az a kódban és az adatlapon is látható, az OCR0A = 60 értéket adtuk meg (Miért ???)

Mert az adatlapon megadott képlet szerint.

frekvencia (vagy itt mintavételi arány) = Arduino/Prescaler órajel gyakorisága*OCR0A értéke (esetünkben)

A kívánt frekvencia vagy mintavételi frekvencia = 33,33 KHz

Óra frekvencia = 16MHz

Előre méretezett érték = 8 (esetünkben)

OCR0A értéke = meg akarjuk találni ??

ami egyszerűen OCR0A = 60 -at ad, szintén az Arduino kódunkban.

A TIMER1 az audió jel vivőhullámát használja, és nem részletezem ezt.

Tehát ez volt az ADC fogalmának rövid elmélete a PWM -hez Arduino -val.

3. lépés: Vázlatos

Vázlatos
Vázlatos

Csatlakoztassa az összes alkatrészt a vázlat szerint. Tehát itt két lehetőség közül választhat:-

1. Csatlakoztasson egy hangszórót (5V -os csatlakozóval)

2. Csatlakoztasson egy Flyback transzformátort (12V -os csatlakozóval)

Mindkettőt kipróbáltam. És mindkettő elég jól működik.

*FONTOS**FONTOS ** FONTOS ** FONTOS ** FONTOS*5 V -os csúcsfeszültségű (Max. Feszültség) erősítő vagy erősítő áramkör erősített audiojelet kell használnunk

Jogi nyilatkozat:-

*Javaslom a Flyback Transformer elővigyázatossággal történő használatát, mivel veszélyes lehet, mert magas feszültséget okoz. És nem vagyok felelős semmilyen kárért.*

4. lépés: Végső teszt

Tehát töltse fel a megadott kódot az Arduino készülékére, és csatlakoztassa az erősített jelet az A0 tűhöz.

És ne felejtse el az összes földelőcsapot egy közös földhöz csatlakoztatni.

És csak élvezze a zenehallgatást.

Ajánlott: