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

Странная периодическая помеха при ШИМ-генерации звука на 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-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 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 пользователей онлайн

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

    • У меня больше всего вопросов вызвала необычная схема обеспечения отрицательного питания. Автор этой обстоятельной заметки пишет: For this supply to work correctly, the transformer must have a secondary voltage of at least 18V RMS.  Почему? Что будет не так с отрицательным питанием, если напряжение на трансформаторе будет меньше 18В?   https://tinyurl.com/23mlwxtt - я в простейшей эмуляции ставлю 12В пикового напряжения для трансформатора и на стабилитроне все как положено: -5.6В.
    • Согласен, очень криво объяснил. Это работа трёх вольтовой линии, просто на диод шотки сдвоенный, на один анод приходит сигнал напрямую с трансформатора, а на второй через дроссель. Вольт/деление 5 вольт в клетке, тайминг по моему 10 МС. Третья фотография это сигнал на катодах уровень земли ровно по центру экрана. Но все линии по итогу в порядке 3.3 в, 5, в, 12 в и -12 в. Нагрузить все линии не могу сразу ,так как тут же выгорают транзисторы (имеется нагрузка 250 ватт по 10 ампер на каждую линию за исключением-12в), поэтому нагружаю 3.3 вольтовую линию на 10 ампер,  подключаю переменный резистор 50 ватт на 15 ом на 5 вольтовую линию и постепенно довожу до той той картины с перекосом (это гдето  50 ватт общее). По поводу микросхемы, вверху имеется скрин где между импульсами проскакивает мини импульс, если так можно сказать, он проскакивает и на одной  и на второй ноге (7,8). Микросхема не tl 494, а lw4933/abx942.1/c9421646. Далее они приходят на базы транзисторов 945g  коллекторы этих транзисторов соединены с  выводами трансформатора. Просто схема типовая, легче мне кажется просто привести фото самого блока, для тех кто разбирается будет гораздо информативне.  Диод шотки по 12 вольтовой линии был подгоревший, заменил на донора. Приводить скрины не буду что бы не захламлять тему. В итоге, пока все так же, при достижении определенной нагрузки суммарно где-то 50 ватт, появляется этот "выброс и перекос". По этому имеются мысли на два варианта, это микросхема , этот мини импульс между периодами, на низкой нагрузке особо не влияет, но при достижении определенной приводит с самовозбуждению входной цепи и непроизвольному открытию транзистора нижнего плеча. Либо дело в "горячей части", плавающий дефект в обвязке силовых ключей.  Спасибо за ответ.
    • @Gomerchik а вы контролировали как меняется уровень сигнала на А1 ардуины?
    • Спасибо за совет. Автором данного проекта я не являюсь, мне нужно было воссоздать уличный датчик для метеостанции взамен пропавшего(( Из разного найденного в интернете этот проект работает с моей станцией Орегон (спасибо автору). В понедельник попробую последовать Вашему совету. Но все равно куча непоняток  как блин это работает)) Если дело в неправильной отправки команды, то как на это влияет подключение датчика температуры? Если совсем не подключать таймер, то передача идет один раз (как и прописано в программе), станция принимает и отображает, но минут через сколько-то естественно станция уже ни чего не показывает, но с таймером питание полностью не пропадает с ардуинки, но передача сигнала каким-то образом работает по таймеру.  В моем понимании данная команда подается один раз потому, что таймер должен отключать питание МК после передачи сигнала и каждые 43 сек снова подавать питание (так того требует станция).  Ардуино передает показания температуры отключается полностью и 43 секунды мк не работает.  Сейчас у меня питание пока сделано на подпитке от солнечной батареи, но пару пасмурных дней и аккумулятор съедается до отключения(
    • thickman Так и сделаю. Вытащу из бу БП.  Буду знать, как отличить. Благодарю. Заменил транзисторы на IRFB20N50K. Картина стала, совсем другой.  Похоже трудность не в драйвере, на момент подвозбуда, переходные процессы, в нем, завершены. Увеличил затворные резисторы до 50ом, стало немного лучше.  Не понятно, почему верхний ключ греется несколько сильнее. Возможно, стоит посмотреть ток в коллекторе.  Снабберные емкости временно удалил, изменений не произошло.  Замена ТГР на другой, на кольце MSTN-16A-TH, так же, результата не принесла.   irfb20n50k.pdf
    • А что нить из ассортимента активных щупов производства СССР..))
  • Похожий контент

×
×
  • Создать...