Obsah:

ATMega1284P pedál pre gitarové a hudobné efekty: 6 krokov (s obrázkami)
ATMega1284P pedál pre gitarové a hudobné efekty: 6 krokov (s obrázkami)

Video: ATMega1284P pedál pre gitarové a hudobné efekty: 6 krokov (s obrázkami)

Video: ATMega1284P pedál pre gitarové a hudobné efekty: 6 krokov (s obrázkami)
Video: Obaly pre gitarové efekty, gigbag vs Al. kufrík - JIMMYMARKET.eu 2024, November
Anonim
Pedál pre gitarové a hudobné efekty ATMega1284P
Pedál pre gitarové a hudobné efekty ATMega1284P

Portoval som Arduino Uno ATMega328 Pedalshield (vyvinutý spoločnosťou Electrosmash a čiastočne založený na práci v Open Music Lab) do ATMega1284P, ktorý má osemkrát viac pamäte RAM ako Uno (16 kB oproti 2 kB). Ďalšou neočakávanou výhodou je, že zostava Mega1284 má oveľa nižšiu hlukovú zložku - do tej miery, že keď porovnám Uno a Mega1284 pomocou rovnakých podporných obvodov, nie je nerozumné označovať Uno ako „hlučné“a Mega1284 ako „ ticho “. Väčšia pamäť RAM znamená, že je možné dosiahnuť oveľa dlhší efekt oneskorenia - a to ukazuje príklad skici Arduino, ktorý som zahrnul. Pri ATMega1284 (takmer) absentuje aj hluk dýchania na pozadí pri použití efektu Tremelo.

Porovnanie troch mikroprocesorov Atmel AVR, konkrétne 328P, čo je Uno, 2560P, čo je Mega2560, a Mega1284 ukazuje, že druhý z nich má z týchto troch RAM najviac:

Aspect 328P 1284P 2560P RAM 2k 16k 8k Flash 32k 128k 256k EEPROM 1k 4k 4k UART 1 2 4 IO piny 23 32 86 Prerušenia 2 3 8 Analógový vstup 6 8 16

Začal som chlebom na pedálSHIELD na báze Uno ako v špecifikácii Electrosmash, ale nemal som rovnaký RRO OpAmp, ako je uvedené. Výsledkom bolo, že som skončil s obvodom, ktorý som považoval za poskytujúci prijateľné výsledky. Podrobnosti o tejto verzii Uno sú uvedené v prílohe 2.

Ten istý obvod bol potom prenesený do ATMega1284 - prekvapivo okrem nepodstatných zmien, ako je priradenie prepínačov a diód LED k inému portu a vyčlenenie 12 000 kB namiesto 2 000 kB RAM pre vyrovnávaciu pamäť oneskorenia, iba v zdrojovom kóde bolo potrebné vykonať jednu zásadnú zmenu, a to zmenu výstupov Timer1/PWM OC1A a OC1B z portu B na Uno na port D (PD5 a PD4) na ATMega1284.

Neskôr som objavil vynikajúce úpravy obvodu elektrosmash od Paula Gallaghera a po testovaní je to obvod, ktorý tu predstavím - ale potom aj s úpravami: náhrada Uno za Mega1284, použitie Texas Instruments TLC2272 ako OpAmp, a kvôli vynikajúcemu výkonu šumu Mega1284 som mohol tiež zvýšiť úroveň frekvencie dolného priepustného filtra.

Je dôležité si uvedomiť, že aj keď sú k dispozícii vývojové dosky pre ATMega1284 (Github: MCUdude MightyCore), je ľahké si kúpiť holý čip (bez bootloadera) (kúpiť verziu PDIP, ktorá je chlebovou doskou a páskou) priateľské), potom načítajte vidlicu Mark Pendrith bootloadera Maniacbug Mighty-1284p Core Optiboot alebo MCUdude Mightycore pomocou Uno ako programátora ISP a potom znova načítajte náčrty cez Uno do AtMega1284. Podrobnosti a odkazy na tento proces sú uvedené v prílohe 1.

Chcel by som poďakovať trom najdôležitejším zdrojom, z ktorých je možné získať ďalšie informácie, a poskytnúť odkazy na ich webové stránky a na koniec tohto článku: Electrosmash, Open Music Labs a Tardate/Paul Gallagher

Krok 1: Zoznam dielov

ATMega1284P (verzia balíka PDIP so 40 kolíkmi) Arduino Uno R3 (používa sa ako ISP na prenos zavádzača a náčrtov do ATMega1284) OpAmp TLC2272 (alebo podobný RRIO (vstup a výstup z koľajnice na železnici), ako MCP6002, LMC6482, TL972) Červená LED dióda 16 MHz kryštál 2 x 27 pF kondenzátorov 5 x 6n8 kondenzátorov 270 pF kondenzátor 4 x 100n kondenzátory 2 x 10uF 16v elektrolytické kondenzátory 6 x 4k7 odpory 100k odpor 2 x 1M odpory 470 ohmový odpor 1M2 odpor 100k potenciometer 3 x tlačidlové spínače (jeden z nich by malo byť nahradených 3-pólovým dvojcestným nožným spínačom, ak sa bude efektový box používať na živú prácu)

Krok 2: Konštrukcia

Konštrukcia
Konštrukcia
Konštrukcia
Konštrukcia
Konštrukcia
Konštrukcia

Schéma 1 uvádza použitý obvod a Breadboard 1 je jeho fyzické znázornenie (Fritzing 1) s fotografiou 1 skutočný zapojený obvod s chlebom. Môže byť výhodné mať potenciometer ako mixér pre suchý (rovnaký ako vstup) a mokrý (po spracovaní pomocou MCU) signálu a Schéma 2, Breadboard 2 a Foto 2 (uvedené v dodatku 2), detaily obvodu predtým skonštruovaného obvodu, ktorý obsahuje taký vstupno -výstupný mixér. Tiež sa pozrite na Open Music Labs StompBox, kde nájdete ďalšiu implementáciu mixéra pomocou štyroch operačných systémov OpAmps.

Fázy vstupu a výstupu OpAmp: Je dôležité, aby sa používal RRO alebo výhodne RRIO OpAmp, pretože je potrebný veľký výkyv napätia na výstupe OpAmp k ADC ATMega1284. Zoznam dielov obsahuje množstvo alternatívnych typov operačných zosilňovačov. Potenciometer 100k slúži na úpravu vstupného zosilnenia na úroveň tesne pod akýmkoľvek skreslením a môže sa použiť aj na úpravu vstupnej citlivosti pre iný vstupný zdroj ako pre gitaru, ako je napríklad prehrávač hudby. Výstupný stupeň OpAmp má RC filter vyššieho rádu na odstránenie digitálne generovaného šumu MCU zo zvukového toku.

Fáza ADC: ADC je nakonfigurovaný tak, aby čítal po celú dobu prerušením. Upozorňujeme, že medzi pin AREF ATMega1284 a uzemnenie by mal byť zapojený kondenzátor 100nF, aby sa znížil šum, pretože ako referenčné napätie sa používa interný zdroj Vcc - NEPRIPÁJAJTE pin AREF na +5 voltov priamo!

Fáza DAC PWM: Pretože ATMega1284 nemá vlastný DAC, výstupné zvukové vlny sa generujú pomocou modulácie šírky impulzov RC filtra. Dva výstupy PWM na PD4 a PD5 sú nastavené ako vysoké a nízke bajty zvukového výstupu a zmiešané s dvoma odpormi (4k7 a 1M2) v pomere 1: 256 (nízky bajt a vysoký bajt) - ktorý generuje zvukový výstup. Možno stojí za to experimentovať s inými pármi rezistorov, ako je napríklad pár 3 k9 1 M ohm, ktorý používa spoločnosť Open Music Labs vo svojom StompBoxe.

Krok 3: Softvér

Softvér je založený na náčrtoch elektroškrtania a zahrnutý príklad (pedalshield1284delay.ino) bol upravený z ich náčrtu oneskorenia Uno. Niektoré prepínače a diódy LED boli presunuté na iné porty, ako boli tie, ktoré používa programátor ISP (SCLK, MISO, MOSI a Reset), vyrovnávacia pamäť oneskorenia sa zvýšila z 2 000 bajtov na 12 000 bajtov a portD bol nastavený ako výstup pre dva signály PWM. Aj napriek zvýšeniu vyrovnávacej pamäte oneskorenia skica stále používa iba asi 70% dostupnej pamäte 1284 RAM.

Ďalšie príklady, ako napríklad octaver alebo tremolo z webovej stránky elektrosmash pre pedalSHIELD Uno, je možné prispôsobiť na použitie v modeli Mega1284 zmenou troch sekcií kódu:

(1) Zmeniť DDRB | = ((PWM_QTY << 1) | 0x02); do DDRD | = 0x30; // Vyššie uvedená zmena je IBA zásadnou zmenou kódu // pri prenose z AtMega328 do ATMega1284

(2) Zmeniť #definovať LED 13 #definovať NOŽNÝ SPÍNAČ 12 #definovať PREPÍNAČ 2 #definovať PUSHBUTTON_1 A5 #definovať PUSHBUTTON_2 A4

do

#define LED PB0 #define FOOTSWITCH PB1 #define PUSHBUTTON_1 A5 #define PUSHBUTTON_2 A4

(3) Zmeniť režim pinMode (FOOTSWITCH, INPUT_PULLUP); pinMode (TOGGLE, INPUT_PULLUP); pinMode (PUSHBUTTON_1, INPUT_PULLUP); pinMode (PUSHBUTTON_2, INPUT_PULLUP); pinMode (LED, VÝSTUP)

do

pinMode (FOOTSWITCH, INPUT_PULLUP); pinMode (PUSHBUTTON_1, INPUT_PULLUP); pinMode (PUSHBUTTON_2, INPUT_PULLUP); pinMode (LED, VÝSTUP);

Na niektorých náčrtoch sa používajú tlačidlá 1 a 2 na zvýšenie alebo zníženie účinku. V príklade oneskorenia zvýši alebo zníži čas oneskorenia. Pri prvom načítaní sa skica spustí s efektom maximálneho oneskorenia. stlačte tlačidlo nadol - odpočítavanie až do polohy oneskorenia vypnutia trvá asi 20 sekúnd - a potom stlačte a podržte tlačidlo hore. Vypočujte si, ako efekt ťahania podržaním tlačidla zmení účinok na phaser, chorus a lemovanie, ako aj oneskorenie pri uvoľnení tlačidla.

Ak chcete zmeniť oneskorenie na efekt ozveny (pridať opakovanie), zmeňte riadok:

DelayBuffer [DelayCounter] = ADC_high;

do

DelayBuffer [DelayCounter] = (ADC_high + (DelayBuffer [DelayCounter])) >> 1;

Nožný spínač by mal byť trojpólový obojsmerný prepínač a musí byť zapojený podľa popisu na webovej stránke elektroškrt.

Krok 4: Odkazy

Odkazy
Odkazy

(1) Elektrosmash:

(2) Otvorené hudobné laboratóriá:

(3) Paul Gallagher:

(4) 1284 bootloader:

(5) ATmega1284 8bitový mikrokontrolér AVR:

ElectrosmashOpenlabs MusicPaul Gallagher1284 Bootloader 11284 Bootloader 2ATmega1284 8bit AVR Microcontroller

Krok 5: Príloha 1 Programovanie ATMega1284P

Príloha 1 Programovanie ATMega1284P
Príloha 1 Programovanie ATMega1284P
Príloha 1 Programovanie ATMega1284P
Príloha 1 Programovanie ATMega1284P
Príloha 1 Programovanie ATMega1284P
Príloha 1 Programovanie ATMega1284P

Existuje niekoľko webových stránok, ktoré poskytujú dobré vysvetlenie, ako naprogramovať holý čip ATMega1284 na použitie s Arduino IDE. Proces je v zásade nasledovný: (1) Nainštalujte vidlicu Mark Pendrith bootloadera Maniacbug Mighty-1284p Core Optiboot do Arduino IDE. (2) Zapojte ATMega1284 na dosku s minimálnou konfiguráciou, ktorou je kryštál 16 MHz, kondenzátory 2 x 22 pF, ktoré uzemnia dva konce kryštálu, spojte dva uzemňovacie kolíky k sebe (piny 11 a 31) a potom k zemi Arduino Uno, prepojte Vcc a AVcc dohromady (piny 10 a 30) a potom k Uno +5v, potom pripojte resetovací kolík 9 k pinu Uno D10, pin MISO 7 k UNO D12, The MOSI pin 8 na Uno D11 a pin SCLK 7 na pin Uno D13. (3) Pripojte Uno k Arduino IDE a načítajte príklad skici Arduino ako ISP na Uno. (4) Teraz vyberte 1284 „maniakálnu“mocnú dosku optiboot a zvoľte možnosť Burn bootloader. (5) Potom zvoľte skicu 1284 uvedenú tu ako príklad a nahrajte ju pomocou možnosti Uno ako programátor v ponuke skíc.

Odkazy, ktoré podrobnejšie vysvetľujú postup, sú:

Použitie ATmega1284 s Arduino IDEArduino Mightycore pre veľké AVR kompatibilné s breadboardom Vytvorenie prototypu ATMega1284p Arduino ATmega1284p bootloader

Krok 6: Príloha 2 Variácia Arduino Uno PedalSHIELD

Príloha 2 Variácia Arduino Uno PedalSHIELD
Príloha 2 Variácia Arduino Uno PedalSHIELD
Príloha 2 Variácia Arduino Uno PedalSHIELD
Príloha 2 Variácia Arduino Uno PedalSHIELD
Príloha 2 Variácia Arduino Uno PedalSHIELD
Príloha 2 Variácia Arduino Uno PedalSHIELD

Schematic3, Breadboard3 a Photo3 poskytujú podrobnosti o obvode na báze Uno, ktorý predchádzal zostaveniu AtMega1284.

Môže byť výhodné mať potenciometer ako mixér pre suchý (rovnaký ako vstup) a mokrý (po spracovaní pomocou MCU) signálu a Schéma 2, Breadboard 2 a Foto 2 poskytujú podrobnosti o obvode predtým skonštruovaného obvodu. ktorý obsahuje taký vstupno -výstupný mixér. Tiež sa pozrite na Open Music Labs StompBox, kde nájdete ďalšiu implementáciu mixéra pomocou štyroch operačných systémov OpAmps

Odporúča: