Асинхронный генератор своими руками: Самодельный генератор на 220V из асинхронного двигателя и мотоблока: фото и описание

Содержание

Генератор из асинхронного двигателя своими руками: 3 схемы

Содержание

  • Как подобрать электродвигатель
  • Что надо знать о конструкции статора
  • Особенности конструкции ротора
  • Преимущества и недостатки генератора
  • Принцип работы
  • Схема генератора
  • Работа двигателя в режиме генератора
  • Как самостоятельно собрать асинхронный генератор?
  • Виды генераторов на базе двигателей
  • Схема асинхронного генератора с подключением конденсаторов к двум обмоткам
  • Схема треугольника
  • Как рассчитать характеристики генератора по мощности двигателя и емкости конденсаторов
  • Необходимые материалы и инструменты
  • Характеристики ветрогенератора
  • Нюансы монтажа
  • Порядок доработки обмоток
  • Организация приводной части
  • Генератор на постоянных магнитах
  • Советы по эксплуатации
  • Двухфазный режим асинхронного генератора.
  • Проверка и запуск в работу

Как подобрать электродвигатель

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

Асинхронные машины обратимы.

Они способны работать в режиме:

· электродвигателя, когда на них подается внешнее напряжение;

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

Обращаем внимание на заводскую табличку, конструкцию ротора и статора. Учитываем их особенности при создании генератора.

Что надо знать о конструкции статора

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

Их подключают одним из двух способов:

1. Звездой, когда все концы собраны в одну точку. На 3 начала и общий вывод концов подается напряжение по четырем проводам.

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

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

Особенности конструкции ротора

На нем тоже создан магнитопровод и три обмотки.

Они соединяются одним из двух способов:

1. через контактные выводы у двигателя с фазным ротором;

2. накоротко замкнуты алюминиевой вставкой в конструкцию беличьего колеса — асинхронные машины.

Нам нужен ротор короткозамкнутый. Все схемы разработаны для него.

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

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

К положительным качествам разработки принадлежат:

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

Минусы:

  1. Проблематичность расчета емкости конденсата, который присоединяется к обмоткам.
  2. Сложно достичь максимальной отметки мощности, на которую способна самостоятельная разработка.

Самодельный генератор из асинхронного двигателя

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

Генератор вырабатывает электрическую энергию при условии, что количество оборотов ротора несколько выше синхронной скорости. Самый простой тип вырабатывает порядка 1800 об/мин., учитывая, что уровень его синхронной скорости становится 1500 оборотов.

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

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

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

Схема генератора

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

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

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

Простейшая схема включения асинхронного двигателя

Работа двигателя в режиме генератора

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

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

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

Необходимым условием устойчивой работы такого электрогенератора с промышленной частотой сети 50 Гц, является соответствие его частотных характеристик:

  1. Скорость его вращения должна превышать асинхронную (частоту работы самого двигателя) на процент скольжения (от 2 до 10%),
  2. Значение скорости вращения генератора должно соответствовать синхронной скорости.

Как самостоятельно собрать асинхронный генератор?

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

  1. Вычисляется реальная (асинхронная) частота вращения двигателя, который планируется применить в качестве электрогенератора. Для определения оборотов на подключенном к сети агрегате можно использовать тахограф,
  2. Определяется синхронная частота двигателя, которая одновременно будет асинхронной для генератора. Здесь учитывается величина скольжения (2-10%). Допустим, измерения показали скорость вращения на уровне 1450 об/мин. Требуемая частота работы электрогенератора будет составлять:

nГЕН = (1,02…1,1)nДВ= (1,02…1,1)·1450 = 1479…1595 об/мин,

  1. Подбор конденсатора необходимой емкости (используются стандартные сравнительные таблицы данных).

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

Виды генераторов на базе двигателей

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

  1. Электрогенератора с самозапиткой. Пользователь может своими руками получить устройство для выработки электроэнергии с длительным периодом действия вследствие самостоятельной подпитки,
  2. Ветрогенератора. В качестве движителя, необходимого для пуска двигателя, используется ветряк, который вращается под воздействием ветра,
  3. Генератора на неодимовых магнитах,
  4. Трехфазного бензогенератора,
  5. Однофазного маломощного генератора на двигателях электроприборов и т. д.

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

Схема асинхронного генератора с подключением конденсаторов к двум обмоткам

Этот вариант довольно популярен. Он позволяет питать от двух обмоток три группы потребителей:

  • две напряжением 220 вольт;
  • одну — 380.


Рабочий и пусковой конденсаторы подключаются в схему отдельными выключателями.

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

Схема треугольника

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


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

Как рассчитать характеристики генератора по мощности двигателя и емкости конденсаторов

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

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

Q=2π∙f∙C∙U2

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

С=Q/2π∙f∙U2

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

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

Мощность генератора (кВА)Режим полной нагрузкиРежим холостого хода
cos φ=0.8cos φ=1Q (кВАр)С (мкф)
Q (кВАр)С (мкф)Q (кВАр)С (мкф)
1515,53427,81725,44120
1011,12455,91304,1892
78,251824,44983,3674
56,251383,4752,7260
3,54,531002,54562,0445
22,72601,63361,2728

Для использования в составе емкостной батареи хорошо подходят пусковые конденсаторы серии K78-17 и им подобные с рабочим напряжением от 400 вольт и больше. Вполне допустимо заменить их металлобумажными аналогами с соответствующими номиналами. Собирать их придется параллельным подключением.

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

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

Необходимые материалы и инструменты

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

Могут понадобиться такие инструменты и материалы:

  1. Труба из стали с толщиной стенок не менее 3 мм и общим диаметром 6 см и больше. Высоту нужно подбирать индивидуально, в зависимости от скорости ветров в регионе. Но нужно помнить, что чем выше будет мачта, тем сильнее будет дуть ветер и, соответственно, вырабатываться больше электричества.
  2. Для изготовления лопастей можно использовать различные материалы, но лучше купить готовую деталь заводского производства, так как она будет идеально откалибрована. Самостоятельно изготовить её можно из труб или листов ПВХ, металла. Кроме этого, может подойти деревянная доска, профиль из стеклоткани.
  3. В качестве основы (опоры для мачты) подойдёт бетонная стяжка. С другой стороны, можно использовать металл или дерево. Нужно только помнить, что за надёжность конструкции отвечает основа. Если опора будет слабой, то мачта со временем рухнет от ветра.
  4. Дрель и набор свёрл.
  5. Ножовка.
  6. Разводной ключ.
  7. Рулетка.
  8. Лист металла, который будет служить материалом для изготовления мачты.
  9. Стальная рама. Она будет выполнять функцию основы для ветрогенератора, поворотного механизма и лопастей.
  10. Весь необходимый дополнительный инструмент, включая сварку, с помощью которого можно изготовить устройство.
  11. Хомуты для фиксации растяжек.
  12. Металлический трос с сечением 12 мм.

Характеристики ветрогенератора

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

Для производства среднего количества энергии генератор должен иметь приблизительно такие характеристики:

  1. Минимальная мощность установки — 1.3 кВт.
  2. Желательны неодимовые магниты в конструкции. Их функция заключается в обеспечении электромагнитной движущейся силы. Для этого может применяться и стальная гильза, которая устанавливается на ротор.
  3. Расположение магнитов на роторе должно соответствовать схеме. Это значит, что их полюсы должны быть развёрнуты в правильную сторону.
  4. Предварительно вал ротора нужно проточить и подогнать размеры под диаметр магнитов.
  5. При установке магнитов не всегда требуется переделывать обмотку. Если она состоит из проводов с большим сечением — ничего страшного, это только увеличит мощность. Самым лучшим вариантом обмотки будет устройство, имеющее шесть полюсов, провод с сечением не более 1.2 мм и максимум 24 витка на катушке.

Нюансы монтажа

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

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

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


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

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

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

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

Порядок доработки обмоток

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

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

В первом случае все три линейных катушки (А, В и С) с одной стороны объединяются в общий нулевой провод, в то время как вторые их концы подключаются к трём фазным линиям. При включении «треугольником» конец одной катушки соединяется с началом второй, а её конец, в свою очередь, – с началом третьей обмотки и так далее вплоть до замыкания цепочки.

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

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

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

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

Важно! В случае нескольких линейных (однофазных) нагрузок необходимо распределить их по фазам таким образом, чтобы те были загружены более-менее равномерно.

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

Организация приводной части

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

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

Обратите внимание! Ротор переделываемого механизма напоминает по своей конструкции обмотку статора с тремя сдвинутыми на 120 градусов обмотками (он называется в этом случае фазным).

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

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

Генератор на постоянных магнитах

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

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

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

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

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

Советы по эксплуатации

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

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

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

Двухфазный режим асинхронного генератора.

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

В качестве маломощных генераторов, вырабатывающих переменное однофазное напряжение 220 В, можно использовать однофазные асинхронные короткозамкнутые электродвигатели бытового назначения: от стиральных машин типа «Ока», «Волга», поливальных насосов «Агидель», «БЦН» и пр. У них конденсаторная батарея может подключаться параллельно рабочей обмотке, либо использовать уже имеющийся фазосдвигающий конденсатор, подключенный к пусковой обмотке. Емкость этого конденсатора, возможно, следует несколько увеличить. Его величина будет определяться характером нагрузки, подключаемой к генератору: для активной нагрузки (электропечи, лампочки освещения, электропаяльники) требуется небольшая емкость, индуктивной (электродвигатели, телевизоры, холодильники) — больше.

Теперь несколько слов о первичном механическом двигателе, который будет приводить во вращение генератор. Как известно, любое преобразование энергии связано с её неизбежными потерями. Их величина определяется КПД устройства. Поэтому мощность механического двигателя должна превышать мощность асинхронного генератора на 50…100%. Например, при мощности асинхронного генератора 5 кВт, мощность механического двигателя должна быть 7,5…10 кВт. С помощью передаточного механизма добиваются согласования оборотов механического двигателя и генератора так, чтобы рабочий режим генератора устанавливался на средних оборотах механического двигателя. При необходимости, можно кратковременно увеличить мощность генератора, повышая обороты механического двигателя.

Каждая автономная электростанция должна содержать необходимый минимум навесного оборудования: вольтметр переменного тока (со шкалой до 500 В), частотомер (желательно) и три выключателя. Один выключатель подключает нагрузку к генератору, два других — коммутируют цепь возбуждения. Наличие выключателей в цепи возбуждения облегчает запуск механического двигателя, а также позволяет быстро снизить температуру обмоток генератора, после окончания работы – ротор невозбужденного генератора еще некоторое время вращают от механического двигателя. Эта процедура продлевает активный срок службы обмоток генератора.

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

В заключение несколько общих советов.

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

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

3. Обратите внимание на тепловой режим генератора. Он «не любит» холостого хода. Снизить тепловую нагрузку можно более тщательным подбором емкости возбуждающих конденсаторов.

4. Не ошибитесь с мощностью электрического тока, вырабатываемого генератором. Если при работе трёхфазного генератора используется одна фаза, то её мощность будет составлять 1/3 общей мощности генератора, если две фазы — 2/3 общей мощности генератора.

5. Частоту переменного тока, вырабатываемого генератором, можно косвенно контролировать по выходному напряжению, которое в режиме «холостого хода» должно на 4…6 % превышать промышленное значение 220/380 В.

Проверка и запуск в работу

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

Причем начальная скорость вращения генератора должна быть небольшой. И по мере ее увеличения яркость накала лампочки должна увеличиваться.

Источники

  • https://zen.yandex.com/media/housediz/generator-iz-asinhronnogo-dvigatelia-svoimi-rukami-ot-a-do-ia-5b30fc5f2dbfc700a8c80687
  • https://housetronic.ru/electro/generator-iz-asinxronnogo-dvigatelya.html
  • https://electricvdele.ru/elektrooborudovanie/elektrodvigateli/generator-iz-asinhronnogo-dvigatelya-svoimi-rukami.html
  • https://HouseDiz.ru/kak-sdelat-samodelnyj-generator-iz-asinxronnogo-dvigatelya/
  • https://mtz-80.ru/bez-rubriki/generator-iz-asinhronnogo-dvigatelya-svoimi-rukami
  • https://amperof.ru/elektropribory/samodelnyj-generator. html
  • https://www.asutpp.ru/asinxronnyj-generator.html
  • http://electro-shema.ru/energetika/asinxronnyj-elektrodvigatel-v-kachestve-generatora.html
  • https://electrikexpert.ru/generator-iz-asinxronnogo-dvigatelya/

[свернуть]

Асинхронный двигатель как генератор — суть процесса, его плюсы и минусы

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

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

Вращающееся магнитное поле – основа схемы генератора из асинхронного двигателя

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

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

Конструкция электродвигателя с короткозамкнутым ротором (это 90 процентов всех исполнительных электрических машин) не предусматривает возможности подачи питающего напряжения на обмотку якоря. [attention type=yellow]Поэтому, сколько бы вы ни вращали вал двигателя, на его питающих клеммах электрического тока не возникнет. [/attention]Тем, кто хочет заняться переделкой асинхронного двигателя в генератор, надо создавать вращающееся магнитное поле самостоятельно.

Создаем предусловия для переделки

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

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

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

[attention type=red]Если быть точным, то фактической экономии электроэнергии не происходит, просто потребитель немного обманывает электросчетчик на законной основе. [/attention]Накопленный конденсаторной батареей заряд находится в противофазе с тем, что создается питающим напряжением и «подтормаживает» его. В результате электродвигатель начинает генерировать ток и отдавать его обратно в сеть.

[blockquote_gray]Использование высокомощных моторов в домашних условиях при наличии исключительно однофазной сети требует определенных знаний в том, как подключить трехфазный электродвигатель в сеть 220в.

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

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

[attention type=green]Такой способ получения электрической энергии не есть чистая генерация. Чтобы перевести работу асинхронного двигателя в режим генератора, надо использовать метод самовозбуждения.[/attention]

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

Секреты изготовления генератора из асинхронного двигателя

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

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

Рассчитать в бытовых условиях величину потребной емкости конденсаторной батареи не представляется возможным. [attention type=yellow]Поэтому домашний мастер должен исходить из простого соображения: общий вес конденсаторной батареи должен быть равен или немного превышать вес самого электродвигателя. [/attention]На практике это приводит к тому, что создать достаточно мощный асинхронный генератор почти невозможно, поскольку чем меньше номинальные обороты двигателя, тем он больше весит.

Оцениваем уровень эффективности — выгодно ли это?

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

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

Зато конденсаторы не надо обслуживать, а энергию они получают как бы даром – сначала от остаточного магнитного поля ротора, а потом – от вырабатываемого электрического тока. Вот в этом и есть главный, да и практически единственный плюс асинхронных генераторных машин – их можно не обслуживать. [attention type=green]Такие источники электрической энергии применяются в домашних автономных электростанциях, приводимых в действие силой ветра или падающей воды.[/attention]

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

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

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

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

Если нагрузка на самодельный генератор из асинхронного двигателя превышает номинал, то ей не хватит электричества для подзарядки и генерация прекратится. Иногда используют емкостные батареи, объем которых динамически меняется в зависимости от величины нагрузки. [attention type=red]Однако при этом полностью теряется преимущество «простоты схемы».[/attention]

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

Функционирование асинхронного двигателя как генератора на видео

PEP 525 – Асинхронные генераторы

Автор:
Юрий Селиванов
Обсуждения-Кому:
Список разработчиков Python
Статус:
Окончательный
Тип:
Стандартная дорожка
Создано:
28 июля 2016 г.
Версия Python:
3,6
Пост-история:
02 августа 2016 г., 23 августа 2016 г., 01 сентября 2016 г., 06 сентября 2016 г.

Содержание
  • Резюме
  • Обоснование и цели
  • Спецификация
    • Асинхронные генераторы
    • Поддержка протокола асинхронной итерации
    • Завершение
    • асинхронный
    • Объект асинхронного генератора
    • Сведения о реализации
      • PyAsyncGenASend и PyAsyncGenAThrow
    • Новые стандартные библиотечные функции и типы
    • Обратная совместимость
  • Производительность
    • Обычные генераторы
    • Улучшения по сравнению с асинхронными итераторами
  • Вопросы дизайна
    • aiter() и anext() встроенные функции
    • Асинхронное понимание списка/слова/набора
    • Асинхронный выход из
    • Зачем нужны методы asend() и athrow()
  • Пример
  • Приемка
  • Реализация
  • Ссылки
  • Благодарности
  • Авторское право

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

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

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

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

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

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

Тикер класса
:
    """Выдавать числа от 0 до `до` каждые `задержка` секунд."""
    def __init__(я, задержка, до):
        self.delay = задержка
        я = 0
        сам.к = к
    защита __aiter__(я):
        вернуть себя
    асинхронное определение __anext__(я):
        я = сам.я
        если я >= self.to:
            поднять StopAsyncIteration
        я += 1
        Если я:
            ждать asyncio.sleep(self.delay)
        вернуть я
 

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

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

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

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

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

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

 def func(): # функция
    возвращаться
def genfunc(): # функция-генератор
    урожай
 

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

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

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

Это SyntaxError , если непустой оператор возвращает в асинхронный генератор.

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

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

  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 , а также асинхронно с . Важно предоставить гарантию, что даже при частичной итерации, а затем сборке мусора генераторы могут быть благополучно завершены. Например:

 асинхронное определение 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 для , который прерывает итерация в какой-то момент.

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

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

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

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

  2. Поднять RuntimeError при выполнении асинхронного генератора дает выражение в своем блоке finally (используя await все в порядке):
     async def gen():
        пытаться:
            урожай
        в конце концов:
            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(gen.aclose())
 

Второй аргумент, 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. agen.asend(val) : Возвращает ожидаемый , который подталкивает Объект val в генераторе gen . Когда gen еще не исправлено, значение должно быть Нет .

    Пример:

     асинхронное определение генератора():
        ждать 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. gen.athrow(typ, [val, [tb]]) : Возвращает ожидаемый , который создает исключение в генераторе gen .

    Пример:

     асинхронное определение генератора():
        пытаться:
            ждать asyncio.sleep (0.1)
            дать «привет»
        кроме ZeroDivisionError:
            ожидание asyncio.sleep(0.2)
            выход 'мир'
    г = ген ()
    v = ожидание g.asend(нет)
    print(v) # Будет напечатано "hello" после
                            # сон на 0,1 секунды.
    v = ожидание g.athrow(ZeroDivisionError)
    print(v) # Напечатает 'world' после
                            $ спать 0,2 секунды.
     
  5. age.aclose() : Возвращает ожидаемый , который выдает Исключение GeneratorExit в генератор. долгожданный может либо вернуть полученное значение, если или обработали исключение, или gen будет закрыто, и исключение будет распространено обратно вызывающему абоненту.
  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__ методы возвращают self ) и являются объектами, подобными сопрограммам (реализация __iter__ , __next__ , send() и throw() методы). По сути, они контролируют работу асинхронных генераторов. повторено:

PyAsyncGenASend и PyAsyncGenAThrow

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

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

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

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

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

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

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

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

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

  3. возврат операторов в асинхронных генераторах поднять Исключение StopAsyncIteration , которое распространяется через PyAsyncGenASend.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 для определения async def функция с выражением дает выражение внутри, поэтому безопасно ввести асинхронные генераторы в 3.6.

Обычные генераторы

Производительность обычных генераторов не снижается. Следующий микротест работает с той же скоростью на CPython с и без асинхронных генераторов:

 деф ген():
    я = 0
    пока я < 100000000:
        выход я
        я += 1
список (ген())
 

Улучшения по сравнению с асинхронными итераторами

Следующий микротест показывает, что асинхронные генераторы примерно в 2,3 раза быстрее , чем асинхронные итераторы, реализованные в чистый питон:

 Н=10**7
асинхронное определение агента():
    для я в диапазоне (N):
        выход я
класс AIter:
    защита __init__(сам):
        я = 0
    защита __aiter__(я):
        вернуть себя
    асинхронное определение __anext__(я):
        я = сам. я
        если я >= N:
            поднять StopAsyncIteration
        я += 1
        вернуть я
 

aiter() и anext() встроенные функции

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

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

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

Асинхронное понимание списка/слова/множества

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

Асинхронный

выход из

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

Выход

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

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

Зачем нужны методы

asend() и athrow()

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

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

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

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

Рабочий пример с текущей эталонной реализацией (будет вывести числа от 0 до 9 с задержкой в ​​одну секунду):

 тикер асинхронного определения (задержка, до):
    для я в диапазоне (до):
        выход я
        ждать asyncio.sleep (задержка)
асинхронный запуск функции():
    асинхронно для i в тикере (1, 10):
        печать (я)
импортировать асинхронный
цикл = asyncio. get_event_loop()
пытаться:
    loop.run_until_complete(run())
в конце концов:
    петля.закрыть()
 

PEP 525 был принят Гвидо 6 сентября 2016 г. [2].

Реализация отслеживается в выпуске 28003 [3]. Ссылка git-репозиторий реализации доступен по адресу [1].

[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

Благодарю Гвидо ван Россума, Виктора Стиннера, Элвиса Пранскевичуса, Натаниэль Смит, Лукаш Ланга, Андрей Светлов и многие другие за их отзывы, обзоры кода и обсуждения этого ПКП.

Этот документ был размещен в открытом доступе.

Возбуждение и управление высокоскоростным асинхронным генератором

Автор(ы)
Энглбретсон, Стивен Карл

Скачать полную версию для печати (5,839 Мб)

Другие участники

Массачусетский технологический институт. Кафедра электротехники и компьютерных наук.

Консультант

Джеймс Л. Киртли-младший

Условия использования

M.I.T. диссертации защищены авторским правом. Их можно просматривать из этого источника для любых целей, но воспроизведение или распространение в любом формате запрещено без письменного разрешения. См. предоставленный URL-адрес для запросов о разрешении. http://dspace.mit.edu/handle/1721.1/7582

Метаданные
Показать полную запись позиции

Abstract

В этом проекте исследуется использование высокоскоростного асинхронного генератора с короткозамкнутым ротором и силового преобразователя для производства электроэнергии постоянного тока на кораблях и подводных лодках. Потенциальные преимущества высокоскоростных асинхронных генераторов включают меньший размер и вес, повышенную надежность и снижение затрат и обслуживания. К сожалению, асинхронным генераторам для работы требуется «запас реактивной мощности», и они страдают от колебаний выходного напряжения и частоты при любых изменениях возбуждения входной реактивной мощности, скорости механического привода и нагрузки. Преобразователь мощности может решить некоторые из этих проблем, циркулируя изменяющаяся реактивная мощность, требуемая генератором, одновременно контролируя частоту статора, чтобы регулировать скольжение машины и управлять реальной выходной мощностью. Такое сочетание управления активной и реактивной мощностью обеспечивает постоянное напряжение на шине постоянного тока во всем диапазоне нагрузки. Испытания проводились на двигателе мощностью в три лошадиные силы, чтобы помочь проверить модели и симуляции как на уровне двух киловатт, так и на уровне 5 мегаватт. После определения эквивалентной схемы демонстрационного двигателя он был испытан в качестве генератора в условиях подключения к сети и возбуждения от конденсатора. Для расчета параметров преобразователя использовался автономный генератор мощностью 5 МВт, 12 000 об/мин, специально разработанный для работы с высоким КПД и коэффициентом мощности во всем диапазоне нагрузок. Прежде чем было объяснено протекание реактивных токов через преобразователь с использованием шестиступенчатого инвертора с двумя различными схемами переключения, были кратко рассмотрены различные стратегии возбуждения реактивной мощности.

About the author

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

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