Выходная часть ШИМ

Здравствуй, All!

Очень хочется пообщаться с теми, кто реально синтезировал гармонические функции с помощью ШИМ. Хотелось синтезировать звук 400 - 2000 Гц. С програмной частью особых проблем не возникло а вот как правильно разработать выходную часть которая из импульсов будет собирать синус ... возникли сложности :((

│ │ │\ ┌───────┐ │\ Выход ШИМ AVR ├──┤ >├──┤ ├──┬─────┬───┤ \ │ │/ └───────┘ │ │ │ \ │ ─┴─ ┌─┴─┐ │ >──────── ─┬─ │ │ │ / │ │ │ │ / │ │ │ │/ │ └─┬─┘ │ │ ─┴─ ──┴──

Ток с ШИМ через диод и токоограничивающий резистор заряжает конденсатор, который разряжается через резистор, и полученный сигнал идет на операционник. При скважности ШИМ 1/2 на входе операционника питание пополам. Соответственно половинки синусоиды собираем играя скважностью. До этого момента проблем нет. Все прекрасно собирается и работает, _но_ когда я смотрю осциллоскопом на полученный сигнал заметен очень сильный дребезг при разряде конденсатора. Когда он заряжается то все супер а вот когда идет разряд синусоида резко падает вниз. Этот скачек достигает примерно пятой части всей амплитуды, синусоида получается рваная, что естественно не устраивает. :(( Увеличение емкости или разрядного резистора погоды не делает, разрывы все равно остаются, при этом резко уменьшается амплитуда выходного сигнала. Пробовал вместо зарядного резистора ставить дроссель 50мгн но он просто начинает подрезать амплитуду а на разрывы никак не влияет. Похоже нужно другое схемное решение, подскажите как такие вещи делает. 1 период полезного сигнала формирую 16-ю импульсами ШИМ.

С уважением, Олег.

... В чем заключается мультизадачнось WINDOWS? Работает и глючит одновременно!

Reply to
Oleg Dolgov
Loading thread data ...

Mon Oct 03 2005 14:48, Oleg Dolgov wrote to All:

OD> как правильно OD> разработать выходную часть которая из импульсов будет собирать синус ...

OD> Ток с ШИМ через диод и токоограничивающий резистор заряжает конденсатор, OD> который разряжается через резистор, и полученный сигнал идет на OD> операционник.

Нафиг там диод? Никакой от него пользы, один вред. Нужен обычный ФНЧ. Можно даже первого порядка, но лучше более высокого. Частота среза должна соответствовать полосе частот синтезируемых сигналов, а крутизна среза (т.е. порядок фильтра) должна выбираться исходя из желаемого коэфф. подавления несущей частоты ШИМа.

Пока Алексей

Reply to
Alex Kouznetsov

Mon Oct 03 2005 14:48, Oleg Dolgov wrote to All:

OD> Очень хочется пообщаться с теми, кто реально синтезировал гармонические OD> функции с помощью ШИМ. Хотелось синтезировать звук 400 - 2000 Гц

  • несущая PWM должна быть в хорошем ультразвуке, хотя бы 24kHz а лучше еще выше. * звук нужно апсамплить до частоты несущей PWM. Хотя бы простейшей линейной интерполяцией. * из-за недостаточной разрядности PWM нужно делать noise shaping. * PWM должен быть симметричным. То, что в даташитах на AVR они называют phase correct PWM. * Сигнал нужно подвергнуть предыскажениям (поднять ВЧ). * Восстановление сигнала - просто любой ФHЧ. Hапример, Sallen-Key. Плюс деемфазис для компенсации предыскажений.

Если все это сделать, то с помощью процессора класса AVR можно сделать качество ~300...3500Hz, ~0.1% THD, ~60dB SNR.

По-видимому ты собрался генерить DTMF или AОH. Для этого все вышеуказанное совершенно необязательно. Можно внаглую генерить два прямоугольника и складывать их на резисторах.

VLV

"Fortress of Madman"

Reply to
Vladimir Vassilevsky

VV> По-видимому ты собрался генерить DTMF или AОH. Для этого все вышеуказанное VV> совершенно необязательно. Можно внаглую генерить два прямоугольника VV> и складывать их на резисторах.

Угу. Лучше все же простейшими RC подвалить фронты до сложения

Reply to
Rifkat Abdulin

Hello, Oleg Dolgov! You wrote in conference fido7.ru.embedded to All on Mon, 03 Oct 2005 13:48:20 +0400:

OD> Очень хочется пообщаться с теми, кто реально синтезировал OD> гармонические функции с помощью ШИМ. Хотелось синтезировать OD> звук 400 - 2000 Гц. С програмной частью особых проблем не OD> возникло а вот как правильно разработать выходную часть OD> которая из импульсов будет собирать синус ... возникли OD> сложности :((

OD> │ OD> │ │\ ┌───────┐ │\ OD> Выход ШИМ AVR ├──┤ >├──┤ ├──┬─────┬───┤ \ OD> │ │/ └───────┘ │ │ │ \

Что тут было изображено для меня оказалось нечитаемым

OD> Ток с ШИМ через диод и токоограничивающий резистор заряжает OD> конденсатор, который разряжается через резистор, и полученный OD> сигнал идет на операционник.

На фига там диоды? ШИМ демодулируется простой r-c цепочкой (интегратором).

dima

formatting link

Reply to
Dmitry Orlov

Hello Oleg.

03 Oct 05 14:48, Oleg Dolgov wrote to All:

OD> Ток с ШИМ через диод и токоограничивающий резистор заряжает конденсатор, OD> который разряжается через резистор,

У тебя дypная схема, где ты такyю взял? Hyжен пpостой ФHЧ, напpимеp:

|| +-----------||-------------+ | || | | | In +-----+ | +-----+ |\ | o--| |--+--+ +-----+------+ \ | +-----+ +-----+ | | /-+---> Out | +-o / | --+-- | |/ | --+-- | | | +------+ | ---

ФHЧ нyжно считать так, чтобы собственная частота ШИМ попадала в полосy загpаждегния, а диапазон pабочих частот в полосy пpопyскания. Чем сильнее pазнесена частота ШИМ с диапазоном pабочих частот, там меньше тpебования к ФHЧ (вплоть до использования пpостой RC-цепи), пpи пpочих pавных.

С уважением, Andy <mailto:andy coбaкa svrw.ru>

icq 44341220

Reply to
Andy Mozzhevilov

Oleg, ты ещё здесь сидишь?

Понедельник Октябрь 03 2005 13:48, Oleg Dolgov wrote to All:

OD> Очень хочется пообщаться с теми, кто реально синтезировал OD> гармонические функции с помощью ШИМ. Хотелось синтезировать звук 400 - OD> 2000 Гц. С програмной частью особых проблем не возникло а вот как OD> правильно разработать выходную часть которая из импульсов будет OD> собирать синус ... возникли сложности :((

Диод выкинуть, фильтр, пропускающий полезную полосу частот и "давящий" гармоники ШИМ поставить. Убедиться, что на ножке контроллера прямоугольный сигнал, не "утягивающийся" нагрузкой.

Георгий

Reply to
George Shepelev

Rifkat, ты ещё здесь сидишь?

Понедельник Октябрь 03 2005 18:03, Rifkat Abdulin wrote to Vladimir Vassilevsky:

VV>> совершенно необязательно. Можно внаглую генерить два VV>> прямоугольника и складывать их на резисторах. RA> Угу. Лучше все же простейшими RC подвалить фронты до сложения

RC цепочка - линейное устройство, так что фронты будут давиться ничуть не лучше ;) Другое дело, если сигналы через пару полосовых фильтров пропускать...

Георгий

Reply to
George Shepelev

Здравствуй, All!

Спасибо всем откликнувшимся, буду пробовать :)

С уважением, Олег.

... В чем заключается мультизадачнось WINDOWS? Работает и глючит одновременно!

Reply to
Oleg Dolgov

VV>>> совершенно необязательно. Можно внаглую генерить два VV>>> прямоугольника и складывать их на резисторах. RA>> Угу. Лучше все же простейшими RC подвалить фронты до сложения

GS> RC цепочка - линейное устройство, так что фронты будут давиться ничуть GS> не лучше ;) Другое дело, если сигналы через пару полосовых фильтров GS> пропускать...

Интересно - полосовые фильтры стали нелинейнее RC-цепей? ;-) Подробнее поясни свое первое предложение - относительно чего "ничуть не лучше"? Если относительно вообще без RC - прогони спектр без них и с ними. И сравни

Reply to
Rifkat Abdulin

Andy, ты ещё здесь сидишь?

Вторник Октябрь 04 2005 09:45, Andy Mozzhevilov wrote to Oleg Dolgov:

OD>> Ток с ШИМ через диод и токоограничивающий резистор заряжает OD>> конденсатор, который разряжается через резистор, AM> У тебя дypная схема, где ты такyю взял? Hyжен пpостой ФHЧ, напpимеp:

AM> || AM> +-----------||-------------+ AM> | || | AM> | | AM> In +-----+ | +-----+ |\ | AM> o--| |--+--+ +-----+------+ \ | AM> +-----+ +-----+ | | /-+---> Out AM> | +-o / | AM> --+-- | |/ | AM> --+-- | | AM> | +------+ AM> | AM> ---

"У тебя дурная схема" (c) твой ;-)

Если вместо повторителя поставить ИHУH (добавив делитель на паре резисторов на инвертирующий вход), параметры резко улучшаются. Описано у Хорвица с Хиллом...

Георгий

Reply to
George Shepelev

OD> | OD> | |\ |-------+ |\ OD> Выход ШИМ AVR +--| >+--| +--+-----+---| \ OD> | |/ +-------| | | | \ OD> | -+- |-+-+ | >-------- OD> -+- | | | / OD> | | | | / OD> | | | |/ OD> | +-+-| OD> | | OD> -+- --+--

OD> Ток с ШИМ через диод и токоограничивающий резистор заряжает конденсатор,

А зачем диод? Достаточен HЧ (low pass) фильтр. В минимальном варианте в виде RC цепи. Вот на этом операционнике и сделай.

Reply to
Kirill Frolov

VV> По-видимому ты собрался генерить DTMF или AОH. Для этого все VV> вышеуказанное VV> совершенно необязательно. Можно внаглую генерить два прямоугольника VV> и складывать их на резисторах.

А зачем на резисторах, если проще с достаточно мелкой дискретностью переключать выход на выход каждого из генераторов?

Reply to
Kirill Frolov

Wed Oct 05 2005 22:44, Kirill Frolov wrote to Vladimir Vassilevsky:

VV>> Можно внаглую генерить два прямоугольника VV>> и складывать их на резисторах.

KF> А зачем на резисторах, если проще с достаточно мелкой дискретностью KF> переключать выход на выход каждого из генераторов?

Извращенец :) Страшно представить, какой получится спектр у подобного сигнала и как оно будет звучать на слух, хотя приниматься будет... VLV

"Fortress of Madman"

Reply to
Vladimir Vassilevsky

Rifkat, ты ещё здесь сидишь?

Среда Октябрь 05 2005 11:07, Rifkat Abdulin wrote to George Shepelev:

VV>>>> совершенно необязательно. Можно внаглую генерить два VV>>>> прямоугольника и складывать их на резисторах. RA>>> Угу. Лучше все же простейшими RC подвалить фронты до сложения GS>> RC цепочка - линейное устройство, так что фронты будут давиться RA> ничуть GS>> не лучше ;) Другое дело, если сигналы через пару полосовых GS>> фильтров пропускать... RA> Интересно - полосовые фильтры стали нелинейнее RC-цепей? ;-)

Полосовые фильтры могут иметь существенно разные характеристики. Можно обеспечить высокую степень затухания вне "рабочих" полос. Hа RC-цепочках особой разницы не получится, крутизна спада слишком мала.

Главное. Hа сегодня смысл формировать битональный сигнал прямоугольниками нету - доступны множество дешёвых контроллеров с ШИМом, на котором с лёгкостью формируется смесь синусов...

Георгий

Reply to
George Shepelev

Kirill, ты ещё здесь сидишь?

Среда Октябрь 05 2005 21:44, Kirill Frolov wrote to Vladimir Vassilevsky:

KF> А зачем на резисторах, если проще с достаточно мелкой дискретностью KF> переключать выход на выход каждого из генераторов?

Всё это было актуально ... энное число лет назад. Пока не появились дешёвые контроллеры с ШИМом, к примеру сегодня я бы делал такое на PIC16F818.

Георгий

Reply to
George Shepelev

Hello George!

06 Oct 05 13:12, you wrote to Rifkat Abdulin:

GS> Главное. Hа сегодня смысл формировать битональный сигнал GS> прямоугольниками нету - доступны множество дешёвых контроллеров с GS> ШИМом, на котором с лёгкостью формируется смесь синусов...

Могу сказать с точностью до наоборот: Hа сегодня смысл формировать битональный сигнал шимом нету, потому что две ноги дешевого контроллера и два резистора стоят существенно дешевле, чем одна нога дешевого контроллера с ШИМом плюс ФHЧ, который дает подавление внеполосных сигналов, сравнимое с двумя ногами и двумя резисторами.

Тебе нужно дополнительно три катушки или операционник с кучей обвязки? Мне нет.

Anatoly

Reply to
Anatoly Mashanov

Anatoly, ты ещё здесь сидишь?

Пятница Октябрь 07 2005 09:18, Anatoly Mashanov wrote to George Shepelev:

GS>> Главное. Hа сегодня смысл формировать битональный сигнал GS>> прямоугольниками нету - доступны множество дешёвых контроллеров с GS>> ШИМом, на котором с лёгкостью формируется смесь синусов... AM> Могу сказать с точностью до наоборот: Hа сегодня смысл формировать AM> битональный сигнал шимом нету, потому что две ноги дешевого AM> контроллера и два резистора стоят существенно дешевле, чем одна нога AM> дешевого контроллера с ШИМом плюс ФHЧ,

Отклоняется.

Чтобы получить _качественный_ сигнал после твоих "двух резисторов" понадобится значительно более качественный (дорогой) ФHЧ. Или ты веришь, что меандр не содержит внеполосных сигналов? Тогда перечитай книжки по спектру сигналов...

Георгий

Reply to
George Shepelev

Hello George!

08 Oct 05 12:59, you wrote to me:

GS>>> с ШИМом, на котором с лёгкостью формируется смесь синусов... AM>> формировать битональный сигнал шимом нету, потому что две ноги GS> Отклоняется. GS> Чтобы получить _качественный_ сигнал после твоих "двух резисторов" GS> понадобится значительно более качественный (дорогой) ФHЧ. Или ты GS> веришь, что меандр не содержит внеполосных сигналов? Тогда перечитай GS> книжки по спектру сигналов...

В книжках по спектру сказано, что меандр не содержит компонентов в интервале от основной до утроенной, (А кому это не нравится - может поставить 4 резистора вместо двух и подобрать сигнал так, чтобы компенсировались гармоники до 5 включительно). а остальные внеполосные компоненты резко уменьшают свою амплитуду при увеличении номера. Я считаю, что в подавляющем большинстве случаев ими можно пренебречь - верхняя полоса DTMF находится ниже утроенной нижней полосы. Что касается ШИМа, то по крайней мере компонент на частоте самого ШИМа превышает по уровню выходной HЧ компонент, и за попадание такого сигнала в линию ни телефонисты, ни соседи с радиоприемниками по головке не погладят. Значит, фильтр неизбежен.

МТ8870, впрочем, на внеполосные сигналы наплевать, он великолепно жрет нефильтрованный ШИМ.

Anatoly

Reply to
Anatoly Mashanov

Anatoly, ты ещё здесь сидишь?

Воскресенье Октябрь 09 2005 11:56, Anatoly Mashanov wrote to George Shepelev:

GS>>>> с ШИМом, на котором с лёгкостью формируется смесь синусов... AM>>> формировать битональный сигнал шимом нету, потому что две ноги GS>> Отклоняется. GS>> Чтобы получить _качественный_ сигнал после твоих "двух GS>> резисторов" понадобится значительно более качественный (дорогой) GS>> ФHЧ. Или ты веришь, что меандр не содержит внеполосных сигналов? GS>> Тогда перечитай книжки по спектру сигналов... AM> В книжках по спектру сказано, что меандр не содержит компонентов в AM> интервале от основной до утроенной,

Замечательно. И какая частота будет у 3-й гармоники меандра с частотой 697 Гц?

А какие частоты будут в спектре импульсов ШИМ, следующих с частотой 25, 30, а то и свыше 70 кГц?

AM> (А кому это не нравится - может поставить 4 резистора вместо двух и AM> подобрать сигнал так, чтобы компенсировались гармоники до 5 AM> включительно).

Любишь ты извраты... Hа единственной ножке с ШИМ-выходом создаётся куда более аккуратный сигнал, чем на гроздьях резисторов, которыми ты обвешаешь несколько ножек контроллера. И формировать ШИМ проще, если в контроллере есть соответствующий модуль (на сегодня выбор кристаллов очень обширный).

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

Вот только когда обработка сигнала ведётся с низкой частотой сэмплирования (для некоторых разработчиков это довольно типично) - эти составляющие спектра отобразятся в "рабочие" полосы частот, со всеми вытекающими...

AM> Что касается ШИМа, то по крайней мере компонент на частоте самого ШИМа AM> превышает по уровню выходной HЧ компонент, и за попадание такого AM> сигнала в линию ни телефонисты, ни соседи с радиоприемниками по AM> головке не погладят. Значит, фильтр неизбежен.

Рассказать что такое режекторный фильтр, почему он сможет крайне эффективно вырезать эту самую мощную компоненту ШИМа и почему составляющие спектра с частотами, далеко превышающими рабочую полосу частот, нетрудно подавить до приемлимого уровня?

AM> МТ8870, впрочем, на внеполосные сигналы наплевать, он великолепно жрет AM> нефильтрованный ШИМ.

Что будешь делать, когда потребуется обслуживать 16 линий? Ставить 16 DTMF-приёмников? (Это _абсолютно_ реальная задача, прекрасно делающаяся на одной эхотажной однокристаллке).

Георгий

Reply to
George Shepelev

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.