Оглавление:
Видео: Блок эффектов ATMega1284 Quad Opamp: 4 ступени (с изображениями)
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:53
Stomp Shield для Arduino от Open Music Labs использует Arduino Uno и четыре операционных усилителя в качестве блока гитарных эффектов. Подобно предыдущему руководству, в котором показано, как портировать Electrosmash Uno Pedalshield, я также портировал блок гитарных эффектов Open Music Labs на ATMega1284P, который имеет в восемь раз больше оперативной памяти, чем Uno (16 КБ против 2 КБ).
По сравнению с предыдущими инструкциями по использованию блока эффектов ATMega1284, этот блок имеет следующие преимущества:
(1) Он имеет микшер, который смешивает необработанный сигнал с обработанным MCU сигналом - это означает, что качество сигнала на выходе значительно улучшается.
(2) Он выполняет 16-битную обработку вывода для двух выходов ШИМ, тогда как предыдущий блок эффектов использовал 8 бит для некоторых примеров, таких как эффект задержки.
(3) Он имеет потенциометр обратной связи, который можно использовать для усиления эффектов - особенно с эффектом фленджера / фазера, около 30% обратной связи значительно повышает качество эффекта.
(4) Частота фильтра нижних частот составляет 10 кГц по сравнению с 5 кГц в предыдущем блоке эффектов - это означает, что сигнал на выходе звучит значительно «четче».
(5) Он использует другой триггер прерывания, что может объяснить значительно более низкий уровень шума, показываемый этим блоком эффектов.
Я начал с макета Open Music Labs Stompbox Shield на базе Uno и был настолько впечатлен производительностью этой схемы обработки сигнала с четырьмя операционными усилителями (даже при использовании Arduino Uno), что перенес ее на стрипборд для более постоянного использования.
Та же схема с четырьмя операционными усилителями и код DSP были затем перенесены на ATMega1284 - опять же, что удивительно, если не считать несущественных изменений, таких как назначение переключателей и светодиода другому порту и выделение 7000 килослов вместо 1000 килослова ОЗУ для буфера задержки, в исходный код нужно было внести только два существенных изменения, а именно: переход на ADC0 с ADC2 и изменение выходов Timer1 / PWM OC1A и OC1B с порта B на Uno на порт D (PD5 и PD4) на ATMega1284.
Как отмечалось ранее, хотя доступны отладочные платы для ATMega1284 (Github: MCUdude MightyCore), купить голый (без загрузчика) чип - несложное упражнение (купите версию PDIP, совместимую с макетной и монтажной платами)., затем загрузите вилку Марка Пендрита загрузчика Maniacbug Mighty-1284p Core Optiboot или MCUdude Mightycore, используя Uno в качестве программиста ISP, а затем снова загрузите скетчи через Uno в AtMega1284. Подробности и ссылки для этого процесса приведены в приложении 1 к предыдущему руководству.
Шаг 1: Список деталей
ATMega1284P (версия корпуса PDIP с 40 выводами) Arduino Uno R3 (используется в качестве ISP для передачи загрузчика и эскизов на ATMega1284) Операционный усилитель MCP6004, четырехъядерный (или аналогичный RRIO (Rail to Rail Input and Output) OpAmp, такой как TLC2274) 1 x Красный светодиод 1 кристалл 16 МГц 2 конденсатора 27 пФ 1 конденсатор 3n9 1 конденсатор 1n2 1 конденсатор 820 пФ 2 конденсатора 120 пФ 4 конденсатора 100н 3 электролитических конденсатора 10 мкФ 16 В 4 резистора 75 кОм 4 резистора 3 кОм 1 x 36 кОм резистор 1 резистор 24 кОм 2 резистора 1M 1 резистор 470 Ом 3 резистора 1 кОм 2 x 50 кОм Потенциометры (линейные) 1 x 10 кОм Потенциометр (линейный) 3 кнопочных переключателя (один из них следует заменить на 3-полюсный 2- способ педального переключателя, если блок эффектов будет использоваться для живой работы)
Шаг 2: Строительство
Схема 1 показывает используемую схему, а Stripboard 1 - ее физическое представление (Fritzing 1), а фотография 1 - фактическую работающую схему с макетной платой. Были внесены три небольших изменения схемы: общее смещение операционного усилителя половинного уровня питания используется для трех каскадов операционных усилителей, параллельные резисторы 3 x 75 кОм и 2 x 75 кОм были заменены одиночными резисторами 24 кОм и 36 кОм, а конденсаторы обратной связи были увеличены до 120 пФ для этих двух каскадов операционных усилителей. Поворотный регулятор был заменен двумя кнопками, которые используются для увеличения или уменьшения параметров эффектов. Трехпроводное соединение с ATMega1284 показано на схеме как АЦП с контактом 40, PWMlow с контакта 19 и PWMhigh с контакта 18. Три кнопки подключены к контактам 1, 36 и 35 и заземлены на другом конце. Светодиод подключен через резистор 470 к выводу 2.
Входные и выходные каскады операционного усилителя: важно, чтобы использовался операционный усилитель RRO или предпочтительно RRIO из-за большого размаха напряжения, необходимого на выходе операционного усилителя к АЦП ATMega1284. Список деталей содержит ряд альтернативных типов операционных усилителей. Потенциометр 50k используется для регулировки входного усиления до уровня чуть ниже любого искажения, а также его можно использовать для регулировки входной чувствительности для источника входного сигнала, отличного от гитары, например, музыкального плеера. Второй входной каскад операционного усилителя и первый выходной каскад операционного усилителя имеют RC-фильтр более высокого порядка для удаления сгенерированного в цифровом виде шума микроконтроллера из аудиопотока.
Стадия АЦП: АЦП настроен на чтение через прерывание таймера. Конденсатор емкостью 100 нФ должен быть подключен между выводом AREF ATMega1284 и землей, чтобы уменьшить шум, поскольку внутренний источник Vcc используется в качестве опорного напряжения - НЕ подключайте вывод AREF к +5 вольт напрямую!
Этап DAC PWM: поскольку ATMega1284 не имеет собственного DAC, выходные звуковые сигналы генерируются с использованием широтно-импульсной модуляции RC-фильтра. Два выхода PWM на PD4 и PD5 устанавливаются как старший и младший байты аудиовыхода и смешиваются с двумя резисторами (3k9 и 1M) в соотношении 1: 256 (младший байт и старший байт), что генерирует аудиовыход..
Шаг 3: Программное обеспечение
Программное обеспечение основано на эскизах педалей стомпбокса Open Music Labs, и включены два примера, а именно эффект фленджера / фазера и эффект задержки. Опять же, как и в предыдущем случае, переключатели и светодиоды были перемещены на другие порты, отличные от тех, которые используются программистом ISP (SCLK, MISO, MOSI и Reset).
Буфер задержки был увеличен с 1000 слов до 7000 слов, а PortD был установлен как выход для двух сигналов ШИМ. Даже с увеличением буфера задержки скетч по-прежнему использует только около 75% доступной 16 кБ RAM ATMega1284.
Другие примеры, такие как тремоло с веб-сайта Open Music Labs для pedalSHIELD Uno, можно адаптировать для использования Mega1284, изменив включаемый заголовочный файл Stompshield.h:
(1) Измените DDRB | = 0x06; // устанавливаем выходы ШИМ (контакты 9, 10) на outputtoDDRD | = 0x30;
а также
ADMUX = 0x62; // регулировка влево, adc2, внутренний vcc как ссылка на ADMUX = 0x60; // left adjust, adc0, internal vcc как ссылка // Эти изменения являются ЕДИНСТВЕННЫМИ существенными изменениями кода // при переносе с Uno на ATMega1284
Для двух примеров, включенных здесь, файл заголовка включен в эскиз, т. Е. Файлы заголовков использовать не нужно.
Кнопки 1 и 2 используются в некоторых эскизах для увеличения или уменьшения эффекта. В примере с задержкой время задержки увеличивается или уменьшается. Когда скетч загружается впервые, он запускается с эффектом максимальной задержки. Для скетча фэйзера флэнжера попробуйте увеличить контроль обратной связи для усиления эффекта.
Чтобы изменить задержку на эффект эха (добавить повторение), измените строку:
буфер [расположение] = ввод; // сохраняем новый образец
к
буфер [расположение] = (вход + буфер [расположение]) >> 1; // Используйте это для эффекта эха
Ножной переключатель должен быть трехполюсным двухпозиционным переключателем.
Шаг 4. Ссылки
Электросмаш
Open Music labs Музыка
Педаль эффектов ATMega
Рекомендуемые:
Предусилитель звуковых эффектов с VS1053b: 3 ступени
Предусилитель звуковых эффектов с VS1053b: это полнофункциональный предусилитель звуковых эффектов, использующий VLSI VS1053b Audio DSP IC. Он имеет потенциометр для регулировки громкости и пяти параметров эффекта. Он имеет девять фиксированных эффектов и один настраиваемый эффект, причем каждый эффект имеет пять эффектов
Крошечный басовый предусилитель и блок эффектов: Black Ice, Electra Fuzz: 9 шагов (с изображениями)
Крошечный басовый предусилитель и блок эффектов: Black Ice, Electra Fuzz: в этом руководстве я покажу, как вы можете создать свой собственный басовый / гитарный предварительный усилитель и блок эффектов. Я решил создать гибридный блок эффектов, который смешивает обычные эффекты искажения «Black Ice» или «Electra Distortion» с эффектом нечеткости «Bazz Fuss»
Блок минимальных звуковых эффектов Arduino: 5 шагов
Блок звуковых эффектов Minimal Arduino: это быстрый проект блока звуковых эффектов. Устройство считывает предварительно записанный файл WAV с microSD, назначенного определенной кнопке, и воспроизводит его при нажатии
Компактный регулируемый блок питания - блок питания: 9 ступеней (с изображениями)
Компактный регулируемый блок питания - блок питания: я уже сделал несколько блоков питания. Вначале я всегда предполагал, что мне нужен блок питания с большим количеством усилителей, но в течение нескольких лет экспериментов и сборки я понял, что мне нужен небольшой компактный блок питания со стабилизатором и хорошей регулировкой напряжения и
Превратите блок питания ATX в обычный блок питания постоянного тока !: 9 шагов (с изображениями)
Преобразуйте блок питания ATX в обычный блок питания постоянного тока! Источник питания постоянного тока может быть труднодоступным и дорогим. С функциями, которые более или менее подходят для того, что вам нужно. В этом руководстве я покажу вам, как преобразовать блок питания компьютера в обычный блок питания постоянного тока с напряжением 12, 5 и 3,3 В