Сравнительный анализ некоторых методов фазовой синхронизации

Хлуденьков В.


Источник: Журнал "Силовая электроника", выпуск №4, 2009г.


Одна из широка распространенных задач, решаемых встраиваемыми системами, — это контроль сетевого напряжения. В качестве примера можно привести устройства плавного пуска и регулирования выходной мощности асинхронных двигателей. Промежуточной задачей при этом является определение текущей фазы сетевого напряжения питания, «привязка по фазе». Обычно для этого в процессе работы приложения в микроконтроллере формируется генератор виртуальной синусоиды. (Не путать с тактовым генератором микроконтроллера!) Его частота равна частоте сетевого напряжения |5О Гц), а фаза подстраивается под фазу входного напряжения. Тогда в любой тогдевт мы можем с высокой степенью точности предсказать, какова фаза входного напряжений.

Синхронизация по фазе производится после определения сдвига фаз Рисунок 1=?-?0 измене¬нием либо фазы, либо частоты внутреннего генератора, в этом случае сдвиг фаз плавно умень¬шается до нуля. Как правило, вычисление сдвига фаз и синхронизация проводятся каждый период. Рассмотрим методы определении текущего откло¬нения фазы (рассинхронизации). Для этого исполь¬зуют следующие основные методы.

В первом с помощью реле определяется значение входного нанрялатшя но отношению к некоторо¬му уровню напряжения. Чаще всего .что изменение полярности напряжения или переход уровня сетевого напряжения через некий уровень (Uпороговое). Принцип действия приведен на рис. 1а, а схема одно¬го из вариантов устройства — на рис. 1б.

Рисунок 1
Рис.1 - Схема определения текущей фазы релейным способом: а) принцип действия; б) схема устройства

Гасящий резистор R (обычно его номинал при входном напряжении 220 В выбирается порядка 1 МОм) предназначен для ограничения входного тока, входное напряжение ограничивают два встроенных диода — VD1 и VD2. В качестве датчика может ис¬пользоваться компаратор либо просто порт, настро¬енный на ввод. При амплитуде входного напряжения Uа=308 В различия практически нет.

Для того чтобы минимизировать время провер¬ки, используется прерывание от компаратора. Время срабатывания компаратора принимается за начало полупериодов, соответственно, период между двумя срабатываниями - длительность одного полупе¬риода. Видно, что положительный и отрицательный полупериоды в этом случае имеют различные дли¬тельности. Для синусоидального сигнала неточность порядка , что достаточно для большинства приложений.

Рисунок 1
Рис.2 - Влияние помех на определение начала полупериодов

Неоспоримым достоинством приведенного метода служит простота. Главным недостатком является низкая надежность измерении относительно помех в сети, возможны ложные срабатывания, что показано на рис, 2. Поэтому в программе, реализующей этот метод, необ¬ходимо применять фильтрацию от помех, отводить «окно" времени, в которое разрешается срабатывание компаратора. Второй метод предполагает применение аналого-цифрового преобразователя (АЦП). Сдвиг фаз Рисунок 1 определяется посредством использования известных из институтского курса высшей математики Фурье-анализа и тесно примыкающего к нему корреляционного анализа [2]. Для этого определим два интеграла:

Рисунок 1
(1)

где Uвх(t)- среднее значение напряжения входного сигнала.

Они суть сверки по параметру Рисунок 1. Первый из них является четной функцией по Рисунок 1 и имеет максимальное значение при Рисунок 1=0. Второй — нечетной и при Рисунок 1=0 он тоже равен нулю. Зная значения Isin(Рисунок 1) и Icos(Рисунок 1),из (1) можно определить значение сдвига фаз Рисунок 1:

Рисунок 1
(2)

Попутно избавляемся от постоянных множителей. Определение, в каком именно из полупериодов лежит угол Рисунок 1, производится по знакам Isin и Icos. Иными словами, мы оцениваем, на что «бо- лее похож» входной сигнал: на синусоиду или косинусоиду и насколько (рис. 3).

Рисунок 1

Для реализации приведенного методу требуются следующие основные операции: 1. Вычисление текущей фазы ф внутреннего генератора. Наиболее часто фаза определя¬ется перемножением внутреннего времени МК на частоту опорною генератора. 1. Вычисление значений sin(ф) и соs(ф). 3. Вычисление произведений sin(ф)*Uвх(t) 4. Суммирование вычисленных произведений(интегрирование).

Во многих микроконтроллерах, к примеру, в цифровых сигнальных процессорах (DPS), для подобного рода вычислений существуют специальные операции типа сложения с накоплением (multiplication and accumulation). Для большинства встраиваемых систем их стоимость, а значит, и стоимость их комgлекnующих является важнейшим фактором. Поэтому оправдано применение недорогих микроконтроллеров с использованием всех их ресурсов.

Рассмотрим реализацию приведенного алгоритма с точки зрения программировании. Выберем микроконтроллер AVR ATtiny производства компании Аtmе1 — недорогой и обладающий достаточными функциональ¬ными возможностями для нашей задачи [ 1 ] . Семейство ATtiny по сравнению с другими семействами имеет скромные способности. Например, в нем отсутствует аппаратный умножитель. Поэтому операции типа «умножение с накоплением» можно реализовать лишь программно. Это потребует большого объема программной памяти и временных затрат. Приведем конкретные данные. Пусть микроконтроллер ATtiny13 работает на частоте 8 МГц, для архитектуры AVR это составляет 8 млн операций в секунду. Контролируются три фазы. Количество выборок для каждого периода примем равным 256, дискретность угла фазы в этом случае немногим более одного градуса. Тогда общее количество выборок в секунду составят S=256x50*3=38400. Значит, на одну выборку приходится не более 8 000 000/38 400 = 208 операций. Один цикл перемножения двух чисел типа unsigned char занимает порядка сорока операций. Если одно из перемножаемых чисел имеет тип unsigned int,то количество операций возрастает до нескольких сотен. Таких операций умножения требуется три: вычисление текущей фазы виртуального генератора синусоиды, перемножение текущего значения напряжения на синус предполагаемого фазового угла, перемножение текущего значения напряжения на косинус предполагаемого фазового угла. Если считать, что на рассматриваемую задачу можно потратить половину ресурсов микроконтроллера, то количество необходимых операций превышает вычислительные способности микроконтроллера. Для решения этой проблемы выберем в качестве базовых функций разложения вместо синуса и косинуса их дискретные аналоги функции Уолша [3], что приведено на рис. 4.

Рисунок 1

Тогда вместо умножения на sin(х) и соs(х) имеем умножение па +1 и —1, что равносильно простому сложению (вычитанию):

Рисунок 1

где WAL(1,t), WAL(2,t) - функции Уолша номер один и номер два.

Из (3) мы также можем сразу определить угол фазовой рассинхронизации

Данный метод применен в устройстве защитного отключения трехфазной цепи, которое разработано в ЗАО «Протон-Импульс». В частности, томность определения фазы вход¬ного напряжения достигает 3". Параллельно с задачей оценки фазы устройство контролирует уровень входного напряжения и обеспечивает ряд дополнительных функций.

Тем, кто знаком только с программированием под Windows, возможно, приведенная здесь информация покажется неактуальной. Действительно, при вычислительной мощности процессора несколько миллиардов операций в секунду выигрыш в миллион операций покажется несущественным. Тем не менее стоимость микроконтроллера ATtiny13 в десятки раз меньше, чем стоимость, к примеру, РХА255.

Литература

  1. Евстифеев А. В. Микроконтроллеры АVR семейств Тiny и Меga фирмы Atmel, М.:Додэка-ХХ1,2007
  2. Пискунов И. С. Дифференциальное и интегральное исчисления. Учебник для вузов.В 2 т. М.: Интеграл-Пресс, 2001
  3. Айчифер Э., Джервис Б. Цифровая обработка сигналов: практический подход. 2-е изд.М.: Вильямс, 2004.