Plain 0 Posted January 16 (edited) · Report post 1 час назад, dimka76 сказал: не понятна логика работы На C2 прямое выходное напряжение (относительно общего провода), на C1 инверсное выходное напряжение (относительно общего провода), а поскольку конденсаторы постоянное напряжение не пропускают, то через R1 и R2 текут одинаковые по уровню и противоположные по знаку переменные прямоугольные токи ШИМ, которые суммируются на выходе и получается ноль, а погрешность этого процесса создают пульсации напряжения на C1, потому что компенсировать их нечем: Edited January 16 by Plain Quote Ответить с цитированием Share this post Link to post Share on other sites
AlexandrY 0 Posted January 16 · Report post 36 minutes ago, Plain said: на выходе и получается ноль. Ну конечно получается не ноль, но приличный результат. Скажем в 100 раз лучше чем без инвесного ШИМ-а. Но ошибка в номиналах резисторов на 2% увеличивает пульсации на 100% Так что проще поднять шим до 500 Кгц на микроконтроллере с 500 МГц тактовой. Quote Ответить с цитированием Share this post Link to post Share on other sites
Plain 0 Posted January 16 · Report post 8 минут назад, AlexandrY сказал: проще поднять шим до 500 Кгц на микроконтроллере с 500 МГц тактовой Какая-то фантастика. 10 кГц ШИМ через стандартный оптрон пролезет, если автор надумает делать изоляцию, а для 500 кГц понадобится цифровой изолятор на 150 МГц и 12 бит на выходе точно не будет. Quote Ответить с цитированием Share this post Link to post Share on other sites
AlexandrY 0 Posted January 16 · Report post 52 minutes ago, Plain said: Какая-то фантастика. 10 кГц ШИМ через стандартный оптрон пролезет, если автор надумает делать изоляцию, а для 500 кГц понадобится цифровой изолятор на 150 МГц и 12 бит на выходе точно не будет. Нафига автору оптрон? Оптроны автору не по карману. И вы ж говорили что вашей схемы достаточно. Да и неясность функции яркости от этого шима при питании полуволнами такова, что тут и 4 битов за глаза. Не забываем также что измерение сетевого напряжения автор еще не заявлял. Quote Ответить с цитированием Share this post Link to post Share on other sites
dimka76 0 Posted January 16 · Report post 3 hours ago, Plain said: На C2 прямое выходное напряжение (относительно общего провода), на C1 инверсное выходное напряжение (относительно общего провода), а поскольку конденсаторы постоянное напряжение не пропускают, то через R1 и R2 текут одинаковые по уровню и противоположные по знаку переменные прямоугольные токи ШИМ, которые суммируются на выходе и получается ноль, а погрешность этого процесса создают пульсации напряжения на C1, потому что компенсировать их нечем: Понятно. Спасибо. Но с тем же количеством деталей и только с одним выходом ШИМ результат можно получить гораздо лучше. Quote Ответить с цитированием Share this post Link to post Share on other sites
AlexandrY 0 Posted January 16 · Report post 11 minutes ago, dimka76 said: Но с тем же количеством деталей и только с одним выходом ШИМ результат можно получить гораздо лучше. Так у вас еще хуже будет с остаточной подсветкой. Автору придется делать хитрую предкоррекцию. Вы не забыли еще что он хочет сделать? Quote Ответить с цитированием Share this post Link to post Share on other sites
dimka76 0 Posted January 16 · Report post 5 minutes ago, AlexandrY said: Так у вас еще хуже будет с остаточной подсветкой. Что такое остаточная подсветка и откуда она возьмется ? Quote Ответить с цитированием Share this post Link to post Share on other sites
Plain 0 Posted January 17 · Report post 7 часов назад, dimka76 сказал: с тем же количеством деталей и только с одним выходом ШИМ результат можно получить гораздо лучше Для "гораздо" надо будет 3 или 4 звена поставить, а второй выход ШИМ — мало того, что аж в 1 рубль обойдётся, но это и ещё одно брюхо SOIC, на котором весь пассив и поместится, и разведётся удобно, ну и припаяется минут за 5. Quote Ответить с цитированием Share this post Link to post Share on other sites
MDD 0 Posted January 17 · Report post On 1/15/2021 at 11:57 PM, Гурман said: Мдя? Ну тогда вам двойка. FFT без плавучки никак. Кстати, аргументируйте. Я без издевки спрашиваю. Как я понял, БПФ Вы считаете по 128точкам. Пусть АЦП 12разрядов, еще 12 разрядов отведем на синусы. Если не ошибаюсь сам БПФ добавит еще 7 разрядов. В результате математические операции нарастят разряды 12+12+7=31, т.е. помещаемся в int32 даже без нормировки. Quote Ответить с цитированием Share this post Link to post Share on other sites
Гурман 0 Posted January 17 · Report post 1 hour ago, MDD said: Кстати, аргументируйте. Я без издевки спрашиваю. Я уже говорил, что у меня отлаженная функция на Си. Синус для неё тоже должен быть в вещественных числах. Напомню что он не может быть больше 1, поскольку это отношение. Если считать синус в целых (такое в принципе возможно), то функцию БПФ придётся под это полностью переделывать и отлаживать. Quote Ответить с цитированием Share this post Link to post Share on other sites
MDD 0 Posted January 17 · Report post 19 minutes ago, Гурман said: Я уже говорил, что у меня отлаженная функция на Си. Синус для неё тоже должен быть в вещественных числах. Напомню что он не может быть больше 1, поскольку это отношение. Если считать синус в целых (такое в принципе возможно), то функцию БПФ придётся под это полностью переделывать и отлаживать. Вот это меня и удивляет, что Вы хотите подстроить "весь мир" под свою "небольшую функцию FFT на С". Для программиста сделать наоборот было бы логичнее и менее трудозатратно... И еще один вопрос по поводу плавучки. По большому счету плавучку можно использовать на любом современном микроконтроллере, С компиляторы ее понимают. Другое дело как они ее реализуют - эмуляцией или сопроцессором. Т.е. всё упирается во время выполнения. У Вас оцифровка идет на частоте 24кГц. Получается, что нужно посчитать БПФ по 128 точкам примерно раз в 5мс. Я тут глянул в интернете бенчмарки. Из ближайшего попались такие цифры: STM32F2 без сопроцессора на частоте 120МГц считает "плавучий БПФ" на 64 точки за 443мкс. Т.е. получается, что для Вашей задачи наличие сопроцессора вовсе не обязательно... Quote Ответить с цитированием Share this post Link to post Share on other sites
Гурман 0 Posted January 17 · Report post 1 hour ago, MDD said: Для программиста сделать наоборот было бы логичнее и менее трудозатратно... Для программиста наиболее логично соблюдение принципа "не трожь то, что хорошо работает". 1 hour ago, MDD said: Получается, что нужно посчитать БПФ по 128 точкам примерно раз в 5мс. Я тут глянул в интернете бенчмарки. Из ближайшего попались такие цифры: STM32F2 без сопроцессора на частоте 120МГц считает "плавучий БПФ" на 64 точки за 443мкс. Т.е. получается, что для Вашей задачи наличие сопроцессора вовсе не обязательно. Может быть и так. Но речь была о предложенном ранее модуле Seeduiono XIAO - о том что в нём нет плавучки. У него тактовая 48 МГц, а какая на нём будет эмуляция плавучки, фик его знает. Но вообще какой смысл это обсуждать, если уже посоветовали STM32F401 в котором есть плавучка? Quote Ответить с цитированием Share this post Link to post Share on other sites
ae_ 0 Posted January 17 · Report post 7 hours ago, Plain said: Для "гораздо" надо будет 3 или 4 звена поставить, ... Сравнил обе схемы, Plain и dimka76, вариант без инвертора, но с двойной RC быстрее выходит на установившееся значение при ~одинаковом подавлении пульсаций ШИМ. n004 = C1; n006 = C4. Quote Ответить с цитированием Share this post Link to post Share on other sites
MDD 0 Posted January 17 · Report post 55 minutes ago, Гурман said: Но вообще какой смысл это обсуждать, если уже посоветовали STM32F401 в котором есть плавучка? Смысл в том, что всегда полезно рассмотреть альтернативные варианты. Здесь Вам дали много разных советов, причем они полезны не только Вам. Например, я тоже почерпнул кое-какую полезную для себя информацию из того, что написали другие. Quote Ответить с цитированием Share this post Link to post Share on other sites
Plain 0 Posted January 17 · Report post 29 минут назад, ae_ сказал: с двойной RC быстрее выходит на установившееся Вы правы, только не быстрее, а точно так же, но разница всё-таки есть — у двухзвенного фильтра выходное сопротивление вдвое больше, чем у парафазной ШИМ. Quote Ответить с цитированием Share this post Link to post Share on other sites