Sadržaj:

ATMega1284P Pedala za gitaru i glazbene efekte: 6 koraka (sa slikama)
ATMega1284P Pedala za gitaru i glazbene efekte: 6 koraka (sa slikama)

Video: ATMega1284P Pedala za gitaru i glazbene efekte: 6 koraka (sa slikama)

Video: ATMega1284P Pedala za gitaru i glazbene efekte: 6 koraka (sa slikama)
Video: Долгожданный финал очень интересной истории ► 9 Прохождение Dying Light 2: Stay Human 2024, Studeni
Anonim
ATMega1284P Pedala za gitaru i glazbene efekte
ATMega1284P Pedala za gitaru i glazbene efekte

Prenio sam Arduino Uno ATMega328 Pedalshield (kako ga je razvio Electrosmash i djelomično temeljen na radu u Otvorenom glazbenom laboratoriju) na ATMega1284P koji ima osam puta više RAM -a od Unoa (16 kB naspram 2 kB). Dodatna neočekivana prednost je ta što Mega1284 build ima mnogo nižu komponentu šuma - u mjeri u kojoj kada usporedim Uno i Mega1284 pomoću istog kruga podrške nije nerazumno opisati Uno kao "bučan", a Mega1284 kao " miran". Veća RAM memorija znači da se može postići mnogo dulji učinak odgode - a to pokazuje primjer Arduino skice koji sam uključio. Pozadinski zvuk disanja pri korištenju Tremelo efekta također je (gotovo) odsutan kod ATMega1284.

Usporedba tri Atmel AVR mikroprocesora, naime 328P, odnosno Uno, 2560P, odnosno Mega2560, i Mega1284 pokazuje da potonji ima najviše RAM -a od tri:

Aspekt 328P 1284P 2560P RAM 2k 16k 8k Flash 32k 128k 256k EEPROM 1k 4k 4k UART 1 2 4 IO pinovi 23 32 86 Prekidi 2 3 8 Analogni ulazi 6 8 16

Počeo sam s ukrcavanjem na Uno-based pedalSHIELD kao u specifikaciji Electrosmash, ali nisam imao isti RRO OpAmp kako je navedeno. Kao rezultat toga, završio sam sa krugom za koji sam smatrao da daje prihvatljive rezultate. Pojedinosti o ovoj verziji Uno dane su u Dodatku 2.

Taj je isti krug zatim prenijet na ATMega1284 - iznenađujuće osim nebitnih promjena, poput dodjeljivanja sklopki i LED -a drugom portu, te dodjeljivanja samo 12 000 kB umjesto 2 000 kB RAM -a za međuspremnik, samo morala se izvršiti jedna bitna promjena u izvornom kodu, naime promjena izlaza Timer1/PWM OC1A i OC1B iz priključka B na Uno u port D (PD5 i PD4) na ATMega1284.

Kasnije sam otkrio izvrsne izmjene elektromash kola Paula Gallaghera i nakon testiranja, ovo je krug koji ću predstaviti ovdje - ali onda i s izmjenama: zamjena Uno -a s Mega1284, koristeći Texas Instruments TLC2272 kao OpAmp, i zbog izvrsnih performansi šuma Mega1284, također sam mogao povećati razinu frekvencije niskopropusnog filtra.

Važno je napomenuti da, iako su razvojne ploče za ATMega1284 dostupne (Github: MCUdude MightyCore), jednostavna je vježba kupiti goli čip (bez pokretačkog programa) (kupite PDIP verziju koja je hljebna ploča i strip-ploča) friendly), zatim učitajte vilicu Mark Pendrith iz Maniacbug Mighty-1284p Core Optiboot pokretačkog programa ili MCUdude Mightycore, koristeći Uno kao programer ISP-a, a zatim ponovo učitavate skice preko Uno-a na AtMega1284. Pojedinosti i veze za ovaj proces dati su u Dodatku 1.

Želio bih priznati tri najvažnija izvora iz kojih se mogu dobiti dodatne informacije te ću dati poveznice na njihove web stranice i kraj ovog članka: Electrosmash, Open Music Labs i Tardate/Paul Gallagher

Korak 1: Popis dijelova

ATMega1284P (PDIP verzija sa 40 pinova) Arduino Uno R3 (koristi se kao ISP za prijenos pokretačkog programa i skica na ATMega1284) OpAmp TLC2272 (ili sličan RRIO (ulaz na željeznicu i željeznicu) OpAmp kao što je MCP6002, LMC6482, TL972) Crvena LED 16 MHz kristal 2 x 27 pF kondenzatori 5 x 6n8 kondenzatori 270 pF kondenzatori 4 x 100n kondenzatori 2 x 10uF 16v elektrolitski kondenzatori 6 x 4k7 otpornici 100k otpornik 2 x 1M otpornici 470 ohm otpornik 1M2 otpornik 100k potenciometar 3 x prekidači njih bi trebalo zamijeniti tropolnim dvosmjernim nožnim prekidačem ako će se okvir s efektima koristiti za rad uživo)

Korak 2: Izgradnja

Graditeljstvo
Graditeljstvo
Graditeljstvo
Graditeljstvo
Graditeljstvo
Graditeljstvo

Shema 1 prikazuje upotrijebljeno kolo, a Breadboard 1 je njegov fizički prikaz (Fritzing 1) sa fotografijom 1 stvarni krug u krugu u radu. Možda bi bilo korisno imati potenciometar kao mješalicu za suhi (jednak ulaznom) i vlažnom (nakon obrade MCU -om) signal, a shema 2, pločica 2 i fotografija 2 (navedene u Dodatku 2) daju pojedinosti o krugu prethodno izgrađenog kruga koji uključuje takav ulazno -izlazni mikser. Također pogledajte Open Music Labs StompBox za još jednu implementaciju miksera pomoću četiri OpAmpa.

OpAmp ulazni i izlazni stupnjevi: Važno je da se koristi RRO ili po mogućnosti RRIO OpAmp zbog velikog zamaha napona potrebnog na izlazu OpAmpa prema ADC -u ATMega1284. Popis dijelova sadrži niz alternativnih vrsta OpAmpa. Potenciometar od 100 k koristi se za podešavanje ulaznog pojačanja na razinu neposredno ispod bilo kakvog izobličenja, a također se može koristiti za podešavanje ulazne osjetljivosti za ulazni izvor koji nije gitara, poput glazbenog playera. OpAmp izlazni stupanj ima RC filter višeg reda za uklanjanje digitalno generirane MCU buke iz audio toka.

ADC faza: ADC je konfiguriran tako da čitavo vrijeme čita kroz prekid. Imajte na umu da 100nF kondenzator treba biti spojen između AREF pina ATMega1284 i mase kako bi se smanjila buka jer se unutarnji Vcc izvor koristi kao referentni napon - NE spajajte AREF pin na +5 volti izravno!

DAC PWM faza: Budući da ATMega1284 nema vlastiti DAC, izlazni audio valni oblici generiraju se pomoću modulacije širine impulsa RC filtra. Dva PWM izlaza na PD4 i PD5 postavljena su kao visoki i niski bajt audio izlaza i pomiješana s dva otpornika (4k7 i 1M2) u omjeru 1: 256 (niski i visoki bajt) - što generira audio izlaz. Možda bi bilo vrijedno eksperimentirati s drugim parovima otpornika, poput para 3k9 1M ohma koji koriste Open Music Labs u svom StompBoxu.

Korak 3: Softver

Softver se temelji na skicama elektromaske, a uključeni primjer (pedalshield1284delay.ino) prilagođen je prema njihovoj skici odgode Uno. Neki su prekidači i LED premješteni na druge portove dalje od onih koje koristi ISP programer (SCLK, MISO, MOSI i Reset), međuspremnik za kašnjenje povećan je s 2000 bajtova na 12000 bajtova, a PortD je postavljen kao izlaz za dva PWM signala. Čak i s povećanjem međuspremnika za kašnjenje, skica i dalje koristi samo oko 70% raspoloživih 1284 RAM -a.

Ostale primjere, kao što su oktaver ili tremolo s web stranice elektromash za pedalu SHIELD Uno, može se prilagoditi za upotrebu od strane Mega1284 promjenom tri odjeljka u kodu:

(1) Promjena DDRB | = ((PWM_QTY << 1) | 0x02); na DDRD | = 0x30; // Gornja promjena je SAMO bitna promjena koda // prilikom prijenosa s AtMega328 na ATMega1284

(2) Promijenite #define LED 13 #define FOOTSWITCH 12 #define TOGGLE 2 #define PUSHBUTTON_1 A5 #define PUSHBUTTON_2 A4

do

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

(3) Promijeni pinMode (FOOTSWITCH, INPUT_PULLUP); pinMode (TOGGLE, INPUT_PULLUP); pinMode (PUSHBUTTON_1, INPUT_PULLUP); pinMode (PUSHBUTTON_2, INPUT_PULLUP); pinMode (LED, IZLAZ)

do

pinMode (FOOTSWITCH, INPUT_PULLUP); pinMode (PUSHBUTTON_1, INPUT_PULLUP); pinMode (PUSHBUTTON_2, INPUT_PULLUP); pinMode (LED, IZLAZ);

Tipke 1 i 2 koriste se u nekim skicama za povećanje ili smanjenje učinka. U primjeru odgode povećava ili smanjuje vrijeme odgode. Kada se skica prvi put učita, počinje s učinkom maksimalnog odgode. pritisnite gumb za dolje - potrebno je oko 20 sekundi za odbrojavanje sve do položaja odgode - a zatim pritisnite i držite gumb za gore. Poslušajte kako efekt zamaha držanjem gumba mijenja učinak efekta fejzera, refrena i prirubnice, kao i kašnjenje pri otpuštanju gumba.

Za promjenu kašnjenja u eho efekt (dodavanje ponavljanja) promijenite redak:

DelayBuffer [DelayCounter] = ADC_visok;

do

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

Nožni prekidač trebao bi biti tropolni dvosmjerni prekidač i mora biti spojen kako je opisano na web stranici Electrosmash.

Korak 4: Veze

Veze
Veze

(1) Elektromash:

(2) Otvoreni glazbeni laboratoriji:

(3) Paul Gallagher:

(4) 1284 Bootloader:

(5) ATmega1284 8 -bitni AVR mikrokontroler:

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

Korak 5: Dodatak 1 Programiranje ATMega1284P

Dodatak 1 Programiranje ATMega1284P
Dodatak 1 Programiranje ATMega1284P
Dodatak 1 Programiranje ATMega1284P
Dodatak 1 Programiranje ATMega1284P
Dodatak 1 Programiranje ATMega1284P
Dodatak 1 Programiranje ATMega1284P

Postoji nekoliko web stranica koje daju dobro objašnjenje kako programirati goli ATMega1284 čip za upotrebu s Arduino IDE -om. Proces je u osnovi sljedeći: (1) Instalirajte vilicu Mark Pendrith Maniacbug Mighty-1284p Core Optiboot pokretačkog programa u Arduino IDE. (2) Priključite ATMega1284 na matičnu ploču čija je minimalna konfiguracija kristal 16 MHz, 2 x 22 pF kondenzatora koji uzemljuju dva kraja kristala, Spojite dva uzemljiva igle zajedno (pinovi 11 i 31), a zatim na uzemljenje Arduino Uno, spojite Vcc i AVcc zajedno (pinovi 10 i 30), a zatim na Uno +5v, zatim spojite pin za resetiranje 9 na pin Uno D10, MISO pin 7 na UNO D12, The MOSI pin 8 na Uno D11, a SCLK pin 7 na pin Uno D13. (3) Spojite Uno na Arduino IDE i učitajte primjer skice Arduino kao ISP na Uno. (4) Sada odaberite moćnu optiboot ploču 1284 "manijak" i odaberite opciju Burn bootloader. (5) Zatim odaberite ovdje prikazanu skicu kašnjenja 1284 kao primjer i učitajte je pomoću opcije Uno kao programer u izborniku skica.

Veze koje detaljnije objašnjavaju postupak su:

Korištenje ATmega1284 s Arduino IDEArduino Mightycore za velike AVR -ove prilagođene matičnoj ploči Izgradnja prototipa ATMega1284pArduino ATmega1284p pokretački program

Korak 6: Dodatak 2 Arduino Uno PedalSHIELD varijacija

Dodatak 2 Arduino Uno pedala Varijacija SHIIELD
Dodatak 2 Arduino Uno pedala Varijacija SHIIELD
Dodatak 2 Arduino Uno pedala Varijacija SHIIELD
Dodatak 2 Arduino Uno pedala Varijacija SHIIELD
Dodatak 2 Arduino Uno pedala Varijacija SHIIELD
Dodatak 2 Arduino Uno pedala Varijacija SHIIELD

Sheme3, Breadboard3 i Photo3 daju pojedinosti o Uno zasnovanom krugu koji je prethodio izgradnji AtMega1284.

Možda bi bilo korisno imati potenciometar kao mješalicu za suhi (jednak ulaznom) i vlažnom (nakon obrade MCU -om) signal, a shema 2, pločica 2 i fotografija 2 daju detalje o krugu prethodno izgrađenog kruga koji uključuje takav mješač ulaza i izlaza. Također pogledajte Open Music Labs StompBox za još jednu implementaciju miksera pomoću četiri OpAmpa

Preporučeni: