Оглавление:
- Шаг 1: Список деталей
- Шаг 2: Строительство
- Шаг 3: Программное обеспечение
- Шаг 4. Ссылки
- Шаг 5: Приложение 1 Программирование ATMega1284P
- Шаг 6: Приложение 2 Вариант Arduino Uno PedalSHIELD
Видео: ATMega1284P Гитара и педаль музыкальных эффектов: 6 ступеней (с изображениями)
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:53
Я портировал Arduino Uno ATMega328 Pedalshield (разработанный Electrosmash и частично на основе работы в Open Music Lab) на ATMega1284P, который имеет в восемь раз больше оперативной памяти, чем Uno (16 КБ против 2 КБ). Дополнительным неожиданным преимуществом является то, что сборка Mega1284 имеет гораздо более низкий компонент шума - до такой степени, что, когда я сравниваю Uno и Mega1284 с использованием одной и той же схемы поддержки, вполне разумно описать Uno как "шумный", а Mega1284 как " тихий". Больший объем ОЗУ означает, что можно получить гораздо более длительный эффект задержки - и это демонстрирует пример скетча Arduino, который я включил. Фоновый шум дыхания при использовании эффекта Тремело также (почти) отсутствует у ATMega1284.
Сравнение трех микропроцессоров Atmel AVR, а именно 328P (Uno), 2560P (Mega2560) и Mega1284, показывает, что последний имеет наибольшее количество оперативной памяти из трех:
Aspect 328P 1284P 2560P RAM 2k 16k 8k Flash 32k 128k 256k EEPROM 1k 4k 4k UART 1 2 4 контакта ввода-вывода 23 32 86 Прерывания 2 3 8 Аналоговый вход 6 8 16
Я начал с макета PedalSHIELD на основе Uno, как в спецификации Electrosmash, но у меня не было такого же операционного усилителя RRO, как указано. В результате я получил схему, которая, как я считал, дает приемлемые результаты. Подробности этой версии Uno приведены в Приложении 2.
Затем эта же схема была перенесена на ATMega1284 - удивительно, если не считать несущественных изменений, таких как назначение переключателей и светодиода на другой порт и выделение 12 000 КБ вместо 2 000 КБ ОЗУ для буфера задержки, только в исходный код нужно было внести одно существенное изменение, а именно изменить выходы Timer1 / PWM OC1A и OC1B с порта B на Uno на порт D (PD5 и PD4) на ATMega1284.
Позже я обнаружил отличные модификации схемы Electrosmash, выполненные Полом Галлахером, и после тестирования эту схему я представлю здесь, но также с изменениями: замена Uno на Mega1284, использование Texas Instruments TLC2272 в качестве операционного усилителя и из-за отличных шумовых характеристик Mega1284 я также смог поднять уровень частоты фильтра нижних частот.
Важно отметить, что, хотя доступны отладочные платы для ATMega1284 (Github: MCUdude MightyCore), купить голый (без загрузчика) чип - несложное упражнение (купите версию PDIP, которая является макетной и стрип-платой). friendly), затем загрузите вилку Mark Pendrith загрузчика Optiboot Maniacbug Mighty-1284p Core или MCUdude Mightycore, используя Uno в качестве программиста ISP, а затем снова загрузите скетчи через Uno в AtMega1284. Подробности и ссылки для этого процесса приведены в Приложении 1.
Я хотел бы отметить три наиболее важных источника, из которых можно получить дополнительную информацию и дать ссылки на их веб-сайты и конец этой статьи: Electrosmash, Open Music Labs и Tardate / Paul Gallagher.
Шаг 1: Список деталей
ATMega1284P (версия корпуса PDIP с 40 выводами) Arduino Uno R3 (используется в качестве ISP для передачи загрузчика и эскизов на ATMega1284) OpAmp TLC2272 (или аналогичный RRIO (Rail to Rail Input and Output) OpAmp, такой как MCP6002, LMC6482, TL972) Красный светодиод, кристалл 16 МГц 2 конденсатора 27 пФ 5 конденсаторов 6n8 Конденсатор 270 пФ 4 конденсатора 100n 2 электролитических конденсатора 10 мкФ 16 В 6 резисторов 4k7 Резистор 100 кОм 2 резистора 1M резистор 470 Ом Резистор 1M2 100k Потенциометр 3 кнопочных переключателя (один из них следует заменить трехполюсным двухпозиционным педальным переключателем, если блок эффектов будет использоваться для концертной работы)
Шаг 2: Строительство
Схема 1 показывает используемую схему, а Макетная плата 1 является ее физическим представлением (Fritzing 1), а фотография 1 - фактической работающей макетной схемой. Может быть полезно иметь потенциометр в качестве смесителя для сухого (равного входному) и влажного (после обработки микроконтроллером) сигнала, и Схема 2, Макетная плата 2 и Фото 2 (перечисленные в Приложении 2) дают Детали схемы ранее построенной схемы, которая включает в себя такой смеситель от входа к выходу. Также посмотрите на StompBox Open Music Labs для другой реализации микшера с использованием четырех операционных усилителей.
Входные и выходные каскады операционного усилителя: важно, чтобы использовался операционный усилитель RRO или предпочтительно RRIO из-за большого размаха напряжения, необходимого на выходе операционного усилителя к АЦП ATMega1284. Список деталей содержит ряд альтернативных типов операционных усилителей. Потенциометр 100k используется для регулировки входного усиления до уровня чуть ниже любого искажения, а также его можно использовать для настройки входной чувствительности для источника входного сигнала, отличного от гитары, например, музыкального плеера. Выходной каскад OpAmp имеет RC-фильтр более высокого порядка для удаления сгенерированного в цифровом виде шума MCU из аудиопотока.
Стадия АЦП: АЦП настроен на постоянное считывание через прерывание. Обратите внимание, что конденсатор емкостью 100 нФ должен быть подключен между выводом AREF ATMega1284 и землей, чтобы уменьшить шум, поскольку внутренний источник Vcc используется в качестве опорного напряжения - НЕ подключайте вывод AREF к +5 вольт напрямую!
Этап DAC PWM: поскольку ATMega1284 не имеет собственного DAC, выходные звуковые сигналы генерируются с использованием широтно-импульсной модуляции RC-фильтра. Два выхода PWM на PD4 и PD5 устанавливаются как старший и младший байты аудиовыхода и смешиваются с двумя резисторами (4k7 и 1M2) в соотношении 1: 256 (младший байт и старший байт), что генерирует аудиовыход.. Возможно, стоит поэкспериментировать с другими парами резисторов, такими как пара 3k9 1M Ом, используемая Open Music Labs в их StompBox.
Шаг 3: Программное обеспечение
Программное обеспечение основано на эскизах Electrosmash, и включенный пример (pedalshield1284delay.ino) был адаптирован из их эскиза задержки Uno. Некоторые переключатели и светодиоды были перемещены на другие порты, отличные от используемых программистом ISP (SCLK, MISO, MOSI и Reset), буфер задержки был увеличен с 2000 до 12000 байтов, а PortD был установлен как выход для двух сигналов ШИМ. Даже с увеличением буфера задержки скетч по-прежнему использует только около 70% доступной 1284 RAM.
Другие примеры, такие как октавер или тремоло с сайта Electrosmash для pedalSHIELD Uno, можно адаптировать для использования в Mega1284, изменив три раздела в коде:
(1) Измените DDRB | = ((PWM_QTY << 1) | 0x02); to DDRD | = 0x30; // Указанное выше изменение является ЕДИНСТВЕННЫМ существенным изменением кода // при переносе с AtMega328 на ATMega1284
(2) Измените #define LED 13 #define FOOTSWITCH 12 #define TOGGLE 2 #define PUSHBUTTON_1 A5 #define PUSHBUTTON_2 A4
к
#define LED PB0 #define FOOTSWITCH PB1 #define PUSHBUTTON_1 A5 #define PUSHBUTTON_2 A4
(3) Измените режим pinMode (ПЕРЕКЛЮЧАТЕЛЬ, INPUT_PULLUP); pinMode (TOGGLE, INPUT_PULLUP); pinMode (PUSHBUTTON_1, INPUT_PULLUP); pinMode (PUSHBUTTON_2, INPUT_PULLUP); pinMode (светодиод, ВЫХОД)
к
pinMode (ПЕРЕКЛЮЧАТЕЛЬ, INPUT_PULLUP); pinMode (PUSHBUTTON_1, INPUT_PULLUP); pinMode (PUSHBUTTON_2, INPUT_PULLUP); pinMode (светодиод, ВЫХОД);
Кнопки 1 и 2 используются в некоторых эскизах для увеличения или уменьшения эффекта. В примере с задержкой время задержки увеличивается или уменьшается. Когда скетч загружается впервые, он запускается с эффектом максимальной задержки. нажмите кнопку «вниз» - для полного обратного отсчета до положения отсрочки отсрочки потребуется около 20 секунд - а затем нажмите и удерживайте кнопку «вверх». Послушайте, как эффект развертки при удерживании кнопки изменяет эффект на эффект фазера, хоруса и флэнжера, а также задержку при отпускании кнопки.
Чтобы изменить задержку на эффект эха (добавить повторение), измените строку:
DelayBuffer [DelayCounter] = ADC_high;
к
DelayBuffer [DelayCounter] = (ADC_high + (DelayBuffer [DelayCounter])) >> 1;
Ножной переключатель должен быть трехполюсным и двухпозиционным и должен быть подключен, как описано на сайте Электросмаша.
Шаг 4. Ссылки
(1) Электросмаш:
(2) Открытые музыкальные лаборатории:
(3) Пол Галлахер:
(4) 1284 загрузчик:
(5) ATmega1284 8-битный микроконтроллер AVR:
ЭлектросмашOpenlabs MusicPaul Gallagher1284 Bootloader 11284 Bootloader 2ATmega1284 8bit AVR микроконтроллер
Шаг 5: Приложение 1 Программирование ATMega1284P
Есть несколько веб-сайтов, которые дают хорошее объяснение того, как запрограммировать чистый чип ATMega1284 для использования с Arduino IDE. Процесс состоит в следующем: (1) Установите вилку Марка Пендрита загрузчика Maniacbug Mighty-1284p Core Optiboot в среду разработки Arduino. (2) Подключите ATMega1284 к макетной плате с минимальной конфигурацией, которая представляет собой кристалл 16 МГц, 2 конденсатора по 22 пФ, которые заземляют два конца кристалла, соедините два контакта заземления вместе (контакты 11 и 31), а затем к заземлению Arduino Uno, соедините Vcc и AVcc вместе (выводы 10 и 30), а затем к Uno + 5v, затем подключите вывод сброса 9 к выводу Uno D10, вывод 7 MISO к UNO D12, MOSI вывод 8 к Uno D11, а вывод 7 SCLK к выводу Uno D13. (3) Подключите Uno к Arduino IDE и загрузите пример скетча Arduino в качестве ISP на Uno. (4) Теперь выберите мощную плату optiboot 1284 «маньяк» и выберите параметр «Записать загрузчик». (5) Затем выберите эскиз задержки 1284, приведенный здесь в качестве примера, и загрузите его, используя опцию Uno as programmer в меню эскизов.
Ссылки, которые объясняют процесс более подробно:
Использование ATmega1284 с Arduino IDEArduino Mightycore для больших макетных AVR Создание прототипа ATMega1284p Загрузчик Arduino ATmega1284p
Шаг 6: Приложение 2 Вариант Arduino Uno PedalSHIELD
Schematic3, Breadboard3 и Photo3 предоставляют подробную информацию о схеме на основе Uno, которая предшествовала сборке AtMega1284.
Может быть полезно иметь потенциометр в качестве смесителя для сухого (равного входу) и влажного (после обработки микроконтроллером) сигнала, а на Схеме 2, Макетной плате 2 и Фото 2 приведены детали схемы ранее построенной схемы. который включает в себя такой вход для выходного микшера. Также посмотрите на StompBox Open Music Labs для другой реализации микшера с использованием четырех операционных усилителей.
Рекомендуемые:
Педаль овердрайва с питанием от батареи для самостоятельного изготовления гитарных эффектов: 5 шагов
Педаль овердрайва с автономным питанием от аккумулятора для гитарных эффектов: из любви к музыке или из любви к электронике цель этой инструкции - показать, насколько важен четырехъядерный операционный усилитель SLG88104V Rail to Rail I / O 375nA с его низким энергопотреблением и низковольтными усовершенствованиями. может произвести революцию в схемах овердрайва. Тай
NeckCrusher (педаль эффектов, установленная на гитаре): 6 шагов (с изображениями)
NeckCrusher (гитарная педаль эффектов): Дейл Розен, Карлос Рейес и Роб Кох DATT 2000
Педаль и педаль для гитарного карманного усилителя: 10 шагов
Педаль и педаль для гитарного карманного усилителя: Здравствуйте! Это мой первый инструктаж, и я старался изо всех сил заниматься тем, что я люблю, а именно музыкой. Я звукорежиссер и в свободное время играю на гитаре. Итак, вот гитарный карманный усилитель с выходной мощностью 1 Вт и минимум 4 Ом. Я использовал и
Гитарная педаль эффектов DIY Rat Clone Distortion - The Dead RAT: 5 шагов (с изображениями)
Гитарная педаль эффектов DIY Rat Clone Distortion - The Dead RAT: это не педаль дисторшна Микки Мауса! Эта педаль - клон одной из моих любимых педалей эффектов из 80-х … RAT Distortion от ProCo. Это базовая педаль дисторшна на операционном усилителе, в которой используется классический микросхема LM308N IC, довольно простая сборка для т
Создайте свою собственную педаль эффектов тремоло: 4 шага
Создайте свою собственную педаль эффектов тремоло: в этой инструкции я покажу вам, как создать собственную педаль эффектов тремоло. На самом деле педаль последовательно включает и выключает сигнал гитары (прямоугольная волна постоянного тока, генерируемая осциллятором КМОП 555, пульсирует мощность до