[an error occurred while processing this directive]
Покритикуйте алгоритм. Привязка внутреннего (софтового) генератора к фазе сети 50 Гц.
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено Xan 21 мая 2003 г. 12:21

Устройство занимается измерением параметров сетевого (220В) напряжения. Для это у него есть внутренний генератор (софт + таймер + прерывания) на 50 Гц, период генератора разбивается на много маленьких кусочков, и в каждом кусочке АЦП измеряет мгновенные значения напруги. Итого, получаются отсчёты с частотой несколько кГц.
Конечно, "для плавности хода" хочется этот генератор привязать к сетевой синусоиде по частоте и фазе.

Вот тупой способ:
Отсчёты за период умножаются на косинусоиду и суммируются. Знак и величина суммы будет давать величину отклонения фазы генератора от сетевой "синусоиды".
(Конечно, для исключения неоднозначности надо проверять, что напруга переходит через ноль в некотором "хорошем" диапазоне сдвига фазы, например от -45 до +45 градусов. Ну и вместо косинусоиды проще использовать просто ступенчатую функцию (-1|0|+1).)

Итак, получили значение отклонения фазы, крепко зажали его "в уме". Делаем ещё одно такое же измерение. Берём их разницу и получаем отклонение периода генератора от периода сети.
Это отклонение можно сразу использовать для корректировки генератора.
Но чтобы помехи не могли сильно дёрнуть генератор, имеет смысл корректировать не сразу стопроцентно до нулевого отклонения, а только на небольшую величину, скажем, на 1 процент. Тогда за несколько сотен периодов отклонение плавно уменьшится до нуля.

С частотой разобрались. Теперь с фазой.

Ну, отклонение фазы уже давно в уме держим, осталось только им на генератор подействовать. Берём его (опять с понижающим коэффициеном для защиты от помех) и изменяем период генератора. Но не навсегда, а только на один период. Ну и опять за сотни периодов отклонение плавно приплывёт к нулю.

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

А может народ ещё что-нить интересное предложит?

=======

Кстати, почём нынче трёхфазный счётчик активной и реактивной мощности по каждой фазе. С выводом на комп 50 таких счётчиков (modbus?).
Клиенту нужна небольшая точность, около 2%.

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru