Перейти к содержанию

Странная периодическая помеха при ШИМ-генерации звука на ATMega328P


France de Vague

Рекомендуемые сообщения

Здравствуйте.

Я собрал схему для генерации звуков на AVR по материалам вот этой статьи на Хабре.

Использовал ATMega328P. В этом проекте частота ШИМ 31250 Гц, так что я собрал фильтр - RC-цепь, где R = 510 Ом, а С = 0.1 мкФ приложил схему к посту (эти значения я рассчитал на предложенном в статье калькуляторе ШИМ-фильтров (приложил скриншот); нагрузкой поставил динамик с сопротивлением 8 Ом, на схему подал 5В питания с лабораторного БП.

Я загрузил в микроконтроллер демо-код, который должен проигрывать последовательность звуков. Фьюзы, вроде бы, стандартные, но я на всякий случай приложил скриншот и с ними.

 

В общем, проблема в том, что звук, который он должен воспроизводить звучит приглушенно, зато блин стоит какой-то монотонный писк, иногда почти скрип и вот он очень громкий. 

Я подумал, что проблема в неправильно рассчитанном фильтре или какой-нибудь наводке. Собрал их сто тысяч разных, но писк только приглушался вместе со всем остальным, когда я большие сопротивления ставил, а по частоте на слух не менялся(не уверен, должен ли был), хотя емкости я пробовал тоже очень разные.

Я немного почитал код, попробовал отключить функцию подавления щелчка при сменах нот (это ничего не изменило). Код довольно сложный, чтобы пытаться всерьез искать там какие-нибудь ошибки, да и я подозреваю, что там их нет.

Не могу понять в чем проблема уже пару дней. Возможно, кто-то уже собирал этот проект или что-нибудь подобное и сталкивался с таким? Подскажите, если так. 

Так же, я не уверен, может быть, проблема физическая и она в микроконтроллере, думаю стоит попробовать попробовать другой камень.

Заранее спасибо.

filter_of_pain.jpg

fuses_of_pain.jpg

scheme_of_pain.jpg

Изменено пользователем France de Vague
исправил грамматическое
Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

Как-то странно вы подключили динамик, 8-ми омный динамик через сопротивление 510 ом, естественно что звук приглушённый и почти неслышный. После rc-цепи надо бы поставить усилитель и на него нагрузить 8-ми омный динамик. По поводу писка, могу предположить, что динамик в параллель с конденсатором образовали резонансную систему, поэтому и пищит на частоте резонанса.

Ссылка на комментарий
Поделиться на другие сайты

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

47 минут назад, France de Vague сказал:

нагрузкой поставил динамик с сопротивлением 8 Ом

https://www.google.com/search?q=горе+от+ума+читать&client=firefox-b-d&source=lnms&tbm=isch&sa=X&ved=2ahUKEwjVpMXRvPr0AhWmlIsKHTyeAUIQ_AUoA3oECAEQBQ&biw=1312&bih=867&dpr=1

Ссылка на комментарий
Поделиться на другие сайты

Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

12 часов назад, IMXO сказал:

В уме нечутком не место шуткам.

12 часов назад, Alex Ferrum сказал:

Как-то странно вы подключили динамик, 8-ми омный динамик через сопротивление 510 ом, естественно что звук приглушённый и почти неслышный. После rc-цепи надо бы поставить усилитель и на него нагрузить 8-ми омный динамик. По поводу писка, могу предположить, что динамик в параллель с конденсатором образовали резонансную систему, поэтому и пищит на частоте резонанса.

А как мне иначе подключить динамик не в параллель с конденсатором? Как-то развязать? Все схемы ШИМ-фильтров, что я видел выглядят примерно одинаково и в них нагрузка подключена параллельно емкости (в том числе, и схема подключения, предложенная автором проекта выглядит так).

drawing_of_the_filter_of_pain.jpg

Изменено пользователем France de Vague
Ссылка на комментарий
Поделиться на другие сайты

12 минут назад, France de Vague сказал:

В уме нечутком не место шуткам.

ну так моск включать хоть изредка надо или нет?
сколько нагрузочная способность выходов МК? 20мА максимум
сколько ток через динамик 5в/8ом=625мА
можешь ответить на простой вопрос: можно подключать динамик на прямую к выходам МК или нет?
дальше подключил динамик через НЧ-фильтр, даже если не учитывать конденсатор, а только считать сопротивление резистора и динамика во сколько раз уменьшил уровень сигнала?

 

22 минуты назад, France de Vague сказал:

Все схемы ШИМ-фильтров, что я видел выглядят примерно одинаково и в них нагрузка подключена параллельно емкости

угу... и нагрузкой ставят буферный повторитель на ОУ, входное сопротивление которого исчисляется десятками мегаом, и на работу НЧ-фильтра он никак не влияет.

32 минуты назад, France de Vague сказал:

в том числе, и схема подключения, предложенная автором проекта выглядит так

где в статье сказано что на выход фильтра подключается динамик 8ом?????

Ссылка на комментарий
Поделиться на другие сайты

2 минуты назад, v1ct0r сказал:

@France de Vague для ардуино скетча нет?

Есть, я и его пробовал запускать с теми же фильтрами, динамиком и питанием, но и там тоже есть писк.

1 час назад, IMXO сказал:

где в статье сказано что на выход фильтра подключается динамик 8ом?????

Там было написано что-то вроде "Я не электронщик, использовал китайские наушники" и я решил, мол недостаток конкретики подразумевает, что это не так уж и важно)

1 час назад, IMXO сказал:

ну так моск включать хоть изредка надо или нет?

Так, я включил. Сейчас попробую воспользоваться.

 

53 минуты назад, Bobius сказал:

динамик к мк подключают так:

Спасибо большое.

Ссылка на комментарий
Поделиться на другие сайты

1 час назад, Bobius сказал:

динамик к мк подключают так:

сомневаюсь, что это поможет решить проблему

 

18 часов назад, France de Vague сказал:

стоит какой-то монотонный писк

только не подумайте, что против такого подключения динамика :) 

Изменено пользователем v1ct0r

все гениальное просто. чем проще тем надежнее.

Ссылка на комментарий
Поделиться на другие сайты

1 час назад, France de Vague сказал:

Сейчас попробую воспользоваться.

тогда для начала выкинь калькулятор из первого поста, он погоду на Марсе считает.
если все посчитать правильно , то частота среза твоего "фильтра" получится около 200кГц...
почему так? потому что при расчетах RC-фильтра берется полное сопротивление цепи: сопротивление источника сигнала, сопротивление Rc  и сопротивление нагрузки.
сопротивление выхода МК около Rout=80ом
Rc=510ом
Rn=8ом
R=(Rout+Rc)*Rn/(Rout+Rc+Rn)=(80+510)*8/(80+510+8)=7.89ом
частота среза по 3дБ:
f=1/(2*Pi*R*C)=1/(2*Pi*7.89*0.1*10^-6)=201.717кГц
при этом  за грубил сигнал в 75 раз или на 37,5дБ
367653836__.jpg.46f7a605007e03522ea2f9c6430011f1.jpg

Ссылка на комментарий
Поделиться на другие сайты

В 24.12.2021 в 16:30, IMXO сказал:

если все посчитать правильно

Окей, стало быть, мне нужно после фильтра добавить что-то, что не позволит динамику шунтировать цепь (я надеюсь, я не ошибаюсь с терминологией). Я так понимаю, лучший вариант это операционный усилитель, но у меня такого нет, а есть только биполярные n-p-n транзисторы. И на таком я бы мог собрать эмиттерный повторитель.

Я измерил сопротивление перехода база-эмиттер моего транзистора - оно составило в районе 750 кОм.

Я подставил его в приведенную вами формулу получилось так: R = (80+ 510) * (8+750*10^3)/(80+510+750*10^3 + 8) = 589.5 Ом

И частота среза f = 1/(2*Pi*589.5*0.1*10^-6) = 2702.1 Гц.

Такая схема выходит.

Я почему-то подозреваю, что все равно что-то упустил (помимо того, что высокое сопротивление RC-цепи делает звук тише)... 

pain.jpg

Изменено пользователем France de Vague
Ссылка на комментарий
Поделиться на другие сайты

1 час назад, France de Vague сказал:

Я почему-то подозреваю, что все равно что-то упустил (помимо того, что высокое сопротивление RC-цепи делает звук тише)...

Ну, в общем, да, так оно не работает )

Ссылка на комментарий
Поделиться на другие сайты

3 часа назад, France de Vague сказал:

Я измерил сопротивление перехода база-эмиттер моего транзистора - оно составило в районе 750 кОм.

:D и как ты его измерил??? китайским мультиметром на 2МОм... поздравляю ты открыл еще один способ измерять прямое падение напряжения на переходе база-эмиттер в милливольтах.
и да никакого отношения к входному сопротивлению каскада с ОК это не имеет.
оное приблизительно равно сопротивлению нагрузки умноженное на коэф.усиления транзистора.
те примерно 240..300ом

Ссылка на комментарий
Поделиться на другие сайты

34 минуты назад, IMXO сказал:

:D и как ты его измерил???

Неправильно)

Мой план с эмиттерным повторителем не сработал и, я так понимаю, что и не должен был... По-этому, я подключил динамик к коллектору, но и это, кроме тишины, ничего не дало. Я подумал, что, возможно, 510 Ом таки слишком много для транзистора, чтобы типа открыться и сделал RC-цепочку на 180 Ом и 0.3 мкФ - это тоже ничего не изменило.

Я, блин, не понимаю, почему так сложно подключить динамик к микроконтроллеру ))

Изменено пользователем France de Vague
Ссылка на комментарий
Поделиться на другие сайты

Ну, что ж, наконец подключил динамик правильно через транзистор. Очень долго с этим возился из-за того, что экран внутри кабеля динамика замкнул провода - безумие. 

Однако, писк никуда не делся...

Еще такое странное дело, ток через динамик составляет 95мА и это только потому что блок питания его ограничивает. Стало быть, при напряжении питания в 5В на нем рассеивается 475 мВ, что несколько выше, чем его номинальная мощность.

Видимо, этой схеме все-таки чего-то не хватает ? )

WhatsApp Image 2021-12-28 at 12.06.14.jpeg

Ссылка на комментарий
Поделиться на другие сайты

1 час назад, France de Vague сказал:

Видимо, этой схеме все-таки чего-то не хватает ? )

Примерно вот так вот должен 8и- омная динамическая головка подключаться.images.jpeg.b244c168e10ddc34d039377b3b28474f.jpeg

 

Ссылка на комментарий
Поделиться на другие сайты

7 минут назад, dasZebra сказал:

Примерно вот так вот должен 8и- омная динамическая головка подключаться

Да, я видел эти мрачные схемы и хотел бы сделать так, я невероятно рад был бы использовать операционный усилитель, но у меня нет даже p-n-p транзисторов.

К тому же, я и с одним общим эмиттером разбирался целый день. Думаю, не стоит бежать вперед жопы.

Однако, если вы можете подсказать, какая часть этой схемы поможет мне устранить помеху на звуковой частоте от ШИМ, я буду невероятно благодарен.

Ссылка на комментарий
Поделиться на другие сайты

14 минут назад, France de Vague сказал:

поможет мне устранить помеху на звуковой частоте от

Это не помеха. Вы включили транзистор в "режим умножения" частоты, и слышите какую то  гармонику.

Вам нужно перевести транзистор в линейный режим добавив резистор на базу с коллектора и добавив разделительный конденсатор между фильтром и базой. Но в любом случае 8 ом нагрузка неподходит, будет очень тихо.

 

Ссылка на комментарий
Поделиться на другие сайты

В общем, для ограничения тока я добавил последовательно динамику резистор в 1 кОм. ВСЕ стало сильно тише, но отношение уровня помехи к уровню полезного сигнала не изменилось. Также, параллельно динамику я добавил диод - я так понял, он немного сдерживает самоиндукцию катушки динамика, но и он никак не повлиял на помеху.

Поищу TVS, слышал они лучше подходят.

Теперь моя схема выглядит так. Надеюсь, кому-нибудь будут потом интересны и полезны мои идиотические заметки.

Помеха звучит на частоте, на вскидку, 1 кГц. Полезный звук подавлен, его за ней почти не слышно. В общем-то ничего не изменилось с добавлением транзистора, я явно что-то упустил.

image.png.53324eee5a48b67a0c912477ef1daf18.png

1 минуту назад, dasZebra сказал:

Это не помеха. Вы включили транзистор в "режим умножения" частоты, и слышите какую то  гармонику.

Вам нужно перевести транзистор в линейный режим добавив резистор на базу с коллектора и добавив разделительный конденсатор между фильтром и базой. Но в любом случае 8 ом нагрузка неподходит, будет очень тихо.

 

Спасибо, сейчас попробую. Лишь бы помехи слышно не было и я буду счастлив:3

Ссылка на комментарий
Поделиться на другие сайты

Говоря по существу, добавил согласно совету dasZebra резистор смещения и разделительный конденсатор. От чего-то решил, что ток 8 мА через нагрузку в 8 Ом будет в порядке и посчитал резистор вышло ~280 кОм. Разделительный конденсатор посчитал, прикинув сопротивление БЭ-перехода.

В 27.12.2021 в 18:30, IMXO сказал:

те примерно 240..300ом

 Как оказалось, Rбэ с разделительным конденсатором формируют между собой ФВЧ. Для частоты среза выбрал емкость 22 мкФ.

Так что схема теперь выглядит так:

image.png.2ded1f315b1af239d545d7088ef05862.png

Конечно помеха/гармоника никуда не делась, только стала пронзительнее, видимо, из-за излишка тока.

Стало быть я и в этот раз что-то упустил...

 

Изменено пользователем France de Vague
Ссылка на комментарий
Поделиться на другие сайты

12 часов назад, France de Vague сказал:

Так что схема теперь выглядит так:

Если хотите проверить схему,  подайте на вход схемы заведомо качественный сигнал . Или соберите 100% работающий усилитель и поставьте на вход потенциометр . Вроде это не сложные соображения . А с вашим методом  тыка будем ждать долго ... 

Ссылка на комментарий
Поделиться на другие сайты

7 часов назад, v1ct0r сказал:

осциллографом не пробовали смотреть, что у вас на выходе фильтра?

Посмотрел:

image.png.1822748090ce6f4580f874fdb517eb03.png

Оказалось, частота у этой хрени 4 кГц, а не один. Я думал, что мой RC-фильтр посчитан на частоту среза 2.9 кГц с учетом вот этого авторитетного заявления

В 24.12.2021 в 16:30, IMXO сказал:

сопротивление выхода МК около Rout=80ом

На самом же деле,  Rout = 25 Ом, если кому интересно (спосибо stackexchange).

image.png.56c8279cc3f844b49fd3683a01cf6bb9.png

Я полагаю, что увеличив сопротивление, я от этой штуки избавлюсь. Но выяснить тайну ее происхождения это не помогает.. (

6 часов назад, dodik сказал:

Если хотите проверить схему,  подайте на вход схемы заведомо качественный сигнал

Сейчас займусь этим.

Изменено пользователем France de Vague
Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...