Свежие обсуждения
Консультации

Как выделить пик (вершину) синусоиды?

1 3 4

Про дифференциатор здесь уже упомянули. Хочу предложить добавить к нему подобранный или регулируемый разрядный резистор R2 (см. приложенную схему с графиками).
Увеличивая R2, можно получить достаточно узкие импульсы, практически совпадающие с пиками. А нестабильность исходной синусоиды можно скомпенсировать, увеличивая её амплитуду (с запасом, вольт эдак до 50...100). Конечно, длительность полученного импульса будет немножко плавать вместе с этой амплитудой, но думаю, можно всё это вогнать в требуемые рамки.
R1 можно включить не только в плюсовую ветвь выпрямителя, но и в минусовую, полярность выхода при этом инвертируется.

 

Увы - частота плавает +/- процентов 5 причем от периода к периоду.

Мне нужно с точностью до единиц милливольт измерить амплитуду каждого пика сигнала (система проверки многополюсного магнита, он вращается мимо датчика Холла). Но иногда полюса магнита не равномерны по окружности.

Собственно измерение идет платой АЦП в виде массива точек (примерно 200-300 на период)). (4 кГц дискретизация).

 

А почему бы тогда не оцифровать много отсчётов, а затем при обработке программно не выделить максимальный?

 

to Wladimir_TS
Можно попробовать аппроксимировть сигнал полиномом
и уже под этот полином подгонять
Потом найти максимум кривой
которую описывает полином
Для полинома ax + b этот метод называется метод наименьших
квадратов. Он выводится на основе распределения
Гауса. Возможно что то можно использовать типа этого.

 

Ещё один вариант схемы, из уже упоминавшихся алгоритмов (в аттаче).
На первой странице - схема, на второй - осциллограммы.

Используется однополупериодный выпрямитель (D3), по этому, импульсы на выходе ОУ появляются в максимумы одного полупериода напяжения сети (положительного).
Если нужно выделять импульсы и с другого полупериода, то вместо одного диода D3 нужно поставить мостик.

Параметры импульса на выходе ОУ не зависят от напряжения сети и, практически, не зависят от частоты сетевого напряжения.
По крайней мере, в диапазоне 40Гц...60Гц.
При частотах 10Гц или 100Гц нужно изменить ёмкость конденсатора С1.
От ёмкости этого конденсатора зависит сдвиг импульса на выходе ОУ по отношению к пику напряжения сети.
Если при 1мкФ и частоте 50Гц импульс находится по центру пика синусоиды, то при ёмкостях 0,1мкФ или 10мкФ импульс смещается немного влево или враво соответсвенно.

В качестве компаратора использован обычный ОУ. По этому длительность выходного импульса чуть меньше 1мс. При необходимости получить меньшую длительность выходных импульсов, нужно ставить настоящий компаратор.

Питание ОУ - 5В.
Для масштабирования графиков, напряжение сети поделено на 100.

101153.djvu

 

Так вопрос в том и стоит - как ее вершину найти - а тут еще шумы АЦП + наводки. Раньше точность была +/-100 мВ теперь требуют +/-5 мВ и не знаю как обяснить на пальцах програмисту - чего делать... Плату заказал с 14 фактически и 12 значащими разрядами...

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

То Galizin: Не можете чуть более "на пальцах" объяснить ?

 

Ну , чего захотели!
Wladimir_TS: Частота изветсна - 0,3 Гц +/- 20% Наложено - 50 Гц сеть, 13 кГц - ШИМ заполнение от сервоприводов. 15 Гц-30 Гц - механические резонансные явления в системе - вот они сильнее всего достают.

Отфильтруйте цифровым фильтром , можно, скользящего среднего , или полосовым.
Это можно в "нереальном" времени. Кстати, может попробовать какой-нить Саунд Фордж.

 

Есть еще идея.
От сети засинхронизировать генератор, например, на 10кГц петлей ФАПЧ. Счетчик-дешифратор с коэффициентом счета m=100 выделяет каждый 50-й импульс генератора, который и будет использоваться для управления тиристором.
Счетчик-дешифратор синхронизипуется импульсами 100 Гц от делителя частоты.
Точность зависит от частоты, как в АЦП, и от точности удержания фазы петлей ФАПЧ.
Поправка к схеме: делитель на 100 и на 200.

 

Хорошая идейка. Добавлю забытое автором - отсчитывать надо будет от моментов перехода через ноль, которые очень чётки и легко дешифрируются. Но тут есть нюанс - время вхождения в синхронизм. Автор топика не сообщил, критична ли большая начальная задержка.

 

Cпец: Добавлю забытое автором - отсчитывать надо будет от моментов перехода через ноль, которые очень чётки и легко дешифрируются
Да, этот момент следует подробнее описать.
После вхождения в синхронизм, на выходе делителя импульсы 50 и 100 Гц будут синхронны с напряжением сети. Импульсы с частотой следования 100Гц имеют длительность 100мкс, задний фронт должен приходиться на момент перехода сетевого напряжения через 0. Эти импульсы сбрасывают счетчик-дешифратор в 0, и начинается отсчет.