Съдържание:

ATMega1284 Quad Opamp Effects Box: 4 стъпки (със снимки)
ATMega1284 Quad Opamp Effects Box: 4 стъпки (със снимки)

Видео: ATMega1284 Quad Opamp Effects Box: 4 стъпки (със снимки)

Видео: ATMega1284 Quad Opamp Effects Box: 4 стъпки (със снимки)
Видео: PID demo 2024, Ноември
Anonim
ATMega1284 Quad Opamp Effects Box
ATMega1284 Quad Opamp Effects Box

Stomp Shield за Arduino от Open Music Labs използват Arduino Uno и четири опампа като кутия за китарни ефекти. Подобно на предишната инструкция, която показва как да пренесете Electrosmash Uno Pedalshield, аз също пренесох кутията с китарни ефекти Open Music Labs към ATMega1284P, която има осем пъти повече RAM от Uno (16kB срещу 2kB).

В сравнение с предишните инструкции, използващи модула за ефекти ATMega1284, тази кутия има следните предимства:

(1) Той има миксер, който смесва необработения сигнал с обработения MCU сигнал - това означава, че качеството на сигнала на изхода е значително подобрено.

(2) Той извършва 16 -битова обработка на изхода за двата PWM изхода, докато предишното поле за ефекти използва 8 бита за някои от примерите, като например ефекта на забавяне.

(3) Той има потенциометър за обратна връзка, който може да се използва за подобряване на ефектите - особено с ефекта на флангер/фазер около 30 процента обратна връзка значително увеличава качеството на ефекта.

(4) Честотата на нискочестотния филтър е 10 kHz в сравнение с 5 kHz от предишното поле за ефекти - това означава, че сигналът на изхода звучи значително "по -хрупкаво".

(5) Той използва различен тригер за прекъсване, който може да обясни значително по -ниското ниво на шум, показано от това поле за ефекти.

Започнах с хляб на Uno-базираната Open Music Labs Stompbox Shield и бях толкова впечатлен от работата на тази четири схеми за обработка на сигнал OpAmp (дори когато използвах Arduino Uno), че я прехвърлих на лента за по-трайна употреба.

Същите четири опампа верига и DSP код след това бяха пренесени към ATMega1284-отново, изненадващо, с изключение на несъществените промени, като например присвояване на превключвателите и светодиода на различен порт, и разпределяне на 7 000 килограм думи вместо 1 000 кило-дума RAM за буфера за закъснение, трябваше да се направят само две съществени промени в изходния код, а именно промяна на ADC0 от ADC2 и промяна на изходите на Timer1/PWM OC1A и OC1B от порт B на Uno към порт D (PD5 и PD4) на ATMega1284.

Както бе отбелязано по-горе, въпреки че са налични дъски за разработка на ATMega1284 (Github: MCUdude MightyCore), това е лесно упражнение за закупуване на чип (без зареждащо устройство) чип (купете версията PDIP, която е подходяща за хляб и лента), след това заредете вилицата Mark Pendrith на зареждащия механизъм Maniacbug Mighty-1284p Core Optiboot или MCUdude Mightycore, като използвате Uno като програмист на ISP и след това заредете скици отново чрез Uno към AtMega1284. Подробности и връзки за този процес са дадени в допълнение 1 на предишната инструкция.

Стъпка 1: Списък на частите

Списък с части
Списък с части
Списък с части
Списък с части

ATMega1284P (версия на PDIP 40 -пинов пакет) Arduino Uno R3 (използва се като ISP за прехвърляне на зареждащото устройство и скици към ATMega1284) OpAmp MCP6004 четириядрен OpAmp (или подобен RRIO (вход към релса към релса) OpAmp като TLC2274) 1 x Червен LED 1 x 16 MHz кристал 2 x 27 pF кондензатори 1 x 3n9 кондензатор 1 x 1n2 кондензатор 1 x 820pF кондензатор 2 x 120 pF кондензатор 4 x 100n кондензатори 3 x 10uF 16v електролитни кондензатори 4 x 75k резистори 4 x 3k9 резистори 1 x 36k резистор 1 x 24k резистор 2 x 1M резистори 1 x 470 ома резистор 3 x 1k резистори 2 x 50k потенциометри (линейни) 1 x 10k потенциометър (линейни) 3 x бутонни превключватели (един от тях трябва да бъде заменен с 3-полюсен 2- начин на крачен превключвател, ако полето за ефекти ще се използва за работа на живо)

Стъпка 2: Строителство

Строителство
Строителство

Верига 1 показва използваната верига, а лентата 1 е нейното физическо представяне (Fritzing 1) със Снимка 1 действителната работеща схема за хляб. Бяха направени три малки промени на веригата: Споделеното отклонение на нивото на полу-захранване се използва за три етапа на OpAmp, паралелните резистори 3 x 75 k и 2 x 75 k ома бяха заменени с единични резистори 24 k и 36 k, а кондензаторите за обратна връзка бяха увеличени до 120pF за тези два етапа на OpAmp. Ротационното управление е заменено с два бутона, които се използват за увеличаване или намаляване на параметрите на ефектите. Трипроводната връзка към ATMega1284 е показана на веригата като ADC към пин 40, PWMlow от пин 19 и PWMhigh от щифт 18. Трите бутони са свързани към щифтове 1, 36 и 35 и са заземени от другия край. Светодиод е свързан чрез резистор 470 към пин 2.

Входни и изходни етапи на OpAmp: Важно е да се използва RRO или за предпочитане RRIO OpAmp поради големия размах на напрежението, необходим на изхода OpAmp към ADC на ATMega1284. Списъкът с части съдържа редица алтернативни типове OpAmp. 50k потенциометърът се използва за регулиране на входното усилване до ниво точно под всяко изкривяване, а също така може да се използва за регулиране на входната чувствителност за входен източник, различен от китара, например музикален плейър. Вторият входен етап OpAmp и първият изходен етап на opamp имат RC филтър от по -висок ред за премахване на генерирания цифрово MCU шум от аудио потока.

Етап ADC: ADC е конфигуриран да чете чрез прекъсване на таймера. 100nF кондензатор трябва да бъде свързан между AREF щифта на ATMega1284 и земята, за да се намали шума, тъй като вътрешен Vcc източник се използва като референтно напрежение - НЕ свързвайте щифта AREF към +5 волта директно!

DAC PWM етап: Тъй като ATMega1284 няма собствен DAC, изходните аудио вълни се генерират с помощта на широчинно -импулсна модулация на RC филтър. Двата PWM изхода на PD4 и PD5 са зададени като високи и ниски байтове на аудио изхода и се смесват с двата резистора (3k9 и 1M) в съотношение 1: 256 (нисък байт и висок байт) - което генерира аудио изхода.

Стъпка 3: Софтуер

Софтуерът се основава на скици на педалите на Open Music Labs на stompbox и са включени два примера, а именно ефект на флангер/фазер и ефект на забавяне. Отново, както при предишните инструкции, превключвателите и светодиодите бяха преместени на други портове далеч от тези, използвани от ISP програмиста (SCLK, MISO, MOSI и Reset).

Буферът за забавяне е увеличен от 1000 думи на 7000 думи, а PortD е зададен като изход за двата ШИМ сигнала. Дори и с увеличаването на буфера за забавяне, скицата все още използва само около 75% от наличната ATMega1284 16 kB RAM.

Други примери като тремолото от уебсайта на Open Music Labs за педала SHIELD Uno могат да бъдат адаптирани за използване от Mega1284 чрез промяна на заглавния файл за включване Stompshield.h:

(1) Промяна на DDRB | = 0x06; // задаваме pwm изходи (щифтове 9, 10) към outputtoDDRD | = 0x30;

и

ADMUX = 0x62; // ляво регулиране, adc2, вътрешен vcc като препратка към ADMUX = 0x60; // ляво коригиране, adc0, вътрешен vcc като препратка // Тези промени са САМО съществените промени в кода // при пренасяне от Uno към ATMega1284

За двата примера, включени тук, заглавният файл е включен в скицата - т.е. не е необходимо да се използват заглавни файлове

Бутоните 1 и 2 се използват в някои от скиците за увеличаване или намаляване на ефект. В примера на забавяне увеличава или намалява времето на забавяне. При първото зареждане на скицата започва с ефекта на максимално забавяне. За скицата на фланжера с фазер се опитайте да увеличите контрола на обратната връзка за подобрен ефект.

За да промените забавянето на ехо ефект (добавете повторение) променете реда:

буфер [местоположение] = вход; // съхранява нова проба

да се

буфер [местоположение] = (вход + буфер [местоположение]) >> 1; // Използвайте това за echo effct

Ножният превключвател трябва да бъде триполюсен двупосочен превключвател

Стъпка 4: Връзки

Електромашина

Отворете Музикални лаборатории Музика

Педал за ефект на ATMega

Препоръчано: