Sisällysluettelo:

ATMega1284 Quad Opamp Effects Box: 4 vaihetta (kuvilla)
ATMega1284 Quad Opamp Effects Box: 4 vaihetta (kuvilla)

Video: ATMega1284 Quad Opamp Effects Box: 4 vaihetta (kuvilla)

Video: ATMega1284 Quad Opamp Effects Box: 4 vaihetta (kuvilla)
Video: PID demo 2024, Marraskuu
Anonim
ATMega1284 Quad Opamp -tehostelaatikko
ATMega1284 Quad Opamp -tehostelaatikko

Open Music Labsin Stomp Shield for Arduino käyttää kitaraefekteinä Arduino Unoa ja neljää opamppia. Samanlainen kuin edellinen ohje, joka osoittaa Electrosmash Uno Pedalshieldin siirtämisen, olen myös siirtänyt Open Music Labs Guitar Effects -laatikon ATMega1284P: hen, jossa on kahdeksan kertaa enemmän RAM -muistia kuin Uno (16 kt vs 2 kt).

Verrattuna edelliseen ATMega1284 -tehosteyksikön ohjeeseen, tällä laatikolla on seuraavat edut:

(1) Siinä on sekoitin, joka sekoittaa käsittelemättömän signaalin MCU -käsiteltyyn signaaliin - mikä tarkoittaa, että signaalin laatu ulostulossa paranee huomattavasti.

(2) Se käsittelee 16 -bittistä tulostusprosessia kahdelle PWM -lähdölle, kun edellinen tehostelaatikko käyttää 8 bittiä joihinkin esimerkkeihin, kuten viivevaikutukseen.

(3) Siinä on takaisinkytkentäpotentiometri, jota voidaan käyttää tehosteiden parantamiseen - erityisesti flanger/phaser -tehosteen kanssa, noin 30 prosentin palaute lisää huomattavasti vaikutuksen laatua.

(4) Alipäästösuodattimen taajuus on 10 kHz verrattuna edellisen tehostelaatikon 5 kHz: iin - tämä tarkoittaa, että lähtösignaali kuulostaa huomattavasti "terävämmältä".

(5) Se käyttää erilaista keskeytysliipaisinta, joka saattaa selittää tämän tehostelaatikon osoittaman huomattavasti alhaisemman melutason.

Aloitin leipomalla Uno-pohjaisen Open Music Labs Stompbox Shieldin ja olin niin vaikuttunut tämän neljän OpAmp-signaalinkäsittelypiirin suorituskyvystä (jopa käytettäessä Arduino Unoa), että siirrän sen stripboardille pysyvämpää käyttöä varten.

Samat neljä opamp-piiriä ja DSP-koodi siirrettiin sitten ATMega1284-laitteeseen-jälleen yllättäen lukuun ottamatta oleellisia muutoksia, kuten kytkinten ja LED-valintojen määrittäminen eri porttiin ja 7 000 kilosanan jakaminen 1 000: n sijaan kiloa sanaa RAM-muistia viivepuskuria varten, vain kaksi olennaista muutosta oli tehtävä lähdekoodiin, nimittäin ADC0: sta ADC2: sta muuttaminen ja Timer1/PWM OC1A- ja OC1B -ulostulojen muuttaminen Unon portista B porttiin D (PD5 ja PD4) ATMega1284 -laitteessa.

Kuten aiemmin on todettu, vaikka ATMega1284-kehityskortteja on saatavana (Github: MCUdude MightyCore), paljain (käynnistyslataamaton) sirun ostaminen on helppoa (osta PDIP-versio, joka on leipä- ja nauhalevyystävällinen), lataa sitten Maniacbug Mighty-1284p Core Optiboot -latauslaitteen tai MCUdude Mightycoren Mark Pendrith -haarukka käyttämällä Unoa ISP-ohjelmoijana ja lataamalla sitten luonnokset uudelleen Unon kautta AtMega1284: een. Yksityiskohdat ja linkit tähän prosessiin ovat edellisen ohjeen liitteessä 1.

Vaihe 1: Osaluettelo

Osaluettelo
Osaluettelo
Osaluettelo
Osaluettelo

ATMega1284P (40 -nastainen PDIP -pakettiversio) Arduino Uno R3 (käytetään Internet -palveluntarjoajana käynnistyslataimen ja luonnosten siirtämiseen ATMega1284: een) OpAmp MCP6004 quad OpAmp (tai vastaava RRIO (Rail to Rail Input and Output) OpAmp, kuten TLC2274) 1 x Punainen LED 1 x 16 MHz kide 2 x 27 pF kondensaattori 1 x 3n9 kondensaattori 1 x 1n2 kondensaattori 1 x 820pF kondensaattori 2 x 120 pF kondensaattori 4 x 100n kondensaattori 3 x 10uF 16v elektrolyyttikondensaattori 4 x 75k vastukset 4 x 3k9 vastukset 1 x 36k vastus 1 x 24 k vastus 2 x 1 M vastukset 1 x 470 ohmin vastus 3 x 1 k vastukset 2 x 50 k potentiometrit (lineaarinen) 1 x 10 k potentiometri (lineaarinen) 3 x painonappikytkin (yksi niistä tulee korvata 3-napaisella 2- jalkakytkin, jos efektilaatikkoa käytetään live -työhön)

Vaihe 2: Rakentaminen

Rakentaminen
Rakentaminen

Piiri 1 näyttää käytetyn piirin ja Stripboard 1 on sen fyysinen esitys (Fritzing 1) ja kuva 1 todellinen käytössä oleva leipälevypiiri. Kolme pientä piirimuutosta tehtiin: Jaettua puolilähdetason opamp-esijännitettä käytetään kolmessa OpAmp-vaiheessa, 3 x 75k ja 2x75k ohmin rinnakkaisvastukset korvattiin yksittäisillä 24k ja 36k vastuilla ja takaisinkytkentäkondensaattoreita lisättiin 120pF näille kahdelle OpAmp -vaiheelle. Kiertosäädin korvattiin kahdella painikkeella, joita käytetään tehosteparametrien lisäämiseen tai vähentämiseen. ATMega1284: n kolmijohtiminen liitäntä näkyy piirissä ADC-napaisena 40, PWMlow nastasta 19 ja PWMhigh nastasta 18. Kolme painonappia on kytketty nastoihin 1, 36 ja 35 ja maadoitettu toisesta päästä. LED on kytketty 470 vastuksen kautta nastaan 2.

OpAmp -tulo- ja lähtövaiheet: On tärkeää, että käytetään RRO: ta tai mieluiten RRIO OpAmpia, koska ATMega1284: n ADC: n OpAmp -lähdössä vaaditaan suuri jännitevaihtelu. Osaluettelo sisältää useita vaihtoehtoisia OpAmp -tyyppejä. 50k potentiometriä käytetään säätämään tulovahvistus tasolle, joka on juuri vääristymien alapuolella, ja sitä voidaan käyttää myös säätämään tulon herkkyyttä muulle tulolähteelle kuin kitaralle, kuten musiikkisoittimelle. Toisessa OpAmp -tulovaiheessa ja ensimmäisessä opamp -lähtövaiheessa on korkeamman asteen RC -suodatin, joka poistaa digitaalisesti syntyvän MCU -kohinan äänivirrasta.

ADC -vaihe: ADC on määritetty lukemaan ajastinkeskeytyksen kautta. 100 nF: n kondensaattori on kytkettävä ATMega1284: n AREF -nastan ja maan väliin melun vähentämiseksi, koska sisäistä Vcc -lähdettä käytetään vertailujännitteenä - ÄLÄ kytke AREF -nasta +5 volttiin suoraan!

DAC PWM -vaihe: Koska ATMega1284: llä ei ole omaa DAC: ää, lähtöääniaaltomuodot generoidaan käyttämällä RC -suodattimen pulssileveysmodulaatiota. Kaksi PWM -lähtöä PD4: ssä ja PD5: ssä asetetaan äänilähdön korkeiksi ja mataliksi tavuiksi ja sekoitetaan kahden vastuksen (3k9 ja 1M) kanssa suhteessa 1: 256 (matala tavu ja korkea tavu) - mikä tuottaa äänilähdön.

Vaihe 3: Ohjelmisto

Ohjelmisto perustuu Open Music Labsin stompbox -pedaaliluonnoksiin, ja mukana on kaksi esimerkkiä, nimittäin flanger/phaser -tehoste ja delay -efekti. Jälleen kuten edellisessä ohjeessa, kytkimet ja LED -valot oli siirretty muihin portteihin kaukana Internet -palveluntarjoajan käyttämistä porteista (SCLK, MISO, MOSI ja Reset).

Viivepuskuria on nostettu 1000 sanasta 7000 sanaan, ja PortD on asetettu kahden PWM -signaalin lähtöön. Vaikka viivepuskuri kasvaa, luonnos käyttää edelleen vain noin 75% käytettävissä olevasta ATMega1284 16 kB RAM -muistista.

Muita esimerkkejä, kuten tremolo Open Music Labsin verkkosivustolta pedaalille SHIELD Uno, voidaan mukauttaa Mega1284: n käyttöön muuttamalla sisällytettävää otsikkotiedostoa Stompshield.h:

(1) Muuta DDRB | = 0x06; // aseta pwm -lähdöt (nastat 9, 10) ulostuloonDDRD | = 0x30;

ja

ADMUX = 0x62; // vasen säätö, adc2, sisäinen vcc viittauksena ADMUX = 0x60; // vasen säätö, adc0, sisäinen vcc viitteenä // Nämä muutokset ovat VAIN olennaisia koodimuutoksia // siirrettäessä Unosta ATMega1284: een

Kaksi tässä esitettyä esimerkkiä varten otsikkotiedosto sisältyy luonnokseen - eli otsikkotiedostoja ei tarvitse käyttää

Painikkeita 1 ja 2 käytetään joissakin luonnoksissa tehosteen lisäämiseksi tai vähentämiseksi. Viiveesimerkissä se lisää tai lyhentää viiveaikaa. Kun luonnos ladataan ensimmäisen kerran, se alkaa suurimmalla viiveellä. Yritä flanger -vaiheittaista luonnosta varten parantaa takaisinkytkentäohjausta tehostaaksesi vaikutusta.

Jos haluat muuttaa viiveen kaikuefektiksi (lisää toistoa), muuta riviä:

puskuri [sijainti] = syöttö; // tallentaa uusi näyte

kohteeseen

puskuri [sijainti] = (tulo + puskuri [sijainti]) >> 1; // Käytä tätä kaikua varten

Jalkakytkimen tulee olla kolminapainen kaksisuuntainen kytkin

Vaihe 4: Linkit

Electrosmash

Avaa Music labs Music

ATMega Effect -poljin

Suositeltava: