Расчётная лабораторная работа · Восстановление электрических характеристик синхронного генератора
Последовательность решения, отчёт и критерии результата
От геометрии и обмоток переходят к потокосцеплениям и ЭДС, затем к характеристикам ХХ, КЗ, нагрузки и регулирования. Эти характеристики определяют требуемое возбуждение и допустимый электрический режим.
Результат получают из наблюдаемых величин и проверяют в условиях данного практикума.
Последовательность решения
Обосновать постановку и способ измерения. Для характеристики запишите, что фиксировано: скорость, возбуждение, напряжение, нагрузка или мощность. Скоростная ЭДС восстанавливается из пространственного потокосцепления.
Разбор учебного результата. Проверьте уравнение выбранного генераторного режима и знаки мощности до построения серии.
Преобразование abc–dq и дифференциальные параметры. Выполните действия практикума по его исходной таблице. Методика и учебные файлы доступны. Проверки относятся к указанным в занятии примерам и версиям; заводская точность и завершённость всего численного цикла не заявляются.
Оформление наблюдений. Возбуждение, скорость, фазные потокосцепления, ЭДС и согласованные токи/напряжения в объёме конкретного опыта; независимые условия каждой строки.
Как обосновать результат
Точность и расхождения. Уточняйте шаг возбуждения или угла отдельно от сетки. При КЗ оценивайте абсолютное остаточное напряжение и его отношение к ненулевому масштабу режима.
Вывод для устройства
Свяжите полученную характеристику с выбором возбуждения, регулированием напряжения или допустимым режимом; укажите, какие проверки нужны для полной машины.
Границы вывода. Каждая характеристика требует своих независимых условий и скорости. Двумерный срез, заданные токи и статическое поле не подтверждают автоматически режим на сеть, устойчивость и полную мощность реального генератора.
Дополнительный расчётный метод
Продольная и поперечная проводимости явнополюсной машины
Коэффициенты k_d и k_q объясняют различие продольного и поперечного магнитного отклика и помогают перейти к индуктивным параметрам явнополюсной машины.
Механический и электрический углы; \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
Отдаваемые активная и реактивная мощности; момент против часовой стрелки
Вт; вар; Н·м
Единая нормировка без скрытых множителей
Ось d совпадает с положительной осью магнитного поля возбуждения, q опережает d на 90 электрических градусов. Для p=1 электрический и механический углы совпадают. Токи положительны внутрь статора. Нулевая последовательность в динамических опытах равна нулю, так как нагрузка симметрична и нейтраль изолирована.
Матрица с множителем 2/3 сохраняет амплитуду симметричной тройки. Она не сохраняет евклидову норму без весов. Поэтому фазная мощность в d–q имеет множитель 3/2, а физическая цепь возбуждения остаётся с весом 1. Обозначение \lambda f относится к всей последовательно соединённой обмотке ротора.
Ту же матрицу применяют к напряжениям и фазным потокосцеплениям.
Секущая индуктивность \lambda /i имеет смысл только после отделения потокосцепления возбуждения и при указанном направлении изменения тока. В насыщенной машине дифференциальная матрица зависит от всех трёх токов. Её внедиагональные элементы описывают взаимное влияние осей и возбуждения.
Для трикубической интерполяции якобиан вычисляется аналитически из той же коэнергии, что задаёт потокосцепления. Подмена производной усреднённым секущим отношением нарушает обращение карты и энергетический баланс. На границе ячеек функции и первые производные согласованы; вторые производные могут иметь конечный скачок.
Линеаризация локальна; величина допустимого возмущения устанавливается сравнением с прямым полевым расчётом.
L^{\mathrm{diff}}_{jk}=\frac{\partial\lambda_j}{\partial i_k},\qquad\Delta\boldsymbol\lambda\approx\mathbf L^{\mathrm{diff}}\Delta\mathbf i
В независимой полевой точке i_d=-50 А, i_q=-600 А, If=1500 А получены средние \lambda d=62.10565913, \lambda q=-2.905007835, \lambda f=831.6567827 Вб·виток. Эти числа берутся из полной угловой серии, а не из линейного приближения.
Для якобиана откройте EnergyFluxMap.evaluate([−50,-600,2]). Сопоставьте аналитические производные с центральной разностью evaluate на уменьшающихся шагах, не пересекающих границу ячейки. Это проверяет реализацию производной, но не заменяет независимые полевые точки.
Ограничения и происхождение методики
Условная учебная модель активного сечения; сопротивления при 15 °C; заводская точность не заявляется.
Карта охватывает только заявленную область малой нагрузки; номинальные токи в неё не входят.
252 стороны ротора; исходные полевые точки и хеши сохранены. Коэнергия, токи и потокосцепления получены самостоятельным построителем.
Реестр формул и библиография в файлах занятия отделяют собственные выводы от доступных первоисточников. Недоступные тексты и текстовое распознавание PDF не объявлены полной визуальной проверкой.
Разобранный численный пример
Разбор учебного результата
Дано. ТВВ-320-2; документированные входы и точные версии программ из файлов занятия.
Рассчитайте abc_to_dq0(dq0_to_abc([id,iq,0],θ),\theta) для 0^\circ,30^\circ,90^\circ; сохраните абсолютную ошибку.
Загрузите проверенную карту функцией energy_map.from_record и вызовите evaluate(current): первая часть результата — \lambda, вторая — Ldiff в генри.
Умножьте строки Ldiff на 1,5;1,5;1 и сравните взаимные компоненты. Затем проверьте локальное предсказание \Delta \lambda=LdiffΔi уменьшением амплитуды возмущения.
Для мощности используйте физический ток возбуждения без дополнительного множителя 3/2.
Ответ: Проверяемый переход abc–dq, якобиан нелинейной карты и объяснение перекрёстного насыщения.
Проверка: Условная учебная модель активного сечения; сопротивления при 15 °C; заводская точность не заявляется. Карта охватывает только заявленную область малой нагрузки; номинальные токи в неё не входят.
Практикум в FEMM 5
Преобразование abc–dq и дифференциальные параметры
Рассчитайте abc_to_dq0(dq0_to_abc([id,iq,0],θ),\theta) для 0^\circ,30^\circ,90^\circ; сохраните абсолютную ошибку.
Загрузите проверенную карту функцией energy_map.from_record и вызовите evaluate(current): первая часть результата — \lambda, вторая — Ldiff в генри.
Умножьте строки Ldiff на 1,5;1,5;1 и сравните взаимные компоненты. Затем проверьте локальное предсказание \Delta \lambda=LdiffΔi уменьшением амплитуды возмущения.
Для мощности используйте физический ток возбуждения без дополнительного множителя 3/2.
Ожидаемый результат. Проверяемый переход abc–dq, якобиан нелинейной карты и объяснение перекрёстного насыщения.
Как проверить. Условная учебная модель активного сечения; сопротивления при 15 °C; заводская точность не заявляется. Карта охватывает только заявленную область малой нагрузки; номинальные токи в неё не входят.
Обработка и анализ результатов
Какая нормировка связывает токи, потокосцепления, мощность и взаимные индуктивности?
Сопоставьте контрольные величины, входы, версии и допуски.
Полная программа: energy_map.py
Встроенный Python FEMM 5. Зависимости, входы и точные снимки программ доступны в файлах занятия.
Python · FEMM 5
"""Табличная трикубическая коэнергия: поток и якобиан от одного потенциала.Узловые W' и dW'/di=(1.5 λd,1.5 λq,λf) приходят из FEMM.Смешанные производные оцениваются симметрично по соседним узлам.Это альтернативная интерполяция, а не симметризация чужого якобиана."""fromnumericsimportFluxMapdefbasis(t,side,derivative):ifside==0andderivative==0:return(2*t**3-3*t*t+1,6*t*t-6*t,12*t-6)ifside==1andderivative==0:return(-2*t**3+3*t*t,-6*t*t+6*t,-12*t+6)ifside==0:return(t**3-2*t*t+t,3*t*t-4*t+1,6*t-4)return(t**3-t*t,3*t*t-2*t,6*t-2)classEnergyFluxMap(FluxMap):def__init__(self,axes,values,coenergy):super().__init__(axes,values)self.coenergy=coenergy;self.weights=(1.5,1.5,1.);self.derivatives={}shape=[len(a)forainaxes]points=[(i,j,k)foriinrange(shape[0])forjinrange(shape[1])forkinrange(shape[2])]forindexinpoints:i,j,k=indexself.derivatives[index]={(0,0,0):coenergy[i][j][k],(1,0,0):1.5*values[i][j][k][0],(0,1,0):1.5*values[i][j][k][1],(0,0,1):values[i][j][k][2]}defdiff(index,flags,axis):lo=list(index);hi=list(index)lo[axis]=max(0,index[axis]-1);hi[axis]=min(shape[axis]-1,index[axis]+1)return(self.derivatives[tuple(hi)][flags]-self.derivatives[tuple(lo)][flags])/(axes[axis][hi[axis]]-axes[axis][lo[axis]])forindexinpoints:fora,bin((0,1),(0,2),(1,2)):fa=[0,0,0];fb=[0,0,0];both=[0,0,0];fa[a]=1;fb[b]=1;both[a]=both[b]=1self.derivatives[index][tuple(both)]=(diff(index,tuple(fa),b)+diff(index,tuple(fb),a))/2forindexinpoints:self.derivatives[index][(1,1,1)]=(diff(index,(1,1,0),2)+diff(index,(1,0,1),1)+diff(index,(0,1,1),0))/3defpotential(self,point):# Parent enforces finite inputs and the exact declared domain.iflen(point)!=3:raiseValueError('Нужны id,iq,If')indices=[];widths=[];tables=[]foraxis,xinzip(self.axes,point):ifnotaxis[0]<=x<=axis[-1]:raiseValueError('Экстраполяция карты запрещена')k=0whilek<len(axis)-2andx>=axis[k+1]:k+=1width=axis[k+1]-axis[k];t=(x-axis[k])/widthindices.append(k);widths.append(width)tables.append([[tuple(v*width**derivative/width**orderfororder,vinenumerate(basis(t,side,derivative)))forderivativein(0,1)]forsidein(0,1)])value=0.;gradient=[0.,0.,0.];hessian=[[0.]*3for_inrange(3)]forain(0,1):forbin(0,1):forcin(0,1):corners=(a,b,c);data=self.derivatives[tuple(indices[j]+corners[j]forjinrange(3))]forflags,coefficientindata.items():v=[tables[j][corners[j]][flags[j]]forjinrange(3)]value+=coefficient*v[0][0]*v[1][0]*v[2][0]forjinrange(3):gradient[j]+=coefficient*v[j][1]*v[(j+1)%3][0]*v[(j+2)%3][0]forkinrange(3):term=coefficientforaxisinrange(3):term*=v[axis][int(axis==j)+int(axis==k)]hessian[j][k]+=termreturnvalue,gradient,hessiandefevaluate(self,point):_,gradient,hessian=self.potential(point)return[gradient[j]/self.weights[j]forjinrange(3)],[[hessian[j][k]/self.weights[j]forkinrange(3)]forjinrange(3)]defenergy(self,point):coenergy,gradient,_=self.potential(point)returnsum(point[j]*gradient[j]forjinrange(3))-coenergydeffrom_record(record):ifrecord.get('interpolation')=='coenergy-tricubic-hermite':returnEnergyFluxMap(record['axes_A'],record['values_Wb'],record['coenergy_J'])returnFluxMap(record['axes_A'],record['values_Wb'])
Самостоятельная работа
Выведите мощность непосредственно подстановкой обратного преобразования. Для выбранной точки карты проверьте три пары взаимных производных и оцените остаток линейного приближения при двух амплитудах возмущения.
Критерий выполнения: Соблюдены определения, единицы, условия и критерии занятия. Условная учебная модель активного сечения; сопротивления при 15 °C; заводская точность не заявляется. Карта охватывает только заявленную область малой нагрузки; номинальные токи в неё не входят.
Пояснения и типичные ошибкиКакие ограничения необходимо сохранить в выводе?
Условная учебная модель активного сечения; сопротивления при 15 °C; заводская точность не заявляется. Карта охватывает только заявленную область малой нагрузки; номинальные токи в неё не входят.
На что обратить внимание
Применить √(2/3) к токам, но оставить прежнюю формулу мощности.
Проверять взаимность \lambda f и \lambda d без метрического множителя.