Obsah:

Hrajte skladby s Arduinem pomocí ADC na PWM na Flyback transformátoru nebo reproduktoru: 4 kroky
Hrajte skladby s Arduinem pomocí ADC na PWM na Flyback transformátoru nebo reproduktoru: 4 kroky

Video: Hrajte skladby s Arduinem pomocí ADC na PWM na Flyback transformátoru nebo reproduktoru: 4 kroky

Video: Hrajte skladby s Arduinem pomocí ADC na PWM na Flyback transformátoru nebo reproduktoru: 4 kroky
Video: IKAP č 54 Instalace Software Arduino připojení základní desky UNO 2024, Listopad
Anonim
Hrajte skladby s Arduinem pomocí ADC na PWM na Flyback transformátoru nebo reproduktoru
Hrajte skladby s Arduinem pomocí ADC na PWM na Flyback transformátoru nebo reproduktoru
Přehrávejte skladby s Arduino pomocí ADC na PWM na Flyback transformátoru nebo reproduktoru
Přehrávejte skladby s Arduino pomocí ADC na PWM na Flyback transformátoru nebo reproduktoru
Přehrávejte skladby s Arduino pomocí ADC na PWM na Flyback transformátoru nebo reproduktoru
Přehrávejte skladby s Arduino pomocí ADC na PWM na Flyback transformátoru nebo reproduktoru
Hrajte skladby s Arduinem pomocí ADC na PWM na Flyback transformátoru nebo reproduktoru
Hrajte skladby s Arduinem pomocí ADC na PWM na Flyback transformátoru nebo reproduktoru

Nazdar hoši, Toto je druhá část mého dalšího instruktážního programu (který byl hodně obtížný).

To je mnohem jednodušší než můj předchozí Instructable. Zde je odkaz na můj první Instructable, pokud chcete vidět. odkaz

Abyste porozuměli teorii zvukového signálu, bitrate, bitové hloubce, vzorkovací frekvenci, můžete si teorii přečíst v mém posledním tutoriálu na Instructable. Odkaz je výše.

Krok 1: Věci, které pro tento projekt potřebujeme (požadavky)

1. Deska Arduino (můžeme použít libovolnou desku (328, 2560), tj. Mega, Uno, Mini atd., Ale s konkrétními různými piny)

2. PC s Arduino Studio.

3. Breadboard nebo Perfboard

4. Připojení vodičů

5. TC4420 (ovladač Mosfet nebo něco takového)

6. Napájení Mosfet (kanál N nebo P, zapojte prosím potom odpovídajícím způsobem) (použil jsem N-kanál)

7. Reproduktor nebo Flyback transformátor (Ano, čtete správně !!)

8. Vhodný napájecí zdroj (0-12 V) (použil jsem vlastní napájecí zdroj ATX)

9. Chladič (zachránil jsem ze starého PC).

10. Zesilovač (normální hudební zesilovač) nebo obvod zesilovače.

Krok 2: Teorie ADC na PWM

Teorie ADC na PWM
Teorie ADC na PWM
Teorie ADC na PWM
Teorie ADC na PWM

V tomto projektu jsem tedy ve vestavěném ADC Arduina použil vzorkování dat zvukového signálu.

ADC (Analog-To-Digital Converter), jak název definuje, ADC převádí analogový signál na digitální vzorky. A pro Arduino s maximálně 10bitovou hloubkou. Ale pro tento projekt použijeme 8bitové vzorkování.

Při používání ADC Arduina musíme mít na paměti ADC_reference Voltage.

Arduino Uno nabízí 1,1 V, 5 V (interní referenci, kterou lze nastavit definováním v kódu) nebo externí referenci (kterou musíme externě aplikovat na pin AREF).

Podle mých zkušeností by mělo být jako referenční napětí použito minimálně 2,0 V, abychom získali dobrý výsledek od ADC. Protože 1,1 V nešlo dobře, alespoň pro mě. (Osobní zkušenost)

*DŮLEŽITÉ**DŮLEŽITÉ ** DŮLEŽITÉ ** DŮLEŽITÉ ** DŮLEŽITÉ*

Potřebujeme použít zesílený zvukový signál ze zesilovače nebo zesilovacího obvodu se špičkovým napětím (max. Napětí) 5V

Protože jsem pro náš projekt nastavil interní referenční napětí 5V. A já používám zesílený signál pomocí normálního zesilovače (hudebního zesilovače), který je většinou k dispozici v naší domácnosti, nebo si jej můžete postavit sami.

Takže teď hlavní část. Vzorkovací frekvence, což je počet vzorků, které náš ADC odebírá za sekundu, čím více je konverzní poměr, tím lepší bude výstupní výsledek, více podobných bude výstupní vlna ve srovnání se vstupem.

V tomto projektu tedy použijeme vzorkovací frekvenci 33,33 kHz tím, že nastavíme hodiny ADC na 500 kHz. Abychom pochopili, jak to je, musíme vidět stránku ADC Timing v datovém listu čipu Atmega (328p).

Vidíme, že k dokončení jednoho vzorku s automatickým vzorkováním potřebujeme 13,5 hodinové cykly ADC. S frekvencí 500Khz to znamená 1/500Khz = 2uS pro jeden cyklus ADC, což znamená, že je zapotřebí 13,5*2uS = 27uS k dokončení vzorku při použití automatického vzorkování. Poskytnutím 3uS více mikrokontroléru (pro jistotu), celkem tedy 30uS pro jeden vzorek.

Takže 1 vzorek při 30uS znamená 1/30uS = 33,33 KS vzorků/S.

Chcete -li nastavit vzorkovací frekvenci, která závisí na TIMER0 Arduina, protože na tom v našem případě závisí spouštění automatického vzorkování ADC, jak můžete také vidět v kódu a datovém listu, udělali jsme hodnotu OCR0A = 60 (Proč tak ???)

Protože podle vzorce uvedeného v datovém listu.

frekvence (nebo zde Sample Rate) = Taktovací frekvence Arduino/Prescaler*Hodnota OCR0A (v našem případě)

Požadovaná frekvence nebo vzorkovací frekvence = 33,33 kHz

Taktovací frekvence = 16 MHz

Hodnota prescaleru = 8 (v našem případě)

Hodnota OCR0A = chceme zjistit ??

což jednoduše dává OCR0A = 60, také v našem kódu Arduino.

TIMER1 se používá pro nosnou vlnu zvukového signálu, a nebudu to rozebírat v tolika podrobnostech.

To byla krátká teorie konceptu ADC na PWM s Arduinem.

Krok 3: Schéma

Schéma
Schéma

Připojte všechny součásti podle schématu. Máte tedy dvě možnosti:-

1. Připojte reproduktor (připojený k 5V)

2. Připojte Flyback transformátor (připojený k 12V)

Zkoušel jsem obojí. A obojí funguje docela dobře.

*DŮLEŽITÉ**DŮLEŽITÉ ** DŮLEŽITÉ ** DŮLEŽITÉ ** DŮLEŽITÉ*Potřebujeme použít zesílený zvukový signál ze zesilovače nebo obvodu zesilovače se špičkovým napětím (max. Napětí) 5V

Prohlášení:-

*Doporučuji používat Flyback Transformer s opatrností, protože to může být nebezpečné, protože vytváří vysoké napětí. A nebudu odpovídat za žádné škody.*

Krok 4: Závěrečný test

Nahrajte tedy daný kód do svého Arduina a připojte zesílený signál ke kolíku A0.

A nezapomeňte připojit všechny uzemňovací kolíky ke společné zemi.

A jen si užijte poslech hudby.

Doporučuje: