Obsah:

ATMega1284 Quad Opamp Effects Box: 4 kroky (s obrázky)
ATMega1284 Quad Opamp Effects Box: 4 kroky (s obrázky)

Video: ATMega1284 Quad Opamp Effects Box: 4 kroky (s obrázky)

Video: ATMega1284 Quad Opamp Effects Box: 4 kroky (s obrázky)
Video: PID demo 2024, Listopad
Anonim
Box ATMega1284 Quad Opamp Effects
Box ATMega1284 Quad Opamp Effects

Stomp Shield pro Arduino od Open Music Labs používá jako pole pro kytarové efekty Arduino Uno a čtyři operační zesilovače. Podobně jako předchozí instruktáž, která ukazuje, jak portovat Electrosmash Uno Pedalshield, jsem také přenesl pole Open Music Labs Guitar Effects do ATMega1284P, který má osmkrát více RAM než Uno (16 kB proti 2 kB).

Ve srovnání s předchozím instrukčním použitím efektové jednotky ATMega1284 má tento box následující výhody:

(1) Má směšovač, který mísí nezpracovaný signál se zpracovaným signálem MCU - to znamená, že kvalita signálu na výstupu je mnohem lepší.

(2) Provádí 16bitové zpracování výstupu pro dva výstupy PWM, kde předchozí efektové pole používá 8 bitů pro některé z příkladů, jako je například efekt zpoždění.

(3) Má potenciometr zpětné vazby, který lze použít k vylepšení efektů - zvláště u efektu flanger/phaser asi 30 procent zpětné vazby výrazně zvyšuje kvalitu efektu.

(4) Frekvence dolní propusti je 10 kHz ve srovnání s 5 kHz předchozího efektového pole - to znamená, že signál na výstupu zní výrazně „ostřeji“.

(5) Používá jinou spoušť přerušení, což může vysvětlovat podstatně nižší hladinu hluku zobrazenou tímto efektovým rámečkem.

Začal jsem chlebem na palubě Stompbox Shield Open Music Labs se sídlem v Uno a byl jsem tak ohromen výkonem tohoto čtyř obvodů zpracování signálu OpAmp (i když používám Arduino Uno), že jsem jej přenesl na stripboard pro trvalejší použití.

Do ATMega1284 pak byly přeneseny stejné čtyři operační zesilovače a kód DSP-opět překvapivě na rozdíl od nepodstatných změn, jako je přiřazení přepínačů a LED k jinému portu a přidělení 7 000 kilo slov místo 1 000 kilo-slova RAM pro vyrovnávací paměť zpoždění, ve zdrojovém kódu musely být provedeny pouze dvě zásadní změny, a to změna na ADC0 z ADC2 a změna výstupů Timer1/PWM OC1A a OC1B z Portu B na Uno na Port D (PD5 a PD4) na ATMega1284.

Jak již bylo uvedeno výše, ačkoli jsou k dispozici vývojové desky pro ATMega1284 (Github: MCUdude MightyCore), je snadné si koupit holý čip (bez bootloaderu) (koupit verzi PDIP, která je vhodná pro pečivo a desky), poté načtěte vidlici Mark Pendrith bootloaderu Maniacbug Mighty-1284p Core Optiboot nebo MCUdude Mightycore pomocí Uno jako programátoru ISP a poté načtěte náčrty znovu přes Uno do AtMega1284. Podrobnosti a odkazy na tento proces jsou uvedeny v dodatku 1 předchozího pokynu.

Krok 1: Seznam dílů

Seznam dílů
Seznam dílů
Seznam dílů
Seznam dílů

ATMega1284P (verze balíčku PDIP 40 pinů) Arduino Uno R3 (používá se jako ISP k přenosu zavaděče a skic do ATMega1284) OpAmp MCP6004 quad OpAmp (nebo podobný RRIO (Rail to Rail vstup a výstup) OpAmp jako TLC2274) 1 x Červená LED 1 x 16 MHz krystal 2 x 27 pF kondenzátory 1 x 3n9 kondenzátor 1 x 1n2 kondenzátor 1 x 820pF kondenzátor 2 x 120 pF kondenzátor 4 x 100n kondenzátory 3 x 10uF 16v elektrolytické kondenzátory 4 x 75k odpory 4 x 3k9 odpory 1 x 36k odpor 1 x 24k odpor 2 x 1M odpory 1 x 470 ohm odpor 3 x 1k odpory 2 x 50k potenciometry (lineární) 1 x 10k potenciometr (lineární) 3 x tlačítkové spínače (jeden z nich by měl být nahrazen 3pólovým 2 způsob nožního spínače, pokud bude efektový box použit pro živou práci)

Krok 2: Stavba

Konstrukce
Konstrukce

Okruh 1 ukazuje použitý obvod a Stripboard 1 je jeho fyzickou reprezentací (Fritzing 1) s fotografií 1 skutečný obvod s obložením chleba v provozu. Byly provedeny tři malé změny obvodu: Předpětí sdílené opampové úrovně poloviční dodávky se používá pro tři stupně OpAmp, paralelní odpory 3 x 75k a 2 x 75k ohmů byly nahrazeny jednoduchými odpory 24k a 36k a zpětnovazební kondenzátory byly zvýšeny na 120pF pro tyto dva stupně OpAmp. Otočný ovladač byl nahrazen dvěma tlačítky, která slouží ke zvýšení nebo snížení parametrů efektů. Třívodičové připojení k ATMega1284 je na obvodu znázorněno jako ADC na pinu 40, PWMlow z pinu 19 a PWMhigh z pinu 18. Tři tlačítka jsou připojena na piny 1, 36 a 35 a uzemněna na druhém konci. LED dioda je připojena přes odpor 470 na pin 2.

Fáze vstupu a výstupu OpAmp: Je důležité, aby byl použit RRO nebo nejlépe RRIO OpAmp, protože je vyžadováno velké kolísání napětí na výstupu OpAmp do ADC ATMega1284. Seznam dílů obsahuje řadu alternativních typů OpAmp. Potenciometr 50k se používá k nastavení vstupního zisku na úroveň těsně pod jakýmkoli zkreslením a lze jej také použít k nastavení vstupní citlivosti pro jiný vstupní zdroj než pro kytaru, jako je hudební přehrávač. Druhý vstupní stupeň OpAmp a první výstupní stupeň operačního zesilovače má RC filtr vyššího řádu pro odstranění digitálně generovaného šumu MCU ze zvukového proudu.

Fáze ADC: ADC je nakonfigurován tak, aby četl pomocí přerušení časovače. Mezi pin AREF ATMega1284 a uzemnění by měl být připojen kondenzátor 100nF, aby se snížil šum, protože jako referenční napětí se používá interní zdroj Vcc - NEPŘIPOJUJTE pin AREF na +5 voltů přímo!

Fáze DAC PWM: Jelikož ATMega1284 nemá vlastní DAC, jsou výstupní zvukové vlny generovány pomocí pulzně šířkové modulace RC filtru. Dva výstupy PWM na PD4 a PD5 jsou nastaveny jako vysoké a nízké bajty zvukového výstupu a smíchány se dvěma odpory (3k9 a 1M) v poměru 1: 256 (nízký bajt a vysoký bajt) - který generuje zvukový výstup.

Krok 3: Software

Software je založen na náčrtcích pedálu Open Music Labs stompbox a jsou zahrnuty dva příklady, a to efekt flanger/phaser a efekt delay. Opět, stejně jako u předchozího instrukce, byly přepínače a LED přesunuty na jiné porty mimo porty používané programátorem ISP (SCLK, MISO, MOSI a Reset).

Vyrovnávací paměť zpoždění byla zvýšena z 1 000 slov na 7 000 slov a jako výstup pro dva signály PWM byl nastaven PortD. I s nárůstem vyrovnávací paměti zpoždění skica stále používá pouze asi 75% dostupné paměti ATMega1284 16 kB RAM.

Jiné příklady, jako je tremolo z webu Open Music Labs pro pedalSHIELD Uno, lze upravit pro použití v Mega1284 změnou zahrnout hlavičkový soubor Stompshield.h:

(1) Změnit DDRB | = 0x06; // nastavení výstupů pwm (piny 9, 10) na výstup doDDRD | = 0x30;

a

ADMUX = 0x62; // nastavení doleva, adc2, interní vcc jako odkaz na ADMUX = 0x60; // nastavení doleva, adc0, interní vcc jako reference // Tyto změny jsou POUZE zásadní změny kódu // při portování z Uno do ATMega1284

U dvou zde uvedených příkladů je soubor záhlaví zahrnut v náčrtu - tj. Není třeba používat žádné soubory záhlaví

Tlačítka 1 a 2 se v některých skicách používají ke zvýšení nebo snížení efektu. V příkladu zpoždění zvyšuje nebo snižuje dobu zpoždění. Když je skica poprvé načtena, začne s efektem maximálního zpoždění. U skica flanger phaser zkuste zvýšit ovládání zpětné vazby pro vylepšený efekt.

Chcete -li změnit zpoždění na efekt ozvěny (přidat opakování), změňte řádek:

buffer [umístění] = vstup; // uložení nového vzorku

na

buffer [umístění] = (vstup + buffer [umístění]) >> 1; // Toto použijte pro efekt ozvěny

Nožní spínač by měl být třípólový dvoucestný přepínač

Krok 4: Odkazy

Elektrosmash

Otevřete Music labs Music

Efektový pedál ATMega

Doporučuje: