Sadržaj:

ATMega1284 Quad Opamp Effects Box: 4 koraka (sa slikama)
ATMega1284 Quad Opamp Effects Box: 4 koraka (sa slikama)

Video: ATMega1284 Quad Opamp Effects Box: 4 koraka (sa slikama)

Video: ATMega1284 Quad Opamp Effects Box: 4 koraka (sa slikama)
Video: #23 i2c 2024, Juli
Anonim
ATMega1284 Quad Opamp Effects Box
ATMega1284 Quad Opamp Effects Box

Stomp Shield za Arduino iz Open Music Labs -a koristi Arduino Uno i četiri opampa kao kutiju za efekte gitare. Slično prethodnom uputstvu koje pokazuje kako prenijeti Electrosmash Uno Pedalshield, također sam prenio okvir za gitarističke efekte Open Music Labs na ATMega1284P koji ima osam puta više RAM -a od Uno -a (16kB u odnosu na 2kB).

U usporedbi s prethodnim uputstvima koja koriste jedinicu efekata ATMega1284, ova kutija ima sljedeće prednosti:

(1) Ima mikser koji miješa neobrađeni signal sa MCU obrađenim signalom - to znači da je kvaliteta signala na izlazu znatno poboljšana.

(2) Radi 16 -bitnu izlaznu obradu za dva PWM izlaza, dok prethodno polje efekata koristi 8 bita za neke od primjera, kao što je efekt kašnjenja.

(3) Ima potenciometar povratne sprege koji se može koristiti za pojačavanje efekata - posebno sa efektom flanger/phaser -a, oko 30 % povratnih informacija značajno doprinosi kvaliteti efekta.

(4) Frekvencija niskopropusnog filtera je 10 kHz u poređenju sa 5 kHz iz prethodnog okvira s efektima - to znači da signal na izlazu zvuči znatno "hrskavije".

(5) Koristi drugačiji okidač prekida koji može objasniti znatno nižu razinu buke koju prikazuje ovaj okvir s efektima.

Počeo sam s ukrcavanjem u Uno-based Open Music Labs Stompbox Shield i bio sam toliko impresioniran performansama ovog četiri kola za obradu signala OpAmp (čak i kada sam koristio Arduino Uno), da sam ga prenio na traku za trajniju upotrebu.

Ista četiri opamp kola i DSP kod potom su preneseni na ATMega1284-opet, iznenađujuće, osim nebitnih promjena, poput dodjeljivanja prekidača i LED-a drugom portu, i dodjeljivanja 7 000 kilo-riječi umjesto 1 000 kilo-riječi RAM-a za međuspremnik za kašnjenje, samo su dvije bitne promjene morale biti napravljene u izvornom kodu, naime promjena u ADC0 iz ADC2 i promjena izlaza Timer1/PWM OC1A i OC1B iz porta B na Uno u port D (PD5 i PD4) na ATMega1284.

Kao što je ranije napomenuto, iako su razvojne ploče za ATMega1284 dostupne (Github: MCUdude MightyCore), lako je kupiti goli (bez pokretačkog programa) čip (kupite verziju PDIP koja je prilagođena pločama i pločama), zatim učitajte Mark Pendrith viljušku Maniacbug Mighty-1284p Core Optiboot bootloadera ili MCUdude Mightycore, koristeći Uno kao programera ISP-a, a zatim ponovo učitajte skice preko Uno-a na AtMega1284. Detalji i veze za ovaj proces dati su u Dodatku 1 prethodnog uputstva.

Korak 1: Lista dijelova

Lista delova
Lista delova
Lista delova
Lista delova

ATMega1284P (PDIP verzija sa 40 pinova) Arduino Uno R3 (koristi se kao ISP za prijenos pokretačkog programa i skica na ATMega1284) OpAmp MCP6004 četverostruki OpAmp (ili sličan RRIO (ulaz i izlaz iz šine na šinu) OpAmp, poput TLC2274) 1 x Crvena LED 1 x 16 MHz kristal 2 x 27 pF kondenzatori 1 x 3n9 kondenzator 1 x 1n2 kondenzator 1 x 820pF kondenzator 2 x 120 pF kondenzator 4 x 100n kondenzatori 3 x 10uF 16v elektrolitski kondenzatori 4 x 75k otpornici 4 x 3k9 otpornici 1 x 36k otpornik 1 x 24k otpornik 2 x 1M otpornici 1 x 470 ohm otpornik 3 x 1k otpornici 2 x 50k potenciometri (linearni) 1 x 10k potenciometar (linearni) 3 x prekidači sa tipkama (jedan od njih treba zamijeniti tropolnim 2- nožni prekidač ako će se okvir s efektima koristiti za rad uživo)

Korak 2: Konstrukcija

Građevinarstvo
Građevinarstvo

Krug 1 prikazuje upotrijebljeno kolo, a Stripboard 1 je njegov fizički prikaz (Fritzing 1) sa fotografijom 1 stvarnim krugom u krugu u radu. Napravljene su tri promjene u malim krugovima: Zajednička prednapona opampa na pola napajanja koristi se za tri stupnja OpAmp, paralelni otpornici 3 x 75 k i 2 x 75 k ohma zamijenjeni su pojedinačnim otpornicima od 24 k i 36 k, a kondenzatori povratne sprege su povećani na 120pF za ove dvije faze OpAmpa. Rotacijska kontrola zamijenjena je s dva tipka koja se koriste za povećanje ili smanjenje parametara efekata. Trožična veza s ATMega1284 prikazana je na krugu kao ADC na pin 40, PWMlow s pina 19 i PWMhigh s pina 18. Tri tipke su spojene na pinove 1, 36 i 35 i uzemljene na drugom kraju. LED dioda je preko otpornika 470 spojena na pin 2.

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 50k 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. Drugi ulazni stupanj OpAmpa i prvi opamp izlazni stupanj imaju RC filter višeg reda za uklanjanje digitalno generirane MCU buke iz audio toka.

Faza ADC -a: ADC je konfiguriran za čitanje putem prekidača pomoću timera. Kondenzator od 100nF trebao bi biti spojen između AREF pina ATMega1284 i mase kako bi se smanjila buka jer se interni Vcc izvor koristi kao referentni napon - NE priključujte AREF pin na +5 volti direktno!

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šana s dva otpornika (3k9 i 1M) u omjeru 1: 256 (niski i visoki bajt) - koji generira audio izlaz.

Korak 3: Softver

Softver je zasnovan na skicama pedale stompbox Open Music Labs, a uključena su dva primjera, a to su efekt flanger/phaser i efekt odgode. Opet kao i kod prethodnih instrukcija, prekidači i LED diode su premješteni na druge portove dalje od onih koje koristi ISP programer (SCLK, MISO, MOSI i Reset).

Me uspremnik kašnjenja povećan je sa 1000 riječi na 7000 riječi, 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 75% raspoložive ATMega1284 16 kB RAM -a.

Drugi primjeri, poput tremola sa web stranice Open Music Labs za pedalu SHIELD Uno mogu se prilagoditi za upotrebu od strane Mega1284 promjenom datoteke zaglavlja include Stompshield.h:

(1) Promjena DDRB | = 0x06; // postavljamo pwm izlaze (pinovi 9, 10) na outputtoDDRD | = 0x30;

i

ADMUX = 0x62; // lijevo podešavanje, adc2, interni vcc kao referenca na ADMUX = 0x60; // lijevo podešavanje, adc0, interni vcc kao referenca // Ove promjene su JEDINE bitne promjene koda // prilikom prijenosa sa Uno -a na ATMega1284

Za dva ovdje navedena primjera, datoteka zaglavlja je uključena u skicu - tj. Ne moraju se koristiti datoteke zaglavlja

Tasteri 1 i 2 koriste se 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. Za skicu Phaser -a za flanger pokušajte povećati kontrolu povratnih informacija za poboljšani učinak.

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

bafer [lokacija] = ulaz; // spremanje novog uzorka

to

bafer [lokacija] = (ulaz + bafer [lokacija]) >> 1; // Koristite ovo za eho effct

Nožni prekidač bi trebao biti tropolni dvosmjerni prekidač

Korak 4: Veze

Electrosmash

Otvorite Laboratorije za muziku Muzika

ATMega efektna pedala

Preporučuje se: