Авр для генератора с автозапуском купить 380 вольт схема подключения
Перейти к содержимому

Авр для генератора с автозапуском купить 380 вольт схема подключения

  • автор:

Основные схемы АВР и их особенности.

Энергоснабжение промышленных предприятий, различных учреждений и частных домов должно быть бесперебойным. В противном случае последствия могут оказаться непредсказуемыми и в некоторых ситуациях весьма опасными. Во избежание этого питание потребителей обеспечивают двумя независимыми друг от друга источниками электроэнергии. Один из них служит основным, а второй используется в качестве резервного. Для быстрого переключения между источниками применяют автоматический ввод резерва — АВР. Схемы подключения АВР достаточно разнообразны и зависят от типа напряжения, нагрузки, видов потребителей и множества других факторов. Но базовые схемы АВР остаются неизменными и могут быть взяты за основу при создании более сложных систем автоматического ввода резерва.

Типовая схема однофазного АВР 220В на модульных контакторах.

Для большинства частных домов, административных зданий и малых производственных помещений достаточно простейшей схемы АВР. Она состоит из двух однополюсных автоматических выключателей, одного контактора и одного двухполюсного автоматического выключателя. В нормальном режиме электропитание проходит через однополюсный автомат и поступает на контактор. При этом нормально-разомкнутый контакт замыкается, а нормально-замкнутый, наоборот, размыкается. От контактора фаза приходит на двухполюсный выключатель. В свою очередь ноль никогда не размыкается и сразу приходит на второй контакт двухполюсного выключателя. В случае аварийного режима контактор размыкает фазу с основного ввода и подключает с резервного. Если же понадобится вручную перевести нагрузку с основного источника на резервный, достаточно просто отключить однополюсный автомат основной сети. Готовые АВР 25А-40А на модульных контакторах

Схема трехфазного АВР 380В на контакторах и реле контроля фаз.

Рассмотренная выше схема прекрасно работает в однофазной сети. Однако при наличии трехфазного напряжения схема АВР не обходится без реле контроля фаз. Такое реле выполняет функцию постоянного слежения за параметрами напряжения основной сети. В случае превышения показателей или падения напряжения, а также при неисправностях одной из фаз, реле обеспечит переход на резервный ввод. Но этим возможности реле не ограничиваются. Так, в зависимости от выбранной модели оно может следить за фазировкой (порядок чередования фаз) и асимметрией напряжения (перекос фаз). Готовые АВР 25А-63А на контакторах (магнитных пускателях) С технической точки зрения реле контроля трехфазного напряжения состоит из измерительной и силовой части. Первая, как правило, имеет регулируемые параметры. Например, можно установить порог для верхнего и нижнего значения напряжения. Также незаменимой окажется возможность регулировки параметров задержки срабатывания реле. Это позволит избежать ложного срабатывания устройства во время кратковременных колебаний напряжения основной электрической сети.

Схема АВР на два и на три ввода.

Пока что нами были рассмотрены схемы АВР только на два ввода. Логика их работы достаточно проста — с основной сети переключать на резерв, а с резерва на основную сеть. Но ведь источников питания может быть и больше. В этом случае не обойтись без схемы АВР на три ввода. Предположим, в нашем распоряжении имеется основная линия (Ввод 1), резервная линия (Ввод 2) и дизельный генератор (ДГУ). Тогда логика работы будет состоять в следующем. При падении напряжения на первом вводе питание потребителей идет за счет второго ввода. А с возобновлением нормального напряжения снова возвращается на первый ввод. Если же оба ввода обесточены, через заданную выдержку по времени подается команда на запуск ДГУ. Каждый из вводов сопровождается своим автоматическим выключателем и дополнительно устанавливается автомат между ДГУ и двумя другими вводами. Это необходимо во избежание встречного напряжения между ДГУ и основным вводом. Схемы АВР на 2 ввода АВР-Б-2-1(G).pdf Схемы АВР на 3 ввода АВР-Б-3-1G.pdf

Схема АВР для вводно-распределительного устройства с секционным переключателем.

А теперь настало время перейти к более сложным распределительным системам электроэнергии. Таковыми являются вводно-распределительные устройства с секционным переключателем. Чтобы бесперебойно принимать и распределять электроэнергию, вся система разделена на секции, каждая из которых питается от своего источника. В случае аварийной ситуации на одной из секций потребители будут запитаны от смежной секции через секционный выключатель. Звучит достаточно просто, но на практике схема АВР должна учитывать не только отсутствие напряжения на указанной секции. Учитывается также наличие напряжения на соседнем участке, иначе переход на питание от него не имеет смысла. Помимо этого, контроллер АВР проверяет отсутствие короткого замыкания, в противном случае подача энергии на эту секцию недопустима. Схема АВР обязана учитывать и то, что вводной выключатель должен быть включен. Чтобы не получилось ситуации, когда секцию обесточили намеренно, а в этот момент АВР вступает в работу. Все эти особенности делают создание схемы АВР для вводно-распределительного устройства весьма нетривиальной задачей. Особенно если количество секций ВРУ больше двух. Схемы АВР на два ввода с секционированием АВР-Б-2-2С.pdf

Основные выводы.

Даже самая простая схема АВР подразумевает наличие сразу нескольких компонентов. Неправильное расположение или подключение хотя бы одного из них может привести к печальным последствиям. И даже если все элементы задействованы правильно, их подключение и настройка занимают массу времени. При этом не стоит забывать и о том, что все контакторы, автоматические выключатели и прочие составляющие должны быть одного производителя! Только в этом случае можно гарантировать отлаженную и бесперебойную работу автоматического ввода резерва. В связи с этим невольно возникает вопрос — не лучше ли воспользоваться готовым модульным решением вместо того, чтобы самостоятельно пытаться собрать АВР из различных компонентов? Готовое решение от CHINT — модульный АВР серии NZ7 с моторным приводом. Специалисты CHINT уже все сделали за вас, остается только подключить два ввода и выход питания. Все до безумия просто, не правда ли?! Да, и вы сейчас сами в этом убедитесь. CHINT серии NZ7 представляет собой модульную конструкцию, от начала и до конца собранную на заводе. Это исключает сборку «кривыми руками», все уже протестировано, настроено и полностью готово к работе. АВР от CHINT легко помещается в типовой шкаф. Неоспоримое преимущество серии NZ7 заключается в двойной блокировке обоих вводов! Контакты прерывателей цепи обеспечивают электрическую блокировку, а моторный привод выполняет механическую блокировку. Таким образом, полностью исключается вероятность подключения к нагрузке сразу обоих источников питания. Более того, электродвигатель используется только один, а переключение вводов осуществляется его вращением вперед и назад. Это дает существенную экономию пространства, делая устройство компактным, практически бесшумным и с пониженным энергопотреблением. Еще одной отличительной чертой АВР CHINT серии NZ7 можно назвать универсальность в выборе источника ввода. То есть питание можно осуществлять как от централизованной электрической сети, так и от любого генератора. При этом АВР от CHINT сможет самостоятельно управлять не только запуском, но и остановкой генератора. А регулировка задержки при переходе на резерв позволит избежать ложного срабатывания в случае кратковременного падения напряжения. В общем готовый модульный АВР от CHINT позволит избежать мучительного поиска подходящей схемы АВР и длительного монтажа оборудования. Всего за полчаса автоматический ввод резерва будет смонтирован и станет обеспечивать бесперебойное снабжение электроэнергией заданного объекта. А все что для этого потребуется — просто подключить вводы и вывод!

Схема автозапуска генератора с АВР

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

Зачастую в качестве резерва выступает бензиновый или дизельный генератор. Это наиболее доступный и весьма надежный способ. Но у любого генератора есть недостаток — ему требуется время на запуск и выход на рабочую мощность. Когда речь заходит о бесперебойности питания, управление запуском должно быть передано автоматике. В самых простых ситуациях это делается с помощью трехполюсного реле. При падении напряжения в основной сети оно переключает нагрузку на питание от генератора. Третий полюс необходим для подачи напряжения от аккумулятора к стартеру генераторной установки. При этом цепь проходит через реле времени, что позволяет подавать команду на запуск с определенной периодичностью. С появлением напряжения от генератора в случае успешного запуска сработает реле, которое отключит схему пуска. Вот только у таких простых решений есть два нюанса. Во-первых, если имеются проблемы с запуском генератора, то реле будет крутить стартер до тех пор, пока не разрядится аккумулятор. Во-вторых, переключение на резервный генератор происходит немедленно. То есть до выхода генераторной установки на рабочий режим потребителям будет подаваться неизвестное напряжение неизвестной частоты. А это уже чревато выходом оборудования из строя. Так что автозапуск генератора должен быть реализован на основе блока АВР. Функции АВР для генератора с автозапуском. Иногда модели генераторов уже идут со встроенными блоками АВР. Но в большинстве случаев такой контроллер придется докупать отдельно. Он подключается к генераторной установке через специальное гнездо. Обратите внимание: чтобы имелась возможность автоматического запуска, установка должна быть оснащена электрическим стартером или иметь дроссельную заслонку с электроприводом. Если технически автозапуск генератора возможен, то останется подобрать соответствующий блок АВР. Такой контроллер должен обладать следующими функциями: — отключение основной сети в случае падения напряжения;
— автоматическая подача сигнала на запуск генератора;
— контроль выхода генератора на рабочий режим;
— подключение нагрузки к резервному питанию от генератора;
— контроль рабочего режима ДГУ с возможностью регулировки (частота, напряжение, количество оборотов);
— возврат к основной сети при восстановлении на ней напряжения;
— подача сигнала на остановку генератора;
— включение зарядки пускового аккумулятора. Такие полнофункциональные решения с контролем всех показателей и возможностью программирования параметров есть у производителей DSE, DKG, SmartGen. Если блок АВР подобран правильно, то можно переходить к рассмотрению схемы автозапуска. Схема автозапуска генератора. Итак, давайте рассмотрим схему с использованием АВР и блока автоматического запуска генератора (БАЗГ). Это позволит запускать генератор в автоматическом режиме и переходить на резерв в случае прекращения подачи электроэнергии в централизованной сети. Также на схеме задействовано автоматическое зарядное устройство (АЗУ). Оно обеспечит непрерывность электропитания и стабильность напряжения в локальной сети. Стоит обратить внимание, что помимо стартера на схеме обозначен привод управления дроссельной (воздушной) заслонкой. Его наличие делает запуск двигателя более уверенным. До начала запуска генератора БАЗГ закроет воздушную заслонку и будет открывать ее по мере прогрева двигателя. Без возможности управления заслонкой пуск двигателя будет затруднителен, а при определенных условиях совсем не возможен. В целом схема автозапуска генератора довольно проста. Но необходимо помнить, что эффективность работы будет зависеть от условий эксплуатации самого генератора. В частности, необходимо обеспечить нормальный воздухообмен и отвод тепла, чтобы исключить вероятность заклинивания двигателя в результате перегрева. Также на автозапуск генератора влияет надежность подзарядки стартерной батареи. Вот почему при реализации схемы на практике нужно уделить должное внимание всем элементам, обозначенным на ней.

Как я делал себе АВР для генератора

Несколько лет назад делал себе АВР (автоматический ввод резерва) для работы на даче от генератора. Сейчас многие ИТ-шники переходят на удалёнку, работают с дач, где качество электропитания может оставлять лучшего. Поэтому решил написать о своем опыте самодельного АВР на микроконтроллере ATmega8A. Если тема интересна, добро пожаловать под кат, будет много букв и кода.

О заземлении

Прежде чем что-либо делать с электричеством, нужно позаботиться о наличии хорошего заземления в вашем доме. Просто так взять и подключить обычный бытовой бензиновый/дизельный/газовый генератор к электросети дома не получится. Нужно соблюдать меры предосторожности. Первая из них – ваш генератор должен быть хорошо заземлен. Тогда у вас есть хорошие шансы не получить удар током, когда статика от вашего любимого свитера пробъёт изоляцию обмотки генератора. Вообще, к работающему генератору не стоит без нужды прикасаться.

Стоит помнить, что в сети не всегда 220В. Коммутация на линиях, грозовые разряды вдалеке, статические разряды дают такие наводки, что в сети нередки короткие импульсы в несколько киловольт. С этим борются установкой разрядников и УЗИП на вводе в дом, но это очень редкая практика в РФ. Так что пусть искра в землю уходит, и не через вас – сделайте по всему дому хорошее заземление. Без этого делать что-либо дальше просто нельзя!

О генераторах

К слову, у многих бытовых бензиновых генераторов обмотки никак не соединены с землёй. И это вполне нормально, когда вы питаете от генератора один электроинструмент. Но когда вам надо подключить генератор к дому, нужно сделать нулевой провод (N) и провод фазы (L). Для этого один из выводов генератора заземляется и из этой точки заземления уже независимо нужно вести в дом два провода – один будет нейтралью N, а второй – защитным заземлением (PE). При выборе генератора нужно обратить внимание, можно ли заземлять его выход, порой это запрещено в инструкции к генератору, тогда такой генератор вам не подойдёт.

Часто в Сети можно увидеть схемы подключения генератора без заземления и разделения линий N и PE. Не делайте так, дольше проживёте. Такие схемы хорошо работают до первого неудачного стечения обстоятельств. В типичных блоках питания современных электронных приборов стоят конденсаторы с линий L, N на землю. Если N не заземлить у генератора, то за счёт этих конденсаторов на линии N будет, если повезёт, 110 вольт относительно земли. Кстати, многие газовые котлы в таком режиме вообще перестают работать. Про влияние статики без присутствия заземления я уже писал выше.

О схемах АВР

Есть несколько разных схем реализации АВР. Дальше я буду писать о наиболее безопасной с моей точки зрения схеме однофазного АВР. Я не советую экономно делать АВР на одном контакторе или же с коммутацией только одного фазного провода. Только вместе с нейтралью.

На приведенной схеме питание от сети и от генератора подаётся через вводы 1 и 2. Они защищены спаренными автоматами. Через дополнительные автоматы питаются схемы коммутации и индикации. Видно, что катушки реле взаимно блокируются электрически. За включение того или иного ввода отвечает для упрощения не показанный на схеме микроконтроллер, который замыкает цепи в точке коммутации ТК1 или ТК2.

Принципиальным моментом является наличие в АВР 2х схем блокировок – взаимной механической блокировки коммутирующих вводы контакторов и взаимной электрической блокировки контакторов. Самодельщики ради экономии, бывает, в своих конструкциях пренебрегают этими блокировками, а зря. Схема без блокировок может проработать некоторое время, но в какой-то момент контакты пригорят, возвратные пружины ослабнут и случится КЗ между вводами. Во-первых, это грозит большим бабахом, если обе линии окажутся под напряжением, но это не самая большая проблема. Гораздо важнее, что ваш генератор неожиданно для ремонтирующих проводку электриков может выдать в общую сеть напряжение – при неблагоприятном стечении обстоятельств ремонтирующие линию электрики могут погибнуть. Для вас это уже уголовная статья.

О контакторах

Таким образом, использование обычных реле для нас отпадает, подойдут только специализированные контакторы. Для больших мощностей есть ещё вариант с моторизованными приводами, но это дорого и для типичного домашнего применения избыточно.

Чтобы сделать механическую блокировку, нужно выбрать контакторы, которые могут работать в паре. Обычно взаимная блокировка достигается установкой одинаковых контакторов рядом друг с другом и установкой дополнительной опции – механического блокиратора. Он продаётся отдельно от контакторов и стоит копейки.

Взаимная электрическая блокировка возможна, если на контакторе есть дополнительные сигнальные контакты, работающие на размыкание. Иногда они сразу встроены в контактор, иногда их можно докупить и установить как опцию.

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

Еще по поводу коммутируемой мощности. Контакты контактора должны выдерживать максимальную мощность, которую вам разрешено потреблять в доме. У меня это 10 кВт, поэтому контакторы я выбирал на допустимый ток через один контакт примерно в 50 ампер. Стоит отметить, что по какой-то причине коммутируемая мощность для типичного трехфазного контактора указывается в паспорте суммарная для всех трёх фаз, поэтому надо внимательно смотреть, какой допустимый ток именно через один контакт.

О схеме управления

Когда я занимался созданием АВР у меня было несколько особых требований к его работе:

  • У меня не так часто отключают электричество, поэтому я решил, что мне не нужен автозапуск генератора, а вот от автоматической остановки генератора я решил не отказываться: когда сеть восстанавливается, генератор сам затихает и сразу понятно, что теперь с питанием всё хорошо, да и бензин экономится
  • После старта генератора ему надо дать время прогреться и только после прогрева давать ему нагрузку. Т.е. мне нужен был таймер включения АВР после подачи напряжения от генератора
  • После восстановления напряжения в сети часто происходили повторные отключения через короткий промежуток времени, поэтому мне нужен был таймер, который бы выждал перед переходом с генератора на сеть некоторое время и не глушил сразу генератор
  • Генератору, говорят, полезно перед выключением немного поработать без нагрузки. И для этого мне тоже нужен был таймер

Хорошо бы, чтоб контроллер работал долго и надёжно. Кроме того, чтобы сделать полную гальваническую развязку и снабдить контроллер сторожевым таймером я ничего более не придумал. Ну и сделать схему и программу максимально простыми. Поскольку делалось всё для себя, то все настройки и калибровки решил оставить в коде — весь UI свелся к одному светодиоду )

Основная задача контроллера – мониторить напряжение на вводах и, при необходимости, переключать вводы. При этом приоритетным является ввод от деревенской сети.

Тут стоит отметить, что качество сети таково, что колебания от 150 в до 250 в вполне обычное явление. Поэтому понятие что есть хорошее питание от сети очень размыто. Через какое-то время я решил эту проблему, когда поставил на весь дом один мощный тиристорный стаблизатор напряжения на 11 кВт. Но, важно, стабилизатор можно ставить только до АВР, а не после! Включать стабилизатор для генератора категорически не рекомендуется. Есть опасность, что при определенной комбинации нагрузок, особенно всяких мощных насосов, система из генератора и стабилизатора станет неустойчивой и войдет в автоколебания.

После некоторых раздумий нарисовал такую схему в Eagle.

В схеме есть два идентичных трансформаторных источника питания, при наличии напряжения на любом из вводов схема обеспечена питанием. Между вводами возможно напряжение в 600в, поэтому изоляция трансформаторов должна быть хорошей. Питание берется после пакетников QF3 и QF4 соответственно.

У каждого источника есть резистивный делитель напряжения, защищенный от перенапряжения стабилитроном – с него производится путём нехитрых расчётов измерение напряжение сети с помощью АЦП микроконтроллера.

Для коммутации катушек контакторов применяется стандартная схема из даташита для управления семисторами. 2 штуки ). Катушки — это индуктивная нагрузка, поэтому цепи снаббера на выходе из резистора и конденсатора обязательны.

У меня был релейный модуль с али, который используется для останова генератора. На схеме он просто прямоугольник с тремя выводами.

Из особенностей еще в качестве генератора опорного напряжения использован TL431. В остальном всё включено стандартно для Atmega 8. Есть светодиоды для индикации наличия напряжения питания на вводах и один светодиод статуса устройства. Тактируется схема с помощью внешнего кварца на 16 МГц.

Eagle мне породил вот такую печатную плату. Никаких SMD, симисторы и стабилизатор с легкими радиаторами.

Два тороидальных трансформатора установлены прямо на плате. Плату изготовил традиционным радиолюбительским способом с помощью фоторезиста. После монтажа покрыл тремя слоями акрилового лака. Надеюсь не пробьет его высокое напряжение.

О программе управления

Код программы довольно длинный, извините.

Код программы

/* * ABP - программа управления блоком "Автоматического ввода резерва" * В блоке управления есть два ввода напряжения от сети и генератора и три выхода- * один выход для управления контактором включения сети, второй - контактором * включения генератора и третий - реле запуска стартера генератора. * В блоке управления есть выход RS232 для отладочной информации, порт SPI для * программирования микроконтроллера и 3 светодиода. Два зеленых светодиода * показывают наличие напряжения питания на входах сети и генератора. Красный * светодиод показывает состояние контроллера количеством вспышек. * * для нормальной печати напряжений нужно линковать большие библиотеки printf * дополнительные опции в линкере -Wl,-u,vfprintf -lprintf_flt */ #ifndef F_CPU # define F_CPU 16000000UL #endif #define BAUD 9600 #include #include #include #include #include #include #include // переменные для сохранения состояния контроллера после запуска // используются только для отладки uint8_t mcusr_mirror __attribute__ ((section (".noinit"))); void get_mcusr(void) \ __attribute__((naked)) \ __attribute__((section(".init3"))); void get_mcusr(void) < mcusr_mirror = MCUSR; MCUSR = 0; wdt_disable(); >//настройка UART для отладочной печати в порт RS232 void uart_init( void ) < /* //настройка скорости обмена UBRRH = 0; UBRRL = 103; //9600 при кварце 16 МГц */ #include UBRRH = UBRRH_VALUE; UBRRL = UBRRL_VALUE; #if USE_2X UCSRA |= (1 int uart_putc( char c, FILE *file ) < //ждем окончания передачи предыдущего байта while( ( UCSRA & ( 1 FILE uart_stream = FDEV_SETUP_STREAM( uart_putc, NULL, _FDEV_SETUP_WRITE ); // настройка счетчика 1 для счета секунд - главный таймер в программе void timer1_init( void ) < TCCR1A = 0; // регистр настройки таймера 1 - ничего интересного /* 16000000 / 1024 = 15625 Гц, режим СТС со сбросом 15625 должен давать прерывания раз в 1 сек */ // режим CTC, ICP1 interrupt sense (falling)(not used) + prescale /1024 + без подавления шума (not used) TCCR1B = (0 // описание состояния контакторов typedef enum _ABP_RLY_STATES < RLY_OFF = 0, // контактор выключен RLY_ON // контактор включен >ABP_RLY_STATES; // перечень используемых в блоке реле typedef enum _ABP_RLY < RLY_220N = 0, RLY_220G, RLY_GEN >ABP_RLY; volatile ABP_RLY_STATES contactors[RLY_GEN+1]; // расчетные состояния контакторов // описание состяния софтовых таймеров typedef enum _ABP_TMR_STATES < TMR_OFF = 0, // таймер выключен TMR_ON // таймер включен >ABP_TMR_STATES; // структура описывающая софтовый таймер typedef struct < ABP_TMR_STATES state; // состояние включения таймера unsigned char passed_secs; // сколько секунд прошло (ограничение до 255. ) unsigned char set_secs; // установка срабатывания таймера в секундах >TMR_INSTANCE; // перечень используемых софтовых таймеров typedef enum _ABP_TMRS < TMR_220N_ON = 0, // задержка включения контактора после появления 220 от сети TMR_220G_ON, // задержка включения контактора после появления 220 от генератора TMR_220N_OFF, // задержка выключения контактора после пропадания 220 в сети TMR_220G_OFF, // задержка выключения контактора после пропадания 220 от генератора TMR_PRINT, // задержка отладочной печати в последовательный порт TMR_GEN_OFF // задержка выключения реле стартера генератора после появления 220 от сети >ABP_TMRS; volatile TMR_INSTANCE abp_timers[TMR_GEN_OFF+1]; // таймеры по перечню ABP_TMRS void abp_timers_init( void ) < // время срабатывания таймеров в секундах abp_timers[TMR_220N_ON].set_secs = 10; // ожидание после включения сетевого напряжения abp_timers[TMR_220G_ON].set_secs = 60; // ожидание для переключения на генератор для прогрева генератора abp_timers[TMR_220N_OFF].set_secs = 5; // ожидание после пропадания сетевого напряжения abp_timers[TMR_220G_OFF].set_secs = 5; // ожидание после пропадания напряжения генератора abp_timers[TMR_GEN_OFF].set_secs = 60; // ожидание для охлаждения генератора перед остановом abp_timers[TMR_PRINT].set_secs = 2; // задержка печати unsigned char i; for(i=TMR_220N_ON; ifor(i=RLY_220N; i > // запуск таймера void abp_timer_start( ABP_TMRS tmr ) < abp_timers[tmr].passed_secs = 0; abp_timers[tmr].state = TMR_ON; >// остановка таймера void abp_timer_stop( ABP_TMRS tmr ) < abp_timers[tmr].state = TMR_OFF; abp_timers[tmr].passed_secs = 0; >// проверка срабатывания таймера unsigned char abp_timer_check( ABP_TMRS tmr ) < if (abp_timers[tmr].passed_secs >= abp_timers[tmr].set_secs) < return 1; >else < return 0; >> // прерывание для подсчета секунд в таймерах ISR(TIMER1_COMPA_vect) < // сюда надо добавлять переменные счетчиков таймеров включения/выключения unsigned char i; for(i=TMR_220N_ON; i> > //настройка COUNTER2 для управления светодиодом через переменную led_State void counter2_init( void ) < ASSR = 0; /* AS0 = 0 */ /* disable asynchronous mode */ while (ASSR); /*EMPTY*/ OCR2 = 223; /* 70 Гц на выходе */ TCCR2 |= (1 typedef enum _ABP_LED_STATES < ABP_UNDEF = 0, // режим неопределен ABP_1RELAY, // включено 1 реле ABP_2RELAY // включено 2 реле >ABP_LED_STATES; ABP_LED_STATES led_State = ABP_UNDEF; const unsigned char led_pattern[3][10] = < < 1,0,1,0,1,0,1,0,1,0 >, // статус не определен < 1,0,0,0,0,0,0,0,0,0 >, // включено 1 реле < 1,0,1,0,0,0,0,0,0,0 >>; // включено 2 реле volatile unsigned char timer2_count = 0; volatile unsigned char led_cycle = 0; // от 0 до 9 ISR(TIMER2_COMP_vect) // должно вызываться примерно 70 раз в секунду < if (++timer2_count >6) // типа примерно через 0.1 сек. нужно сменить режим светодиода < timer2_count = 0; // сбрасываем счетчик if (led_pattern[led_State][led_cycle]) < PORTB &= ~(1 else < PORTB |= (1 if (++led_cycle >= 10) led_cycle = 0; > > // количество семплов для усреднения значения датчиков напряжения #define SAMPLES 2500 // используемое опорное напряжение TL431 #define REFERENCEV 2.479 // экспериментальные коэффициенты пересчета для делителей напряжения #define DIVIDER1 (12.3/2.13) #define DIVIDER2 (12.4/2.03) double realV1 = 0; // здесь итоговое зхначение измерения V0 double realV2 = 0; // здесь итоговое зхначение измерения V1 volatile int sampleCount = 0; volatile unsigned long tempVoltage1 = 0; // переменные для накопления суммы volatile unsigned long tempVoltage2 = 0; volatile unsigned long sumVoltage1 = 0; // переменные для передачи суммы семплов в основной цикл volatile unsigned long sumVoltage2 = 0; void ADC_init() // ADC1,0 < // внешний ИОН 2,5В, 10 bit преобразование ADMUX = (0 ISR(ADC_vect) // должен накапливать измерения по 2500 семплам по каждому каналу < if ((ADMUX & (1 = SAMPLES) < sampleCount = 0; sumVoltage1 = tempVoltage1; tempVoltage2 = 0; tempVoltage1 = 0; ADMUX &= ~(1 > else < // если работаем с ADC0 if (sampleCount++) // пропускаем первое измерение tempVoltage2 += ADC; if (sampleCount >= SAMPLES) < sampleCount = 0; sumVoltage2 = tempVoltage2; tempVoltage2 = 0; tempVoltage1 = 0; ADMUX |= (1 > ADCSRA |=(1 // валидность напряжения на входах блока АВР typedef enum _ABP_U_STATES < U_INVALID = 0, // напряжение не в норме U_VALID // напряжение в норме >ABP_U_STATES; ABP_U_STATES u220n, u220g; // расчетная валидность напряжения на входах // допустимый диапазон напряжений питания в В на выходе выпрямителей // напряжения меняются не только от изменения сетевого напряжения, но и // плавают под нагрузкой (реле стартера), поэтому диапазон широкий #define MAX_V 14.0 #define MIN_V 7.5 void ports_init() < // настройка порта светодиода индикации PORTB &= ~(1 void validate220() < // логика валидации напряжения питания сети и генератора realV1 = DIVIDER1 * ((sumVoltage1 * REFERENCEV) / 1024) / SAMPLES; realV2 = DIVIDER2 * ((sumVoltage2 * REFERENCEV) / 1024) / SAMPLES; if( realV1 >MAX_V || realV1 < MIN_V ) < // проверка напряжения от генератора u220g = U_INVALID; >else < u220g = U_VALID; >if( realV2 > MAX_V || realV2 < MIN_V ) < // проверка напряжения от сети u220n = U_INVALID; >else < u220n = U_VALID; >> void validate_contactors() < // проверка валидности включения контактора сети 220 в // на выходе RLY_220N = RLY_ON или RLY_OFF if( u220n == U_VALID && contactors[RLY_220N] == RLY_OFF && abp_timers[TMR_220N_ON].state == TMR_OFF) < // есть напряжение, реле пока выкл, и таймер не вкл abp_timer_stop( TMR_220N_OFF ); // остановка таймера выключения 220 abp_timer_start( TMR_220N_ON ); // запуск таймера включения 220 >if( u220n == U_VALID && contactors[RLY_220N] == RLY_OFF && abp_timers[TMR_220N_ON].state == TMR_ON && abp_timer_check(TMR_220N_ON)) < // есть напряжение, реле пока выкл, таймер сработал abp_timer_stop( TMR_220N_OFF ); // остановка таймера выключения 220 abp_timer_stop( TMR_220N_ON ); // остановка таймера включения 220 contactors[RLY_220N] = RLY_ON; // ставим флаг включения 220 >if( u220n == U_VALID && contactors[RLY_220N] == RLY_ON && abp_timers[TMR_220N_OFF].state == TMR_ON) < // есть напряжение, реле вкл, и таймер выкл включен abp_timer_stop( TMR_220N_OFF ); // остановка таймера выключения 220 >if( u220n == U_INVALID && contactors[RLY_220N] == RLY_ON && abp_timers[TMR_220N_OFF].state == TMR_OFF) < // нет напряжение, реле пока выкл, и таймер не вкл abp_timer_stop( TMR_220N_ON ); // остановка таймера включения 220 abp_timer_start( TMR_220N_OFF ); // запуск таймера выключения 220 >if( u220n == U_INVALID && contactors[RLY_220N] == RLY_ON && abp_timers[TMR_220N_OFF].state == TMR_ON && abp_timer_check(TMR_220N_OFF)) < // нет напряжения, реле пока вкл, таймер сработал abp_timer_stop( TMR_220N_OFF ); // остановка таймера выключения 220 abp_timer_stop( TMR_220N_ON ); // остановка таймера включения 220 contactors[RLY_220N] = RLY_OFF; // ставим флаг выключения 220 >if( u220n == U_INVALID && contactors[RLY_220N] == RLY_OFF && abp_timers[TMR_220N_ON].state == TMR_ON) < // нет напряжения, реле выкл, и таймер вкл включен abp_timer_stop( TMR_220N_ON ); // остановка таймера включения 220 >// проверка валидности включения контактора генератора // на выходе RLY_220G = RLY_ON или RLY_OFF if( u220g == U_VALID && contactors[RLY_220G] == RLY_OFF && abp_timers[TMR_220G_ON].state == TMR_OFF) < // есть напряжение, реле пока выкл, и таймер не вкл abp_timer_stop( TMR_220G_OFF ); // остановка таймера выключения ген abp_timer_start( TMR_220G_ON ); // запуск таймера включения ген >if( u220g == U_VALID && contactors[RLY_220G] == RLY_OFF && abp_timers[TMR_220G_ON].state == TMR_ON && abp_timer_check(TMR_220G_ON)) < // есть напряжение, реле пока выкл, таймер сработал abp_timer_stop( TMR_220G_OFF ); // остановка таймера выключения ген abp_timer_stop( TMR_220G_ON ); // остановка таймера включения ген contactors[RLY_220G] = RLY_ON; // ставим флаг включения ген >if( u220g == U_VALID && contactors[RLY_220G] == RLY_ON && abp_timers[TMR_220G_OFF].state == TMR_ON) < // есть напряжение, реле вкл, и таймер выкл включен abp_timer_stop( TMR_220G_OFF ); // остановка таймера выключения ген >if( u220g == U_INVALID && contactors[RLY_220G] == RLY_ON && abp_timers[TMR_220G_OFF].state == TMR_OFF) < // нет напряжение, реле пока выкл, и таймер не вкл abp_timer_stop( TMR_220G_ON ); // остановка таймера включения ген abp_timer_start( TMR_220G_OFF ); // запуск таймера выключения ген >if( u220g == U_INVALID && contactors[RLY_220G] == RLY_ON && abp_timers[TMR_220G_OFF].state == TMR_ON && abp_timer_check(TMR_220G_OFF)) < // нет напряжения, реле пока вкл, таймер сработал abp_timer_stop( TMR_220G_OFF ); // остановка таймера выключения ген abp_timer_stop( TMR_220G_ON ); // остановка таймера включения ген contactors[RLY_220G] = RLY_OFF; // ставим флаг выключения ген >if( u220g == U_INVALID && contactors[RLY_220G] == RLY_OFF && abp_timers[TMR_220G_ON].state == TMR_ON) < // нет напряжения, реле выкл, и таймер вкл включен abp_timer_stop( TMR_220G_ON ); // остановка таймера включения ген >// запуск и останов генератора с таймером if( contactors[RLY_220N] == RLY_OFF && contactors[RLY_GEN] == RLY_OFF) < // нет сети, стартуем ген abp_timer_stop( TMR_GEN_OFF ); // остановка таймера останова генератора contactors[RLY_GEN] = RLY_ON; // ставим флаг запуска генератора >if( contactors[RLY_220N] == RLY_ON && abp_timers[TMR_GEN_OFF].state == TMR_OFF && u220g == U_VALID) < // есть 220 в сети и есть от генератора abp_timer_start( TMR_GEN_OFF ); // запуск таймера останова генератора >if( contactors[RLY_220N] == RLY_ON && abp_timers[TMR_GEN_OFF].state == TMR_OFF && u220g == U_INVALID) < // есть 220 в сети и нет от генератора abp_timer_stop( TMR_GEN_OFF ); // остановка таймера останова генератора contactors[RLY_GEN] = RLY_OFF; // ставим флаг останова генератора >if( contactors[RLY_220N] == RLY_ON && abp_timers[TMR_GEN_OFF].state == TMR_ON && abp_timer_check(TMR_GEN_OFF) ) < // есть 220 в сети и истекло время таймера abp_timer_stop( TMR_GEN_OFF ); // остановка таймера останова генератора contactors[RLY_GEN] = RLY_OFF; // ставим флаг останова генератора >> void switch_contactors() < // логика переключения контакторов if( contactors[RLY_220N] == RLY_ON ) < PORTD |= (1 else < if( contactors[RLY_220G] == RLY_ON ) < PORTD |= (1 else < PORTD |= (1 > if( contactors[RLY_GEN] != RLY_ON ) < // v2 реле работает на время работы генератора - не дает напряжения на стоппер PORTD &= ~(1 else < PORTD |= (1 > int main(void) < ports_init(); // настройка портов светодиода, реле и контакторов uart_init(); //настройка uart stdout = &uart_stream; counter2_init(); // настройка таймера мигания светодиода ADC_init(); // настройка АЦП измерения 220 abp_timers_init(); // настройка таймеров задержек включения и выключения timer1_init(); // настройка секундного таймера на аппаратном счетчике 1 set_sleep_mode(SLEEP_MODE_IDLE); // разрешаем сон в режиме IDLE sleep_enable(); wdt_enable(WDTO_2S); // Сторожевой таймер настроен на таймаут в 2 секунды sei(); // запускаем работу прерываний _delay_ms(1000); // ждем первых результатов ЦАП, отличных от 0 wdt_reset(); printf( "Start flag after reset = %u\r\n", mcusr_mirror ); abp_timer_start(TMR_PRINT); while(1) < wdt_reset(); // сбрасываем сторожевой таймер validate220(); // проверка качества 220 от сети и генератора validate_contactors(); // валидация возможности включения контакторов с таймерами switch_contactors(); // переключение контакторов по схеме // отладочная печать раз в 2 секунды if (abp_timer_check(TMR_PRINT)) < printf( "V220 = %4.2f VG = %4.2f\r\n", realV2, realV1 ); printf( "valid = %u %u \r\n", u220n, u220g ); printf( "rly = %u %u %u\r\n", contactors[RLY_220N], contactors[RLY_220G], contactors[RLY_GEN] ); abp_timer_start(TMR_PRINT); >sleep_cpu(); // заснуть до следующего пррывания по таймерам > > 

Программа разработана с помощью бесплатного AVR Studio и использует стандартные библиотеки AVR.

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

Для контроля зависаний предусмотрен сторожевой таймер.

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

Два АЦП также работают по таймерам и усредняют по 2500 сэмплов измерений напряжения. Для перевода измерений в реальные вольты предусмотрены калибровочные константы. Их значения надо исправить в ходе настройки АВР.

Кроме того, есть еще ряд констант, которые нужно определить в ходе наладки.

abp_timers[TMR_220N_ON].set_secs = 10; // ожидание после включения сетевого напряжения abp_timers[TMR_220G_ON].set_secs = 60; // ожидание для переключения на генератор для прогрева генератора abp_timers[TMR_220N_OFF].set_secs = 5; // ожидание после пропадания сетевого напряжения abp_timers[TMR_220G_OFF].set_secs = 5; // ожидание после пропадания напряжения генератора abp_timers[TMR_GEN_OFF].set_secs = 60; // ожидание для охлаждения генератора перед остановом 

Реле останова генератора при работе от генератора держится включенным, блокируя поступление напряжения на цепь останова генератора. После завершения работы таймера работы генератора на холостом ходу, реле выключается и на цепь останова генератора через это реле начинает поступать ток. На самом генераторе стоит специальный блок, который после появления напряжения с некоторой задержкой замыкает цепь зажигания на массу, что приводит к останову генератора. Этот же блок содержит цепь подзаряда аккумулятора генератора. Если кому интересны детали, напишите в комментах, я сделаю отдельный пост об этом блоке. В нём нет кода, всё аппаратно.

Если кто-то надумает повторить АВР, то стоит подкорректировать значения настроек. Готовую прошивку не публикую, так как программу всё равно надо править в ходе настройки АВР.

Надо сказать, что мой АВР работает уже 4 года без проблем, так что схема можно считать проверенная как и код.

  • Программирование микроконтроллеров
  • DIY или Сделай сам

Автоматический запуск генератора (АВР)

АВР Basic 3ф-63/63

Автоматический запуск генератора – одна из приоритетных опций для любой электростанции. Реализовывается путем установки специального блока, позволяющего полностью восстановить электроснабжение для потребителей первой категории путем подключения резервных источников питания при отключении основного.

Выгоды от установки

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

Конструктивные особенности

Конструктивно блок АВР разделена на две части: внешнюю и внутреннюю:

  • внешняя (выносной модуль в виде электрического щита) – автомат ввода резерва. Устанавливается отдельно и отвечает непосредственно за автоматический запуск установки.
  • внутренняя (размещается в самой электростанции) – ответная часть автомата. Отвечает за принятие сигнала от коммутатора и подачу команды на запуск резервного генератора.

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

Особенности выбора

Независимо от того осуществляется питание от генератора или от сети, весь ток нагрузки проходит через АВР, поэтому максимальный ток электростанции – первый показатель, на который обращаем внимание (выбираем с небольшим запасом для исключения перегрузок). Далее учитываем мощность нагрузки. Здесь 2 варианта: выбрать АВР мощностью меньше, чем у генератора (если не все потребители, работающие от электростанции, будут включаться одновременно), либо переплатить и выбрать более мощную АВР для возможности резервирования большей нагрузки в будущем. Количество фаз АВР определяется фазностью сети и генератора.

Цены на автоматический запуск генератора (авр) Цена
АВР Basic 3ф-63/63 14 500 грн
АВР Konner&Sohnen KS ATS 4/25 Inverter 10 400 грн
АВР Konner&Sohnen KS ATS 3/18HD 5 999 грн
АВР Konner&Sohnen KS ATS 4/32-12 8 900 грн
АВР Konner&Sohnen KS ATS 4/32-15 8 900 грн
АВР Hyundai ATS 10-380 9 466 грн
Авр Konner&Sohnen KS Ats 1/40hd 9 999 грн
АВР Konner&Sohnen KS ATS 4/25 Gasoline 9 999 грн
АВР Konner&Sohnen KS ATS 4/63 HD 11 999 грн
АВР Hyundai ATS 10-380V 12 648 грн

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *