Собственная учебная модель и сохранённые результаты. Статус и границы проверки указаны в тексте занятия; изображение не является снимком интерфейса FEMM.
Расчётная лабораторная работа · Восстановление электрических характеристик синхронного генератора
Последовательность решения, отчёт и критерии результата
От геометрии и обмоток переходят к потокосцеплениям и ЭДС, затем к характеристикам ХХ, КЗ, нагрузки и регулирования. Эти характеристики определяют требуемое возбуждение и допустимый электрический режим.
Результат получают из наблюдаемых величин и проверяют в условиях данного практикума.
Последовательность решения
Обосновать постановку и способ измерения. Для характеристики запишите, что фиксировано: скорость, возбуждение, напряжение, нагрузка или мощность. Скоростная ЭДС восстанавливается из пространственного потокосцепления.
Разбор учебного результата. Проверьте уравнение выбранного генераторного режима и знаки мощности до построения серии.
Несимметричные токи и последовательности. Выполните действия практикума по его исходной таблице. Расчёт несимметрии — в разработке. Полные угловые серии сохранены, но сходимость пульсаций и пространственная сходимость вариантов ещё не подтверждены. Эти результаты предварительные.
Оформление наблюдений. Возбуждение, скорость, фазные потокосцепления, ЭДС и согласованные токи/напряжения в объёме конкретного опыта; независимые условия каждой строки.
Как обосновать результат
Точность и расхождения. Уточняйте шаг возбуждения или угла отдельно от сетки. При КЗ оценивайте абсолютное остаточное напряжение и его отношение к ненулевому масштабу режима.
Вывод для устройства
Свяжите полученную характеристику с выбором возбуждения, регулированием напряжения или допустимым режимом; укажите, какие проверки нужны для полной машины.
Границы вывода. Каждая характеристика требует своих независимых условий и скорости. Двумерный срез, заданные токи и статическое поле не подтверждают автоматически режим на сеть, устойчивость и полную мощность реального генератора.
Теория и вывод формул
Как задать несимметрию, сохранив физически согласованные токи трёхпроводной системы?
Механический и электрический углы; \theta e=p\theta m
рад
p
Число пар полюсов; для ТВВ-320-2 p=1
1
ULL; I
Линейное напряжение и фазный ток RMS основной симметричной составляющей
В; А
id; iq; If
Амплитудные токи d–q и постоянный ток возбуждения
А
λd; λq; λf
Потокосцепления в согласованной нормировке
Вб·виток
Pg; Qg; T
Отдаваемые активная и реактивная мощности; момент против часовой стрелки
Вт; вар; Н·м
Согласованное задание токов
Положительная последовательность имеет пиковую амплитуду 5000 А и фазу atan2(−4000,−3000). При отсутствии отрицательной последовательности это постоянные i_d=-3000 А и i_q=-4000 А. Возбуждение во всех сравниваемых сериях равно 2000 А.
В несимметричной серии добавляется отрицательная последовательность с пиковой амплитудой 500 А и начальной фазой 0. Среднеквадратичные токи фаз поэтому различаются. Нулевая последовательность отсутствует, сумма мгновенных токов проверяется на каждом угле.
Это задача поля с заданными токами. Чтобы вычислить токи из несимметричных сопротивлений нагрузки, нужна связанная система цепей; текущие решения не следует подписывать как автоматически найденный режим конкретной внешней сети.
Знаки пространственных фаз меняются между прямой и обратной последовательностями; временная частота одинакова.
Вычислены все 48 положений. Критерий сходимости пульсаций не пройден; пространственная сходимость вариантов также не подтверждена. Раздел публикуется как материал в разработке; пульсации имеют предварительный статус.
Собственная геометрия и новые полные серии. Чужие модели, характеристики и расчётные карты не использованы.
Реестр формул и библиография в файлах занятия отделяют собственные выводы от доступных первоисточников. Недоступные тексты и текстовое распознавание PDF не объявлены полной визуальной проверкой.
Разобранный численный пример
Разбор учебного результата
Дано. ТВВ-320-2; документированные входы и точные версии программ из файлов занятия.
Сверьте сумму фазных токов, токи ветвей после повторного открытия, энергетическое тождество и полный набор \theta =0…352{,}5^\circ без повторения 360^\circ.
Ответ: Полная серия из 48 решений с токами, полями, силами и контролем углового усреднения.
Проверка: Учебная модель; нет заводской аттестации. Вычислены все 48 положений. Критерий сходимости пульсаций не пройден; пространственная сходимость вариантов также не подтверждена. Раздел публикуется как материал в разработке; пульсации имеют предварительный статус.
Прочитайте study-plan.json: задаются положительная и отрицательная последовательности, их фазы, возбуждение и смещение. Условия сравнения — одинаковые положительная последовательность и If, а не одинаковая выходная мощность.
В чистой папке задайте TVV_ROOT, TVV_STUDY="unbalanced" и выполните run_studies.py. Каждый угол создаёт собственные FEM/ANS/JSON.
Сверьте сумму фазных токов, токи ветвей после повторного открытия, энергетическое тождество и полный набор \theta =0…352{,}5^\circ без повторения 360^\circ.
В angular-check.json сопоставьте среднее, размах и RMS пульсаций для 48 и 24 отсчётов. Текущие серии не прошли общий критерий 2% для пульсаций; более густой цикл пока не выполнен. Средние и размахи оценивайте по отдельным строкам, не подменяя одно другим.
Перед окончательным использованием сил выполните отдельное сгущение пространственной сетки именно этого варианта; текущая серия не заменяет такую проверку.
Ожидаемый результат. Полная серия из 48 решений с токами, полями, силами и контролем углового усреднения.
Как проверить. Учебная модель; нет заводской аттестации. Вычислены все 48 положений. Критерий сходимости пульсаций не пройден; пространственная сходимость вариантов также не подтверждена. Раздел публикуется как материал в разработке; пульсации имеют предварительный статус.
Обработка и анализ результатов
Как задать несимметрию, сохранив физически согласованные токи трёхпроводной системы?
Сопоставьте контрольные величины, входы, версии и допуски.
Полная программа: run_studies.py
Встроенный Python FEMM 5. Зависимости, входы и точные снимки программ доступны в файлах занятия.
Python · FEMM 5
"""Полные циклы несимметрии и статического эксцентриситета, без тепловой модели."""importsys,json,mathROOT=globals().get('TVV_ROOT','')ifROOTinsys.path:sys.path.remove(ROOT)sys.path.insert(0,ROOT)formodulein('build_study','build_series','study_physics'):sys.modules.pop(module,None)frombuild_studyimportbuildfromstudy_physicsimportsequence_currents,torque_about_rotor,spatial_components,cycle_summaryfromphysicsimportabc_to_dq0fromrun_recordimportstart,finish,save_json,shafamily=globals().get('TVV_STUDY','balanced')names=['run_studies.py','build_study.py','build_series.py','geometry.py','physics.py','study_physics.py','run_record.py','machine.json','winding.json','rotor-bh.json','stator-bh.json','study-plan.json','model-scope.json']resume=globals().get('TVV_RESUME_DIR','')ifresume:folder=resumewithopen(folder+'/receipt.json')asf:record=json.loads(f.read())ifrecord['family']!=family:raiseValueError('Другая серия')forname,digestinrecord['inputs_and_programs'].items():ifsha(ROOT+'/'+name)!=digestorsha(folder+'/snapshot/'+name)!=digest:raiseValueError('Изменены входы')else:folder,record=start(ROOT,globals().get('TVV_OUTPUT_ROOT',ROOT+'/runs'),'study',names,'full angular cycles; imposed currents; no rotor heating claim')record.update(family=family,points={})defload(name):withopen(folder+'/snapshot/'+name+'.json')asf:returnjson.loads(f.read())plan=load('study-plan');case=plan['cases'][family];machine=load('machine');winding=load('winding')['rows']materials={'rotor':load('rotor-bh'),'stator':load('stator-bh')};rows=[]try:forkinrange(case['angles']):stem='angle-%03d'%kifsteminrecord['points']:forname,digestinrecord['points'][stem].items():ifsha(folder+'/'+name)!=digest:raiseValueError('Повреждена точка серии')withopen(folder+'/'+stem+'.json')asf:rows.append(json.loads(f.read()))continuetheta=2*math.pi*k/case['angles'];degrees=360*k/case['angles']phase=sequence_currents(theta,case['positive_peak_A'],case['negative_peak_A'],case['positive_phase_rad'],case['negative_phase_rad'])ifabs(sum(phase))>1e-7:raiseValueError('Токи не согласованы с изолированной нейтралью')dq=abc_to_dq0(phase,theta);ecc=case['eccentricity_mm'];path=folder+'/'+stem+'.fem'build(globals(),machine,winding,materials,path,case['mesh'],degrees,[dq[0],dq[1],case['If_A']],ecc)mi_close();opendocument(path);mi_analyze(1);mi_loadsolution();mo_smooth('off')names_c=[p+str(b)+' — ветвь статора'forpin'ABC'forbin(1,2)]+['F — возбуждение ротора']circuits=[list(mo_getcircuitproperties(n))forninnames_c]expected=[phase[j//2]/2forjinrange(6)]+[case['If_A']]ifmax(abs(a[0]-b)fora,binzip(circuits,expected))>1e-7:raiseValueError('Неверный ток цепи')fluxabc=[(circuits[2*j][2]+circuits[2*j+1][2])/2forjinrange(3)]mo_groupselectblock();energy=mo_blockintegral(2);coenergy=mo_blockintegral(17);mo_clearblock()identity=abs(energy+coenergy-sum(v[0]*v[2]forvincircuits))/max(1.,abs(energy+coenergy))ifidentity>1e-5:raiseValueError('Энергетическое тождество')mo_groupselectblock(10);mo_groupselectblock(11);fx=mo_blockintegral(18);fy=mo_blockintegral(19);torque=mo_blockintegral(22);mo_clearblock()# Same air circle, two explicitly different observation frames.radius=machine['geometry']['rotor_body_diameter_mm']/2+machine['geometry']['air_gap_mm']/2samples=[]forjinrange(plan['spatial_samples']):alpha=2*math.pi*j/plan['spatial_samples'];field=mo_getpointvalues(radius*math.cos(alpha),radius*math.sin(alpha))shifted=alpha+theta;rotorfield=mo_getpointvalues(ecc+radius*math.cos(shifted),radius*math.sin(shifted))samples.append({'alpha_deg':360*j/plan['spatial_samples'],'stator_BrBt_T':spatial_components(field[1],field[2],alpha),'rotating_observer_BrBt_T':spatial_components(rotorfield[1],rotorfield[2],shifted)})row={'theta_deg':degrees,'currents_abc_A':phase,'currents_dqf_A':[dq[0],dq[1],case['If_A']],'lambda_abc_Wb':fluxabc,'lambda_dq0_Wb':abc_to_dq0(fluxabc,theta),'lambda_f_Wb':circuits[-1][2],'Fx_N':fx,'Fy_N':fy,'torque_origin_Nm':torque,'torque_rotor_Nm':torque_about_rotor(torque,fx,fy,ecc/1000),'energy_J':energy,'coenergy_J':coenergy,'energy_identity_error':identity,'samples':samples,'elements':mo_numelements()}mo_close();mi_close();save_json(folder+'/'+stem+'.json',row);rows.append(row)record['points'][stem]={stem+ext:sha(folder+'/'+stem+ext)forextin('.json','.fem','.ans')}save_json(folder+'/receipt.json',record);save_json(folder+'/results.json',rows);print('TVV_STUDY_POINT',family,k)full=cycle_summary(rows);halfrows=[dict(r,theta_deg=360*j/(len(rows)//2))forj,rinenumerate(rows[::2])];half=cycle_summary(halfrows)checks={key:{stat:abs(full[key][stat]-half[key][stat])/max(abs(full[key][stat]),plan['absolute_scale'])forstatinfull[key]}forkeyinfull}save_json(folder+'/angular-check.json',{'full':full,'half':half,'scaled_errors':checks})ifmax(vforiteminchecks.values()forvinitem.values())>plan['force_torque_relative']:raiseValueError('Средние/пульсации не сошлись по углу: нужна более густая полная серия')finish(folder,record,'passed_full_cycle_and_angular_check_pending_mesh_comparison')exceptExceptionaserror:record['error']=str(error);finish(folder,record,'failed');raiseprint('TVV_STUDY_RESULT',folder)
Самостоятельная работа
Из 48 токовых отсчётов восстановите фазоры и обе последовательности. Получите отношение 0,1 и нулевую последовательность в пределах округления.
Критерий выполнения: Соблюдены определения, единицы, условия и критерии занятия. Учебная модель; нет заводской аттестации. Вычислены все 48 положений. Критерий сходимости пульсаций не пройден; пространственная сходимость вариантов также не подтверждена. Раздел публикуется как материал в разработке; пульсации имеют предварительный статус.
Пояснения и типичные ошибкиКакие ограничения необходимо сохранить в выводе?
Учебная модель; нет заводской аттестации. Вычислены все 48 положений. Критерий сходимости пульсаций не пройден; пространственная сходимость вариантов также не подтверждена. Раздел публикуется как материал в разработке; пульсации имеют предварительный статус.
На что обратить внимание
Изменить одну фазу и оставить ненулевую сумму токов при изолированной нейтрали.