Мазмұны:

ATMega1284P гитара мен музыкалық эффектілер педалы: 6 қадам (суреттермен)
ATMega1284P гитара мен музыкалық эффектілер педалы: 6 қадам (суреттермен)

Бейне: ATMega1284P гитара мен музыкалық эффектілер педалы: 6 қадам (суреттермен)

Бейне: ATMega1284P гитара мен музыкалық эффектілер педалы: 6 қадам (суреттермен)
Бейне: ПЛОВ. Как приготовить Вкусный и Рассыпчатый плов! Простой рецепт. В гостях у Липована 2024, Қараша
Anonim
ATMega1284P гитара мен музыкалық эффектілер педалы
ATMega1284P гитара мен музыкалық эффектілер педалы

Мен Arduino Uno ATMega328 Pedalshield (Electrosmash әзірлеген және ішінара Open Music Lab жұмысына негізделген) ATMega1284P -ке Uno -дан сегіз есе көп жедел жады (2кБ қарсы 16кБ) жібердім. Қосымша күтпеген артықшылық - бұл Mega1284 конструкциясының шуылдық құрамы әлдеқайда төмен - мен Uno мен Mega1284 -ті бір қолдау схемасын қолдана отырып салыстырған кезде, Uno -ны «шулы» және Mega1284 «деп сипаттау негізсіз емес. тыныш». Үлкен оперативті жады кешіктіру әсерін алуға болатынын білдіреді және бұл мен енгізген Arduino эскиздік мысалында көрсетілген. Тремело эффектісін қолданған кездегі фондық тыныс алу шуы ATMega1284 -те де жоқ (дерлік).

Үш Atmel AVR микропроцессорын салыстыру, атап айтқанда Uno 328P, Mega2560 - 2560P, және Mega1284 - бұл үшеуінің ең көп жедел жады бар екенін көрсетеді:

Аспект 328P 1284P 2560P жедел жады 2k 16k 8k Flash 32k 128k 256k EEPROM 1k 4k 4k UART 1 2 4 IO түйреуіштері 23 32 86 үзілістер 2 3 8 аналогтық 6 8 16

Мен Electrosmash спецификациясындағыдай Uno негізіндегі pedalSHIELD нанға отыра бастадым, бірақ менде көрсетілгендей RRO OpAmp жоқ. Нәтижесінде мен қолайлы нәтиже беретін схеманы аяқтадым. Бұл Uno нұсқасының мәліметтері 2 -қосымшада келтірілген.

Дәл осы схема ATMega1284 -ке жіберілді - таңқаларлық емес, қосқыштар мен жарық диодты басқа портқа тағайындау және кешіктіру буферіне 2 000 кБ жедел жады орнына 12 000 кБ бөлу. бастапқы кодқа бір маңызды өзгеріс енгізу керек болды, атап айтқанда Timo1/PWM OC1A және OC1B шығуларын Uno портындағы В портынан ATMega1284 D портына (PD5 және PD4) өзгерту.

Мен кейінірек Пол Галлагердің электромаш схемасының керемет модификациясын таптым, тестілеуден кейін бұл мен ұсынатын схема, бірақ сонымен бірге модификациямен: Uno -ны Mega1284 -ке ауыстыру, Texas Instruments TLC2272 -ді OpAmp ретінде пайдалану және Mega1284-тің тамаша шуылына байланысты мен төмен жиілікті сүзгі жиілігінің деңгейін көтере аламын.

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

Мен қосымша ақпарат алуға болатын ең маңызды үш көзді мойындағым келеді және олардың веб -сайттарына сілтеме береді және осы мақаланың соңы: Electrosmash, Open Music Labs және Tardate/Paul Gallagher

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

ATMega1284P (PDIP 40 істікшелі пакет нұсқасы) Arduino Uno R3 (жүктеуші мен эскиздерді ATMega1284 -ке тасымалдау үшін провайдер ретінде қолданылады) OpAmp TLC2272 (немесе ұқсас RRIO (Rail to Rail Input and Output) OpAmp, мысалы MCP6002, LMC6482, TL972) Қызыл жарықдиодты 16 МГц кристалды 2 х 27 пФ конденсаторлар 5 х 6н8 конденсаторлар 270 пФ конденсатор 4 х 100н конденсаторлар 2 х 10уФ 16в электролиттік конденсаторлар 6 х 4к7 резистор 100к резистор 2х 1М резистор 470 ом резистор 1М2 резистор 100к потенциометр 3 x түймелік қосқыштар (бір егер эффектілер қорапшасы тірі жұмыс үшін пайдаланылатын болса, олардың 3-полюсті екі жақты аяқ ауыстырғышпен ауыстырылуы керек)

2 -қадам: құрылыс

Құрылыс
Құрылыс
Құрылыс
Құрылыс
Құрылыс
Құрылыс

1-схема пайдаланылған схеманы береді, ал Breadboard 1-бұл физикалық көрініс (Fritzing 1), Фото 1-де нақты нан тақтасы жұмыс істейді. Потенциометрдің құрғақ (кіріске тең) және дымқыл (MCU өңдегеннен кейін) сигналы үшін араластырғыш ретінде болуы тиімді болуы мүмкін, ал 2 -схема, 2 -кесте тақтасы және 2 -сурет (2 -қосымшада келтірілген) береді. шығыс араластырғышқа осындай кірісті қамтитын бұрын салынған схеманың тізбек бөлшектері. Сондай -ақ, төрт OpAmps көмегімен басқа араластырғышты енгізу үшін Open Music Labs StompBox -ты қараңыз.

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

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

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

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

Бағдарламалық қамтамасыз ету electrosmash эскиздеріне негізделген және мысал (pedalshield1284delay.ino) Uno кешіктіру нобайынан бейімделген. Кейбір қосқыштар мен жарық диодтары провайдер бағдарламашысы қолданатын порттардан (SCLK, MISO, MOSI және Reset) басқа порттарға ауыстырылды, кешіктіру буфері 2000 байттан 12000 байтқа дейін ұлғайтылды, ал PortD ретінде орнатылды. екі PWM сигналының шығысы. Кешіктіру буферінің ұлғаюына қарамастан, эскиз әлі де қол жетімді 1284 жедел жадтың шамамен 70% -ын пайдаланады.

SHIELD Uno педальына арналған electrosmash веб -сайтынан октавер немесе тремоло сияқты басқа мысалдар Mega1284 кодына үш бөлімді өзгерту арқылы бейімделуі мүмкін:

(1) DDRB өзгерту | = ((PWM_QTY << 1) | 0x02); DDRD | = 0x30; // Жоғарыдағы өзгеріс - бұл кодтың маңызды өзгеруі // AtMega328 -ден ATMega1284 -ке тасымалдау кезінде

(2) светодиодты анықтау #анықтау 13

дейін

#жарықдиодты PB0 анықтау #FOOTSWITCH PB1 анықтау #PUSHBUTTON_1 A5 анықтау #PUSHBUTTON_2 A4 анықтау

(3) pinMode өзгерту (FOOTSWITCH, INPUT_PULLUP); pinMode (TOGGLE, INPUT_PULLUP); pinMode (PUSHBUTTON_1, INPUT_PULLUP); pinMode (PUSHBUTTON_2, INPUT_PULLUP); pinMode (жарықдиодты, шығыс)

дейін

pinMode (FOOTSWITCH, INPUT_PULLUP); pinMode (PUSHBUTTON_1, INPUT_PULLUP); pinMode (PUSHBUTTON_2, INPUT_PULLUP); pinMode (жарық диоды, OUTPUT);

Кейбір эскиздерде әсерді жоғарылату немесе азайту үшін 1 және 2 түймелері қолданылады. Кешіктіру мысалында ол кідіріс уақытын көбейтеді немесе азайтады. Эскиз бірінші жүктелген кезде ол максималды кідіріс әсерінен басталады. төмен түймесін басыңыз - кешіктіру күйіне дейін кері санау үшін шамамен 20 секунд қажет - содан кейін жоғары түймесін басып тұрыңыз. Түймені басып тұру әсерінің фазаға, хорға және фланецке әсерін қалай өзгертетінін, сонымен қатар түймені босату кідірісін тыңдаңыз.

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

DelayBuffer [DelayCounter] = ADC_high;

дейін

DelayBuffer [DelayCounter] = (ADC_high + (DelayBuffer [DelayCounter])) >> 1;

Аяқ қосқышы үш полюсті екі жақты қосқыш болуы керек және оны electrosmash веб -сайтында сипатталғандай қосу керек.

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

Сілтемелер
Сілтемелер

(1) Электрмаш:

(2) Музыкалық зертханаларды ашыңыз:

(3) Пол Галлагер:

(4) 1284 жүктеуші:

(5) ATmega1284 8 биттік AVR микроконтроллері:

ElectrosmashOpenlabs MusicPaul Gallagher1284 жүктеуші 11284 жүктеуші 2ATmega1284 8bit AVR микроконтроллері

5 -қадам: 1 -қосымша ATMega1284P бағдарламалау

1 -қосымша ATMega1284P бағдарламалау
1 -қосымша ATMega1284P бағдарламалау
1 -қосымша ATMega1284P бағдарламалау
1 -қосымша ATMega1284P бағдарламалау
1 -қосымша ATMega1284P бағдарламалау
1 -қосымша ATMega1284P бағдарламалау

ATMega1284 микросхемасын Arduino IDE -де пайдалану үшін қалай бағдарламалау керектігі туралы жақсы түсініктеме беретін бірнеше веб -сайттар бар. Процесс негізінен келесідей: (1) Arduino IDE-ге Maniacbug Mighty-1284p Core Optiboot жүктеушісінің Mark Pendrith шанышқысын орнатыңыз. (2) ATMega1284 -ті минималды конфигурациясы бар тақтаға қосыңыз, ол 16 МГц кристалды, кристалдың екі ұшын қосатын 2 x 22 pF конденсаторлар, екі жерге түйреуішті жалғаңыз (түйреуіш 11 және 31), содан кейін Arduino Uno жерге қосыңыз, Vcc пен AVcc -ты бірге қосыңыз (түйреуіштер 10 және 30), содан кейін Uno +5v -ге қосыңыз, содан кейін қалпына келтіру түйреуішін 9 Uno D10 түйреуішіне, MISO түйреуішін UNO D12 -ге, MOSI -ге қосыңыз. 8 түйрегішін Uno D11 -ге, ал SCLK -7 -түйінін Uno D13 түйреуішіне бекітіңіз. (3) Uno -ны Arduino IDE -ге қосыңыз және Arduino -ның эскиздік үлгісін провайдер ретінде Uno -ға жүктеңіз. (4) Енді 1284 «маниакальды» қуатты оптибут тақтасын таңдап, жүктеуші жүктеу опциясын таңдаңыз. (5) Содан кейін мысал ретінде осында берілген 1284 кідіріс эскизін таңдап, эскиздер мәзіріндегі бағдарламашы ретінде Uno опциясын қолданып жүктеңіз.

Процесті толығырақ түсіндіретін сілтемелер:

ATmega1284 -ті Arduino IDEArduino Mightycore көмегімен үлкен нанға арналған AVR үшін ATMega1284p прототипін құруArduino ATmega1284p жүктеуші

6 -қадам: 2 -қосымша Arduino Uno PedalSHIELD нұсқасы

2 -қосымша Arduino Uno PedalSHIELD нұсқасы
2 -қосымша Arduino Uno PedalSHIELD нұсқасы
2 -қосымша Arduino Uno PedalSHIELD нұсқасы
2 -қосымша Arduino Uno PedalSHIELD нұсқасы
2 -қосымша Arduino Uno PedalSHIELD нұсқасы
2 -қосымша Arduino Uno PedalSHIELD нұсқасы

Schematic3, Breadboard3 және Photo3 AtMega1284 құрастырудан бұрын Uno негізіндегі схема туралы мәлімет береді.

Потенциометрдің құрғақ (кіріске тең) және дымқыл (MCU өңдегеннен кейін) сигналы үшін миксер ретінде болуы тиімді болуы мүмкін, ал 2 -схема, 2 -кесте тақтасы және 2 -сурет бұрын салынған тізбектің схемалық мәліметтерін береді. ол кіріс миксеріне осындай кірісті қамтиды. Сондай -ақ, Open Music Labs StompBox -ті төрт OpAmps көмегімен басқа араластырғышты енгізу үшін қараңыз

Ұсынылған: