Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Компактный генератор синуса и косинуса
Форум разработчиков электроники ELECTRONIX.ru > Аналоговая и цифровая техника, прикладная электроника > Вопросы аналоговой техники
Страницы: 1, 2
whazza
Возникла необходимость в довольно специфическом генераторе синуса и косинуса. Размах напряжений на выходе 20 В с минимальным уходом напряжения во времени (в числеках примерно не хуже 0,1 % за сутки). Частота 125 кГц со стабильностью примерно порядка 100 ppm (можно существенно хуже, если плывет медленно). Нестабильность сдвига фазы — доли градуса. Рабочая температура от 10 до 50 градусов. Выход синуса должен не бояться умеренной емкостной нагрузки (желательно). Самое главное требование — уложиться примерно в 3 корпуса SOIC8 по площади ПП и (очень желательно) в 4 слоя.
Сейчас реализовал это на микроконтроллере, запитанном от ИОН. Он генерирует сдвинутые по фазе меандры, из которых далее выфильтровывается синус. Однако это налагает страшные требования на ОУ, чтобы качественно подавить высшие гармоники, к тому же, синус желателен чище, чем получен в настоящее время.
Какие посоветуете идеи? Заранее спасибо.
MaxPIC
Соберите необходимый Вам генератор синуса. Например, такой: http://cds.linear.com/docs/LT%20Journal/05...LTC1968-Pei.pdf
Промоделируйте его, определите чувствительность важных для Вас параметров генератора от температуры.
Можно поискать генератор в виде отдельного модуля, если не хочется самому заморачиваться этим.
VCO
Пара AD9833, AD9837 илиAD9838 + пара OPA211 или один OPA2211 в DFN-8
MaxPIC
Кстати, если модуль, то есть ML2037 (http://www.hit.bme.hu/~papay/edu/Acrobat/ML2037.pdf) + усилитель до 20 В.
whazza
Спасибо за советы. Идея с модулями (двумя и синхронизированными), пожалуй, идеальна во всем, кроме габаритов. А модулей с синусом и косинусом в одном чипе Вы не встречали?
V_G
По фильтрам - посмотрите MAX7419-7420 (Бессель и Баттерворт 5-го порядка). Их можно тактировать от контроллера, обеспечив стабильность частоты среза и соответственно фазовой характеристики. У них же есть семейство тактируемых фильтров 8-го порядка (от MAX7401), но их я не применял
VCO
Цитата(whazza @ Jan 5 2013, 12:09) *
Спасибо за советы. Идея с модулями (двумя и синхронизированными), пожалуй, идеальна во всем, кроме габаритов. А модулей с синусом и косинусом в одном чипе Вы не встречали?

Они все большие, дорогие и высокочастотные, например, AD9854.
В Вашем случае напрашивается деление КГ до 125 кГц, пассивная фильтрация и усиление типа АРУ, если не требуется частоту перестраивать или подстраивать. Элементарно реализовать на маленькой BGA-шной CPLD-шке типа XC9572, если джиттер не особо критичен. В Вашем варианте вы имхо всё сильно усложнили, объединив усиление и фильтрацию.
А вообще-то такие задачи как правило не так формулируются, приводится исходная задача, но этого, возможно, делать и не стОит из соображений конфиденциальности.
In_an_im_di
Цитата
Сейчас реализовал это на микроконтроллере, запитанном от ИОН. Он генерирует сдвинутые по фазе меандры, из которых далее выфильтровывается синус. Однако это налагает страшные требования на ОУ, чтобы качественно подавить высшие гармоники, к тому же, синус желателен чище, чем получен в настоящее время.


Размеры корпуса МК вырастут конечно, но тоже способ, значительно снижающий требования к фильтрации:
повысьте разрядность. Например, из памяти программ МК циклично выдавайте на порт вывода код синуса на старшие биты и код косинуса на младшие, далее два ЦАП на весовых резисторах. Таким образом с одного 8-разрядного порта получите два 4-битных синус-косинус сигнала, которые уже легче фильтровать, чем меандры. Далее улучшить можно применив два 8-битных порта ввода-вывода для син и кос, но, размеры корпуса МК еще более вырастут...


Параметры 125кГц/90град/20В какбэ наталкивают на мысль об использовании сего генератора в системе ID. Если это так, то у вас задано много лишних требований, там всё прощще.
polyname
Цитата
Какие посоветуете идеи?
контроллер с двумя ЦАПами (напр.STM32).
пример DDS генератора на несколько каналов: http://we.easyelectronics.ru/reptile/mnogo...r-na-stm32.html
In_an_im_di
Цитата
контроллер с двумя ЦАПами (напр.STM32).
пример DDS генератора на несколько каналов: http://we.easyelectronics.ru/reptile/mnogo...r-na-stm32.html


для 125кГц скорости хватит?
polyname
хватит, там у ЦАПов макс.частота выдачи прямоугольника больше 300кГц, для синуса - под 1МГц
whazza
Не ID (там-то и меандром контур можно раскачать). Частота случайно совпала. Тут прецизионка, связанная вообще с лазерами, поэтому исходное ТЗ действительно не могу публиковать. Тем более, задача решена, а не устраивает, в основном, спектр полученного синуса и не очень значительная температурная нестабильность.

За идеи большое спасибо. Пассивная фильтрация и повышение разрядности, скорее всего, и устроят.
Herz
Цитата(MaxPIC @ Jan 5 2013, 10:42) *
Кстати, если модуль, то есть ML2037 (http://www.hit.bme.hu/~papay/edu/Acrobat/ML2037.pdf) + усилитель до 20 В.

Ну что мешало нормальную ссылку дать?
Massi
max038
rx3apf
Уж сто лет снята с производства. А когда производилась, стоила как чугунный мост. И как синхронизировать два генератора (нужны ведь квадратурные) ?

Цитата(whazza @ Jan 5 2013, 19:40) *
а не устраивает, в основном, спектр полученного синуса и не очень значительная температурная нестабильность.

Тогда, может быть, сделать генераторы на сдвиговых регистрах с весовыми резисторами на выходе ? Все ж чище, чем меандр. И фильтровать проще... А, пардон, уже предложили - на микроконтроллере это все равно компактнее выйдет.
Microwatt
Понятно, что сегодня без гигагерцового процессора и 100разрядного ЦАП никто ничего смотреть не будет.
Но просто для интереса, например
http://zpostbox.ru/sine_wave_oscillators.html
rx3apf
Человек просил 100 ppm. Аналоговые решения сразу идут лесом.
Самурай
И еще человек просил нестабильность сдвига между sin/cos в доли градуса. И вряд ли в эту просьбу входит опция на индивидуальную многочасовую настройку каждого изделия с прогоном по температуре и подбором кучки конденсаторов по ТКЕsm.gif

Чисто аналоговые решения идут уже через два леса.
jam
Цитата(whazza @ Jan 5 2013, 11:36) *
Возникла необходимость в довольно специфическом генераторе синуса и косинуса. Размах напряжений на выходе 20 В с минимальным уходом напряжения во времени (в числеках примерно не хуже 0,1 % за сутки). Частота 125 кГц со стабильностью примерно порядка 100 ppm (можно существенно хуже, если плывет медленно). Нестабильность сдвига фазы — доли градуса. Рабочая температура от 10 до 50 градусов. Выход синуса должен не бояться умеренной емкостной нагрузки (желательно). Самое главное требование — уложиться примерно в 3 корпуса SOIC8 по площади ПП и (очень желательно) в 4 слоя.
Сейчас реализовал это на микроконтроллере, запитанном от ИОН. Он генерирует сдвинутые по фазе меандры, из которых далее выфильтровывается синус. Однако это налагает страшные требования на ОУ, чтобы качественно подавить высшие гармоники, к тому же, синус желателен чище, чем получен в настоящее время.
Какие посоветуете идеи? Заранее спасибо.

Делал подобную штуку на dspic - на два цапа выводов хватает, в качестве записи использовал выделенный задержкой фронт младшего бита, который при каждом телепался 0-1. До мегагерца такой подход вполне. Правда получается не 3 корпуса - МС, два цапа, логика на WR и усилитель на два канала и синхронизацию.
PS Если интересно, где-то в глубинах компа лежит программа на С для вычисления таблиц синуса-косинуса в HEX для контроллера. Могу посмотреть - правда уже толком и не помню, чего там. Таблица пишется в файл, который грузится в МС. Можно было через usb c компа менять этот файл и получался довольно интересный универсальный генератор - правда за ненадобностью я это дело положил в стол.
rx3apf
Может быть, стоит глянуть что-нибудь у Cypress из ихних PSoC...
Microwatt
Цитата(Самурай @ Jan 5 2013, 22:44) *
И еще человек просил нестабильность сдвига между sin/cos в доли градуса. И вряд ли в эту просьбу входит опция на индивидуальную многочасовую настройку каждого изделия с прогоном по температуре и подбором кучки конденсаторов по ТКЕsm.gif

Чисто аналоговые решения идут уже через два леса.

Нет, спорить не буду. Со сдвигом фаз там немного легче, а с амплитудой и проч... да,большой точности не достичь.
Однако, три четверти шансов, что и не нужно это вообще. Это статистика форума.
In_an_im_di
Цитата
Пассивная фильтрация и повышение разрядности, скорее всего, и устроят.


щщё глубже в ваши задачи залезть и изготовить надо - обращайтесь. я за всегда рад и сделаю. за деньги.

я во все производства вхож. хошь-быстро и дорого будет, хошь-дёшево и медленно.

квадратурные стабильные сигналы 125 нужны только для ооочень дистанционного считывания карточек айди. думайте дальше сами, читайтели
polyname
Цитата(In_an_im_di @ Jan 6 2013, 00:06) *
квадратурные стабильные сигналы 125 нужны только для ооочень дистанционного считывания карточек айди. думайте дальше сами, читайтели
тогда зачем там чистый синус ? разве для детектирования не достаточно меандров ?
MaxPIC
Цитата(Microwatt @ Jan 5 2013, 21:24) *
Понятно, что сегодня без гигагерцового процессора и 100разрядного ЦАП никто ничего смотреть не будет.
Но просто для интереса, например
http://zpostbox.ru/sine_wave_oscillators.html

Лучше дайте ссылку на первоисточник: sloa060
proba60
Два цифровых сигнала с разницей 125 КГЦ нагружены на смеситель на исключающем ИЛИ.Выход с него управляет двумя разнополярными токовыми
зеркалами нагруженными на ёмкость.На выходе sinus. Нажмите для просмотра прикрепленного файла
jam
Цитата(proba60 @ Jan 19 2013, 18:58) *
Два цифровых сигнала с разницей 125 КГЦ нагружены на смеситель на исключающем ИЛИ.Выход с него управляет двумя разнополярными токовыми зеркалами нагруженными на ёмкость.На выходе sinus. Нажмите для просмотра прикрепленного файла

Здорово придумано!
Вот только кроме сдвинутого на 90 синуса обычно хочется ещё и прямоугольник прям из цифры.Ещё один фазовый детектор?
proba60
Цитата(jam @ Jan 20 2013, 22:07) *
Здорово придумано!
Вот только кроме сдвинутого на 90 синуса обычно хочется ещё и прямоугольник прям из цифры.Ещё один фазовый детектор?

Ну так Топикстартера прямоугольник вроде-бы не интересовал
ViKo
Цитата(proba60 @ Jan 19 2013, 17:58) *
Два цифровых сигнала с разницей 125 КГЦ нагружены на смеситель на исключающем ИЛИ.Выход с него управляет двумя разнополярными токовыми
зеркалами нагруженными на ёмкость.На выходе sinus.

Можете выложить сам проект? Не понимаю... laughing.gif
proba60
Цитата(ViKo @ Jan 21 2013, 13:48) *
Можете выложить сам проект? Не понимаю... laughing.gif

Вот картинка на выходе исключающего ИЛИ при подаче на вход элемента двух меандров с близкими частотами
("покрутите" схемку в любом симуляторе)
Нажмите для просмотра прикрепленного файла
ViKo
Цитата(proba60 @ Jan 21 2013, 19:21) *
Вот картинка на выходе исключающего ИЛИ при подаче на вход элемента двух меандров с близкими частотами
("покрутите" схемку в любом симуляторе)

Подозреваю, треугольник. Который вы отфильтровали до чего-то, похожего на синус.
То же самое можно сделать, если от прямоугольника оставить только первую гармонику. Но треугольник, конечно, фильтровать проще.
VCO
Цитата(ViKo @ Jan 21 2013, 22:23) *
То же самое можно сделать, если от прямоугольника оставить только первую гармонику. Но треугольник, конечно, фильтровать проще.

Но треугольник после фильтрации оставит меньшую амплитуду, чем меандр с таким же размахом + его ещё надо сформировать, а меандр можно взять готовый после деления кварца в микроконтроллерое, CPLD или на логике с нужным коэффициентом деления. Тож на тож...
ViKo
Проверил.
proba60
Цитата(ViKo @ Jan 21 2013, 23:23) *
Подозреваю, треугольник. Который вы отфильтровали до чего-то, похожего на синус.
То же самое можно сделать, если от прямоугольника оставить только первую гармонику. Но треугольник, конечно, фильтровать проще.
Треугольник...Может вы и правы ,но я больше склоняюсь что огибающая ближе к синусу(сдесь при меньшей дискритезации более грубая картинка)
Нажмите для просмотра прикрепленного файла
Iptash
Вот схема, кучу таких переделал, работают идеально. На вход прямоугольный сигнал нужной вам частоты, на выходе синус косинус. Только нужны конденсаторы с хорошим ТКЕ и возможно подбирать и резисторы не хуже 1% и прецензионные операционники . Эту схему я делал на частоту 2500Гц, есть калькулятор по расчетам(название забыл) нужно пересчитать на вашу частоту.
proba60
Цитата(ViKo @ Jan 21 2013, 23:23) *
Подозреваю, треугольник. Который вы отфильтровали до чего-то, похожего на синус.
То же самое можно сделать, если от прямоугольника оставить только первую гармонику. Но треугольник, конечно, фильтровать проще.

Ещё в догонку.....подайте на вход двух полярного источника тока простой меандр, и получите "незаваленный" на вершине треугольник на выходной ёмкости независимо от её номинала.Так что думаю подозрения необоснованны Нажмите для просмотра прикрепленного файла
ViKo
А что вы видите на моих картинках?
Думаю, у вас есть несколько низкочастотных фильтров - логика, транзисторы, конденсатор, которые фильтруют гармоники. Если гармоники треугольника придушить, то в первую очередь завалятся изломы треугольника - вершины.
Спектр своего синуса покажите. В LTspice вычисляется.
А то, что показали сейчас - 1.6 kHz. Намного ниже того, что показано раньше. Поэтому гармоники не фильтруются.
proba60
Цитата(ViKo @ Jan 23 2013, 22:46) *
Если гармоники треугольника придушить, то в первую очередь завалятся изломы треугольника - вершины.

Это если применить RC цепь тогда завалятся вершины ,а здесь генератор стабильного тока (который обычно и применяют если нужно получить треугольник)
Цитата
А то, что показали сейчас - 1.6 kHz. Намного ниже того, что показано раньше. Поэтому гармоники не фильтруются.

Вершины не завалятся независимо от частоты ,вот здесь 100 килогерц.
VCO
Цитата(Iptash @ Jan 23 2013, 18:06) *
Вот схема, кучу таких переделал, работают идеально. На вход прямоугольный сигнал нужной вам частоты, на выходе синус косинус. Только нужны конденсаторы с хорошим ТКЕ и возможно подбирать и резисторы не хуже 1% и прецензионные операционники...

Такой подход к схемотехнике оправдан только для единичных устройств, работающих в тепличных условиях. Задача намного проще...
ViKo
Цитата(proba60 @ Jan 24 2013, 05:40) *
Это если применить RC цепь тогда завалятся вершины ,а здесь генератор стабильного тока (который обычно и применяют если нужно получить треугольник)
Вершины не завалятся независимо от частоты ,вот здесь 100 килогерц.

Выходит, генератор тока в волшебном превращении треугольника в синус не участвует. Тогда что создает синус, Исключающее ИЛИ?

Показываю спектр на прямом выходе исключающего ИЛИ в той схеме, что уже демонстрировал.
Видите синус? Я - нет. Вижу 40 Hz, 120 Hz, 200 Hz... (upd. ошибся с цифрами, исправил)
Значит, исключающее ИЛИ двух частот не дает синуса.
Если хотите продолжить беседу, выкладывайте свой проект, а не фрагменты, из которых не понять ни сигналов, ни номиналов элементов.
Нажмите для просмотра прикрепленного файла
Следующая картинка - проект с изменяемой частотой среза. Без комментариев.
Нажмите для просмотра прикрепленного файла
proba60
Цитата(ViKo @ Jan 24 2013, 10:48) *
Выходит, генератор тока в волшебном превращении треугольника в синус не участвует. Тогда что создает синус, Исключающее ИЛИ?

Показываю спектр на прямом выходе исключающего ИЛИ в той схеме, что уже демонстрировал.
Видите синус? Я - нет. Вижу 400 Hz, 1200 Hz, 2kHz...
Значит, исключающее ИЛИ двух частот не дает синуса.
Если хотите продолжить беседу, выкладывайте свой проект, а не фрагменты, из которых не понять ни сигналов, ни номиналов элементов.

Да , информацию о форме сигнала создаёт исключающее ИЛИ в результате смешивания входных сигналов F1-F2 Только на выходе элемента
информация в форме ШИМа как в усилителях класса D Пауза в ШИМе управляет втекающем в ёмкость (стабильным)током а импульс ШИМа управляет вытекающим (стабильным) током Вы анализируете в симуляторе свою схему а результаты привязываете к моей

Нажмите для просмотра прикрепленного файла
Iptash
Цитата(VCO @ Jan 24 2013, 08:38) *
Такой подход к схемотехнике оправдан только для единичных устройств, работающих в тепличных условиях. Задача намного проще...

Такие схемы в промышленности работают, например для запитки индуктосинов, сельсинов и пр.. И куда проще такой подход. С процессора берешь прямоугольник нужной частоты
и все, не нужно ШИМ синусоида или треугольник.
ViKo
Мои картинки из цитаты уберите. А свой проект лучше заархивируйте, и выложите отдельным файлом.
А xor - оно везде xor.
proba60
Цитата(ViKo @ Jan 24 2013, 14:07) *
Мои картинки из цитаты уберите. А свой проект лучше заархивируйте, и выложите отдельным файлом.
А xor - оно везде xor.

Ещё один вариант на том же принципе. Нажмите для просмотра прикрепленного файла
ViKo
Цитата(proba60 @ Jan 27 2013, 09:22) *
Ещё один вариант на том же принципе. Нажмите для просмотра прикрепленного файла

Чтобы проверить ваш проект, нужна еще библиотека. Чтобы ее скачать, нужно зарегистрироваться...
Спектр где?
тау
Цитата(ViKo @ Jan 24 2013, 13:07) *
А xor - оно везде xor.


хоr делает линейно нарастаищий и спадающий ток. Грубо говоря - симметричную пилу , с кучей ВЧ гармоник , которые потом выфильтровываются большой емкостью.
Для простоты можно представить что это просто пила тока (см рис). Ка известно , если пилу тока проинтегрировать (источник тока на ёмкость - это типа интегратор) , то на выходе получится парабола.
Две развернутые вверх и вниз параболы, сшитые в точках излома пилы тока (во времени) рисуют нечто похожее на синус. Хотя это и не синус в строгом смысле . Но иногда устраивает, но не всех. Спектр такого параболоидного синуса внизу на рисунке.
ViKo
Цитата(тау @ Jan 27 2013, 13:12) *
хоr делает линейно нарастаищий и спадающий ток.

xor делает треугольное напряжение. Которое потом создает треугольный ток благодаря источникам тока. Который потом создает параболическое напряжение, действительно.
proba60
Цитата(ViKo @ Jan 27 2013, 13:02) *
Чтобы проверить ваш проект, нужна еще библиотека. Чтобы ее скачать, нужно зарегистрироваться...
Спектр где?

Разве это препятствие? Нажмите для просмотра прикрепленного файла
Цитата
Две развернутые вверх и вниз параболы, сшитые в точках излома пилы тока (во времени) рисуют нечто похожее на синус. Хотя это и не синус в строгом смысле . Но иногда устраивает, но не всех. Спектр такого параболоидного синуса внизу на рисунке.
к сожалению в этом симуляторе не работал прокомментируйте плиз иконки
ViKo
Цитата(proba60 @ Jan 27 2013, 19:01) *
Разве это препятствие?

Да, теперь принцип работы понятен. Интегрирование треугольного тока.
Дает ли здесь хоть что-нибудь применение ШИМ?
Да, дает. Коммутирует источники тока. Иначе пришлось бы преобразовывать напряжение в ток иным способом. Например, на ОУ.
Цитата
к сожалению в этом симуляторе не работал прокомментируйте плиз иконки

Я понимаю так: слева - источник тока, дальше, в середине - измеритель тока, справа вверху - измеритель напряжения.
proba60
Цитата(ViKo @ Jan 27 2013, 20:47) *
Да, теперь принцип работы понятен. Интегрирование треугольного тока.
Дает ли здесь хоть что-нибудь применение ШИМ?
Да, дает. Коммутирует источники тока. Иначе пришлось бы преобразовывать напряжение в ток иным способом. Например, на ОУ.

Я понимаю так: слева - источник тока, дальше, в середине - измеритель тока, справа вверху - измеритель напряжения.

Форма тока конденсатора не треугольная,Нажмите для просмотра прикрепленного файла в отличие от варианта на модели ТАУ
тау
Цитата(proba60 @ Jan 27 2013, 19:01) *
к сожалению в этом симуляторе не работал прокомментируйте плиз иконки

в самом низу слева схема у прощенного до безобразия вашего варианта.
генератор треугольного тока с поз обозначением I1 работает на конденсатор С1 . Измеритель тока I1 показывает слева вверху осциллограмму этого тока. Период треугольного импульса 1 миллисекунда. Конденсатор С1 интегрируя ток позволяет увидеть значение интеграла в виде напряжения на нём . Пробник Vc это напряжение показывает слева посередине на осциллограмме синим цветом.
В этой же точке снят спектр полученного на С1 колебания. Гармоника 1 кГц имеет амплитуду 660 милливольт. 3- я грмоника (3 кГц) имеет 25mV , пятая 5,3 mV. Известно что в треугольном напряжении амплитуда 3-й гармоники равна 1/3^2 а пятой 1/5^2 / После прохождения треугольного сигнала через интегратор гармоники уменьшаются пропорционально свои номерам.
. Т.е в выходном колебании 3-я гармоника по спектру примерно в 26.4 раз меньше первой , теоретически должна быть 1/3^3 , а пятая в 125 раз меньше первой. 660/5.3 ( по спектру) =124.5

Цитата(proba60 @ Jan 27 2013, 20:36) *
Форма тока конденсатора не треугольная, в отличие от варианта на модели ТАУ
если после XOR отбросить все верхние гармоники с частотами несущей и выше - то будет почти треугольная. То есть грубо поставьте ФНЧ , после XOR, с частотой среза гораздо выше разностной частоты и немного пониже несущих - это ранее Viko уже показывал . И увидите почти треугольник. и тем лучший треугольник , чем меньше разностная частота. Кстати это есть ограничение предлагаемой схемы для получения синуса на 125 кГц : несущие придется выбирать очень высоко. (зачем то Вы пообрезали временную разметку на ваших синусах sm.gif при несущей 50 кГц. )
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.