Генератор асинхронный: Купить асинхронный генератор в Москве

Содержание

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

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

Устройство

Генератор имеет простую структуру. Основными элементами устройства являются:

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

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

Конструкция, образованная короткозамкнутыми обмотками, называется «беличья клетка».

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

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

Принцип работы

Главная задача генератора заключается в выработке электрической энергии посредством энергии механической:

  • ветровой;
  • гидравлической;
  • внутренней, преобразованной в механическую.

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

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

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

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

Зачастую достичь этого помогают дополнительные статоры конденсаторов. Их подключают к выводам катушек и внимательно следят за показателями системы.

Сфера применения

Асинхронные генераторы пользуются популярностью, и среди преимуществ подобных станций выделяют:

  • устойчивость к перегрузкам и КЗ;
  • простую конструкцию;
  • небольшой процент нелинейных искажений;
  • стабильную работу за счет небольшого значения клирфактора;
  • стабилизацию напряжения на выходе.

При подключении генератор выделяет небольшой количество

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

За счет своих достоинств генераторы активно используются в качестве источников электричества в следующих сферах и областях:

  • транспортной;
  • промышленной;
  • бытовой;
  • сельскохозяйственной.

Также мощные агрегаты встречаются в автомастерских.

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

Посредством работы генераторов такого типа удается в короткие сроки соорудить и запустить ветровые и гидроэлектростанции.

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

Чем отличается от синхронного?

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

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

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

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

  • ИБП;
  • зарядных устройств;
  • телевизионных приемников нового поколения.

Запуск асинхронных моделей происходит быстро, однако требует увеличения пусковых токов, которые запускают вращение вала. Плюсом является то, что в процессе работы

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

Виды

Существует несколько классификаций асинхронных генераторов. Они могут отличаться следующими факторами.

  • Типом ротора – вращающейся части конструкции.
    Сегодня выпускаемые агрегаты данного типа предусматривают в своей конструкции фазный или короткозамкнутый ротор. Первый оборудован индуктивной обмоткой, в качестве которой выступает изолированный провод. С его помощью и удается создать динамическое магнитное поле. Второй вариант – единая конструкция, имеющая цилиндрическую форму. Внутри нее расположены штыри, оборудованные двумя замыкающими кольцами.
  • Количеством рабочих фаз. Под ними подразумевают выходные или статорные обмотки, расположенные внутри устройства. Выходные при этом могут иметь одну фазу или три. Этот показатель определяет назначение генератора. Первый вариант доступен для эксплуатации при напряжении в 220 В, второй – 380 В.
  • Схемой включения. Выделяют несколько способов организации работы трехфазного генератора. Можно подключить катушки к устройству, применяя схему «звезда» или «треугольник». Также их можно разместить на полюсах неподвижного элемента – статора.

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

Схема подключения

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

Среди распространенных схем можно выделить следующие.

  • «Звезда». В этом случае необходимо взять концы обмоток статора и подключить их в одной точке. Способ подходит преимущественно для трехфазных генераторов, которые необходимо подсоединить к трехфазной линии по большему напряжению.
  • «Треугольник». Является следствием первого варианта, только подключение происходит последовательно. В результате получается, что конец первой обмотки соединяется с началом второй, конец второй – с началом третьей, и так далее. Плюс этого способа – в возможности образования максимальной мощности в процессе работы агрегата.
  • «Звезда-треугольник». Этот метод вобрал плюсы двух предыдущих. Он обеспечивает мягкий запуск и достижение большой мощности. Для подключения потребуется использование реле времени.

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

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

Как сделать своими руками?

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

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

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

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

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

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

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

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

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

Про принцип работы асинхронного генератора смотрите в следующем видео.

асинхронный генератор

асинхронный генератор
asinchroninis generatorius statusas T sritis Standartizacija ir metrologija apibrėžtis Asinchroninė elektros mašina, veikianti kaip generatorius. atitikmenys: angl. induction generator vok. Asynchrongenerator, m rus. асинхронный генератор, m pranc. alternateur asynchrone, m

Penkiakalbis aiškinamasis metrologijos terminų žodynas. – Vilnius: Mokslo ir enciklopedijų leidybos institutas. Vytautas Valiukėnas, Pranas Juozas Žilinskas. 2006.

  • induction generator
  • Atemgerät

Look at other dictionaries:

  • АСИНХРОННЫЙ ГЕНЕРАТОР — асинхронная электрическая машина, работающая в генераторном режиме. Вспомогательный источник электрического тока небольшой мощности и тормозное устройство (в электроприводе) …   Большой Энциклопедический словарь

  • асинхронный генератор — Асинхронная машина, работающая в режиме генератора переменного тока [СТМЭК50 (411) 73] Тематики машины электрические вращающиеся в целом EN asynchronous generatorinduction generator …   Справочник технического переводчика

  • асинхронный генератор — асинхронная электрическая машина, работающая в генераторном режиме. Используется в основном как вспомогательный источник электрического тока небольшой мощности и тормозное устройство (в электроприводе). * * * АСИНХРОННЫЙ ГЕНЕРАТОР АСИНХРОННЫЙ… …   Энциклопедический словарь

  • асинхронный генератор — asinchroninis generatorius statusas T sritis automatika atitikmenys: angl. asynchronous generator; induction generator vok. Asynchrongenerator, m rus. асинхронный генератор, m pranc. alternateur asynchrone, m; génératrice asynchrone, f …   Automatikos terminų žodynas

  • асинхронный генератор — asinchroninis generatorius statusas T sritis fizika atitikmenys: angl. induction generator vok. Asynchrongenerator, m rus. асинхронный генератор, m pranc. alternateur asynchrone, m …   Fizikos terminų žodynas

  • Асинхронный генератор —         асинхронная электрическая машина, работающая в генераторном режиме. Ротор А. г. вращается приводным двигателем в том же направлении, что и магнитное поле, но с большей скоростью. При этом скольжение ротора становится отрицательным, на… …   Большая советская энциклопедия

  • АСИНХРОННЫЙ ГЕНЕРАТОР — асинхронная машина, работающая в генераторном режиме (первичный двигатель вращает ротор в том же направлении, что и магн. поле, но с большей угловой скоростью). А. г. не получили широкого распространения. Применяются в осн. как вспомогат.… …   Большой энциклопедический политехнический словарь

  • АСИНХРОННЫЙ ДВИГАТЕЛЬ — машина переменного тока, вращающаяся со скоростью меньшей, чем синхронная скорость (см. Синхронный генератор). Наиболее распространены трехфазные А. д., состоящие из неподвижной части статора и подвижной ротора; в пазы статора уложена трехфазная… …   Технический железнодорожный словарь

  • Генератор-двигатель система — («Генератор двигатель» система)         электропривода, система «Г Д», система Леонарда, система Электропривода, в которой исполнительный электродвигатель постоянного тока независимого возбуждения питается от генератора тока также независимого… …   Большая советская энциклопедия

  • Генератор повышенной частоты —         электромашинный, электрическая машина, преимущественно однофазная, генерирующая ток в диапазоне частот от 100 до 10000 гц (иногда выше) и применяющаяся главным образом в качестве источника питания установок индукционного нагрева металлов …   Большая советская энциклопедия

Анализ устойчивости авиационного асинхронного генератора


Please use this identifier to cite or link to this item: http://earchive. tpu.ru/handle/11683/60990

Title: Анализ устойчивости авиационного асинхронного генератора
Authors: Щербакова, Елизавета Петровна
metadata.dc.contributor.advisor: Гарганеев, Александр Георгиевич
Keywords: асинхронный генератор; самовозбуждение; емкостное возбуждение; устойчивость; система генерации; asynchronous generator; self-excitation; capacitive excitation; stability; generation system
Issue Date: 2020
Citation: Щербакова Е. П. Анализ устойчивости авиационного асинхронного генератора : бакалаврская работа / Е. П. Щербакова ; Национальный исследовательский Томский политехнический университет (ТПУ), Инженерная школа энергетики (ИШЭ), Отделение электроэнергетики и электротехники (ОЭЭ) ; науч. рук. А. Г. Гарганеев. — Томск, 2020.
Abstract: Целью работы является исследование устойчивости авиационного асинхронного генератора с самовозбуждением. Объектом исследования является асинхронный генератор с самовозбуждением. В результате работы получены математические выражения и условия самовозбуждения АГ с позиции теории автоматического управления. Показано, что неустойчивость системы является необходимым условием для процесса генерирования, при этом существуют критические значения емкости и сопротивления нагрузки, при которых будет происходить срыв генерирования электроэнергии.
The aim of the work is to study the stability of aircraft self-excited asynchronous generator. The object of study is an asynchronous generator with self-excitation. As a result of the work, mathematical expressions and conditions for self-excitation of the AG from the standpoint of the theory of automatic control are obtained. It is shown that system instability is a necessary condition for the generation process, while there are critical values ??of the capacitance and load resistance at which the generation of electricity will be interrupted.
URI: http://earchive. tpu.ru/handle/11683/60990
Appears in Collections:Выпускные квалификационные работы (ВКР)

Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.

Трекеры — системы ориентации солнечных батарей

Асинхронный генератор — это работающая в генераторном режиме асинхронная электрическая машина (ел.двигатель).

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

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

Асинхронные генераторы не восприимчивы к коротким замыканиям.

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

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

Преимущества асинхронного генератора

К таким преимуществам относят низкий клирфактор (коэффициент гармоник), характеризующий количественное наличие в выходном напряжении генератора высших гармоник. Высшие гармоники вызывают неравномерность вращения и бесполезный нагрев электромоторов. У синхронных генераторов может наблюдаться величина клирфактора до 15%, а клирфактор асинхронного электрогенератора не превышает 2%. Таким образом, асинхронный электрогенератор вырабатывает практически только полезную энергию.

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

На выходе наших генераторов идет сразу 220/380В переменного тока, который можно использовать напрямую к бытовым приборам (например обогреватели), для зарядки аккумуляторов, для подключения к пилораме, а также для параллельной работы с традиционной сетью. В этом случае Вы будете оплачивать разницу потребленной из сети и сгенерированной ветряком. Т.к. напряжение идет сразу промышленных параметров, то Вам не понадобятся различные преобразователи (инверторы) при прямом включении ветрогенератора к Вашей нагрузке. Например Вы можете напрямую подключить к пилораме и при наличии ветра — работать так, как если бы Вы просто подключились к сети 380В.

ДОПОЛНЕНИЕ: Если ротор асинхронной машины, включенной в сеть с напряжением U1, вращать посредством первичного двигателя в направлении вращающегося поля статора, но со скоростью n2>n1, то движение ротора относительно поля статора изменится (по сравнению с двигательным режимом этой машины), так как ротор будет обгонять поле статора.

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

− ∞ < s < 0,

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

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

В отличие от синхронных асинхронные генераторы не подвержены опасностям выпадения из синхронизма. Однако асинхронные генераторы не получили широкого распространения, что объясняется рядом их недостатков по сравнению с синхронными генераторами.

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

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

PEP525 — Асинхронный генератор — Русские Блоги

Краткое введение

PEP492 представил поддержку собственной сопрограммы Python 3.5 и синтаксиса async / await. Это предложение добавляет поддержку асинхронных генераторов для расширения асинхронных возможностей Python.

Теория и цели

Реализация обычных генераторов (представленных в PEP 255) делает более элегантным запись сложных данных, и они ведут себя как итераторы.
В то время асинхронный генератор, используемый async для. Написание асинхронного генератора данных становится очень сложным, потому что вы должны определить метод, реализующий __aiter__ и __anext__, прежде чем вы сможете использовать его в инструкции async for.
Чтобы продемонстрировать важность асинхронных генераторов, был проведен специальный тест производительности. Результаты теста показывают, что использование асинхронных генераторов более чем в 2 раза быстрее, чем использование асинхронных итераторов.
Следующий код демонстрирует ожидание в течение нескольких секунд во время итерации.

class Ticker:
    """Yield numbers from 0 to `to` every `delay` seconds."""

    def __init__(self, delay, to):
        self.delay = delay
        self.i = 0
        self.to = to

    def __aiter__(self):
        return self

    async def __anext__(self):
        i = self.i
        if i >= self.to:
            raise StopAsyncIteration
        self.i += 1
        if i:
            await asyncio.sleep(self.delay)
        return i

Мы можем использовать следующий код для достижения той же функции:

async def ticker(delay, to):
    """Yield numbers from 0 to `to` every `delay` seconds."""
    for i in range(to):
        yield i
        await asyncio.sleep(delay)

Подробное описание

Асинхронный генератор

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

def func (): # метод
    return

 def genfunc (): # метод генератора
    yield

Мы предлагаем использовать аналогичные функции для реализации следующих асинхронных генераторов:

async def coro (): # Метод сопрограммы
    await smth()

 async def asyncgen (): # метод асинхронного генератора
    await smth()
    yield 42

Результатом вызова функции асинхронного генератора является объект асинхронного генератора, который реализует протокол асинхронной итерации, определенный в PEP 492.
Примечание. Использование непустого оператора return в асинхронном генераторе вызовет ошибку SyntaxError.

Поддержка протокола асинхронной итерации

В протоколе необходимо реализовать два специальных метода:
Метод __aiter__ возвращает асинхронный итератор.
Метод __anext__ возвращает ожидаемый объект, который использует исключение StopIteration для захвата значения yield и исключение StopAsyncIteration, чтобы указать конец итерации.
Асинхронный генератор определяет эти два метода. Реализуем простой асинхронный генератор:

import asyncio
async def genfunc():
    yield 1
    yield 2

gen = genfunc()

async def start():
    assert gen.__aiter__() is gen
    assert await gen.__anext__() == 1
    assert await gen.__anext__() == 2
    await gen.__anext__()  # This line will raise StopAsyncIteration.

if __name__ == '__main__':
    asyncio.run(start())
прекращение

PEP 492 упоминает необходимость использования циклов событий или планировщиков для запуска сопрограмм. Поскольку в сопрограмме используется асинхронный генератор, вам также необходимо создать цикл событий для запуска.
Асинхронные генераторы могут иметь блоки try … finally или использовать асинхронный режим с асинхронным контекстом для быстрого управления кодом. Важно обеспечить гарантию того, что даже во время частичных итераций можно будет выполнить сборку мусора и безопасно завершить работу генератора.

async def square_series(con, to):
    async with con.transaction():
        cursor = con.cursor(
            'SELECT generate_series(0, $1) AS i', to)
        async for row in cursor:
            yield row['i'] ** 2

async for i in square_series(con, 1000):
    if i == 100:
        break

Приведенный выше код демонстрирует, что асинхронный генератор используется в async с, а затем используется async для итерации объекта асинхронного генератора, и мы также можем установить условие прерывания.
Генератор square_series () будет обработан сборщиком мусора. Механизма асинхронного отключения генератора нет, и интерпретатор Python не сможет выполнять какие-либо операции.
Чтобы решить эту проблему, вот следующие предложения по улучшению:
1. Реализуйте метод aclose в асинхронном генераторе и верните специальный объект awaittable. Когда awaitable генерирует исключение GeneratorExit, он бросает его в приостановленный генератор и выполняет итерацию, пока не произойдет GeneratorExit или StopAsyncIteration. Это то же самое, что использовать метод close для закрытия объекта в обычной функции, за исключением того, что aclose требует для выполнения цикла событий.
2. Не используйте операторы yield в асинхронных генераторах, используйте только await.
3. Добавьте два метода в модуль sys: set_asyncgen_hooks () и get_asyncgen_hooks ().
Идея sys.set_asyncgen_hooks () состоит в том, чтобы позволить циклу событий перехватывать итерацию и завершение асинхронного генератора, чтобы конечному пользователю не нужно было заботиться о проблеме завершения, все в норме.
sys.set_asyncgen_hooks () может завершать два параметра
firstiter: вызываемый объект, который будет вызываться при первой итерации асинхронного генератора.
finalizer: вызываемый объект, который будет вызываться, когда асинхронный генератор собирается стать GC.
При первой итерации асинхронного генератора он будет ссылаться на текущий финализатор.
Когда асинхронный генератор собирается выполнить сборку мусора, он вызывает кэшированный финализатор. Предположим, что когда цикл событий активирует асинхронный генератор для начала итерации, финализатор вызовет метод aclose ().
Например, вот как изменить asyncio, чтобы обеспечить безопасное выполнение асинхронного генератора:

# asyncio/base_events.py

class BaseEventLoop:

    def run_forever(self):
        ...
        old_hooks = sys.get_asyncgen_hooks()
        sys.set_asyncgen_hooks(finalizer=self._finalize_asyncgen)
        try:
            ...
        finally:
            sys.set_asyncgen_hooks(*old_hooks)
            . ..

    def _finalize_asyncgen(self, gen):
        self.create_task(gen.aclose())

Второй параметр, firstiter, позволяет циклу обработки событий поддерживать набор слабо асинхронных генераторов, созданных под его управлением. Это позволяет реализовать механизм «выключения» для безопасного открытия генератора и закрытия цикла событий.
sys.set_asyncgen_hooks () — это конкретный поток, поэтому это безопасно, когда несколько циклов событий работают параллельно.
sys.get_asyncgen_hooks () возвращает структуру, подобную классу, с полями firstiter и finalizer.

asyncio

Цикл событий asyncio будет использовать API sys.set_asyncgen_hooks () для поддержки всех запланированных слабых асинхронных генераторов и отправки их методов aclose (), когда генераторы собираются сборщиком мусора.
Чтобы гарантировать, что программа asyncio может надежно завершить все запланированные асинхронные генераторы, мы рекомендуем добавить новый метод сопрограммы цикла обработки событий loop. shutdown_asyncgens (). Этот метод будет использовать вызов aclose () для закрытия всех открытых в данный момент асинхронных генераторов.
После вызова метода loop.shutdown_asyncgens () цикл событий выдаст предупреждение для первой итерации нового асинхронного генератора. Наша идея состоит в том, что после запроса на закрытие всех асинхронных генераторов программа не должна выполнять код, который выполняет итерацию нового асинхронного генератора.
Вот пример использования Shutdown_asyncgens:

try:
    loop.run_forever()
finally:
         loop.run_until_complete (loop.shutdown_asyncgens ()) # Закройте все асинхронные итераторы
    loop.close()

Объект асинхронного генератора

Этот объект смоделирован по образцу стандартного объекта-генератора Python. По сути, поведение асинхронного генератора копирует поведение синхронного генератора, с той лишь разницей, что API является асинхронным.
определяет следующие методы и атрибуты:
1.agen._aiter_ (): вернуть агент.
2.agen._anext_ (): Возвращает ожидаемый объект, вызывая элемент асинхронного генератора один раз.
3.agen.asend (val): возвращает ожидаемый объект, который помещает объект val в генератор агента. Если агент не повторяется, val должно быть None.
Вышеупомянутый метод аналогичен использованию генератора синхронизации.
Пример кода:

import asyncio


async def gen():
    await asyncio.sleep(0.1)
    v = yield 42
    print(v)
    await asyncio.sleep(0.2)



async def start():
    g = gen()

    await g.asend(None)  # Will return 42 after sleeping
    # for 0.1 seconds.

    await g.asend('hello')  # Will print 'hello' and
    # raise StopAsyncIteration
    # (after sleeping for 0.2 seconds.)


if __name__ == '__main__':
    loop = asyncio.get_event_loop()
    try:
        loop.run_until_complete(start())
    finally:
        loop.run_until_complete(loop.shutdown_asyncgens())
        loop.close()

4.agen.athrow (typ, [val, [tb]]): возвращает ожидаемый объект, который генерирует исключение для генератора агента.
Код выглядит следующим образом:

import asyncio


async def gen():
    try:
        await asyncio.sleep(0.1)
        yield 'hello'
    except IndexError:
        await asyncio.sleep(0.2)
        yield 'world'


async def start():
    g = gen()
    v = await g.asend(None)
    print(v)  # Will print 'hello' after
    # sleeping for 0.1 seconds.

    v = await g.athrow(IndexError)
    print(v)  # Will print 'world' after
    # $ sleeping 0.2 seconds.


if __name__ == '__main__':
    loop = asyncio.get_event_loop()
    try:
        loop.run_until_complete(start())
    finally:
        loop.run_until_complete(loop.shutdown_asyncgens())
        loop.close()

5.agen.aclose (): возвращает ожидаемый объект, вызов этого метода вызовет исключение для генератора.

import asyncio


async def gen():
    try:
        await asyncio.sleep(0.1)
        v = yield 42
        print(v)
        await asyncio.sleep(0.2)
    except:
         print («Конец операции») 


async def start():
    g = gen()
    v=await g. asend(None)
    print(v)
         await g.aclose () # Если вы не выполняете обработку исключений, будет сообщено об ошибке


if __name__ == '__main__':
    loop = asyncio.get_event_loop()
    try:
        loop.run_until_complete(start())
    finally:
        loop.run_until_complete(loop.shutdown_asyncgens())
        loop.close()

6.agen._name_ and agen._qualname_: может возвращать имя функции асинхронного генератора.

async def gen():
    try:
        await asyncio.sleep(0.1)
        v = yield 42
        print(v)
        await asyncio.sleep(0.2)
    except:
                   print («Конец операции»)

async def start():
    g = gen()
         print (g .__ aiter __ ()) # Вывод объекта async_generator
         print (g .__ name __) # output gen
         print (g .__ qualname __) # output gen

Другие методы

Agent.ag_await: ожидаемый объект (Нет). Аналогично доступному в настоящее время gi_yield из генераторов и cr_await для сопрограмм. 
 Agent.ag_frame, Agent.ag_running и Agent.ag_code: то же, что и генератор

StopIteration и StopAsyncIteration заменяются RuntimeError и не генерируются.

Детали реализации исходного кода

Объект асинхронного генератора (PyAsyncGenObject) разделяет структуру структуры с PyGenObject. В дополнение к этому эталонная реализация вводит три новых объекта:
PyAsyncGenASend: реализация_Ожидающий объект методов anext__ и asend ().
PyAsyncGenAThrow: объект ожидания, реализующий методы athrow () и aclose ().
PyAsyncGenWrappedValue: каждый объект, созданный непосредственно асинхронным генератором, неявно загружается в эту структуру. Вот как реализация генератора использует протокол регулярных итераций для отделения объектов от объектов, созданных с помощью протокола асинхронных итераций.
PyAsyncGenASend и PyAsyncGenAThrow — это ожидаемые объекты (у них есть _Метод await__ возвращает self) похож на объект сопрограммы (реализует _iter,_
next
_, send () и throw ()). По сути, они контролируют итерацию асинхронных генераторов.

PyAsyncGenASend and PyAsyncGenAThrow

PyAsyncGenASend похож на генератор объекта driver_anext_ и метод asend (), реализованный протокол асинхронной итерации.
Agent.asend (val) и agency._anext_ () ​​возвращает ссылку на объект PyAsyncGenASend. (Он сохраняет ссылку обратно на родительский объект-агент.)
Поток данных определяется следующим образом:
1. Когда PyAsyncGenASend.send (val) вызывается в первый раз, val будет помещен в родительский объект агентства (PyGenObject использует существующие объекты).
Выполните последующие итерации для объекта PyAsyncGenASend и отправьте None агенту.
2. Когда объект _PyAsyncGenWrappedValue вызывается в первый раз, он будет распакован, а значение без декорирования в качестве параметра вызовет исключение StopIteration.
3. Оператор return в асинхронном генераторе вызывает исключение StopAsyncIteration, которое распространяется через методы PyAsyncGenASend. send () и PyAsyncGenASend.throw ().
4. PyAsyncGenAThrow очень похож на PyAsyncGenASend. Единственное отличие состоит в том, что PyAsyncGenAThrow.send () генерирует исключение для родительского объекта агента при его первом вызове (вместо того, чтобы помещать в него значение).

Новые стандартные библиотечные методы и типы

1.types.AsyncGeneratorType — определяет, является ли это объект асинхронного генератора
2. sys.set_asyncgen_hooks () и sys.get_asyncgen_hooks () —
Настройте терминатор асинхронного генератора и перехватчик итераций в цикле событий.
3. inspect.isasyncgen () и inspect.isasyncgenfunction (): интроспекция методов.
4. Asyncio добавляет новый метод: loop.shutdown_asyncgens ().
5.collections.abc.AsyncGenerator: добавление абстрактных базовых классов.

Следует ли поддерживать обратную совместимость

Предложение полностью поддерживает обратную совместимость.
В python3.5 использование yield в async def будет сообщать об ошибке, поэтому в python3. 6 представлен безопасный асинхронный генератор.

Дисплей производительности

Обычный генератор
import time


def gen():
    i = 0
    while i < 100000000:
        yield i
        i += 1


if __name__ == '__main__':
    start = time.time()
    list(gen())
    end = time.time()
    print("totals time", end - start)

Выход

totals time 14.837260007858276

Около 15 с

Улучшения асинхронных итераторов
import time
import asyncio

N = 10 ** 7
class AIter:
    def __init__(self):
        self.i = 0

    def __aiter__(self):
        return self

    async def __anext__(self):
        i = self.i
        if i >= N:
            raise StopAsyncIteration
        self.i += 1
        return i

async def start():
    [_ async for _ in AIter()]
if __name__ == '__main__':
    s=time.time()
    loop=asyncio.get_event_loop()
    try:
     loop.run_until_complete(start())
    finally:
        loop.run_until_complete(loop. shutdown_asyncgens())
        loop.close()
    e=time.time()
    print("total time",e-s)

Выход

total time 5.441649913787842

Очевидно, что скорость итерации асинхронных генераторов не только вдвое выше, чем итерация обычных генераторов.
Мы можем сделать более простой асинхронный генератор

import time
import asyncio

async def ticker(delay, to):
    """Yield numbers from 0 to `to` every `delay` seconds."""
    for i in range(to):
        yield i
        await asyncio.sleep(delay)

async def start():
    async for item in ticker(0.000001,100):
        print(item)
if __name__ == '__main__':
    s=time.time()
    loop=asyncio.get_event_loop()
    try:
     loop.run_until_complete(start())
    finally:
        loop.run_until_complete(loop.shutdown_asyncgens())
        loop.close()
    e=time.time()
    print("total time",e-s)

### Что следует учитывать при проектировании
Встроенные функции: aiter () и anext ()
Первоначально PEP 492 определил __aiter__ как метод, который должен возвращать ожидающий объект, тем самым создавая асинхронные итераторы.
Однако в CPython 3.5.2 __aiter__ переопределяется для прямого возврата асинхронных итераторов.
Чтобы избежать нарушения обратной совместимости, было решено, что Python 3.6 будет поддерживать два метода: __aiter__ может по-прежнему возвращаться в состояние ожидания при выдаче DeprecationWarning. Из-за двойственной природы __aiter__ в Python 3.6 мы не можем добавить встроенную реализацию синхронизации aiter (). Поэтому рекомендуется подождать, пока Python 3.7.
#### Асинхронный вывод списка / словаря / набора
будет помещен в отдельный pep, который позже будет pep530.
#### Асинхронный выход из
Для асинхронных генераторов yield from не так важен, потому что нет необходимости предоставлять механизм для реализации другого протокола сопрограммы поверх сопрограммы. Чтобы объединить асинхронные генераторы, вы можете использовать async для упрощения этого процесса:

async def g1():
    yield 1
    yield 2

async def g2():
    async for v in g1():
        yield v
Для того, чтобы asend () и athrow () необходимы

Они могут использовать асинхронные генераторы для реализации концепций, подобных contextlib. contextmanager. Например, могут быть реализованы следующие шаблоны:

@async_context_manager
async def ctx():
    await open()
    try:
        yield
    finally:
        await close()

async with ctx():
    await ...

Другая причина заключается в том, что объект, возвращаемый объектом __anext__, отправляет данные и генерирует исключение для асинхронного генератора, что затрудняет правильное выполнение этой операции. Добавьте явные методы asend () и athrow (), чтобы получить данные после исключения.
С точки зрения реализации asend () является более общей версией __anext__, а athrow () очень похож на aclose (). Поэтому определение этих методов для асинхронных генераторов не добавляет дополнительной сложности.

Пример кода

async def ticker(delay, to):
    for i in range(to):
        yield i
        await asyncio.sleep(delay)


async def run():
    async for i in ticker(1, 10):
        print(i)


import asyncio
loop = asyncio.get_event_loop()
try:
    loop. run_until_complete(run())
finally:
    loop.close()

Этот код будет вводить 0-9, интервал между каждым числом — 1 с.

Предлагающий

Гвидо, 6 сентября 2016 г.

Ссылка

 
[1]	https://github.com/1st1/cpython/tree/async_gen
[2]	https://mail.python.org/pipermail/python-dev/2016-September/146267.html
[3]	http://bugs.python.org/issue28003

Уведомление об авторских правах

Эта статья переведена и составлена ​​с сайта pep525
Source: https://github.com/python/peps/blob/master/pep-0525.txt
Эта статья была переведена CXA с: 25 января 2019 г., возможности перевода ограничены, дайте мне свой совет.

Обновление синхронизации

Публичный аккаунт WeChat: обучение и развитие Python
Сад блогов:https://www.cnblogs.com/c-x-a/p/10319791.html

Асинхронный генератор с фазным ротором – обзор

Существуют два типа этих генераторов в зависимости от конструкции ротора: SCIG (короткое замыкание) и асинхронный генератор с фазным ротором.

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

Асинхронный генератор с фазным ротором (WRIG) : WRIG подключается к ветряной турбине так же, как и SCIG, с тем отличием, что они включают внешний механизм для управления электрическими характеристиками или мощностью ротора.Обмотки ротора могут быть подключены к силовой электронике или контактным кольцам и щеткам. Использование резисторов вместе с силовыми электронными преобразователями, размещенными внутри ротора, устраняет необходимость в контактных кольцах в роторе. Переменные резисторы могут быстро регулировать напряжение ротора для поддержания постоянной мощности. Однако они дороже, чем SCIG, а их структура не так надежна и проста. Преобразователи с оптическим управлением могут использоваться для управления сопротивлением ротора с 10-процентным скольжением. Их называют IG с оптическим скольжением.

Еще одна новая технология генератора, относящаяся к тому же классу, называется DFIG. Как следует из названия, питание может подаваться с обоих концов, то есть с ротора и статора. Следовательно, ротор и статор могут регулировать напряжение для управления скоростью и крутящим моментом генератора. Обмотки статора напрямую подключены к основной сети, а ротор подключен к сети через преобразователи силовой электроники. Следовательно, он использует управление частотой вместо управления сопротивлением для возбуждения переменного тока обмоток ротора.Его можно рассматривать как гибридную машину, содержащую характеристики синхронного и асинхронного генераторов. Он может работать как асинхронный генератор, но также имеет функцию управления активной/реактивной мощностью, как синхронные генераторы. Однако в режиме ветряных турбин, подключенных к сети, ротор отсоединяется от сети через преобразователи. Его главное преимущество заключается в небольшом количестве подводимой мощности ротора, обеспечивающем существенное управление мощностью в статоре. Синхронный генератор с регулируемой скоростью требуется для передачи всей мощности через преобразователи, тогда как DFIG требуется только 25–30% общей мощности для прохождения через преобразователи.Остальные 70–75 % проходят через обмотку статора, что снижает мощность силовой электроники до 25 % системы. Общий размер и связанные с этим затраты значительно уменьшаются. Но это порождает проблему, связанную с сетевым режимом работы. Есть еще один недостаток в том, что для DFIG требуются контактные кольца.

PEP 525 — Генераторы асинхронные

PEP 492 представил поддержку собственных сопрограмм и async/await. синтаксис для Python 3.5. Здесь предлагается расширить возможности Python асинхронные возможности, добавив поддержку генераторы асинхронные .

Обычные генераторы (представленные в PEP 255) позволяют элегантно написание сложных производителей данных и заставить их вести себя как итератор.

Однако в настоящее время нет эквивалентной концепции для асинхронного . протокол итерации (асинхронный для). Это делает запись асинхронной производители данных излишне сложны, так как необходимо определить класс, который реализует __aiter__ и __anext__, чтобы иметь возможность использовать его в асинхронный оператор for.

По сути, цели и обоснование PEP 255 применительно к случае асинхронного выполнения, справедливо и для этого предложения.

Производительность является дополнительным пунктом для этого предложения: в нашем тестировании эталонная реализация, асинхронные генераторы на 2x быстрее чем эквивалент, реализованный как асинхронный итератор.

В качестве иллюстрации улучшения качества кода рассмотрим следующий класс, который печатает числа с заданной задержкой после повторения:

Тикер класса:
    """Выдавать числа от 0 до `до` каждые `задержка` секунд. """

    def __init__(я, задержка, до):
        себя.задержка = задержка
        я = 0
        сам.к = к

    защита __aiter__(я):
        вернуть себя

    асинхронное определение __anext__(я):
        я = сам.я
        если я >= self.to:
            поднять StopAsyncIteration
        я += 1
        Если я:
            ждать asyncio.sleep(self.delay)
        вернуть я
 

То же самое можно реализовать как гораздо более простой асинхронный генератор:

тикер асинхронного определения (задержка, до):
    """Выдавать числа от 0 до `до` каждые `задержка` секунд."""
    для я в диапазоне (до):
        выход я
        жду асинкио.сон (задержка)
 

Это предложение вводит концепцию асинхронных генераторов для Питон.

Эта спецификация предполагает знание реализации генераторы и сопрограммы в Python (PEP 342, PEP 380 и PEP 492).

Генератор Python — это любая функция, содержащая один или несколько yield выражения:

def func(): # функция
    вернуть

def genfunc(): # функция-генератор
    урожай
 

Мы предлагаем использовать тот же подход для определения асинхронные генераторы :

async def coro(): # функция сопрограммы
    ждать чего-л. ()

async def asyncgen(): # функция асинхронного генератора
    ждать чего-л.()
    выход 42
 

Результат вызова функции асинхронного генератора : объект асинхронного генератора , который реализует асинхронный протокол итерации, определенный в PEP 492.

Наличие непустого оператора возврата в асинхронный генератор.

Протокол требует реализации двух специальных методов:

  1. Метод __aiter__ возвращает асинхронный итератор .
  2. Метод __anext__, возвращающий ожидаемый объект , который использует Исключение StopIteration для значений «выход» и Исключение StopAsyncIteration, сигнализирующее об окончании итерации.

Асинхронные генераторы определяют оба этих метода.Давайте вручную перебрать простой асинхронный генератор:

асинхронное определение genfunc():
    выход 1
    выход 2

ген = генфунк()

утверждать, что gen.__aiter__() является gen

утвердить ожидание gen.__anext__() == 1
утверждать ожидание gen. __anext__() == 2

await gen.__anext__() # Эта строка вызывает StopAsyncIteration.
 

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

Асинхронные генераторы могут иметь блоки try..finally, а также асинхронно с. Важно предоставить гарантию, что даже при частичной итерации, а затем сборке мусора генераторы могут быть благополучно завершены. Например:

async def square_series (con, to):
    асинхронно с con.transaction():
        курсор = con.cursor(
            'SELECT generate_series(0, $1) AS i', to)
        асинхронно для строки в курсоре:
            выходная строка ['i'] ** 2

асинхронно для i в Square_series(con, 1000):
    если я == 100:
        перерыв
 

Приведенный выше код определяет асинхронный генератор, который использует async для перебора курсора базы данных в транзакции. Затем генератор повторяется с помощью async for, что прерывает итерация в какой-то момент.

Генератор Square_series() затем будет удален сборщиком мусора, и без механизма асинхронного закрытия генератора Python интерпретатор не сможет ничего сделать.

Для решения этой проблемы мы предлагаем сделать следующее:

  1. Реализовать метод aclose на асинхронных генераторах возвращение специального ожидаемого . Когда этого ждал бросает GeneratorExit в приостановленный генератор и перебирает его до тех пор, пока либо GeneratorExit, либо происходит StopAsyncIteration.

    Это очень похоже на то, что метод close() делает с обычным Генераторы Python, за исключением того, что для выполнения требуется цикл событий близкий().

  2. Вызов RuntimeError при выполнении асинхронного генератора выражение yield в его блоке finally (используя await хотя нормально):

    асинхронное определение поколения():
        пытаться:
            урожай
        наконец:
            await asyncio. sleep(1) # Можно использовать 'await'.
    
            yield # Нельзя использовать 'yield',
                                     # эта строка вызовет
                                     # Ошибка выполнения.
  3. Добавьте два новых метода в модуль sys: set_asyncgen_hooks() и get_asyncgen_hooks().

Идея sys.set_asyncgen_hooks() состоит в том, чтобы разрешить событие циклы для перехвата итераций и финализации асинхронных генераторов, чтобы конечному пользователю не нужно было заботиться о доработке проблема, и все просто работает.

sys.set_asyncgen_hooks() принимает два аргумента:

  • firstiter: вызываемый объект, который будет вызываться при асинхронном Генератор работает впервые.
  • финализатор: вызываемый объект, который будет вызываться при асинхронном генератор собирается пройти GCed.

При первом запуске асинхронного генератора он хранит ссылку на текущий финализатор .

Когда асинхронный генератор собирается собирать мусор, он называет свой кэшированный финализатор . Предполагается, что финализатор запланирует вызов aclose() с активным циклом когда началась итерация.

Например, вот как модифицируется asyncio для безопасного доработка асинхронных генераторов:

# asyncio/base_events.py

класс BaseEventLoop:

    защита run_forever (я):
        ...
        old_hooks = sys.get_asyncgen_hooks()
        sys.set_asyncgen_hooks(finalizer=self._finalize_asyncgen)
        пытаться:
            ...
        наконец:
            sys.set_asyncgen_hooks(*old_hooks)
            ...

    def _finalize_asyncgen (я, род):
        self.create_task(ген.близкий())
 

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

sys.set_asyncgen_hooks() зависит от потока, поэтому несколько событий циклы, работающие в параллельных потоках, могут безопасно использовать его.

sys.get_asyncgen_hooks() возвращает структуру, подобную namedtuple с полями firstiter и finalizer.

Цикл событий asyncio будет использовать API sys.set_asyncgen_hooks() для поддерживать слабый набор всех запланированных асинхронных генераторов и запланировать свои методы сопрограммы aclose(), когда придет время для генераторы, подлежащие GCed.

Чтобы убедиться, что асинхронные программы могут завершить все запланированные асинхронные генераторы надежно, мы предлагаем добавить новый цикл обработки событий метод сопрограммы loop.shutdown_asyncgens(). Метод будет запланировать закрытие всех открытых в данный момент асинхронных генераторов с помощью вызов aclose().

После вызова метода loop.shutdown_asyncgens() цикл событий будет выдавать предупреждение всякий раз, когда будет повторяться новый асинхронный генератор в первый раз. Идея состоит в том, что после запроса всех асинхронных генераторы должны быть выключены, программа не должна выполнять код, который перебирает новые асинхронные генераторы.

Пример использования сопрограммы shutdown_asyncgens:

пытаться:
    loop.run_forever()
наконец:
    loop.run_until_complete(loop.shutdown_asyncgens())
    петля.близко()
 

Объект создан по образцу стандартного объекта-генератора Python. По сути, поведение асинхронных генераторов разработано воспроизвести поведение синхронных генераторов, с единственным отличие в том, что API асинхронный.

Определены следующие методы и свойства:

  1. аген.__aiter__(): Возвращает ген.

  2. gen.__anext__(): возвращает ожидаемый , который выполняет один итерация асинхронного генератора при ожидании.

  3. age.asend(val): Возвращает ожидаемое , которое подталкивает val в генераторе агентов. Когда у агена есть еще не повторялось, значение val должно быть None.

    Пример:

    асинхронное определение поколения():
        ждать asyncio.sleep (0.1)
        v = выход 42
        печать (v)
        ожидание asyncio. sleep(0.2)
    
    г = ген ()
    
    await g.asend(None) # Вернет 42 после сна
                             # на 0,1 секунды.
    
    await g.asend('hello') # Напечатает 'hello' и
                             # поднять StopAsyncIteration
                             # (после сна для 0.2 секунды.)
     
  4. agen.athrow(typ, [val, [tb]]): возвращает ожидаемый , который бросает исключение в генератор генератора.

    Пример:

    асинхронное определение поколения():
        пытаться:
            ждать asyncio.sleep (0.1)
            дать «привет»
        кроме ZeroDivisionError:
            ожидание asyncio.sleep(0.2)
            выход 'мир'
    
    г = ген ()
    v = ожидание g.asend(нет)
    print(v) # Будет напечатано "hello" после
                            # сон на 0,1 секунды.
    
    v = ждать g.бросить (ZeroDivisionError)
    print(v) # Напечатает 'world' после
                            $ спать 0,2 секунды.
     
  5. age.aclose(): возвращает ожидаемый , который выдает Исключение GeneratorExit в генератор. долгожданный может либо вернуть полученное значение, если аген обработал исключение, или аген будет закрыт и исключение будет распространяться обратно вызывающему абоненту.

  6. gen.__name__ и gen.__qualname__: доступны для чтения и записи атрибуты имени и квалифицированного имени.

  7. gen.ag_await: объект, который gen в настоящее время ожидает или Нет. Это похоже на доступный в настоящее время gi_yieldfrom для генераторов и cr_await для сопрограмм.

  8. gen.ag_frame, gen.ag_running и gen.ag_code: определяются так же, как и аналогичные атрибуты стандартных генераторов.

StopIteration и StopAsyncIteration не распространяются за пределы асинхронные генераторы и заменены RuntimeError.

Объект асинхронного генератора (PyAsyncGenObject) совместно использует макет структуры с PyGenObject. Кроме того, эталонная реализация вводит три новых объекта:

  1. PyAsyncGenASend: ожидаемый объект, реализующий методы __anext__ и asend().
  2. PyAsyncGenAThrow: ожидаемый объект, реализующий методы athrow() и aclose().
  3. _PyAsyncGenWrappedValue: каждый непосредственно полученный объект из асинхронный генератор неявно встроен в эту структуру.Этот это то, как реализация генератора может разделять объекты, которые полученный с использованием обычного протокола итерации из объектов, которые получено с использованием протокола асинхронной итерации.

PyAsyncGenASend и PyAsyncGenAThrow являются ожидаемыми (у них есть __await__ возвращают себя) и являются объектами, подобными сопрограммам. (реализация __iter__, __next__, send() и throw() методы). По сути, они контролируют работу асинхронных генераторов. повторено:

PyAsyncGenASend и PyAsyncGenAThrow

PyAsyncGenASend — это объект, похожий на сопрограмму, который управляет __anext__ и asend() и реализует асинхронную итерацию протокол.

gen.asend(val) и agen.__anext__() возвращают экземпляры PyAsyncGenASend (которые удерживают ссылки на родительский агентский объект. )

Поток данных определяется следующим образом:

  1. Когда PyAsyncGenASend.send(val) вызывается в первый раз, val помещается в родительский объект агента (используя существующий средства PyGenObject.)

    Последующие итерации по объектам PyAsyncGenASend, push Нет до аген.

    При получении объекта _PyAsyncGenWrappedValue он распакован, и возникает исключение StopIteration с развернутое значение в качестве аргумента.

  2. Когда PyAsyncGenASend.throw(*exc) вызывается в первый раз, *exc выбрасывается в родительский объект gen.

    Последующие итерации по объектам PyAsyncGenASend, push Нет до аген.

    При получении объекта _PyAsyncGenWrappedValue он распакован, и возникает исключение StopIteration с развернутое значение в качестве аргумента.

  3. Операторы возврата

    в асинхронных генераторах вызывают Исключение StopAsyncIteration, которое распространяется через Пиасинкгенасенд.методы send() и PyAsyncGenASend.throw().

PyAsyncGenAThrow очень похож на PyAsyncGenASend. Единственный разница в том, что PyAsyncGenAThrow.send() при первом вызове бросает исключение в родительский объект gen (вместо того, чтобы нажимать значение в него.)

  1. types.AsyncGeneratorType — тип асинхронного генератора объект.
  2. sys.set_asyncgen_hooks() и sys.get_asyncgen_hooks() методы настройки финализаторов и итерации асинхронных генераторов перехватчики в циклах событий.
  3. inspect.isasyncgen() и inspect.isasyncgenfunction() функции интроспекции.
  4. Новый метод для асинхронного цикла событий: loop.shutdown_asyncgens().
  5. Новый абстрактный базовый класс collections.abc.AsyncGenerator.

Предложение полностью обратно совместимо.

В Python 3.5 это SyntaxError для определения асинхронного определения с выражением yield внутри, поэтому безопасно ввести асинхронные генераторы в 3.6.

Первоначально PEP 492 определял __aiter__ как метод, который должен вернуть ожидаемый объект , в результате чего получается асинхронный итератор.

Однако в CPython 3.5.2 __aiter__ был переопределен для возврата асинхронные итераторы напрямую. Чтобы не сломаться назад совместимости было решено, что Python 3.6 будет поддерживать оба способы: __aiter__ все еще может вернуть ожидаемый с выдается предупреждение об устаревании.

Из-за двойной природы __aiter__ в Python 3.6 мы не можем добавить встроенную синхронную реализацию aiter(). Следовательно, предлагается подождать до Python 3.7.

Синтаксис для асинхронных включений не связан с асинхронным генераторы машин и должны быть рассмотрены в отдельном PEP.

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

Выход

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

асинхронная защита g1():
    выход 1
    выход 2

асинхронная защита g2():
    асинхронно для v в g1():
        выход v
 

Они позволяют реализовать концепции, аналогичные контекстная библиотека. contextmanager с использованием асинхронных генераторов. Например, с помощью предлагаемой конструкции можно реализовать следующий шаблон:

@async_context_manager
асинхронная защита ctx():
    ждать открытия ()
    пытаться:
        урожай
    наконец:
        ждать закрытия ()

асинхронно с ctx():
    Ждите ...
 

Другая причина заключается в том, что можно передавать данные и создавать исключения. в асинхронные генераторы, используя объект, возвращенный из __anext__ объект, но сделать это правильно сложно.Добавление явные asend() и athrow() проложат безопасный путь к выполнить это.

С точки зрения реализации, asend() является несколько более общим версия __anext__, а athrow() очень похожа на близкий(). Следовательно, определение этих методов для асинхронного генераторы не добавляют никакой дополнительной сложности.

Асинхронный генератор ветровой турбины

в изолированной сети — MATLAB & Simulink

Р. Рейд, Б. Солнье, Р. Ганьон; Hydro-Quebec (IREQ)

Описание

В этом примере представлена ​​общая модель ветро-дизельной системы высокого проникновения без хранения (HPNNSWD) [1]. Эта технология была разработана компанией Hydro-Quebec для снижения затрат на электроснабжение отдаленных северных населенных пунктов [2]. Оптимальное проникновение ветра (установленная ветровая мощность/пиковая потребность в электроэнергии) для этой системы зависит от стоимости доставки топлива на объект и доступного ветрового ресурса. Первое коммерческое применение технологии HPNSWD было введено в эксплуатацию в 1999 г. компанией Northern Power Systems (Вермонт, США) на острове Сент-Пол, Аляска [3]. Система HPNSWD, представленная в этом примере, использует синхронную машину 480 В, 300 кВА, ветряную турбину, приводящую в движение асинхронный генератор 480 В, 275 кВА, нагрузку потребителя 50 кВт и переменную вторичную нагрузку (от 0 до 446.25 кВт).

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

Блок Wind Turbine использует 2-D справочную таблицу для вычисления выходного крутящего момента турбины (Tm) как функции скорости ветра (w_Wind) и скорости турбины (w_Turb). Когда вы открыли этот пример, характеристики Pm (w_Wind, w_Turb) были автоматически загружены в вашу рабочую область (массив psbwindgen_char). Чтобы отобразить характеристики турбины, дважды щелкните блок, расположенный под блоком Wind Turbine.

Блок вторичной нагрузки состоит из восьми наборов трехфазных резисторов, соединенных последовательно с тиристорными ключами GTO.Номинальная мощность каждого набора соответствует двоичной прогрессии, так что нагрузка может изменяться от 0 до 446,25 кВт с шагом 1,75 кВт. GTO моделируются идеальными переключателями.

Частота управляется блоком Discrete Frequency Regulator. В этом контроллере используется стандартная трехфазная система фазовой автоподстройки частоты (ФАПЧ) для измерения частоты системы. Измеренная частота сравнивается с эталонной частотой (60 Гц) для получения погрешности частоты. Эта ошибка интегрирована для получения фазовой ошибки.Фазовая ошибка затем используется пропорционально-дифференциальным (PD) контроллером для создания выходного сигнала, представляющего требуемую мощность вторичной нагрузки. Этот сигнал преобразуется в 8-битный цифровой сигнал, управляющий переключением восьми трехфазных вторичных нагрузок. Чтобы свести к минимуму возмущения напряжения, переключение выполняется при переходе напряжения через нуль.

Моделирование

Например, скорость ветра (10 м/с) такова, что ветряная турбина производит достаточно энергии для питания нагрузки.Дизель-генератор (не смоделированный) останавливается, а синхронная машина работает как синхронный конденсатор с механической потребляемой мощностью (Pm), установленной на ноль. Пример иллюстрирует динамические характеристики системы регулирования частоты при включении дополнительной нагрузки потребителя мощностью 25 кВт.

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

Поскольку асинхронная машина работает в режиме генератора, ее скорость немного выше синхронной скорости (1,011 о.е.). По характеристикам турбины при скорости ветра 10 м/с выходная мощность турбины составляет 0,75 о.е. (206 кВт). Из-за потерь в асинхронной машине ветроустановка вырабатывает 200 кВт. Поскольку основная нагрузка составляет 50 кВт, вторичная нагрузка потребляет 150 кВт для поддержания постоянной частоты 60 Гц. При t=0,2 с включается дополнительная нагрузка 25 кВт. Частота на мгновение падает до 59.85 Гц, а регулятор частоты снижает мощность, потребляемую вторичной нагрузкой, чтобы вернуть частоту к 60 Гц. Напряжение остается на уровне 1 о.е., мерцания не наблюдается.

Регенерация начальных условий

Этот пример настроен со всеми инициализированными состояниями, так что моделирование начинается в установившемся режиме. Начальные условия сохранены в файле «power_windgen.mat». Когда вы открываете эту модель, обратный вызов InitFcn (в свойствах/обратных вызовах модели) автоматически загружает в вашу рабочую область содержимое этого файла .mat файл (переменная «xInitial»).

Если вы модифицируете эту модель или измените значения параметров силовых компонентов, начальные условия, хранящиеся в переменной «xInitial», больше не будут действительными, и Simulink® выдаст сообщение об ошибке. Чтобы заново сгенерировать начальные условия для измененной модели, выполните шаги, перечисленные ниже:

1. На панели «Параметры конфигурации» снимите флажок с параметра «Исходное состояние» и установите флажок «Конечные состояния».

2. Дважды щелкните блок 3-Phase Breaker и отключите переключение выключателя (отмените выбор параметров «Переключение фазы X» для фаз A, B и C»).

3. Измените время остановки моделирования на 20 с. Обратите внимание, что для создания начальных условий, соответствующих частоте 60 Гц, время остановки должно быть целым числом циклов 60 Гц.

4. Запустить моделирование. Когда моделирование завершено, убедитесь, что достигнуто устойчивое состояние, посмотрев на формы сигналов, отображаемые на осциллографах. Конечные состояния, сохраненные в массиве «xFinal», можно использовать в качестве начальных состояний для будущих симуляций. Выполнение следующих двух команд копирует эти окончательные условия в «xInitial» и сохраняет эту переменную в новом файле (myModel_init.мат).

 >> сохранить myModel_init xInitial
 

5. В окне InitFcn панели свойств модели замените первую строку команд инициализации на «load myModel_init». В следующий раз, когда вы откроете эту модель, переменная xInitial, сохраненная в файле myModel_init.mat, будет загружена в вашу рабочую область.

6. На панели «Параметры конфигурации» установите флажок «Исходное состояние».

7. Запустите симуляцию и убедитесь, что ваша модель запускается в установившемся режиме.

8. Дважды щелкните блок 3-Phase Breaker и повторно включите переключение выключателя (проверьте параметры «Переключение фазы X» для фаз A, B и C»).

9. Измените время остановки моделирования обратно на 5 с.

10. Сохраните вашу модель.

Ссылки

[1] Р. Ганьон, Б. Солнье, Г. Сибилль, П. Жиру; «Моделирование универсальной ветро-дизельной системы без накопления энергии с высоким проникновением с использованием набора блоков MATLAB® / Power System», 2002 г., Глобальная конференция по ветроэнергетике, апрель 2002 г., Париж, Франция,

[2] B. Saulnier, A.O. Барри, Б. Дубе, Р. Рид; «Проектирование и разработка системы регулирования и управления для ветро-дизельной схемы без накопления энергии» Конференция Европейского сообщества по ветроэнергетике 88, 6-10 июня 1988 г., Хернинг, Дания

[3] L.Мотт (NPS), Б. Солнье (IREQ) «Коммерческий ветро-дизельный проект, остров Сент-Пол, Аляска» 14-я Межэнергетическая конференция по дизельным двигателям Prime Power, 28 мая — 2 июня, Виннипег, Манитоба, Канада

Асинхронные генераторы | АЕМ Дессау ГмбХ

Асинхронные генераторы используются для рекуперации энергии торможения обратно в систему («рекуперативное торможение»), а также для выработки электроэнергии. Скорость и коэффициент мощности от этого не зависят.

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

  • Высота вала: до 800
  • Степень защиты: до IP 56
  • Система охлаждения: до IC 86W7
  • Скорость: до 3600 об/мин
  • Класс изоляции: F и H

Дополнительные компоненты:

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

Преимущества:

  • высокая надежность и длительный срок службы
  • чрезвычайно экономичная эксплуатация
  • индивидуальная оптимизация с точки зрения размеров и диапазона мощности
  • более экономичный и менее затратный по сравнению с традиционными синхронными генераторами
  • возможность адаптации для различных приложений и спецификаций заказчика, включая использование в качестве гидроэлектростанции, испытательного стенда или генератора бортовых систем
  • возможно простое подключение к существующей сети
  • отсутствие проблем с синхронизацией
  • плавное подключение к сети
  • гибкая скорость
4 8 +1500 1 000 150 из
Полюс диапазон номеров + 2 6 10 12 14 . .. 40
Скорость 1 ) 3000 750 600 500 429
Мощность 2 )

160 160 132 90 75 40 35 10 10 9
до 5000 5000 5000 5000 4000 2800 1950 1560 35

1) [мин. -1 ], 2) [кВт], AEM низкое напряжение до 1000 В

4 8 +1500 1 000 из 9046-
Полюс диапазон номеров + 2 6 10 12 14 . .. 30
Скорость 1 ) 3000 750 600 500 429 200
Мощность 2)

132 132 110 90 75 50 40 10 9
4000 4000 4000 4000 4000 2000 1560 1120 40

1) [мин -1 ], 2) [кВт], среднее напряжение AEM от 1000 до 6600 В

4 8 750 из 1
Полюс диапазон номеров + 2 6 10 12 14 . .. 20
Скорость 1 ) 3000 1500 1000 600 500 429 300
Мощность 2)

132 132 110 90 75 50 40 110
до 4000 4000 4000 4000 2800 2000 1560 1120 160

1) [мин. -1 ], 2) [кВт], AEM, высокое напряжение свыше 6600 В

за ожидание.

..of — JavaScript | MDN

Оператор for await... of создает цикл, повторяющий асинхронные итерируемые объекты, а также синхронизируемые итерируемые объекты, включая: встроенные String , Array , Array -подобные объекты ( например, аргументы или NodeList ), TypedArray , Map , Set и пользовательские асинхронные/синхронные итерации. Он вызывает пользовательский крючок итерации с операторами, которые должны выполняться для значения каждого отдельного свойства объекта.Этот оператор может использоваться только внутри асинхронной функции.

Примечание. для await... из не работает с асинхронными итераторами, которые не являются асинхронными. итерации.

  для ожидания (постоянная переменная итерации) {
  утверждение
}
  
переменная

На каждой итерации присваивается значение другого свойства. переменная . переменная может быть объявлена с const , let или var .

повторяемый

Объект, свойства которого должны повторяться.

Итерация по асинхронным итерируемым объектам

Вы также можете выполнять итерацию по объекту, который явно реализует асинхронный итерируемый протокол:

  константа ПРЕДЕЛ = 3;

константа asyncIterable = {
  [Symbol.asyncIterator]() {
    пусть я = 0;
    вернуть {
      следующий() {
        const done = i === LIMIT;
        константное значение = сделано? не определено: i++;
        вернуть обещание.разрешить ({значение, выполнено});
      },
      вернуть() {
        
        вернуть {сделано: правда};
      }
    };
  }
};

(асинхронный () => {
  for await (константное число asyncIterable) {
    console.log(число);
  }
})();



  

Перебор асинхронных генераторов

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

  асинхронная функция* asyncGenerator() {
  пусть я = 0;
  в то время как (я < 3) {
    выход i++;
  }
}

(асинхронный () => {
  для ожидания (постоянное число asyncGenerator()) {
    приставка.журнал (число);
  }
})();



  

Для более конкретного примера перебора асинхронного генератора с использованием для await...of рассмотрите возможность повторения данных из API.

В этом примере сначала создается асинхронная итерация для потока данных, а затем используется для поиска размер ответа от API.

  асинхронная функция* streamAsyncIterable(stream) {
  const reader = stream.getReader();
  пытаться {
    пока (правда) {
      const {готово, значение} = ожидание чтения.читать();
      если (сделано) вернуться;
      доходность;
    }
  } наконец {
    читатель.releaseLock();
  }
}


асинхронная функция getResponseSize (url) {
  постоянный ответ = ожидание выборки (url);
  
  пусть responseSize = 0;
  
  for await (константный фрагмент streamAsyncIterable(response. body)) {
    
    responseSize += chunk.length;
  }

  console.log(`Размер ответа: ${responseSize} байт`);
  
  вернуть размер ответа;
}
getResponseSize('https://jsonplaceholder.typicode.com/photos');
  

Повторение итераций и генераторов с синхронизацией

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

  функция* генератор() {
  выход 0;
  выход 1;
  доходность Promise.resolve(2);
  выход Promise.resolve(3);
  выход 4;
}

(асинхронный () => {
  for await (постоянное число генератора()) {
    console.log(число);
  }
})();








for (const numOrPromise генератора()) {
  console.log(numOrPromise);
}





  

Примечание. Помните о том, что от генератора синхронизации могут быть отклонены обещания.В такой случай for await. .. of выбрасывает при использовании отклоненного обещания и НЕ ВЫЗЫВАЕТ , наконец, блока внутри этого генератора. Это может быть нежелательно, если вам нужно освободить некоторые выделенные ресурсы с попытка/наконец .

  функция* генераторWithRejectedPromises() {
  пытаться {
    выход 0;
    выход 1;
    доходность Promise.resolve(2);
    выход Promise.reject(3);
    выход 4;
    бросить 5;
  } наконец {
    console.log('наконец-то вызван');
  }
}

(асинхронный () => {
  пытаться {
    for await (константное число генераторовWithRejectedPromises()) {
      приставка.журнал (число);
    }
  } поймать (е) {
    console.log('поймал', e);
  }
})();







пытаться {
  for (const numOrPromise of generatorWithRejectedPromises()) {
    console.log(numOrPromise);
  }
} поймать (е) {
  console.log('поймал', e);
}







  

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

  (асинхронный () => {
  пытаться {
    for (const numOrPromise of generatorWithRejectedPromises()) {
      console.log(ожидание numOrPromise);
    }
  } поймать (е) {
    console.log('поймал', e);
  }
})();





  

Таблицы BCD загружаются только в браузере

Изолированная пико-гидроэнергетика с использованием асинхронного генератора для повышения качества электроэнергии

Изолированная пико-гидроэнергетика с использованием асинхронного генератора для повышения качества электроэнергии

Международный журнал научных и инженерных исследований, том 2, выпуск 12 декабря 2011 г. 1

ISSN 2229-5518

Изолированная пико-гидроэнергетика с использованием асинхронного генератора для повышения качества электроэнергии

г.К.В.Н.С Паван Кумар, г-жа Э.Правина, проф. П.В. Kishore

Аннотация. В данной статье было проведено сравнительное исследование топологий, состоящих из обычного электронного контроллера нагрузки и предлагаемого электронного контроллера нагрузки (ELC), для улучшения качества электроэнергии в обычном электронном контроллере нагрузки, используемом для изолированных пико- производство гидроэлектроэнергии с использованием асинхронного генератора (АГ). Автотрансформатор с многоугольной обмоткой с уменьшенным номинальным током в киловольтах используется в предлагаемом ELC для снижения гармонического тока, чтобы соответствовать требованиям к качеству электроэнергии, предписанным стандартом IEEE-519.В обычном ELC используется шестиимпульсный мостовой выпрямитель, а в предлагаемом ELC используется двадцатичетырехпульсный мостовой выпрямитель. Исследование проводится в MATLAB с использованием наборов инструментов SIMULINK и power system blockset. Проведена экспериментальная проверка обоих ЭЛК для регулирования напряжения и частоты изолированного асинхронного генератора с приводом от неуправляемой пикогидротурбины.

Ключевые слова — электронный регулятор нагрузки (ELC), изолированный асинхронный генератор (IAG), пикогидротурбина, автотрансформатор с полигональной обмоткой

——————————  ——————————
Истощение запасов ископаемого топлива и загрязнение окружающей среды приводит к увеличению производства возобновляемой энергии, включающей мини-, микро- и пикогидроэлектростанции
, а также потенциал ветровой энергии, доступный в изолированных местах
(где электроснабжение недоступно), для которых техническое обслуживание
– система, не требующая обслуживания. желательно.Ввиду этого изолированный асинхронный генератор (IAG)
с простым контроллером для
, регулирующим напряжение, является наиболее подходящим вариантом для таких приложений
. Доступен ряд исследовательских публикаций
по регуляторам напряжения и частоты для IAG
с приводом от неуправляемой пикогидротурбины для однофазного
[5], а также трехфазных силовых приложений [6]–[14]. Большинство из
предлагали о контроллерах сообщается как о контроллерах электронной нагрузки
(ELC), которые поддерживают постоянную мощность на клемме генератора
для регулирования постоянного напряжения и частоты
.Емкость конденсатора возбуждения выбирается таким образом, чтобы
генерировал номинальное напряжение при требуемой мощности. Основной принцип
управления постоянной мощностью на терминале генератора
заключается в использовании ELC и его эксплуатации таким образом,
что общая мощность (поглощаемая контроллером нагрузки и
потребительской нагрузкой) является постоянной. Если спрос со стороны потребителя
меньше, баланс генерируемой мощности поглощается
ELC. Энергия, потребляемая ELC, может использоваться
для полезной работы, такой как нагрев воды, обогрев помещений, приготовление пищи, зарядка аккумулятора
, выпечка и т. д.
В литературе
[7]–[14] описаны различные типы ЭПП на основе управляемых
(тиристорных) или неуправляемых шестипульсных выпрямителей с прерывателем
и вспомогательной нагрузкой. Эти регуляторы обеспечивают эффективное управление, но при
расходуют искаженное напряжение и ток на клеммах генератора
, что, в свою очередь, снижает номинальные характеристики машины. Кроме того,
инжекция гармонического тока на клемме генератора не находится в пределах, предписанных стандартами IEEE [15], поскольку в такой системе присутствуют (6 n ±
1) доминирующие гармоники.Эти гармоники
вызывают дополнительные потери в системе, резонанс
и выход из строя конденсаторной батареи. В ЭЛК
на основе тиристоров с фазовым управлением фазовый угол встречно-параллельно соединенных тиристоров
отстает от 0 . с по 180 . при изменении нагрузки потребителя
от нулевой до полной нагрузки [16]. Из-за
запаздывания по углу зажигания, требует дополнительной реактивной нагрузки
и вносит гармоники в систему. В управляемом мостовом выпрямителе
типа ELC [9] угол открытия
изменен с 0 по 180 . Для однофазного и 0 . с по 120 . для трехфазного
, чтобы охватить весь диапазон потребительской нагрузки от 0% до 100%
. В этой схеме требуется шесть тиристоров и их управляющие цепи
, а значит, она сложна, вводит гармоники
и требует дополнительной реактивной мощности. Было предложено несколько ELC
, которые имеют качество активного фильтра
и используют преобразователь источника напряжения
с широтно-импульсной модуляцией (ШИМ) вместе с прерывателем и вспомогательной нагрузкой
в звене постоянного тока [17]–[20] для устранения помех
. гармоники и обеспечивают функции регулирования напряжения и частоты
.Однако такие типы контроллеров
делают систему дорогостоящей и сложной со сложным алгоритмом управления
, и требование простоты для изолированной системы
теряется. Поэтому в данной работе предлагается простой ЭЛК
, который регулирует напряжение и частоту
без каких-либо гармонических искажений на клеммах генератора.
Предлагаемый контроллер состоит из 24-импульсного выпрямителя, прерывателя
и вспомогательной нагрузки. Вместо шестипульсного выпрямителя
, ELC на основе 24-пульсного выпрямителя имеет незначительное гармоническое искажение
в генерируемом напряжении и токе.Представлено сравнительное исследование
, основанное на моделировании, и оно также проверено экспериментально для обоих типов ELC.

На рис. 1 показана изолированная пикогидрогенерирующая система, состоящая из ИАГ, конденсатора возбуждения, потребительских нагрузок,
и обычного ЭЛК (шестиимпульсный диодный выпрямитель с прерывателем). Диодный мост используется для преобразования переменного тока. напряжение на клеммах IAG в постоянное напряжение.Выходное постоянное напряжение имеет пульсации, которые необходимо отфильтровать, поэтому для сглаживания постоянного напряжения используется фильтрующий конденсатор. Биполярный транзистор с изолированным затвором (IGBT) используется в качестве прерывателя, обеспечивающего переменное постоянное напряжение на вспомогательной нагрузке. Когда прерыватель включен, ток протекает через его вспомогательную нагрузку и потребляет разность мощностей (разницу генерируемой мощности и мощности нагрузки потребителя), что приводит к постоянной нагрузке на ИВП, а значит, и к постоянным напряжению и частоте на меняющемся потребителе. нагрузки.Рабочий цикл прерывателя изменяется с помощью пропорционально-интегрального (ПИ) регулятора на основе аналогового контроллера. Определяемое напряжение на клеммах сравнивается с эталонным напряжением, и сигнал ошибки обрабатывается ПИ-регулятором. Выходной сигнал ПИ-регулятора сравнивается с пилообразным сигналом фиксированной частоты для генерации сигнала переключения переменного рабочего цикла для переключателя прерывателя. В соответствии с принципом работы системы конденсаторы подходящего номинала подключаются для получения номинального напряжения при заданной мощности [21].Входная мощность IAG поддерживается постоянной при изменении нагрузки потребителей. Таким образом, IAG питает две нагрузки (потребительская нагрузка
+ ELC) параллельно, так что общая мощность остается постоянной

Pgen = PELC + Pload


Где Pgen — мощность, генерируемая IAG (которую следует поддерживать постоянной), P load – мощность, потребляемая потребителями, а P ELC – мощность, потребляемая ELC

Рис.1. Конфигурация системы IAG и стратегия управления прерывателем в шестиимпульсном диодном мосту ELC.На выходе ZSBT был подключен реактор

с соответствующим отводом для достижения удвоения импульса [22]–[24]. Выходные напряжения двух выпрямителей В, d1 и В, d2, показанные на рис. 2, идентичны, но имеют фазовый сдвиг 30 . (требуется для достижения 12-импульсного режима), и эти напряжения содержат пульсации, в шесть раз превышающие частоту источника. Выходное напряжение выпрямителя В d определяется как

Vd = 0,5 (Vd1 + Vd2) ——. (1)

Аналогично, напряжение на межфазном реакторе определяется как

Vm = Vd1 — Vd2 —————- (2)

, где пульсации переменного напряжения, в 12 раз превышающие частоту источника, появляющиеся на межфазном дросселе с ответвлениями, как показано на рис.2. Эта схема умножения импульсов [22], [24] для диодных мостовых выпрямителей использовалась для желаемого удвоения импульсов для снижения гармоник линейного тока. ZSBT помогает добиться независимой работы двух выпрямительных мостов, тем самым устраняя нежелательную последовательность проводки выпрямительных диодов. ZSBT предлагает очень высокий импеданс для компонентов тока нулевой последовательности. Однако детальный проект межфазного реактора и ЗБТ приведен в [22], и та же процедура используется в данной статье.Для достижения 12-импульсного выпрямления необходимо создать два набора линейных напряжений одинаковой величины, равных 30 . не совпадают по фазе друг с другом (либо ± 15 . , либо 0 . и
30 . ). Из напряжений на клеммах генератора получают два набора трехфазных напряжений (сдвинутых по фазе на +150 и -150). Количество витков или доля напряжения на каждой обмотке автотрансформатора, необходимая для +15 . и
15 . Фазовый сдвиг рассчитывается по рис.3 следующим образом:
VNS1 = VNS2. ———- (3)
Применение правила «Синусов» в треугольнике «a1 oa2» *22+, *23+

[23] на основе ELC с 24-импульсным преобразователем переменного тока в постоянный для изолированных пико-гидроэлектростанций. В этой конфигурации требуется один блокирующий трансформатор нулевой последовательности (ZSBT) для обеспечения независимой работы двух выпрямительных мостов.Он обладает высоким импедансом по отношению к токам нулевой последовательности, что обеспечивает проводимость 120 Ом для каждого диода, а также обеспечивает равное распределение тока на выходе.

IJSER © 2011 http://www.ijser.org

International Journal of Scientific & Engineering Research, Volume 2, Issue 12, December-2011 3

ISSN 2229-5518

Рис.2. Предлагаемый 24-импульсный ELC для IAG

Рис.3. Вектор и схема обмотки предлагаемого 24-пульсного автотрансформатора для 24-импульсного преобразователя переменного тока в постоянный для предлагаемого ELC

, где В ca — линейное напряжение 415 В. Термины В NS1 и В NS2 представляют собой наведенное напряжение на короткой обмотке, а В NLL — наведенное напряжение на длинной обмотке многоугольного автотрансформатора. Подробная аппаратная часть многоугольного автотрансформатора, ЗСБТ и межфазного трансформатора (ИПТ) представлена ​​в Приложении вместе с полной конструкцией предлагаемого 24-импульсного ЭЛП.

Асинхронная машина мощностью 7,5 кВт, 415 В, 50 Гц используется в качестве IAG, а ELC моделируется с использованием доступного набора блоков силовой электроники, такого как диодный мостовой выпрямитель и прерыватель со вспомогательной резистивной нагрузкой, и многообмоточные трансформаторы используются для создания желаемого фазовый сдвиг для работы 24-импульсного преобразователя
. Моделирование проводится в MATLAB версии 7.1 с дискретным шагом 1E 6. Подробное моделирование и сравнительный анализ обоих типов ЭЛК приведены в следующих разделах.
ток нагрузки потребителя ( i labc ), ток ELC ( i da , i db , i dc ), среднеквадратичное значение генерируемого напряжения ( v rms ), частота ( f ), скорость генератора ( w g ), изменение мощности нагрузки ( P load ), мощность ELC ( P ELC ) и генерируемая мощность ( P gen ) приведены при внезапном приложении и отключении нагрузки потребителей для обоих типов ЭЛК на рис. 4 и 5 соответственно, а спектры гармоник тока нагрузки, напряжения генератора и тока — на рис.6 и 7 для обоих типов ELC.

5.1. Характеристики обычного шестиимпульсного ELC

На рис. 4 показаны различные переходные формы сигналов IAG с обычным ELC, использующим выпрямитель с шестиимпульсным диодным мостом. Здесь номинал конденсатора выбран для создания номинального действующего напряжения (415 В) при номинальной нагрузке (7,5 кВт). Первоначально потребительская нагрузка отключена, и ELC потребляет полную мощность 7,5 кВт для вспомогательной нагрузки. Через 2 с включается потребительская нагрузка около 5 кВт, и наблюдается, что для контроля постоянной мощности на клемме генератора ток, потребляемый ELC, уменьшается, в то время как при снятии потребительской нагрузки на 2.3 с, снова увеличивается. Благодаря использованию ЭЛП на основе шестиимпульсного мостового выпрямителя наблюдают искажение напряжения и тока генератора, а также контролируют величину и частоту генерируемого напряжения. Аналогичная динамика выполняется в случае предлагаемого 24-импульсного ЭЛК и показана на рис. 5 и подробно обсуждается в следующем разделе. На рис. 6 показаны спектры гармоник в условиях нулевой нагрузки, когда обычный ELC потребляет максимальную генерируемую мощность; здесь наблюдается, что из-за нелинейного поведения этого ELC он потребляет ток, имеющий общее гармоническое искажение (THD) 37.13%, что, в свою очередь, искажает напряжение (THD 8,3%) и ток (THD 11,33%) на выводе генератора.

Здесь переходные формы сигналов напряжения генератора ( v abc), тока генератора ( i abc), токов конденсатора ( i cabc),

IJSER © 2011 http://www.ijser.org

Международный журнал научных и инженерных исследований, том 2, выпуск 12, декабрь 2011 г. 4

ISSN 2229-5518

Рис.4. Моделирование переходных форм сигналов ИАГ при включении и снятии потребительской нагрузки с помощью шестиимпульсного диодного мостового выпрямителя на базе ELC

5.2. Характеристики предложенного 24-импульсного ELC

На рис. 5 показаны переходные формы сигналов IAG с использованием ELC на основе 24-импульсного выпрямителя. Подобно обычному ELC, предлагаемый ELC регулирует постоянную мощность на клеммах генератора при изменении нагрузок потребителей. Здесь видно, что напряжение и частота поддерживаются на постоянном уровне, и в то же время искажение напряжения и тока генератора незначительно по сравнению с обычным ЭЛК.На рис. 7 представлены гармонические спектры тока ЭЛП, напряжения генератора и тока генератора, которые показывают, что благодаря 24-импульсному режиму работы ЭЛП его производительность улучшается по сравнению с обычным ЭЛП, а искажения напряжения и тока генератора наблюдается практически незначительная величина, которая составляет 0,42% и 0,47%
соответственно.

Рис.5. Смоделированные переходные формы сигналов IAG при включении и снятии потребительской нагрузки с использованием 24-импульсного выпрямителя на основе ELC

В ходе экспериментального исследования измеряемое напряжение на клеммах IAG сравнивается с эталонным напряжением, и сигнал ошибки подается на ПИ-регулятор.Пропорциональные и интегральные усиления ПИ-регулятора можно изменять извне с помощью потенциометров. Выход ПИ-регулятора сравнивается с пилообразным сигналом несущей. Частота и амплитуда пилообразного сигнала определяются внешними резистивными и емкостными элементами. ПИ-регулятор и ШИМ-генератор доступны в одной микросхеме IC-3525. Выходной каскад ШИМ-контроллера имеет два двухтактных усилителя, что дает два выхода, один

IJSER © 2011 http://www.ijser.org

Международный журнал научных и инженерных исследований, том 2, выпуск 12, декабрь 2011 г. 5

ISSN 2229-5518


с изменением рабочего цикла 50–95%. Для прерывателя требуется только один выход с рабочим циклом, изменяющимся в максимально возможном диапазоне. При использовании IC-
3525 это достигается за счет параллельного подключения двух выходов, что позволяет добиться изменения рабочего цикла.Прерыватель должен быть выключен, когда IAG набирает напряжение, а также когда он полностью загружен потребительской нагрузкой. Но IC-3525 дает выходной импульс с рабочим циклом 10%, даже когда сигнал обратной связи меньше опорного значения. Таким образом, выход ШИМ-контроллера объединяется логическим И (IC-HD14081B) с другим сигналом, заданным как сигнал «импульсная блокировка/разблокировка».

Рис. 8 и 9 демонстрируют экспериментальные характеристики обычного ELC и предлагаемого ELC в переходных условиях изменения нагрузки соответственно.Здесь переходный

6.1. Характеристики обычного шестиимпульсного ELC

Рис.6. Осциллограммы и спектры гармоник (а) обычного шестиимпульсного тока ЭЛП (ida), (б) напряжения генератора (va) и (в) тока генератора (ia) в условиях нулевой нагрузки потребителя

Рис.7. Формы сигналов и спектры гармоник (a) предложенного 24-импульсного тока ELC (ida), (b) напряжения генератора (va) и (c) тока генератора (ia) в условиях нулевой нагрузки потребителя

формы сигналов напряжения генератора ( v a ), ток генератора ( i a ), ток нагрузки потребителя ( i la ) и ток ELC ( i da ) фиксируются с помощью запоминающего 4-канального осциллографа Agilent-4.Для эксперимента номинал конденсатора возбуждения выбран таким, чтобы генерировать 230 В при вырабатываемой мощности 3,5 кВт.
На рис. 8(a) и (b) показаны характеристики IAG с обычным ELC при резком приложении и снятии потребительской нагрузки соответственно. Здесь ясно показано, что при приложении нагрузки потребителя контроллер реагирует, и ток, протекающий через ELC, уменьшается, чтобы контролировать общую генерируемую мощность на постоянном выводе генератора.Наличие достаточного конденсатора возбуждения поддерживает постоянное напряжение на выводе генератора. Здесь сделано наблюдение, что из-за нелинейного поведения ЭЛК из-за шестиимпульсного диодного выпрямителя напряжение и ток генератора сильно искажаются, а при нулевой нагрузке потребителя ситуация усугубляется.

6.2. Характеристики предложенного 24-пульсного ELC

На рис. 9(a) и (b) показаны характеристики IAG с предлагаемым 24-импульсным выпрямителем ELC при включении и отключении потребительских нагрузок.Подобно обычному ELC, предлагаемый ELC поддерживает

IJSER © 2011 http://www.ijser.org

Международный журнал научных и инженерных исследований, том 2, выпуск 12, декабрь 2011 г. ISSN 2229-5518

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

6.3. сравнительное исследование аспектов качества электроэнергии

Рис. 10 и 11 демонстрируют форму волны и спектры гармоник генераторного напряжения ( v а) и тока ( i а) для традиционного ЭЛП и предлагаемого ЭЛП соответственно в условиях приложения нагрузки и нулевой нагрузки потребителя. Анализатор мощности Fluke 43B используется для измерения THD напряжения на клеммах и тока генератора.
При обычном ELC наблюдается, что THD генерируемого напряжения и тока равен 4.8% и 10,8%, соответственно, при условии потребительской нагрузки, как показано на рис. 10(i). При снятии нагрузки полная генерируемая мощность поглощается ELC, и состояние становится более тяжелым из-за нелинейного поведения обычного ELC
, а наблюдаемые THD напряжения и тока составляют 7,8% и 17,8% соответственно, что показано на рисунке. на рис. 10(ii).
С предложенным 24-импульсным ELC ясно продемонстрировано, что THD генерируемого напряжения и тока улучшается, а искажения генерируемого напряжения и тока незначительны.При приложении нагрузки потребителя THD напряжения и тока составляет 0,8 % и 2,0 % соответственно, как показано на рис. 11(i), а в условиях нулевой нагрузки потребителя, когда контроллер нагрузки потребляет полную генерируемую мощность, THD генерируемого напряжения и тока составляет около
0,8% и 2,2%, как показано на рис. 11(ii), что находится в пределах 5%-го предела, установленного стандартом IEEE-519 [15], и намного меньше, чем в случае шести- ЭЛП на основе импульсного диодного моста.

IJSER © 2011 http://www.ijser.org

Международный журнал научных и инженерных исследований, том 2, выпуск 12, декабрь 2011 г. 7

ISSN 2229-5518


при любых условиях нагрузки, а при нулевой нагрузке потребителя она является жесткой из-за нелинейного поведения ELC из-за наличия шестиимпульсного диодного выпрямителя.С предлагаемым ELC общее гармоническое искажение для генерируемого напряжения и тока низкое за счет поддержания постоянной мощности, таким образом, путем улучшения регулирования IAG и, таким образом, улучшения качества электроэнергии в случае как сбалансированных, так и несимметричных нагрузок. Предлагаемый ЭЛП реализован с использованием 24-импульсного преобразователя и прерывателя. Проведено сравнительное исследование обоих типов ЭЛК (6-импульсного и 24-импульсного ЭЛК) на основе моделирования с использованием стандартного программного обеспечения MATLAB и разработки прототипа аппаратуры в лабораторных условиях.

IJSER © 2011 http://www.ijser.org

Международный журнал научных и инженерных исследований, том 2, выпуск 12, декабрь 2011 г. 8

ISSN 2229-5518

8.1. определение параметров для Autowound

Polygon Transformer

Линейное напряжение 415 В можно рассчитать по (5) и (7) Va1-c2 = VNLL = 350,758 В; TNLL = 579 витков
Va-a1 = VNS1 = 64.159 В; TNS1 = TNS2 = 106 витков . Три однофазных автотрансформатора были спроектированы и намотаны в лаборатории в соответствии с деталями конструкции:
плотность потока = 0,8 Тл, плотность тока = 2,3 А/мм2, размер сердечника
= 8, площадь поперечного сечения сердечника = 32,25 см2 (5,08 см × 6,35
см). E-ламинирование: длина = 18,41 см, ширина = 17,14 см, ламинирование I-
: длина = 17,14 см, ширина = 5,08 см.

8.2. Конструкция ЗСБТ Умножение импульсов [24]

N1 = N2 = N3 = N4 = 105 витков.

8.3. Конструкция 24-импульсного преобразователя переменного тока в постоянный ИПТ[24]

Nx / Ny= 0,2543

Nx = 17 витков и Ny = 67 витков.

Используя эти конструктивные параметры, в лаборатории
разработан прототип.

8.4. Конструкция предлагаемого 24-импульсного ELC

В этом контроллере значение сопротивления вспомогательной нагрузки ( R d) оценивается по потребленной мощности и напряжению на нем. Если регулятор рассчитан на номинальную мощность генератора, то значение сопротивления вспомогательной нагрузки можно рассчитать как мощность асинхронного генератора (АГ) В д определяется как среднее напряжение на звене постоянного тока для 24-импульсного [24]–[26] ЭПП на основе диодного выпрямителя

Вд = 1.398 Vll

где V ll – среднеквадратичное напряжение входной линии на клеммах ELC. Перенапряжение y % номинального напряжения считается для
переходных режимов, тогда пиковое напряжение переменного тока как [25], [26]

Vпик = (√2)V11,1+(y/100)}

Номинальный ток неуправляемого выпрямителя и прерывателя определяется активной составляющей входного переменного тока и рассчитывается как
I A = P gen / 3 Vll

.

В 24-импульсном диодном выпрямителе ЭЛП коэффициент искажения
0,985; тогда входной переменный ток ЭЛП может быть получен как
[24]

IDA = IA / 0,985


Пик-фактор (CF) переменного тока, потребляемого неуправляемым выпрямителем с емкостным фильтром, изменяется от 1,41 до 2,0; следовательно; пиковый входной ток переменного тока можно рассчитать как Ipeak = 2 IDA .
Значение емкости звена постоянного тока (Cdc) и коэффициента пульсаций ( µ )
для трехфазного 24-импульсного неуправляемого выпрямителя составляет [24], [25]
Cdc = {(1/48fRd2)} {1+ (1/√2 мк)}
Из этих вышеупомянутых уравнений, номинальное напряжение и ток неуправляемого выпрямителя ( В дБ , I дБ ), переключателя прерывателя (БТИЗ) ( В ch , I ch ), и конденсатор фильтра ( C постоянного тока) были рассчитаны с учетом перенапряжения 10 % и коэффициента пульсаций ( µ ) 5 %.Таблица I демонстрирует расчетное и выбранное значение предлагаемого ELC на основе 24-импульсного выпрямителя для 7,5 кВт, 415 В, AG, соединенных звездой.

8.5. Параметры 4-полюсной асинхронной машины 7,5 кВт, 415 В, 50 Гц, соединенной звездой

Rs = 1 ., Rr = 0,77 ., Xlr = Xls = 1,5 ., J = 0,1384 кг·м2 < 3,16)

Lm = 9e — 5Im2 — 0,0087Im + 0,1643(3,16 < Im < 12,72)

Lm = 0,068 H(Im > 12,72).

*1+ Б. Сингх, «Асинхронный генератор — перспектива», Электр.Мах. Системы питания, том. 23, pp. 163–177, 1995.
[2] R. C. Bansal, T. S. Bhatti, and DP Kothari, «Библиография по применению асинхронного генератора в нетрадиционных энергетических системах», IEEE Trans. Energy Convers., vol. EC-18, нет. 3, стр. 433–439, сентябрь 2003 г.
*3+ Г. К. Сингх, «Исследование асинхронного генератора с самовозбуждением — обзор», Электр. Система питания Рез., том. 69, нет.
2/3, стр. 107–114, май 2004 г.
*4+ RC Bansal, «Трехфазные изолированные асинхронные генераторы
: обзор», IEEE Trans.Энергетика Конверс.,
т. 20, нет. 2, стр. 292–299, июнь 2005 г.
[5] Оджо О., Омозуси О. и Джимо А. А., «Работа
однофазного асинхронного генератора с инвертором»,

IJSER © 2011 http:/ /www.ijser.org

Международный журнал научных и инженерных исследований, том 2, выпуск 12, декабрь 2011 г. 9

ISSN 2229-5518

IEEE Trans. инд.Электрон., т. 1, с. 47, нет. 3, pp. 632–640, Jun.
2000.
*6+ Дж. М. Элдер, Дж. Т. Бойз и Дж. Л. Вудворд, «Интегральное управление циклом
автономных генераторов», Proc. Инст. электр.
англ., том. 132, нет. 2, стр. 57–66, март 1985 г.
*7+ Д. Хендерсон, «Усовершенствованный электронный регулятор нагрузки
для управления выработкой микрогидроэлектростанций», IEEE Trans.
Energy Convers., vol. 13, нет. 3, стр. 300–304, сентябрь 1998 г.
[8] Н. П. А. Смит, «Индукционные генераторы для автономных микрогидросистем
», в Proc.Международный IEEE. конф. Мощность
Электрон. Система привода энергии. Инд. Рост. Нью-Дели,
, Индия, 1996, стр. 669–673.
*9+ Р. Бонерт и С. Раджакаруна, «Асинхронный генератор
с самовозбуждением и отличным контролем напряжения и частоты»,
Proc. Инст. электр. англ. Генерал. Трансм. Распредел., том. 145, нет.
1, стр. 33–39, январь 1998 г.

[10+ Б. Сингх, С. С. Мурти и Сушма Гупта, «Анализ

и реализация электронного контроллера нагрузки для изолированного асинхронного генератора
», Proc.Инст. электр. англ.
Общ. Трансм. Распредел., том. 151, нет. 1, стр. 51–60, январь 2004 г.
[11] С. С. Мурти, Б. Сингх, С. Гупта, А. Кулкарни и Р.
Сивараджан, «Вода, вода. . .. Практический опыт использования новой пикогидросистемы
в любой точке мира для подачи электроэнергии в удаленные районы
», IEEE Ind. Appl.Mag., vol. 12, нет. 4, стр. 65–76,
июль/авг. 2006.
*12+ E. Suarez и G. Bortolotto, «Управление напряжением и частотой
изолированного асинхронного генератора», IEEE Trans.
Преобразователи энергии., том. 14, нет. 3, стр. 394–401, сентябрь 1999 г.
*13+ Б. Сингх, С. С. Мурти и С. Гупта, «Анализ переходных процессов
изолированного асинхронного генератора с электронным контроллером нагрузки
, обеспечивающим статические и динамические нагрузки», IEEE
Транс. Ind Appl., vol. 41, нет. 5, стр. 1194–1204, сентябрь 2005 г.
[14] Дж. М. Рамирес и М. Э. Торрес, «Электронный контроллер нагрузки
для асинхронных генераторов с самовозбуждением», в Proc.
Общее собрание IEEE PES. Тампа, Флорида, 24–28 июня 2007 г., 91 040 стр.1–8.
[15] Руководство IEEE по управлению гармониками и компенсации реактивной мощности преобразователей статической мощности
, стандарт IEEE
519-1992.
*16+ Л. А. К. Лопес и Р. Г. Алмейда, «Ветряной асинхронный генератор
с регулируемым напряжением и частотой
с помощью инвертора источника пониженного номинального напряжения», IEEE Trans.
Energy Convers., vol. 21, нет. 2, стр. 297–304, июнь 2006 г.
*17+ Р. С. Бхатиа, Д. К. Джайн, Б. Сингх и С. П. Джайн, «Система накопления энергии батареи
для кондиционирования электропитания», в Proc.
Нац. Система питания конф. NPSC-2004, стр. 86–91.
*18+ Б. Сингх, С. С. Мурти и С. Гупта, «Контроллер напряжения и частоты
для асинхронных генераторов с самовозбуждением»,
Electr. Силовой комп. сист., вып. 34, pp. 141–157, 2006.
*19+ E.G. Marra and J.A. Pomilo, «Система на основе индукционного генератора
, обеспечивающая регулируемое напряжение с постоянной частотой
», IEEE Trans. Ind. Electron., vol. 47, нет. 4, стр.
908–914, август 2000 г.
*20+ E.G. Marra and J.A. Pomilio, «Изолированный асинхронный генератор
, управляемый двунаправленным преобразователем VS-PWM
, для сельского применения», IEEE Trans.Ind Appl., vol. 35, нет. 4, 91 040 стр. 877–883, июль/август. 1999.
[21] Б. Сингх, С. С. Мурти и С. Гупта, «Статком
, регулятор напряжения для изолированного асинхронного генератора
, питающего нелинейные нагрузки», IEEE Trans. Ind. Electron., vol. 53, нет. 5, стр. 1437–1452, октябрь 2006 г.
[22] Дерек А. Пейс, Гармоники силового электронного преобразователя — многоимпульсные методы для чистой энергии. Нью-Йорк: IEEE Press, 1996.
[23] Б.Ву, Преобразователи высокой мощности и приводы переменного тока.NewYork: Wiley/IEEE Press, март 2006 г.
[24] Б. Сингх, Г. Бхуванесвари, В. Гарг и С. Гайрола, «Умножение импульсов в преобразователях переменного тока в постоянный для подавления гармоник в приводе асинхронного двигателя с векторным управлением. », IEEE Trans. Energy Convers., vol. 21, нет. 2, pp. 342–352, Jun. 2006.
[25] N. Mohan, T.M. Undeland, and W.P. Robbins, Power Electronics: Converters, Applications and Design, 3rd ed. Сингапур: Willey, 2004.
[26] М. Х. Рашид, Силовая электроника, схемы, устройства и приложения
, 3-е изд.Сингапур: Pearson/Prentice-Hall,
2004.

Г-н П.В. Кишор получил степень бакалавра технических наук в SVUniversity, Индия, и степень M.Tech в S.V. Университет в 2003 году. Он имеет 12-летний опыт преподавания и в настоящее время является научным сотрудником Университета Сатьябхама в области улучшения качества электроэнергии с использованием DSTATCOM. В настоящее время он работает профессором и руководителем отдела

в Институте науки и технологий Матери Терезы, санкетика нагар, сатхупалли-507303

г-жа.Э.Правина родилась в 1980 году и получила степень бакалавра технических наук в NBKRIST, SV University India, а также степень магистра технических наук в области автоматизированных энергетических систем в NBKRIST, SV University. Она имеет 7-летний опыт преподавания и представила доклады на конференции национального уровня, проходившей в Университете Саураштра, Раджкот. В настоящее время она работает

доцентом в Институте науки и технологий Матери Терезы, sanketika nagar, sathupally-507303

г-н .K.V.N.С. Паван Кумар родился в 1983 году и окончил TVSCE Университета Какатия в 2005 году. Он участвовал и представлял доклады на конференциях национального уровня. Институт науки и технологий, санкетика нагар, сатхупалли-507303

IJSER © 2011 http://www.ijser.org

Асинхронный генератор




Машины постоянного тока являются обратимыми в том смысле, что при механическом вращении мощность подается на вал, у вас есть электрический генератор.Может ли это также можно сказать о машинах переменного тока? Генератор в системе зарядки автомобиля можно было бы использовать в качестве синхронного двигателя переменного тока, если бы трехфазный переменный ток был подан на обмотки его статора (со снятыми или отключенными выпрямителями). Скорость такого двигателя будет зависеть от частоты источника переменного тока. Интересно Кроме того, этот автомобильный генератор представляет собой миниатюрную версию большого генератора переменного тока. генераторы переменного тока, используемые в коммунальных электростанциях, и в этом случае скорость первичного двигателя необходимо тщательно отрегулировать, чтобы обеспечить желаемую частоту 60 Гц. выход от генератора.Такие генераторы, кстати, синхронные генераторы переменного тока — ротор имеет фиксированные магнитные полюса, обычно возбуждаемые от вспомогательного Источник постоянного тока.

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

Нелегко найти разумное решение. Вы можете быть склонны к принять возможность действия генератора, но как насчет фазовых соотношений? Если у вас уже был источник питания 60 Гц и вы хотели его обратно в 60-герцовую линию общего пользования, было бы неправильно просто сделать соединение в случайное время.Надо бы убедиться, что и напряжение и фаза были правильными. Такая синхронизация должна быть выполнена очень осторожно, чтобы не допустить перегорания плавких предохранителей, активированных автоматических выключателей или хуже. Как же тогда можно ожидать, что асинхронный двигатель будет работать плавно и услужливо? превращаться из двигателя в генератор, если скорость его вала увеличивается от внешнего источника механической энергии? Конечно, можно поспорить что либо не будет действия генератора, либо будет фейерверк, если действие генератора действительно имело место.

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

Фактическое поведение асинхронного двигателя в зависимости от его вала скорость показана на фиг. 2 6. Полезно связать эти кривые с физическая система, такая как поезд с асинхронным двигателем. В тупике и при ускорении до рабочей скорости, высокая механическая мощность требуется от вала, и большой ток потребляется двигателем для удовлетворить этот спрос. В конечном итоге двигатель достигает своей рабочей скорости. Этот несколько ниже синхронной скорости — реальной скорости вращения магнитное поле, создаваемое обмотками статора.Мотор не может достичь синхронная скорость даже на холостом ходу, потому что тогда не было бы электромагнитных крутящий момент, заставляющий ротор вращаться.


РИС. 26 Асинхронный двигатель становится надсинхронным асинхронным генератором скорость. Если к валу подключенного к сети асинхронного двигателя, скорость выше синхронной приведет к ток, подаваемый в линию. Мотор станет генератором.Показаны: моторное действие; скорость бега; Действие генератора

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

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

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

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

.

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

Ваш адрес email не будет опубликован.