Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Пример 3. Расчет зависимости момента, обусловленного зубчатостью сердечника статора от углового положения ротора




 

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

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

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

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

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

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

 

Объединение в группу с номером 1 отрезков прямых, являющихся боковыми (радиальными) границами постоянных магнитов:

mi_clearselected()

mi_selectsegment(-rstat+airgap+hPM,0)

mi_selectsegment((-rstat+airgap+hPM)*cos(80),(rstat-airgap-hPM)*sin(80))

mi_selectsegment((-rstat+airgap+hPM)*cos(90),(rstat-airgap-hPM)*sin(90))

mi_selectsegment((-rstat+airgap+hPM)*cos(170),(rstat-airgap-hPM)*sin(170))

mi_selectsegment((-rstat+airgap+hPM)*cos(180),(rstat-airgap-hPM)*sin(180))

mi_selectsegment((-rstat+airgap+hPM)*cos(260),(rstat-airgap-hPM)*sin(260))

mi_selectsegment((-rstat+airgap+hPM)*cos(270),(rstat-airgap-hPM)*sin(270))

mi_selectsegment((-rstat+airgap+hPM)*cos(350),(rstat-airgap-hPM)*sin(350))

mi_setsegmentprop("None",0,1,0,1)

 

То же для внешних и внутреннихдуг, являющихся границами магнитов:

mi_clearselected()

r1=-rstat+airgap

r2=-rstat+airgap+hPM

r3=-r1

r4=-r2

mi_selectarcsegment(r1,0+0.1)

mi_selectarcsegment(r1*cos(90),r3*sin(90))

mi_selectarcsegment(r1*cos(180),r3*sin(180))

mi_selectarcsegment(r1*cos(270),r3*sin(270))

mi_setarcsegmentprop(1,"None",0,1)

mi_clearselected()

mi_selectarcsegment(r2,0+0.1)

mi_selectarcsegment(r2*cos(90),r4*sin(90))

mi_selectarcsegment(r2*cos(180),r4*sin(180))

mi_selectarcsegment(r2*cos(270),r4*sin(270))

mi_setarcsegmentprop(5,"None",0,1)

mi_clearselected()

 

mi_zoomnatural()

 

То же для внешних и внутренних дуг, ограничивающих промежутки между магнитами:

mi_selectarcsegment(r1,0-0.1)

mi_selectarcsegment(r1*cos(89),r3*sin(89))

mi_selectarcsegment(r1*cos(179),r3*sin(179))

mi_selectarcsegment(r1*cos(269),r3*sin(269))

mi_setarcsegmentprop(1,"None",0,1)

mi_clearselected()

 

mi_selectarcsegment(r2,0-0.1)

mi_selectarcsegment(r2*cos(89),r4*sin(89))

mi_selectarcsegment(r2*cos(179),r4*sin(179))

mi_selectarcsegment(r2*cos(269),r4*sin(269))

mi_setarcsegmentprop(5,"None",0,1)

mi_clearselected()

 

mi_zoomnatural()

 

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

 

r5=-rstat+hPM*0.5

r6=-r5

mi_selectlabel(r5*cos(alphaPM*0.5),r6*sin(alphaPM*0.5))

mi_setblockprop("PM",0,1,"0",180-alphaPM*0.5,1,0)

mi_clearselected()

mi_selectlabel(r5*cos(alphaPM*0.5+90),r6*sin(alphaPM*0.5+90))

mi_setblockprop("PM",0,1,"0",180-alphaPM*0.5-90+180,1,0)

mi_clearselected()

mi_selectlabel(r5*cos(alphaPM*0.5+180),r6*sin(alphaPM*0.5+180))

mi_setblockprop("PM",0,1,"0",180-alphaPM*0.5-180,1,0)

mi_clearselected()

mi_selectlabel(r5*cos(alphaPM*0.5+270),r6*sin(alphaPM*0.5+270))

mi_setblockprop("PM",0,1,"0",180-alphaPM*0.5-270+180,1,0)

mi_clearselected()

 

mi_zoomnatural()

 

То же для обозначений блоков промежутков между магнитами:

mi_clearselected()

mi_selectlabel(r5*cos((90-alphaPM)*0.5),r6*(-sin((90-alphaPM)*0.5)))

mi_selectlabel(r5*cos((90-alphaPM)*0.5+90),r6*(-sin((90-alphaPM)*0.5+90)))

mi_selectlabel(r5*cos((90-alphaPM)*0.5+180),r6*(-sin((90-alphaPM)*0.5+180)))

mi_selectlabel(r5*cos((90-alphaPM)*0.5+270),r6*(-sin((90-alphaPM)*0.5+270)))

mi_setblockprop("air",0,1,"0",180-alphaPM*0.5-270+180,1,0)

 

mi_zoomnatural()

 

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

 

teta=0

teta_end=-15

teta_step=-1

 

Открытие файла для записи результатов измерения момента:

 

handle=openfile(outfile_2,"w")

 

Условие цикла:

 

while teta >= teta_end do

 

Содержание цикла:

 

mi_analyze()

mi_loadsolution()

mo_clearcontour()

mo_selectpoint(-rstat+airgap*0.5,0+0.01)

mo_selectpoint(rstat-airgap*0.5,0+0.01)

mo_selectpoint(rstat-airgap*0.5,0-0.01)

mo_selectpoint(-rstat+airgap*0.5,0-0.01)

Trq = mo_lineintegral(4)

print(teta.." "..Trq)

write(handle,Trq.."\n")

mo_close()

mi_selectgroup(1)

mi_moverotate(0,0,teta_step,4)

teta = teta + teta_step

 

Выход из цикла и окончание программы:

 

end

closefile(handle)

print("END");

 

---Результаты, выведенные на Lua- консоль:

 

--> 0 -0.06638789068414876

--> -1 -0.03839906469526368

--> -2 -0.02518947233224375

--> -3 -0.003760341567551533

--> -4 0.002797653064875037

--> -5 0.004103524251668446

--> -6 0.006939939583226135

--> -7 0.01378929753058581

--> -8 0.03410153435019589

--> -9 0.04817884324581996

--> -10 0.07575546411738791

--> -11 0.1002621018250477

--> -12 0.0433360466100355

--> -13 -0.03335392071313189

--> -14 -0.09138300988823311

--> -15 -0.06574964696989583

--> END

 

 


 

Рис. 5.7. Зависимость момента, обусловленного зубчатостью статора, от углового положения ротора. Ток в обмотке статора отсутствует

 

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

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...