Оглавление:

Инвертор для привязки сетки: 10 шагов (с изображениями)
Инвертор для привязки сетки: 10 шагов (с изображениями)

Видео: Инвертор для привязки сетки: 10 шагов (с изображениями)

Видео: Инвертор для привязки сетки: 10 шагов (с изображениями)
Видео: Координационные оси 2024, Ноябрь
Anonim
Image
Image
Инвертор для привязки сетки
Инвертор для привязки сетки
Инвертор для привязки сетки
Инвертор для привязки сетки

Это интересный проект, так что пристегнитесь!

Сетевые инверторы позволяют подавать энергию в розетку, что является отличной возможностью. Я нахожу силовую электронику и системы управления, задействованные в их конструкции, интересными, поэтому я построил свою собственную. В этом отчете рассказывается о том, что я узнал, и документируется, как я поступал. Мне были бы интересны любые ваши комментарии (кроме тех, что не возились с электросетью).

Все концепции масштабируемы, но эта установка имела максимальную выходную мощность 40 Вт до того, как катушки индуктивности фильтра начали насыщаться. Выходной ток был синусоидальным с THD <5%.

Посмотреть программное обеспечение на моем GitHub

Запасы

  • Я использовал отладочную плату STM32F407. Он работает на частоте 168 МГц и имеет 3 встроенных АЦП с разрешением 12 бит со скоростью более 2,4 MSPS (миллионов выборок в секунду) каждый. Это безумие!
  • Я использовал отладочную плату DRV8301. В нем находится H-мост 60 В вместе с необходимыми драйверами затвора, токовыми шунтами и усилителями токовых шунтов. Супер здорово!
  • Я использовал тороидальный трансформатор 230-25 В с двумя выводами на выходе. Это означало, что мне не нужно было напрямую создавать сетевое напряжение, но вместо этого я мог работать с пиковыми напряжениями в 40 вольт. Намного безопаснее!
  • Я соединил нагрузку катушек индуктивности и конденсаторов вместе, чтобы получить желаемые значения L и C для фильтра.
  • Осциллограф и дифференциальный пробник - ключ к такому проекту. У меня есть пикоскоп

Шаг 1. Что такое электросеть?

Что такое электросеть?
Что такое электросеть?
Что такое электросеть?
Что такое электросеть?

В розетке (в Великобритании) вы получаете синусоидальный сигнал 50 Гц 230 В RMS с очень низким импедансом. Несколько слов об этом:

50 Гц - частота сети очень точно поддерживается на уровне 50 Гц. Она немного отличается, но в 90% случаев она находится в диапазоне 49,9–50,1 Гц. Посмотреть здесь. Вы можете представить себе, как все огромные генераторы на электростанциях по всей стране вращаются в унисон. Они вращаются синхронно, создавая для нас синусоидальный сигнал частотой 50 Гц. Их объединенная массивная инерция вращения требует времени, чтобы замедлиться или ускориться.

Теоретически, если к сети была приложена ОГРОМНАЯ нагрузка, это начало замедлять работу производителей в стране. Однако в ответ ребята из диспетчерского управления National Grid просили электростанции топить их котлы, увеличивать мощность нагрева и заставлять генераторы усерднее удовлетворять спрос. Таким образом, спрос и предложение находятся в непрерывном танце друг с другом.

Еще одна вещь, которую нужно сказать о сигнале 50 Гц. Несмотря на то, что она очень незначительно варьируется в районе 50 Гц, ребята наверху следят за тем, чтобы средняя частота в течение дня была ровно 50 Гц. Таким образом, если сеть работает на частоте 49,95 Гц в течение 10 минут, они обеспечат ее работу на частоте 50,05 Гц позже, чтобы довести точное количество циклов до 50 Гц x 60 секунд x 60 минут x 24 часа = 4 320 000 в день. Они делают это именно с использованием международного атомного времени. Таким образом, бытовые, офисные и промышленные приборы могут использовать частоту сети для отсчета времени. Обычно это делается, например, с помощью механических таймеров розеток.

230 В - это среднеквадратичное значение напряжения сигнала 50 Гц. Фактический сигнал достигает пика в 325 В. Это важно знать, потому что, если вы создаете инвертор, вам необходимо создать такое высокое напряжение, если вы собираетесь протекать током через вилки.

На самом деле напряжения в розетке в вашем доме очень разные. Это происходит из-за падения напряжения на сопротивлении проводов, разъемов, предохранителей, трансформаторов и т. Д. Сопротивление присутствует повсюду. Если вы включите электрический душ мощностью 11 киловатт (это ~ 50 ампер), то даже сопротивление 0,2 Ом упадет вам на 10 вольт. Вы можете видеть это, когда свет немного тускнеет. Большие двигатели, например, в пылесосах, потребляют огромные токи, пока двигатель набирает обороты. Поэтому вы часто видите легкое мерцание огней, когда включаете их.

Я хочу сказать, что напряжение в сети гораздо более изменчиво. Здесь, в Великобритании, предполагается, что это будет 230 В с допуском +10% / - 6%. Вы можете ожидать внезапных изменений и колебаний при включении / выключении больших нагрузок поблизости. Подумайте о сушилках, чайниках, духовках, пылесосах и т. Д.

Синусоидальный - сигнал должен быть красивой чистой синусоидальной волной, но на самом деле некоторые нелинейные устройства отбирают свою мощность из определенных точек в цикле синусоидальной волны. Это вносит искажения, и поэтому сигнал не является идеальной синусоидой. Нелинейные нагрузки обычно включают блоки питания компьютеров, люминесцентные лампы, зарядные устройства, телевизоры и т. Д.

Общее гармоническое искажение (THD) определяет это в форме волны. Существуют правила, определяющие, насколько чистым должен быть выход инвертора. Если он не может дать достаточно чистый сигнал, он не будет одобрен для продажи. Это важно, поскольку содержание гармоник в сети снижает эффективность некоторых подключенных к ней устройств (особенно нечетных гармоник). Я считаю, что максимально допустимый THD составляет 8%.

Низкое сопротивление - при выборе инвертора для привязки к сети это будет важно учитывать. К сети подключены всевозможные нагрузки, включая индуктивные, резистивные и иногда емкостные. Таким образом, импеданс неизвестен и может изменяться. Сопротивление очень маленькое, что означает, что если вы подключите сильноточную нагрузку, напряжение вообще не упадет.

Шаг 2: Как протолкнуть власть в сеть

Как передать энергию в сеть
Как передать энергию в сеть

Чтобы протолкнуть энергию в сеть, нам нужно синтезировать сигнал, который точно соответствует частоте и фазе сети, но с напряжением чуть выше.

Из-за низкого сопротивления сети трудно точно сказать, насколько выше это напряжение. И поскольку среднеквадратичное напряжение колеблется, мы должны убедиться, что мы колеблемся вместе с ним. Просто создать фиксированный сигнал напряжения 50 Гц, немного превышающий напряжение сети, не сработает!

ПИ-регулирование выходного тока

Что нам нужно, так это контур управления, с помощью которого мы измеряем мгновенный ток, который мы проталкиваем в сеть, и автоматически регулируем выходное напряжение для управления током, который нам нужен. Это эффективно преобразует наш выход в источник тока (а не в источник напряжения), который больше подходит для управления низкими сопротивлениями. Этого можно добиться с помощью контура управления PI (пропорционально-интегральная схема):

Контуры управления PI просто фантастические! К ним относятся 3 части:

  • Измеренное значение - ток, который мы вводим в сеть.
  • Уставка - ток, который мы хотим передать в сеть.
  • Выход - напряжение сигнала для генерации

Каждый раз, когда мы вызываем алгоритм PID, мы передаем самое последнее текущее измерение и желаемую уставку. Он вернет произвольное число (пропорциональное генерируемому выходному напряжению).

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

Алгоритм PID вызывается каждые 100 мкс (что соответствует 200 раз за цикл 50 Гц). Каждый раз, когда он вызывается, он может напрямую регулировать выходное напряжение и, следовательно, косвенно регулировать выходной ток. В результате мы получаем ступенчатый выходной ток, аналогичный показанному на рисунке, с каждым шагом, выполняемым каждые 100 мксек. Это обеспечивает достаточное разрешение.

Упреждающий контроль

Мы можем значительно снизить рабочую нагрузку на ПИ-контроллер, добавив также прямой контроллер. Это легко! Мы знаем приблизительное выходное напряжение, которое нам нужно создать (такое же, как и мгновенное напряжение сети). Затем можно оставить ПИ-регулятор для добавления небольшого дополнительного напряжения, необходимого для управления выходным током.

Сам по себе контроллер с прямой связью согласовывает выходное напряжение инвертора с напряжением сети. Если мы достаточно хорошо подходим друг другу, ток не должен течь. Таким образом, упреждающее управление выполняет 99% управления выходом.

Из-за низкого сопротивления сети любая разница в выходном напряжении FF и напряжении сети приведет к большому току. Поэтому я добавил буферное сопротивление 1 Ом между инвертором и сетью. Это действительно приводит к потерям, но они довольно малы в большой схеме.

Шаг 3: создание выходного напряжения с помощью ШИМ

Создание выходного напряжения с помощью ШИМ
Создание выходного напряжения с помощью ШИМ
Создание выходного напряжения с помощью ШИМ
Создание выходного напряжения с помощью ШИМ
Получение выходного напряжения с помощью ШИМ
Получение выходного напряжения с помощью ШИМ

Хотя мы косвенно контролируем выходной ток, это выходное напряжение, которое мы генерируем в любой данный момент. Мы используем ШИМ (широтно-импульсную модуляцию) для создания выходного напряжения. Сигналы ШИМ могут легко создаваться микроконтроллерами, и они могут быть усилены с помощью H-моста. Это простые формы сигналов, которые характеризуются двумя параметрами: частотой F и скважностью D.

Форма сигнала ШИМ переключается между двумя напряжениями, в нашем случае 0 В и Vsupply.

  • При D = 1.0 форма сигнала ШИМ - это просто постоянный ток при Vsupply.
  • При D = 0,5 мы получаем прямоугольную волну со средним напряжением 0,5 x Vsupply (то есть D x Vsupply).
  • При D = 0,1 мы получаем импульсный сигнал со средним периодом 0,1 x Vsupply.
  • При D = 0,0 выходной сигнал представляет собой ровную линию (постоянный ток при 0 В).

Среднее напряжение - вот что важно. С помощью фильтра нижних частот мы можем удалить все, кроме средней составляющей постоянного тока. Таким образом, изменяя рабочий цикл ШИМ D, мы можем добиться любого желаемого напряжения постоянного тока. Милая!

Использование H-образного моста

H-мост состоит из 4 переключающих элементов. Это могут быть BJT, MOSFET или IGBT. Чтобы получить первую половину (0–180 градусов) синусоидальной волны, мы устанавливаем фазу B на низкий уровень, выключая Q3 и включив Q4 (то есть применяя ШИМ с D = 0). Затем мы выполняем нашу PWMing на фазе A. Для второй половины, где VAB отрицательно, мы устанавливаем фазу A low и применяем нашу PWM к фазе B. Это известно как биполярное переключение.

МОП-транзисторы в H-мосте должны управляться драйвером затвора. Это отдельная тема, но с ней справится простой чип. На плате разработки DRV8301 удобно расположены H-мост, драйверы затвора и токовые шунты, что значительно упрощает этот проект.

Шаг 4: Измерение силы тока

Измерение тока
Измерение тока
Измерение тока
Измерение тока
Измерение тока
Измерение тока

На каждой ножке H-моста есть шунтирующий резистор и дифференциальный усилитель. Наши шунты имеют сопротивление 0,01 Ом, а наши усилители настроены на усиление 40. Следовательно, 1 ампер развивает 10 мВ на шунте, который затем усиливается до 400 мВ.

Выходы шунтирующих усилителей считываются 12-битными АЦП на STM32F407, работающими в режиме непрерывного преобразования. АЦП настроены на выборку каждого шунта со скоростью 110KSPS, а контроллер прямого доступа к памяти автоматически записывает преобразования в кольцевой буфер из 11 слов в ОЗУ. Когда требуется текущее измерение, мы вызываем функцию, которая возвращает медианное значение этого 11-словного буфера.

Поскольку мы запрашиваем текущие измерения на каждой итерации ПИД-регулятора (на частоте 10 кГц), но заполняем наши 11-словные буферы АЦП с частотой 110 кГц, мы должны получать полностью свежие данные на каждой итерации ПИД-регулятора. Причина использования медианного фильтра заключается в том, что переключение ШИМ может вносить пики в микс, а медианные фильтры очень эффективно устраняют ложные выборки АЦП.

Здесь важно обратить внимание на следующее: какую ногу H-моста мы используем для текущих измерений? Что ж, это зависит от того, на какой ноге мы сейчас работаем PWM, а какая просто не работает. Нога, удерживаемая на низком уровне, - это та, от которой мы хотим измерить наш ток, поскольку ток всегда течет через шунтирующий резистор на этой стороне. Для сравнения, на стороне ШИМ, когда полевой МОП-транзистор верхнего уровня включен, а сторона нижнего - выключена, через шунт нижнего плеча не течет ток. Итак, мы меняем ногу, на которой измеряем ток, в зависимости от выходной полярности инвертора. Вы можете ясно видеть это на картинке, показывающей выходной сигнал одного из шунтирующих усилителей за период. Очевидно, мы хотим снимать показания во время плавного бита.

Чтобы помочь отладить наши текущие показания. Я установил ЦАП на STM32F407. Я написал текущие показания, которые я получал, и оценил результат. Вы можете видеть это на окончательном изображении: синий цвет - это напряжение на резисторе выходного буфера (т. Е. Выходной ток / 1,1 Ом), а красный сигнал - это выход нашего ЦАП.

Шаг 5: фильтрация вывода

Фильтрация вывода
Фильтрация вывода
Фильтрация вывода
Фильтрация вывода

Выходной фильтр - ключевая часть дизайна. От него нам понадобятся эти характеристики:

  1. Заблокируйте все высокочастотные переключения, но пропустите сигнал 50 Гц
  2. Низкие потери
  3. Не резонировать!
  4. Чтобы справиться с задействованными токами и напряжениями

Преобразование Фурье ШИМ-сигнала с частотой F, скважностью D, между 0 - Vпитание вольт: (D x Vsupply) + синусоидальные волны на основной частоте F и гармоники после них.

Это великолепно! Это означает, что мы пропускаем наш ШИМ-сигнал через фильтр нижних частот, который блокирует основную частоту ШИМ и все, что выше. Остался только термин "напряжение постоянного тока". Изменяя рабочий цикл, мы можем легко получить любое напряжение в диапазоне от 0 до Vsupply, как описано.

Исходя из указанных выше желаемых характеристик, мы можем разработать выходной фильтр. Нам нужен фильтр нижних частот с минимальным сопротивлением, чтобы избежать потерь. Следовательно, мы просто используем катушки индуктивности и конденсаторы. Если мы выберем резонансную частоту от 1 до 2 кГц, мы избежим резонанса, поскольку мы не подаем никаких сигналов рядом с этой частотой. Вот наш дизайн фильтра. Мы принимаем наш выход как напряжение на C1.

Выбрав L1 = L2 = 440 мкГн, C1 = 8,4 мкФ, мы вычисляем резонансную частоту 1,85 кГц. Это также реалистичные значения компонентов.

Очень важно убедиться, что наши катушки индуктивности не начинают насыщаться при ожидаемых токах. Катушки индуктивности, которые я использовал, имеют ток насыщения 3А. Это будет ограничивающим фактором выходной мощности нашей схемы. Также важно учитывать номинальное напряжение конденсатора. Я использую керамику на 450 вольт, что в данном случае является излишним!

График Боде (для немного разных значений аккредитива) был создан с использованием LTspice. Он показывает нам ослабление на разных входных частотах. Мы ясно видим резонансную частоту 1,8 кГц. Это показывает, что сигнал 50 Гц почти полностью не искажен, тогда как я могу сказать вам, что сигнал 45 кГц ослабляется на 54 дБ!

Итак, давайте выберем нашу несущую частоту ШИМ ~ 45 кГц. Выбирая более высокие несущие частоты ШИМ, можно увеличить частоту фильтра. Это хорошо, потому что уменьшает значения L и C. Это означает меньшие и более дешевые компоненты. Обратной стороной является то, что более высокая частота переключения ШИМ приводит к большим потерям в транзисторных ключах.

Шаг 6: синхронизация фазы и частоты

Синхронизация фазы и частоты
Синхронизация фазы и частоты
Синхронизация фазы и частоты
Синхронизация фазы и частоты
Синхронизация фазы и частоты
Синхронизация фазы и частоты

Синхронизация с фазой и частотой сети - вот что делает инвертор для привязки к сети. Мы используем цифровую реализацию PLL (Phase Lock Loop) для достижения точного отслеживания фазы сетевого сигнала. Мы делаем это:

  1. Измерение сетевого напряжения
  2. Создание собственного синусоидального сигнала с частотой 50 Гц
  3. Сравнение фазы между нашим локальным сигналом и сетевым сигналом
  4. Регулировка частоты местного сигнала до тех пор, пока разность фаз между двумя сигналами не станет нулевой.

1) Измерение сетевого напряжения

Мы настраиваем 3-й канал АЦП для чтения линейного напряжения. Это мы получаем путем деления напряжения на отводе трансформатора, как показано. Это обеспечивает масштабированное напряжение, изменяющееся примерно на 1,65 В, которое точно представляет напряжение сети.

2) Создание локального синусоидального сигнала 50 Гц Создать собственную локальную синусоидальную волну 50 Гц очень просто. Мы храним справочную таблицу из 256 значений синуса. Наше смоделированное значение синуса легко получить с помощью индекса поиска, который постепенно вращается по таблице.

Мы должны увеличивать наш индекс с правильной скоростью, чтобы получить сигнал 50 Гц. А именно 256 x 50 Гц = 12 800 / с. Мы делаем это, используя timer9 с тактовой частотой 168 МГц. Подождав 168 МГц / 12800 = 13125 тактов, мы изменим наш индекс с правильной скоростью.

3) Сравнение фазы между нашим локальным сигналом и сетевым сигналом Это крутая часть! Если вы проинтегрируете произведение cos (wt) x sin (wt) за 1 период, результат будет равен нулю. Если разность фаз отлична от 90 градусов, вы получите ненулевое число. Математически:

Интеграл [Asin (t) x Bsin (t + φ)] = Ccos (φ)

Отлично! Это позволяет нам сравнить сетевой сигнал sin (ωt) с нашим локальным сигналом sin (⍵t + φ) и получить значение.

Однако есть проблема, которую необходимо решить: если мы хотим, чтобы наши сигналы оставались в фазе, нам нужно настроить нашу локальную частоту, чтобы член Ccos (φ) оставался максимальным. Это не будет работать очень хорошо, и мы получим плохое отслеживание фаз. Это связано с тем, что d / dφ функции cos (φ) равно 0 при φ = 0. Это означает, что член Ccos (φ) не будет сильно меняться при изменении фазы. Имеет ли это смысл?

Было бы гораздо лучше сдвинуть фазу дискретизированного сетевого сигнала на 90 градусов, чтобы он стал cos (ωt + φ). Тогда у нас есть это:

Интеграл [Asin (t) Bcos (t + φ)] = Csin (φ)

Ввести фазовый сдвиг на 90 градусов легко, мы просто вставляем наши отсчеты напряжения сетевого АЦП в один конец буфера и вынимаем их на несколько отсчетов позже, что соответствует фазовому сдвигу на 90 градусов. Поскольку частота сети практически не меняется от 50 Гц, простая техника задержки времени работает блестяще.

Теперь мы умножаем наш сетевой сигнал, сдвинутый по фазе на 90 градусов, на наш локальный сигнал и сохраняем текущий интеграл продукта за последний период (то есть за последние 256 значений).

Результат, который мы знаем, будет равен нулю, если два сигнала выдерживаются точно под углом 90 градусов. Это фантастика, потому что устраняет фазовый сдвиг, который мы только что применили к сетевому сигналу. Чтобы прояснить, вместо максимизации интегрального члена мы пытаемся сохранить его равным нулю и сдвигаем фазу нашего сетевого сигнала. Фазовые сдвиги на 90 градусов, вносимые этими двумя изменениями, компенсируют друг друга.

Итак, если Integral_Result <0, мы знаем, что должны увеличить частоту гетеродина, чтобы вернуть его в фазу с сетью, и наоборот.

4) Регулировка частоты местного сигнала с помощью этого бита несложно. Мы просто регулируем период между приращениями в нашем индексе. Мы ограничиваем, насколько быстро мы можем исправить разность фаз, по существу отфильтровывая ложные помехи. Мы делаем это с помощью ПИ-регулятора с очень маленьким членом I.

Вот и все. Мы заблокировали наш локальный синусоидальный генератор (который устанавливает заданное значение выходного тока) так, чтобы он совпадал по фазе с напряжением сети. Мы реализовали алгоритм ФАПЧ, и он работает как мечта!

Увеличение частоты гетеродина также снижает фазовый сдвиг сетевого сигнала. Поскольку мы ограничиваем настройку частоты до +/- 131 деления (+/- ~ 1%), мы повлияем на фазовый сдвиг не более чем на +/- 1 °. Это не имеет никакого значения, пока фазы синхронизируются.

Теоретически, если частота сети отклоняется более чем на 0,5 Гц, мы теряем фазовую синхронизацию. Это связано с нашим вышеупомянутым ограничением на то, насколько мы можем регулировать частоту нашего гетеродина. Однако этого не произойдет, пока сеть не выйдет из строя. Наша защита от островов в любом случае сработает на этом этапе.

Мы действительно выполняем обнаружение пересечения нуля при запуске, чтобы изо всех сил стараться запускать сигналы синфазно от смещения.

Шаг 7: Анти-островность

Анти-остров
Анти-остров

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

Как лучше объяснено в статье в Википедии, мы применяем несколько мер предосторожности, которые вместе обеспечивают адекватную защиту (на мой взгляд):

  1. Пониженное / повышенное напряжение
  2. Недостаточная / повышенная частота

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

Рекомендуемые: