Реклама ⓘ
Главная » Микроконтроллеры
Призовой фонд
на апрель 2024 г.
1. 100 руб.
От пользователей

Реклама ⓘ

Эффект эхо (echo) на микроконтроллере Atmega32

Когда я учился в 10 классе, я усиливал аудио сигнал схемой на нескольких транзисторах bc547 - bc557. С помощью этой схемы я мог усиливать аудио сигнал, но не мог создать эффект эхо как в громкоговорителях. Я просто не мог себе представить, как реализовать такой эффект. Тогда это было за пределами моих знаний.
Сейчас я могу сделать это, просто произведя цифровую обработку сигнала с помощью микроконтроллера. Принцип работы очень прост – в кольцевом буфере применяется обратная связь с запаздыванием. Сделано это с помощью микроконтроллера ATmega32. Это простой, но очень интересный проект. По этому принципу мы можем сделать не только эхо, но и много других небольших DSP эффектов, если у микроконтроллера будет больше ОЗУ.

Принцип действия

В проекте я использовал микроконтроллер Atmega32. Он имеет 2КБ ОЗУ и АЦП, чего достаточно для реализации данного эффекта эхо.  Для захвата голоса используется электретный микрофон. Сигнал с него подается на АЦП с соответствующим усилением и смещением уровня, что важно для качественной работы. АЦП преобразует аналоговый сигнал в цифровой, с определенной настраиваемой частотой дискретизации. Используется кольцевой буфер на 1900 байт. Нам необходимо сделать задержку при входе и выходе звука. Таким образом, для получения задержки мы можем заполнить буфер в одной точке, а прочитать в другой. Как сделать эту задержку максимальной? Это хорошо объясняется диаграммой.

uint8_t buf[1900];
Кольцевой буфер

Теперь необходимо сделать эффект эхо. Для этого нам необходимо обеспечить обратную связь от точки чтения, к точке записи. Говоря простыми словами, мы должны добавить уменьшенную модель считываемого сигнала вместе с образцом записи. Коэффициент обратной связи всегда должен быть <1. Таким образом, цифровой сигнал в буфере обрабатывается путем добавления эффекта эха. Считаные данные выходят из микроконтроллера в виде ШИМ сигнала, который может быть демодулирован с помощью простого RC фильтра, и усилен при помощи УНЧ.

В программе я добавил 5 уровней эхо – от эхо 0 до эхо 4.

Наблюдения

Если увеличить частоту дискретизации, то время от основного звука до эхо и длительность эхо будет меньше, но качество звука увеличится.
Если уменьшить частоту дискретизации, то время от основного звука до эхо и длительность эхо увеличится.
Если увеличить коэффициент усиления обратной связи, объем эхо и количество его повторения увеличится.
Если увеличить коэффициент усиления обратной связи выше 1, то звук испортится за счет колебаний.
Чтобы получить очень хорошее качество звука с хорошим эффектом эха, должно быть много ОЗУ и частота дискретизации должна быть высокой.  Для этой цели лучше подойдет ATmega2560 с 8КБ ОЗУ.

Принципиальная схема устройства:

Принципиальная схема

Схема микрофонного усилителя:

Схема микрофонного усилителя

Схема фильтра:

Схема фильтра

Также необходим любой усилитель звука НЧ. Схему, подходящую к вашим колонкам можно легко найти в интернете, и я не стал давать её тут.

Исходник и прошивка прилагаются

Оригинал статьи

Прикрепленные файлы:

Теги:

Касьянов А. Опубликована: 2012 г. 0 0
Я собрал 0 0
x

Оценить статью

  • Техническая грамотность
  • Актуальность материала
  • Изложение материала
  • Полезность устройства
  • Повторяемость устройства
  • Орфография
0

Средний балл статьи: 0 Проголосовало: 0 чел.

Комментарии (4) | Я собрал (0) | Подписаться

-1
Алексадр #
Я собрал сей девайс, но у меня почему-то очень сильные искажения и трещания... на вход подаю электрогитару.
Ответить
+1
Александр #
Разобрался. Я не установил фьюз биты, чтобы частота была от внешнего кварца. После установки все ок. Но эффект мне не понравился: очень низкокачественный. Нужен в разы мощней МК, чтобы эффект стал приятен для ушей. Но зато ради эксперимента было интересно.
Ответить
0
zhikh #
Но никто и не обещал, что это высококлассный horous
Ответить
0
zhikh #
Собрал на макетной плате, всё заработало с первого раза, как ни странно. Схема рабочая.
Ответить
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется сила тока?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

Pickit 2 - USB-программатор PIC-микроконтроллеров
Pickit 2 - USB-программатор PIC-микроконтроллеров
Бокс для хранения компонентов FM-модуль RDA5807M
вверх