Оглавление:

Блок эффектов ATMega1284 Quad Opamp: 4 ступени (с изображениями)
Блок эффектов ATMega1284 Quad Opamp: 4 ступени (с изображениями)

Видео: Блок эффектов ATMega1284 Quad Opamp: 4 ступени (с изображениями)

Видео: Блок эффектов ATMega1284 Quad Opamp: 4 ступени (с изображениями)
Видео: лекция 395 Симуляция лабораторной работы в связке Компьютер- Atmega 2024, Ноябрь
Anonim
Блок эффектов ATMega1284 Quad Opamp
Блок эффектов ATMega1284 Quad Opamp

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

Рекомендуемые: