Мазмұны:

ATMega1284 Quad Opamp эффектілер қорабы: 4 қадам (суреттермен)
ATMega1284 Quad Opamp эффектілер қорабы: 4 қадам (суреттермен)

Бейне: ATMega1284 Quad Opamp эффектілер қорабы: 4 қадам (суреттермен)

Бейне: ATMega1284 Quad Opamp эффектілер қорабы: 4 қадам (суреттермен)
Бейне: The Ultimate Op-Amp Comparison - Bandwidth, Slew Rate, Frequency Response, CMRR & More! 2024, Шілде
Anonim
ATMega1284 Quamp Opamp әсерлер қорабы
ATMega1284 Quamp Opamp әсерлер қорабы

Open Music Labs Arduino үшін Stomp Shield гитара эффектілер қорабы ретінде Arduino Uno мен төрт опампты пайдаланады. Electrosmash Uno Pedalshield -ті қалай қосуға болатынын көрсететін алдыңғы нұсқаулыққа ұқсас, мен Open Music Labs Guitar Effects қорабын ATMega1284P -ке Uno -дан сегіз есе көп жедел жадыға (16кБ қарсы 2кБ) жібердім.

ATMega1284 эффектілерін қолданатын алдыңғы нұсқаулықпен салыстырғанда, бұл қорап келесі артықшылықтарға ие:

(1) Ол өңделмеген сигналды MCU өңделген сигналмен араластыратын араластырғышқа ие - бұл шығудағы сигналдың сапасы едәуір жақсарғанын білдіреді.

(2) Ол екі PWM шығысы үшін 16 биттік шығуды өңдейді, ал алдыңғы әсерлер қорабы кешіктіру эффектісі сияқты кейбір мысалдар үшін 8 битті қолданады.

(3) Эффектілерді күшейту үшін қолдануға болатын кері байланыс потенциометрі бар, әсіресе фланец/фазер эффектісімен шамамен 30 пайыз кері байланыс әсердің сапасына айтарлықтай әсер етеді.

(4) Төменгі жиілікті сүзгі жиілігі алдыңғы эффектілер қорабының 5 кГц -пен салыстырғанда 10 кГц құрайды - бұл шығудағы сигналдың «қытырлақ» болатынын білдіреді.

(5) Ол осы эффектілер қорабында көрсетілген шу деңгейін едәуір төмендететінін түсіндіретін басқа үзіліс триггерін қолданады.

Мен Uno негізіндегі Open Music Labs Stompbox Shield нанға отырғызудан бастадым және маған OpAmp сигналын өңдеудің осы төрт схемасының жұмысына қатты әсер етті (тіпті Arduino Uno қолданған кезде де), мен оны тұрақты пайдалану үшін стрипто тақтасына ауыстырдым.

Содан кейін сол төрт опампалық схема мен DSP коды ATMega1284-ке жөнелтілді-таңқаларлықтай, коммутаторлар мен жарық диодты басқа портқа тағайындау және 1 000 орнына 7 000 кило сөзді бөлу сияқты маңызды емес өзгерістерден басқа. Кідірту буферіне арналған жедел жады көлемі, бастапқы кодқа тек екі маңызды өзгеріс енгізу қажет болды, атап айтқанда ADC2-ден ADC0-ге ауысу және Uno-дағы В портындағы Timer1/PWM OC1A және OC1B шығуларын D портына өзгерту (PD5 және PD4) ATMega1284.

Бұрын айтылғандай, ATMega1284 үшін әзірлеу тақталары бар болса да (Github: MCUdude MightyCore), жалаңаш (жүктеушісіз) чипті сатып алу оңай (нанға арналған тақтайшаға арналған PDIP нұсқасын сатып алыңыз)., содан кейін Maniacbug Mighty-1284p Core Optiboot жүктеушісінің немесе MCUdude Mightycore-тің Марк Пендрит шанышқысын Uno-ны провайдер бағдарламашысы ретінде жүктеңіз, содан кейін Uno арқылы AtMega1284-ке нобайларды қайта жүктеңіз. Бұл процесс туралы мәліметтер мен сілтемелер алдыңғы нұсқаулықтың 1 -қосымшасында берілген.

1 -қадам: бөлшектер тізімі

Бөлшектер тізімі
Бөлшектер тізімі
Бөлшектер тізімі
Бөлшектер тізімі

ATMega1284P (PDIP 40 -пакеттік нұсқасы) Arduino Uno R3 (жүктеуші мен эскиздерді ATMega1284 -ке тасымалдау үшін провайдер ретінде қолданылады) OpAmp MCP6004 төрт OpAmp (немесе ұқсас RRIO (Rail to Rail Input and Output) OpAmp, мысалы TLC2274) 1 x Қызыл светодиод 1 x 16 МГц кристалды 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-ші тақта-оның физикалық көрінісі (1-ші фризинг), Фото 1-де жұмыс істеп тұрған нан тақтасы. Кішкене тізбектегі үш өзгеріс енгізілді: OpAmp-тің үш кезеңінде жартылай жеткізілім деңгейінің ортақ қысымы қолданылады, 3 x 75k және 2x75k ом параллельді резисторлар бір 24k және 36k резисторлармен ауыстырылды, ал кері байланыс конденсаторлары Осы екі OpAmp кезеңі үшін 120pF. Айналмалы басқару элементтері эффектілер параметрлерін жоғарылату немесе төмендету үшін қолданылатын екі түймемен ауыстырылды. ATMega1284-ке үш сымды қосылу тізбекте ADC ретінде 40-шы істікке, PWMlow-19-шнурдан және PWMhigh-18-ші істен көрсетіледі. Үш түйме 1, 36 және 35-түйреуіштерге жалғанған және екінші ұшында жерге тұйықталған. Жарық диоды 470 резисторы арқылы 2 -ші істікке қосылады.

OpAmp кіріс және шығыс кезеңдері: ATMega1284 ADC үшін OpAmp шығысында кернеудің үлкен ауытқуына байланысты RRO немесе жақсырақ RRIO OpAmp қолданылуы маңызды. Бөлшектер тізімінде OpAmp баламалы түрлері бар. 50k потенциометр кіріс кірісін кез келген бұрмалаудан төмен деңгейге реттеу үшін қолданылады, сонымен қатар музыкалық ойнатқыш сияқты гитарадан басқа кіріс көзінің кіріс сезімталдығын реттеу үшін де қолданылады. Екінші OpAmp кіріс сатысы мен бірінші опамптың шығыс сатысында дыбыстық ағыннан цифрлық генерацияланған MCU шуын кетіру үшін жоғары ретті RC сүзгісі бар.

ADC кезеңі: ADC таймердің үзілуі арқылы оқылатын етіп конфигурацияланған. Шуды азайту үшін ATMega1284 AREF түйреуіші мен жерге арасындағы 100nF конденсаторды қосу керек, өйткені ішкі кернеу көзі ток кернеуі ретінде пайдаланылады - AREF түйреуішін +5 вольтке тікелей қоспаңыз!

DAC PWM кезеңі: ATMega1284 -те өзіндік DAC болмағандықтан, шығыс дыбыс толқындары импульстік ендік модуляциялы RC сүзгісінің көмегімен шығарылады. PD4 және PD5 екі PWM шығысы дыбыс шығысының жоғары және төменгі байттары ретінде орнатылады және екі резистормен (3k9 және 1M) 1: 256 қатынасында (төмен байт және жоғары байт) араласады - бұл дыбыс шығысын шығарады..

3 -қадам: Бағдарламалық қамтамасыз ету

Бағдарламалық жасақтама Open Music Labs стомбокс педальдық эскиздеріне негізделген және екі мысал фланец/фазер эффектісі мен кешіктіру эффектісін қамтиды. Алдыңғы нұсқаулықтағыдай, коммутаторлар мен жарық диодты провайдер бағдарламашы қолданатын басқа порттарға ауыстырылды (SCLK, MISO, MOSI және қалпына келтіру).

Кешіктіру буфері 1000 сөзден 7000 сөзге дейін ұлғайтылды және PortD екі PWM сигналының шығысы ретінде орнатылды. Кешіктіру буферінің ұлғаюына қарамастан, эскиз әлі де қол жетімді ATMega1284 16 кБ жедел жадының шамамен 75% -ын пайдаланады.

SHIELD Uno педальына арналған Open Music Labs веб -сайтындағы тремоло сияқты басқа мысалдарды Stompshield.h тақырып файлын өзгерту арқылы Mega1284 қолдануға бейімдеуге болады:

(1) DDRB өзгерту | = 0x06; // pwm шығысын (түйреуіштер 9, 10) outputtoDDRD -ге | = 0x30;

және

ADMUX = 0x62; // солға реттеу, adc2, ішкі vcc ADMUX = 0x60 сілтеме ретінде; // солға реттеу, adc0, ішкі vcc сілтеме ретінде // Бұл өзгертулер - бұл Uno -дан ATMega1284 -ке тасымалдау кезінде кодтың маңызды өзгерістері.

Мұнда келтірілген екі мысал үшін тақырыптық файл эскизге енгізілген, яғни тақырып файлдарын пайдаланудың қажеті жоқ.

Кейбір эскиздерде әсерді жоғарылату немесе азайту үшін 1 және 2 түймелері қолданылады. Кешіктіру мысалында ол кідіріс уақытын көбейтеді немесе азайтады. Эскиз бірінші жүктелген кезде ол максималды кідіріс әсерінен басталады. Фланерлік фазерлік эскиз үшін жақсартылған әсер үшін кері байланысты бақылауды күшейтуге тырысыңыз.

Кешіктіруді жаңғырық әсеріне өзгерту үшін (қайталауды қосу) жолды өзгертіңіз:

буфер [орналасу] = енгізу; // жаңа үлгіні сақтау

дейін

буфер [орналасу] = (кіріс + буфер [орналасу]) >> 1; // Мұны эхо эффект үшін пайдаланыңыз

Аяқ қосқышы үш полюсті екі жақты қосқыш болуы керек

4 -қадам: Сілтемелер

Электросмаш

Музыка зертханаларын ашыңыз

ATMega эффектілі педаль

Ұсынылған: