Kazalo:

ATMega1284 Quad Opamp Effects Box: 4 koraki (s slikami)
ATMega1284 Quad Opamp Effects Box: 4 koraki (s slikami)

Video: ATMega1284 Quad Opamp Effects Box: 4 koraki (s slikami)

Video: ATMega1284 Quad Opamp Effects Box: 4 koraki (s slikami)
Video: PID demo 2024, Julij
Anonim
ATMega1284 Quad Opamp Effect Box
ATMega1284 Quad Opamp Effect Box

Stomp Shield za Arduino iz Open Music Labs uporablja Arduino Uno in štiri opampe kot škatlo za učinke kitare. Podobno kot v prejšnjih navodilih, ki prikazujejo, kako prenašati Electrosmash Uno Pedalshield, sem tudi prenosil Open Music Labs Guitar Effects polje na ATMega1284P, ki ima osemkrat več RAM -a kot Uno (16kB proti 2kB).

V primerjavi s prejšnjimi navodili, ki uporabljajo enoto učinkov ATMega1284, ima to polje naslednje prednosti:

(1) Ima mešalnik, ki nepredelani signal meša z obdelanim signalom MCU - to pomeni, da se kakovost signala na izhodu znatno izboljša.

(2) Za dva izhoda PWM izvede 16 -bitno obdelavo izhodov, medtem ko prejšnji okvir za učinke uporablja 8 bitov za nekatere primere, kot je učinek zakasnitve.

(3) Ima potenciometer za povratno informacijo, ki ga je mogoče uporabiti za povečanje učinkov - zlasti pri učinku flanger/phaser približno 30 odstotkov povratnih informacij znatno poveča kakovost učinka.

(4) Frekvenca nizkoprepustnega filtra je 10 kHz v primerjavi s 5 kHz prejšnjega polja z učinki - to pomeni, da signal na izhodu zveni precej "bolj hrustljavo".

(5) Uporablja drugačen sprožilec prekinitve, ki lahko pojasni bistveno nižjo raven hrupa, prikazano v tem polju z učinki.

Začel sem s hranjenjem kroga Uno-based Open Music Labs Stompbox Shield in bil sem tako navdušen nad delovanjem tega štirih vezij za obdelavo signala OpAmp (tudi pri uporabi Arduino Uno), da sem ga prenesel na trak za trajnejšo uporabo.

Ista štiri vezja opampa in koda DSP so bili nato preneseni v ATMega1284-spet presenetljivo, razen nebistvenih sprememb, kot je dodelitev stikal in LED na druga vrata, in namesto 1000 namestitev 7000 kilogramov besed kilo besedo RAM-a za zakasnitveni vmesnik, sta morali biti v izvorni kodi izvedeni samo dve bistveni spremembi, in sicer sprememba v ADC0 iz ADC2 in sprememba izhodov Timer1/PWM OC1A in OC1B iz vrat B na Uno v vrata D (PD5 in PD4) na bankomatu ATMega1284.

Kot smo že omenili, čeprav so na voljo razvojne plošče za ATMega1284 (Github: MCUdude MightyCore), je enostaven nakup golega čipa (brez zagonskega nalagalnika) (kupite različico PDIP, ki je prijazna do plošč in trakov), 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 prejšnjega navodila.

1. korak: Seznam delov

Seznam delov
Seznam delov
Seznam delov
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 MCP6004 štirikotni OpAmp (ali podoben RRIO (vhod in izhod iz železnice v železnico) OpAmp, kot je TLC2274) 1 x Rdeča LED 1 x 16 MHz kristal 2 x 27 pF kondenzatorji 1 x 3n9 kondenzator 1 x 1n2 kondenzator 1 x 820pF kondenzator 2 x 120 pF kondenzator 4 x 100n kondenzatorji 3 x 10uF 16v elektrolitski kondenzatorji 4 x 75k upori 4 x 3k9 upori 1 x 36k upor 1 x 24k upor 2 x 1M upori 1 x 470 ohm upor 3 x 1k upori 2 x 50k potenciometri (linearni) 1 x 10k potenciometer (linearni) 3 x stikalna stikala (eno od njih je treba zamenjati s 3-polnim 2- nožni stikalo, če bo polje z učinki uporabljeno za delo v živo)

2. korak: Gradnja

Gradnja
Gradnja

Krog 1 prikazuje uporabljeno vezje, Stripboard 1 pa je njegova fizična predstavitev (Fritzing 1) s fotografijo 1 dejanskim krogom, ki deluje. Izvedene so bile tri majhne spremembe vezja: deljena opamp pristranskost na polovici napajanja se uporablja za tri stopnje OpAmp, vzporedni upori 3 x 75k in 2 x 75k ohmov so bili zamenjani z enojnimi upori 24k in 36k, povratni kondenzatorji pa so bili povečani na 120 pF za ti dve stopnji OpAmp. Vrtljivo krmiljenje je bilo zamenjano z dvema gumboma, ki se uporabljata za povečanje ali zmanjšanje parametrov učinkov. Tri-žična povezava z ATMega1284 je v tokokrogu prikazana kot ADC na pin 40, PWMlow z nožice 19 in PWMhigh z nožice 18. Trije gumbi so povezani z zatiči 1, 36 in 35 in ozemljeni na drugem koncu. LED dioda je preko upora 470 priključena na pin 2.

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. 50k potenciometer se uporablja za prilagajanje vhodnega ojačanja na raven tik pod popačenjem, lahko pa se uporablja tudi za nastavitev vhodne občutljivosti za vhodni vir, ki ni kitara, na primer predvajalnik glasbe. Druga vhodna stopnja OpAmp in prva izhodna stopnja opampa ima RC filter višjega reda za odstranitev digitalno ustvarjenega šuma MCU iz zvočnega toka.

Stopnja ADC: ADC je konfiguriran za branje prek časovne prekinitve. Kondenzator 100nF mora biti priključen med zatič AREF ATMega1284 in maso, da se zmanjša hrup, saj se kot referenčna napetost uporablja notranji vir Vcc - NE priključujte 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 (3k9 in 1M) v razmerju 1: 256 (nizek in visok bajt) - kar ustvarja avdio izhod.

3. korak: Programska oprema

Programska oprema temelji na skicah stopalk Open Music Labs stompbox, vključena pa sta dva primera, in sicer učinek flanger/phaser in učinek zamika. Tudi pri prejšnjih navodilih so bila stikala in LED premaknjeni na druga vrata stran od tistih, ki jih uporablja programer ISP (SCLK, MISO, MOSI in Reset).

Zakasnitveni vmesnik je bil povečan s 1000 besed na 7000 besed, PortD pa je bil nastavljen kot izhod za dva signala PWM. Tudi s povečanjem zakasnitvenega vmesnika skica še vedno uporablja le približno 75% razpoložljivega ATMega1284 16 kB RAM -a.

Druge primere, na primer tremolo s spletne strani Open Music Labs za stopalko SHIELD Uno, lahko Mega1284 prilagodi za uporabo tako, da spremeni datoteko z glavo za vključitev Stompshield.h:

(1) Spremeni DDRB | = 0x06; // nastavimo pwm izhode (nožice 9, 10) na outputtoDDRD | = 0x30;

in

ADMUX = 0x62; // levo prilagajanje, adc2, notranji vcc kot sklic na ADMUX = 0x60; // levo prilagajanje, adc0, notranji vcc kot referenca // Te spremembe so SAMO bistvene spremembe kode // pri prenosu iz Uno v ATMega1284

Za dva primera, ki sta tukaj vključena, je datoteka glave vključena v skico - to pomeni, da datotek z glavo ni treba uporabiti

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. Za skico Phaser Phaser poskušajte povečati nadzor povratnih informacij za večji učinek.

Če želite zakasnitev spremeniti v učinek odmeva (dodati ponovitev), spremenite vrstico:

medpomnilnik [lokacija] = vnos; // shranimo nov vzorec

do

medpomnilnik [lokacija] = (vnos + medpomnilnik [lokacija]) >> 1; // Uporabite za odmev

Nožno stikalo bi moralo biti tripolno dvosmerno stikalo

4. korak: Povezave

Elektromash

Odpri glasbene laboratorije Glasba

Pedal za učinek ATMega

Priporočena: