Kazalo:
- 1. korak: Seznam delov
- 2. korak: Gradnja
- 3. korak: Programska oprema
- 4. korak: Povezave
- 5. korak: Dodatek 1 Programiranje ATMega1284P
- Korak 6: Dodatek 2 Arduino Uno Pedal Različica SHIELD
Video: ATMega1284P Pedal za kitaro in glasbene učinke: 6 korakov (s slikami)
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:07
Prenesel sem Pedalhield Arduino Uno ATMega328 (kot ga je razvil Electrosmash in deloma temelji na delu v Open Music Lab) na ATMega1284P, ki ima osemkrat več RAM -a kot Uno (16 kB proti 2 kB). Dodatna nepričakovana prednost je, da ima Mega1284 gradnja veliko nižjo komponento hrupa - do te mere, da če primerjam Uno in Mega1284 z istim podpornim vezjem, ni nerazumno opisati Uno kot "hrupno" in Mega1284 kot " tih". Večji RAM pomeni, da je mogoče doseči veliko daljši učinek zakasnitve - in to dokazuje primer skice Arduino, ki sem ga vključil. Zvok dihanja v ozadju pri uporabi učinka Tremelo prav tako (skoraj) ni pri ATMega1284.
Primerjava treh mikroprocesorjev Atmel AVR, in sicer 328P, to je Uno, 2560P, ki je Mega2560, in Mega1284 kaže, da ima slednji največ RAM -a od treh:
Aspect 328P 1284P 2560P RAM 2k 16k 8k Flash 32k 128k 256k EEPROM 1k 4k 4k UART 1 2 4 IO zatiči 23 32 86 Prekinitve 2 3 8 Analogni vhod 6 8 16
Začel sem z vkrcanjem na pedal Uno na osnovi SHHIELD kot v specifikaciji Electrosmash, vendar nisem imel istega RRO OpAmp, kot je določeno. Posledično sem končal s krogom, za katerega sem menil, da daje sprejemljive rezultate. Podrobnosti o tej različici Uno so navedene v dodatku 2.
To isto vezje je bilo nato preneseno na ATMega1284 - presenetljivo razen nebistvenih sprememb, kot je dodelitev stikal in LED na druga vrata, ter dodelitev 12 000 kB namesto 2 000 kB RAM -a samo za zakasnitev v izvorni kodi je bilo treba narediti bistveno spremembo, in sicer spremembo izhodov Timer1/PWM OC1A in OC1B iz vrat B na Uno v vrata D (PD5 in PD4) na ATMega1284.
Kasneje sem odkril odlične spremembe vezja za elektromašuro Paul Gallagherja in po testiranju je to vezje, ki ga bom predstavil tukaj - potem pa tudi s spremembami: zamenjava Uno z Mega1284, z uporabo Texas Instruments TLC2272 kot OpAmp in zaradi odličnega hrupa Mega1284 bi lahko dvignil tudi frekvenco nizkoprepustnega filtra.
Pomembno je omeniti, da čeprav so na voljo razvojne plošče za ATMega1284 (Github: MCUdude MightyCore), je nakup golega čipa (brez zagonskega nalagalnika) preprost (kupite različico PDIP, ki je plošča za kruh in trak za plošče). prijazen), nato naložite vilice Mark Pendrith iz zagonskega nalagalnika Maniacbug Mighty-1284p Core Optiboot ali MCUdude Mightycore, tako da uporabite Uno kot programerja ponudnika internetnih storitev, nato pa skice znova naložite prek Uno v AtMega1284. Podrobnosti in povezave za ta postopek so navedene v dodatku 1.
Rad bi spoštoval tri najpomembnejše vire, iz katerih je mogoče pridobiti dodatne informacije, in dal povezave do njihovih spletnih mest ter konec tega članka: Electrosmash, Open Music Labs in Tardate/Paul Gallagher
1. korak: Seznam delov
ATMega1284P (različica s 40 -polnim paketom PDIP) Arduino Uno R3 (uporablja se kot ponudnik internetnih storitev za prenos zagonskega nalagalnika in skic na ATMega1284) OpAmp TLC2272 (ali podoben RRIO (vhod in izhod za železnico do železnice), na primer MCP6002, LMC6482, TL972) Rdeča LED 16 MHz kristal 2 x 27 pF kondenzatorji 5 x 6n8 kondenzatorji 270 pF kondenzator 4 x 100n kondenzatorji 2 x 10uF 16v elektrolitski kondenzatorji 6 x 4k7 upori 100k upor 2 x 1M upori 470 ohmov upor 1M2 upor 100k potenciometer 3 x stikalna stikala jih je treba zamenjati s 3-polnim dvosmernim nožnim stikalom, če se bo polje z učinki uporabljalo za delo v živo)
2. korak: Gradnja
Shema 1 prikazuje uporabljeno vezje in Breadboard 1 je njegova fizična predstavitev (Fritzing 1) s fotografijo 1 dejanskim krogom, ki deluje. Morda bi bilo koristno imeti potenciometer kot mešalnik za suh (enak vhodu) in moker (po obdelavi z MCU) signal, shema 2, plošča 2 in fotografija 2 (navedena v Dodatku 2) pa podrobnosti vezja predhodno zgrajenega vezja, ki vključuje tak vhodno -izhodni mešalnik. Oglejte si tudi Open Music Labs StompBox za drugo izvedbo mešalnika s štirimi OpAmps.
Stopnje vhoda in izhoda OpAmp: Pomembno je, da se uporabi RRO ali po možnosti RRIO OpAmp zaradi velikega nihanja napetosti, ki je potrebno na izhodu OpAmp na ADC ATMega1284. Seznam delov vsebuje številne druge vrste OpAmp. Potenciometer 100k se uporablja za prilagajanje vhodnega ojačanja na raven tik pod popačenjem, prav tako pa se lahko uporablja za prilagajanje vhodne občutljivosti za vhodni vir, ki ni kitara, na primer predvajalnik glasbe. Izhodna stopnja OpAmp ima RC filter višjega reda za odstranjevanje digitalno ustvarjenega šuma MCU iz zvočnega toka.
Stopnja ADC: ADC je konfiguriran tako, da ves čas bere prek prekinitve. Upoštevajte, da je treba kondenzator 100nF priključiti med AREF pin ATMega1284 in ozemljitvijo, da se zmanjša hrup, saj se kot referenčna napetost uporablja notranji vir Vcc - NE priključite pin AREF na +5 voltov neposredno!
PAC PWM stopnja DAC: Ker ATMega1284 nima lastnega DAC -a, se izhodne zvočne valovne oblike generirajo s pomočjo širinske impulzne modulacije RC filtra. Dva izhoda PWM na PD4 in PD5 sta nastavljena kot visoka in nizka bajta avdio izhoda in mešana z dvema uporoma (4k7 in 1M2) v razmerju 1: 256 (nizek bajt in visok bajt) - kar ustvarja avdio izhod. Morda bi bilo vredno eksperimentirati z drugimi pari uporov, kot je par 3k9 1M ohm, ki ga uporabljajo Open Music Labs v svojem StompBoxu.
3. korak: Programska oprema
Programska oprema temelji na skicah elektromash, vključeni primer (pedalshield1284delay.ino) pa je bil prilagojen njihovi skici zakasnitve Uno. Nekatera stikala in LED so bili premaknjeni v druga vrata, stran od tistih, ki jih uporablja programer ISP (SCLK, MISO, MOSI in Reset), vmesni pomnilnik je bil povečan z 2000 bajtov na 12000 bajtov, PortD pa je bil nastavljen kot izhod za dva signala PWM. Tudi s povečanjem zakasnitvenega vmesnika skica še vedno uporablja le približno 70% razpoložljivega RAM -a 1284.
Druge primere, kot sta oktaver ali tremolo s spletnega mesta Electrosmash za pedal SHIELD Uno, lahko Mega1284 prilagodi uporabi s spreminjanjem treh razdelkov v kodi:
(1) Spremeni DDRB | = ((PWM_QTY << 1) | 0x02); v DDRD | = 0x30; // Zgornja sprememba je SAMO bistvena sprememba kode // pri prenosu z AtMega328 na ATMega1284
(2) Spremeni #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) Spremeni način pinMode (FOOTSWITCH, INPUT_PULLUP); pinMode (TOGGLE, INPUT_PULLUP); pinMode (PUSHBUTTON_1, INPUT_PULLUP); pinMode (PUSHBUTTON_2, INPUT_PULLUP); pinMode (LED, IZHOD)
do
pinMode (FOOTSWITCH, INPUT_PULLUP); pinMode (PUSHBUTTON_1, INPUT_PULLUP); pinMode (PUSHBUTTON_2, INPUT_PULLUP); pinMode (LED, IZHOD);
Gumbi 1 in 2 se v nekaterih skicah uporabljajo za povečanje ali zmanjšanje učinka. V primeru zakasnitve podaljša ali zmanjša čas zamude. Ko se skica prvič naloži, se začne z učinkom največje zakasnitve. pritisnite gumb dol - traja približno 20 sekund, da odštevate vse do položaja zakasnitve - in nato pritisnite in držite gumb gor. Poslušajte, kako učinek pometanja pri držanju gumba spremeni učinek učinka fazerja, refrena in prirobnice ter zakasnitev pri sprostitvi gumba.
Če želite zakasnitev spremeniti v učinek odmeva (dodati ponovitev), spremenite vrstico:
DelayBuffer [DelayCounter] = ADC_visok;
do
DelayBuffer [DelayCounter] = (ADC_high + (DelayBuffer [DelayCounter])) >> 1;
Nožno stikalo bi moralo biti tripolno dvosmerno stikalo in mora biti priključeno, kot je opisano na spletnem mestu Electrosmash.
4. korak: Povezave
(1) Elektromašzija:
(2) Odprite glasbene laboratorije:
(3) Paul Gallagher:
(4) 1284 Nalagalnik:
(5) ATmega1284 8 -bitni AVR mikrokrmilnik:
ElectrosmashOpenlabs MusicPaul Gallagher1284 Bootloader 11284 Bootloader 2ATmega1284 8bit AVR Microcontroller
5. korak: Dodatek 1 Programiranje ATMega1284P
Obstaja nekaj spletnih mest, ki dobro razlagajo, kako programirati goli čip ATMega1284 za uporabo z Arduino IDE. Postopek je v bistvu naslednji: (1) Namestite vilice Mark Pendrith v zagonski nalagalnik Maniacbug Mighty-1284p Core Optiboot v IDE Arduino. (2) Priključite ATMega1284 na matično ploščo z najmanjšo konfiguracijo, ki je 16 MHz kristal, 2 x 22 pF kondenzatorji, ki ozemljita oba konca kristala, Povežite dva ozemljitvena zatiča skupaj (nožici 11 in 31) in nato na ozemljitev Arduino Uno skupaj povežite Vcc in AVcc (nožici 10 in 30), nato pa še Uno +5v, nato priključite pin za ponastavitev 9 na pin Uno D10, pin MISO 7 na UNO D12, The MOSI pin 8 na Uno D11 in SCLK pin 7 na pin Uno D13. (3) Priključite Uno na Arduino IDE in naložite primer skice Arduino kot ISP na Uno. (4) Zdaj izberite mogočno optiboot ploščo 1284 "maniac" in izberite možnost Burn bootloader. (5) Nato izberite tukaj za primer skico zakasnitve 1284 in jo naložite z uporabo možnosti Uno kot programer v meniju skic.
Povezave, ki podrobneje pojasnjujejo postopek, so:
Uporaba ATmega1284 z Arduino IDEArduino Mightycore za velike AVR -je, prijazne do matičnih plošč, izdelava prototipa ATMega1284p, zagonski nalagalnik Arduino ATmega1284p
Korak 6: Dodatek 2 Arduino Uno Pedal Različica SHIELD
Sheme3, Breadboard3 in Photo3 podajajo podrobnosti o vezju na osnovi Uno, ki je bilo pred izdelavo AtMega1284.
Morda bi bilo koristno imeti potenciometer kot mešalnik za suh (enak vhodu) in moker (po obdelavi z MCU) signal, shema 2, plošča 2 in fotografija 2 pa podata podrobnosti vezja predhodno zgrajenega vezja ki vključuje tak vhodno -izhodni mešalnik. Oglejte si tudi Open Music Labs StompBox za drugo izvedbo mešalnika s štirimi OpAmps
Priporočena:
Pedal Overdrive, ki deluje na baterije, za učinke kitare: 5 korakov
Pedal Overdrive, ki ga poganja baterija za učinke kitare lahko spremeni revolucionarna vezja. Ty
NeckCrusher (pedal z učinkom na kitaro): 6 korakov (s slikami)
NeckCrusher (pedal z učinkom na kitaro): Dale Rosen, Carlos Reyes in Rob KochDATT 2000
Pedal za kitaro Phaser: 14 korakov (s slikami)
Pedal za kitaro Phaser: Phaser kitarski pedal je učinek kitare, ki razdeli signal, pošlje eno pot skozi vezje čisto in premakne fazo drugega. Ta dva signala se nato ponovno združita in ko nista v fazi, se drug drugega prekličeta. To ustvarja tako
Pedal za kitaro DIY: 24 korakov (s slikami)
DIY Guitar Pedal: Izdelava DIY kitarskega fuzz pedala je zabaven in enostaven elektronski vikend projekt za ljubitelje in kitariste. Izdelava klasičnega fuzz pedala je veliko lažja, kot si mislite. Uporablja le dva tranzistorja in peščico drugih komponent. Poleg sh
Proto Pedal za učinke kitare DIY: 5 korakov (s slikami)
Proto Pedal za učinke kitare DIY: Oblikovanje in izdelava lastnih kitarskih učinkov je odličen način za združevanje strasti do elektronike in kitare. Vendar sem pri preizkušanju novih modelov ugotovil, da je krhko vezje na lemljeni plošči težko povezati s popravkom c