Sadržaj:

ATMega1284P Pedala za gitaru i muzičke efekte: 6 koraka (sa slikama)
ATMega1284P Pedala za gitaru i muzičke efekte: 6 koraka (sa slikama)

Video: ATMega1284P Pedala za gitaru i muzičke efekte: 6 koraka (sa slikama)

Video: ATMega1284P Pedala za gitaru i muzičke efekte: 6 koraka (sa slikama)
Video: Внутри педали громкости KORG KVP-001, разборка и схема 2024, Novembar
Anonim
ATMega1284P Pedala za gitaru i muzičke efekte
ATMega1284P Pedala za gitaru i muzičke efekte

Preneo sam Arduino Uno ATMega328 Pedalshield (razvijen od strane Electrosmash -a i djelomično na osnovu rada u Otvorenoj muzičkoj laboratoriji) na ATMega1284P koji ima osam puta više RAM -a od Uno -a (16 kB naspram 2 kB). Dodatna neočekivana prednost je ta što Mega1284 build ima mnogo nižu komponentu šuma - do te mjere da kada uporedim Uno i Mega1284 koristeći ista kola podrške nije nerazumno opisati Uno kao "bučan", a Mega1284 kao " tiho ". Veća RAM memorija znači da se može postići mnogo duži 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.

Poređenje 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 tako što sam ukrcao Uno-based pedalSHIELD kao u specifikaciji Electrosmash, ali nisam imao isti RRO OpAmp kao što je navedeno. Kao rezultat toga, završio sam sa krugom za koji sam smatrao da daje prihvatljive rezultate. Detalji ove verzije Uno navedeni su u Dodatku 2.

Ovaj isti krug je zatim portiran na ATMega1284 - iznenađujuće, osim nebitnih promjena, kao što je dodjeljivanje prekidača i LED dioda drugom portu, te dodjeljivanje 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 porta B na Uno u port D (PD5 i PD4) na ATMega1284.

Kasnije sam otkrio odlične modifikacije elektromašinskog kola Paula Gallaghera, a nakon testiranja ovo ću predstaviti ovdje - ali i sa izmjenama: zamjena Uno -a sa Mega1284, koristeći Texas Instruments TLC2272 kao OpAmp, i zbog odličnih performansi šuma Mega1284, mogao sam povećati i frekvenciju niskopropusnih filtera.

Važno je napomenuti da, iako su razvojne ploče za ATMega1284 dostupne (Github: MCUdude MightyCore), lako je kupiti goli čip (bez pokretačkog programa) (kupite PDIP verziju koja je hljebna ploča i strip-ploča) friendly), zatim učitajte Mark Pendrith viljušku Maniacbug Mighty-1284p Core Optiboot bootloadera ili MCUdude Mightycore, koristeći Uno kao programer ISP-a, a zatim ponovo učitavate skice preko Uno-a na AtMega1284. Detalji 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 veze do njihovih web stranica i kraj ovog članka: Electrosmash, Open Music Labs i Tardate/Paul Gallagher

Korak 1: Lista 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 i izlaz za šinu) OpAmp, poput 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 na dugme njih bi trebalo zamijeniti tropolnim dvosmjernim nožnim prekidačem ako će se okvir s efektima koristiti za rad uživo)

Korak 2: Konstrukcija

Građevinarstvo
Građevinarstvo
Građevinarstvo
Građevinarstvo
Građevinarstvo
Građevinarstvo

Shema 1 prikazuje korišteno 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 (jednaki ulaznom) i vlažnom (nakon obrade MCU -om) signal, a Shema 2, Breadboard 2 i Fotografija 2 (navedene u Dodatku 2) daju detalje o krugu prethodno izgrađenog kruga koji uključuje takav ulazno -izlazni mikser. Takođe pogledajte Open Music Labs StompBox za još jednu implementaciju miksera koristeći četiri OpAmpa.

OpAmp ulazne i izlazne faze: Važno je da se koristi RRO ili po mogućnosti RRIO OpAmp zbog velikog zamaha napona potrebnog na OpAmp izlazu prema ADC -u ATMega1284. Lista dijelova sadrži niz alternativnih tipova OpAmpa. Potenciometar od 100 k koristi se za podešavanje ulaznog pojačanja na nivo neposredno ispod bilo kakvog izobličenja, a može se koristiti i 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 preko prekida. Imajte na umu da kondenzator od 100 nF treba spojiti 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: Kako ATMega1284 nema vlastiti DAC, izlazni audio valni oblici se generiraju pomoću širine impulsa modulacije RC filtera. Dva PWM izlaza na PD4 i PD5 postavljena su kao visoki i niski bajt audio izlaza i pomiješani s dva otpornika (4k7 i 1M2) u omjeru 1: 256 (niski i visoki bajt) - koji 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 je zasnovan na skicama elektromašize, a uključeni primjer (pedalshield1284delay.ino) prilagođen je njihovoj skici odgode Uno. Neki prekidači i LED premješteni su na druge portove dalje od onih koje koristi ISP programer (SCLK, MISO, MOSI i Reset), međuspremnik kašnjenja je povećan sa 2000 bajtova na 12000 bajtova, a PortD je postavljen kao izlaz za dva PWM signala. Čak i sa povećanjem međuspremnika za kašnjenje, skica i dalje koristi samo oko 70% raspoloživih 1284 RAM -a.

Drugi primjeri, kao što su oktaver ili tremolo sa web stranice elektromash za pedalu SHIELD Uno mogu se prilagoditi za upotrebu od strane Mega1284 promjenom tri odjeljka u kodu:

(1) Promjena DDRB | = ((PWM_QTY << 1) | 0x02); na DDRD | = 0x30; // Gore navedena 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

to

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

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

to

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

Tasteri 1 i 2 se koriste u nekim skicama za povećanje ili smanjenje efekta. U primjeru odgode povećava ili smanjuje vrijeme odgode. Kada se skica prvi put učita, počinje s efektom maksimalnog odgode. pritisnite tipku za dolje - potrebno je oko 20 sekundi za odbrojavanje sve do položaja odgode - a zatim pritisnite i držite tipku za gore. Poslušajte kako efekat pomeranja držanjem dugmeta menja efekat efekta fejzera, hora i prirubnice, kao i kašnjenje pri otpuštanju dugmeta.

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

DelayBuffer [DelayCounter] = ADC_visok;

to

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

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

Korak 4: Veze

Linkovi
Linkovi

(1) Elektromaš:

(2) Otvorene muzičke laboratorije:

(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 Mark Pendrith vilicu 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 od 16 MHz, kondenzatori 2 x 22 pF 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, i 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 "manijaka" i odaberite opciju Burn bootloader. (5) Zatim odaberite ovdje prikazanu skicu kašnjenja 1284 i postavite je koristeći opciju Uno kao programer u meniju skica.

Linkovi koji detaljnije objašnjavaju proces su:

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

Korak 6: Dodatak 2 Arduino Uno PedalSHIELD varijacija

Dodatak 2 Arduino Uno PedalSHIELD varijacija
Dodatak 2 Arduino Uno PedalSHIELD varijacija
Dodatak 2 Arduino Uno PedalSHIELD varijacija
Dodatak 2 Arduino Uno PedalSHIELD varijacija
Dodatak 2 Arduino Uno PedalSHIELD varijacija
Dodatak 2 Arduino Uno PedalSHIELD varijacija

Schematic3, Breadboard3 i Photo3 daju detalje o Uno zasnovanom kolu koje je prethodilo 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, Breadboard 2 i Fotografija 2 daju detalje o krugu prethodno izgrađenog kruga koji uključuje takav ulazno -izlazni mikser. Takođe pogledajte Open Music Labs StompBox za još jednu implementaciju miksera koristeći četiri OpAmpa

Preporučuje se: