Tartalomjegyzék:

ATMega1284 Quad Opamp Effects Box: 4 lépés (képekkel)
ATMega1284 Quad Opamp Effects Box: 4 lépés (képekkel)

Videó: ATMega1284 Quad Opamp Effects Box: 4 lépés (képekkel)

Videó: ATMega1284 Quad Opamp Effects Box: 4 lépés (képekkel)
Videó: 4 awesome application of op-amps in circuits 2024, Július
Anonim
ATMega1284 Quad Opamp Effects Box
ATMega1284 Quad Opamp Effects Box

Az Open Music Labs Arduino Stomp Shield -je Arduino Uno -t és négy opamp -ot használ gitárhatás -dobozként. Az előző utasításhoz hasonlóan, amely bemutatja az Electrosmash Uno Pedalshield hordozását, az Open Music Labs Guitar Effects dobozt is átvittem az ATMega1284P készülékbe, amely nyolcszor több RAM -mal rendelkezik, mint az Uno (16 KB és 2 KB).

Az ATMega1284 effekt egységet használó előző utasításhoz képest ez a doboz a következő előnyökkel rendelkezik:

(1) Van egy keverője, amely összekeveri a feldolgozatlan jelet az MCU feldolgozott jelével - ez azt jelenti, hogy a kimeneten a jel minősége sokkal javul.

(2) 16 bites kimeneti feldolgozást végez a két PWM kimeneten, miközben az előző effekt doboz 8 bitet használ néhány példához, például a késleltetéshez.

(3) Visszacsatolási potenciométerrel rendelkezik, amely a hatások fokozására használható - különösen a flanger/fázer effektus mellett, körülbelül 30 százalékos visszacsatolás jelentősen növeli a hatás minőségét.

(4) Az aluláteresztő szűrő frekvenciája 10 kHz az előző effekt doboz 5 kHz -hez képest - ez azt jelenti, hogy a kimeneten lévő jel jelentősen "élesebben" hangzik.

(5) Más megszakítási triggerrel rendelkezik, ami megmagyarázhatja az effektus doboz által mutatott lényegesen alacsonyabb zajszintet.

Az Uno-alapú Open Music Labs Stompbox Shield kenyérszennyezésével kezdtem, és annyira lenyűgözött ennek a négy OpAmp jelfeldolgozó áramkörnek a teljesítménye (még akkor is, ha Arduino Uno-t használtam), hogy tartósabb használatra átvittem a szalaglemezre.

Ugyanezt a négy opamp áramkört és a DSP kódot azután átvitték az ATMega1284-be-ismét meglepő módon, eltekintve az olyan lényeges változtatásoktól, mint például a kapcsolók és a LED-ek másik porthoz való hozzárendelése, és 1 000 helyett 7 000 kilós szó kiosztása A kilószavas RAM-ot a késleltető pufferhez csak két lényeges változtatást kellett végrehajtani a forráskódban, nevezetesen az ADC2-ről ADC0-ra váltani, és a Timer1/PWM OC1A és OC1B kimeneteket az Uno B-portról a D-portra cserélni (PD5 és PD4) az ATMega1284 -en.

Amint azt korábban már említettük, bár az ATMega1284 fejlesztői táblái is rendelkezésre állnak (Github: MCUdude MightyCore), egyszerű feladat a csupasz (bootloader-mentes) chip megvásárlása (vásárolja meg a PDIP verziót, amely kenyérlap és szalaglemez-barát), majd töltse be a Maniacbug Mighty-1284p Core Optiboot rendszerbetöltő vagy az MCUdude Mightycore Mark Pendrith villáját egy Uno használatával ISP programozóként, majd töltse be újra a vázlatokat az Uno segítségével az AtMega1284-be. A folyamat részleteit és linkjeit az előző utasítás 1. függeléke tartalmazza.

1. lépés: Alkatrészlista

Alkatrész lista
Alkatrész lista
Alkatrész lista
Alkatrész lista

ATMega1284P (PDIP 40 tűs csomagverzió) Arduino Uno R3 (internetszolgáltatóként használják a rendszerbetöltő és a vázlatok átviteléhez az ATMega1284 -be) Piros LED 1 x 16 MHz kristály 2 x 27 pF kondenzátor 1 x 3n9 kondenzátor 1 x 1n2 kondenzátor 1 x 820pF kondenzátor 2 x 120 pF kondenzátor 4 x 100n kondenzátor 3 x 10uF 16v elektrolit kondenzátor 4 x 75k ellenállás 4 x 3k9 ellenállás 1 x 36k ellenállás 1 x 24 k ellenállás 2 x 1M ellenállás 1 x 470 ohmos ellenállás 3 x 1 k ellenállás 2 x 50 k potenciométer (lineáris) 1 x 10 k potenciométer (lineáris) 3 x nyomógombos kapcsoló (az egyiket 3 pólusú 2- lábkapcsoló, ha az effektdobozt élő munkához fogják használni)

2. lépés: Építés

Építkezés
Építkezés

Az 1. áramkör az alkalmazott áramkört mutatja, a Stripboard 1 pedig a fizikai ábrázolását (Fritzing 1), az 1. fotó pedig a ténylegesen működő kenyérpanel áramkört. Három apró áramköri változtatás történt: A megosztott félellátási szintű opamp előfeszítést három OpAmp fokozatra használják, a 3 x 75 k és 2 x 75 k ohmos párhuzamos ellenállásokat egyetlen 24 k és 36 k ellenállásra cserélték, és a visszacsatoló kondenzátorokat növelték 120pF ehhez a két OpAmp szakaszhoz. A forgó vezérlőt két nyomógombbal helyettesítették, amelyek az effektus paraméterek növelésére vagy csökkentésére szolgálnak. A háromvezetékes csatlakozás az ATMega1284-hez az áramkörön ADC-ként látható a 40-es tűn, PWMlow a 19-es tűtől és PWMhigh a 18-as tűtől. A három nyomógomb az 1-es, 36-os és 35-ös csapokhoz van csatlakoztatva, és a másik végén földelt. A LED 470 ellenálláson keresztül csatlakozik a 2 -es tűhöz.

OpAmp bemeneti és kimeneti szakaszok: Fontos, hogy RRO -t vagy lehetőleg RRIO OpAmp -et használjon, mert az ATMega1284 ADC -jéhez szükséges OpAmp kimeneten nagy feszültségingadozás szükséges. Az alkatrészlista számos alternatív OpAmp típust tartalmaz. Az 50k potenciométer a bemenet erősítésének beállítására szolgál minden torzítás alatti szintre, és a gitártól eltérő bemeneti forrás, például zenelejátszó bemeneti érzékenységének beállítására is használható. A második OpAmp bemeneti szakasz és az első opamp kimeneti szakasz magasabb rendű RC szűrővel rendelkezik, hogy eltávolítsa a digitálisan generált MCU zajt az audiofolyamból.

ADC szakasz: Az ADC úgy van konfigurálva, hogy időzítő megszakításon keresztül olvassa. 100 nF kondenzátort kell csatlakoztatni az ATMega1284 AREF csapja és a föld közé a zaj csökkentése érdekében, mivel belső Vcc forrást használnak referenciafeszültségként - NE csatlakoztassa az AREF csapot +5 volthoz közvetlenül!

DAC PWM szakasz: Mivel az ATMega1284 nem rendelkezik saját DAC -val, a kimenő hanghullámformák egy RC szűrő impulzusszélesség -modulációjával jönnek létre. A PD4 és PD5 két PWM kimenete az audio kimenet magas és alacsony bájtjaként van beállítva, és a két ellenállással (3k9 és 1M) 1: 256 arányban (alacsony bájt és magas bájt) keveredik - ez generálja az audio kimenetet.

3. lépés: Szoftver

A szoftver az Open Music Labs stompbox pedálvázlatain alapul, és két példát tartalmaz, nevezetesen egy flanger/fhaser effektust és egy késleltető hatást. Az előző utasításhoz hasonlóan a kapcsolókat és a LED -eket más portokra helyezték át az ISP programozó által használt portoktól (SCLK, MISO, MOSI és Reset).

A késleltetési puffer 1000 szóról 7000 szóra nőtt, és a PortD lett beállítva a két PWM jel kimeneteként. A vázlat a késleltetési puffer növekedése ellenére is a rendelkezésre álló ATMega1284 16 kB RAM csak körülbelül 75% -át használja fel.

Más példák, mint például az Open Music Labs weboldalán található tremolo a SHIELD Uno, a Mega1284 számára a Stompshield.h fejléc -fájl megváltoztatásával módosíthatók:

(1) DDRB módosítása | = 0x06; // állítsa a pwm kimeneteket (9, 10 érintkezők) kimenetreDDRD | = 0x30;

és

ADMUX = 0x62; // balra igazítás, adc2, belső vcc az ADMUX -re hivatkozva = 0x60; // balra igazítás, adc0, belső vcc referenciaként // Ezek a változtatások az CSAK lényeges kódváltozások

Az itt szereplő két példa esetében a fejlécfájl szerepel a vázlatban - azaz nem kell fejlécfájlokat használni

Néhány vázlatban az 1. és 2. nyomógombot használják az effektus növelésére vagy csökkentésére. A késleltetési példában növeli vagy csökkenti a késleltetési időt. A vázlat első betöltésekor a maximális késleltetéssel kezdődik. A flanger fázisvázlathoz próbálja meg növelni a visszacsatolás vezérlését a jobb hatás érdekében.

A késleltetés visszhanghatássá változtatásához (ismétlés hozzáadása) módosítsa a sort:

puffer [hely] = bemenet; // új minta tárolása

nak nek

puffer [hely] = (bemenet + puffer [hely]) >> 1; // Használja ezt a visszhanghatáshoz

A lábkapcsolónak hárompólusú kétirányú kapcsolónak kell lennie

4. lépés: Linkek

Electrosmash

Nyissa meg a Music labs Music alkalmazást

ATMega Effect pedál

Ajánlott: