Note: This discussion is about an older version of the COMSOL Multiphysics® software. The information provided may be out of date.

Discussion Closed This discussion was created more than 6 months ago and has been closed. To start a new discussion with a link back to this one, click here.

Modelling of a Permanent Magnet Electro motor

Please login with a confirmed email address before reporting spam

Hello everyone,

We made a permanent magnet motor (synchronous) with an outer rotor topology in comsol, using the magnetic fields physics interface in COMSOL 4.1. This model (attached to this post) is used for a master thesis, as verification of a designed motor. It has become quite a complex project and now we have been stuck for a while and hope that some you can help us.

We run into problems, since the specified voltage excitation of the coils results in currents that do not come close to the expected values. Probably due to that also the produced torque behaves different then expected.

About the model:
To reduce the complexity of the model we only simulated 1/92 part of the motor, since the complete motor contains 92 permanent magnets placed on the rotor (outer part). The coils in the stator (inner part) are driven by a 3 phase sin wave function with the following winding lay-out: A+, C-, B+, A-, C+, B-, etc. In each slot there is one phase and in our model we only simulated A+, C-, and B+. To model is as it would behave in a complete motor, we have implemented anti-symmetry boundary conditions. There is a figure with an outline of the geometry attached to this post.

We have modeled the rotation of the rotor, with its magnets, by setting the remanent flux density as a function of the rotor position. This should be allowed since the conductivity, permeablility and permitivity of the NdFeB magnets are very close to the values for air. Also we added the Lorentz' velocity term for the rotor.

The main parameters of the motor are:
number of poles: 92
number of slots: 276
outer rotor diameter: 1000 mm
motor length: 900 mm
outer stator diameter: 975 mm
slot area: 127.5 mm^2
conductor area: 89.25 mm^2
turns per slot: 1
rotor velocity: 65 rpm
electrical frequency: 50 Hz
driving voltage potential: 3.55 V per slot (peak)

To show the torque at the different relative positions of the magnetic fields created by the two sources, the model in the attachment is set up to rotate the magnets at 90% of the velocity of the field produced by the coils.

Hand calculations:
The complete motor should perform 12000 Nm torque output at nominal velocity according to the hand calculations. The pull-out velocity should be around 20000 Nm. Also we expect a phase current of 203.3 Ampere = a current density with 1.61 A/mm2 in the slot (peak).
The resistance of the coil is supposed to be 2.759e-4 Ohm per slot, but due to the fact that the 2D COMSOL model misses the part of the coil that is in plane, COMSOL uses a resistance that is 15% too low. But this cannot explain the huge differences in results. So this implies that there is something wrong with the impedance, right?

The model file that includes the solution of a transient analysis was too large to post as attachment, so we included one without solutions. The analysis takes quite some time, so we've put a model file with solutions on a site: www.ricardis.tudelft.nl/~floris/pm_motor_t0.25.mph

Any help would be very much appreciated.


Kind regards,

Onno Postma and Floris van Kempen
Faculty of Mechanical Engineering, TU Delft

8 Replies Last Post Sep 30, 2015, 7:06 p.m. EDT

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago Jun 8, 2011, 4:00 a.m. EDT
Hi Floris,

thx for sharing.

very interesting modell for my project. but it seems no one interested of hysteresis loss of PMSM.

regards
akmal
Hi Floris, thx for sharing. very interesting modell for my project. but it seems no one interested of hysteresis loss of PMSM. regards akmal

Ivar KJELBERG COMSOL Multiphysics(r) fan, retired, former "Senior Expert" at CSEM SA (CH)

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago Jun 8, 2011, 5:24 a.m. EDT
Hi

nice model, but to have it available on the forum, it would be easier to clear the solution un dump it directly here ;)

--
Good luck
Ivar
Hi nice model, but to have it available on the forum, it would be easier to clear the solution un dump it directly here ;) -- Good luck Ivar

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago Jun 8, 2011, 7:14 a.m. EDT
Hi Floris,

Fortunately we have the same project, but in smaller dimensions. We have a PMSM motor with 48slots, 16magnets, and the same A+B-C+ excitation. We prescribe the rotation as a global equation, the output is the rotation angle. This angle gives the prescribed rotation angle which is implemented into the ALE frame's corresponding parts (rotor core, magnets and airgap).

The strange problem in our case is that if we use real material properties (HB curve from table and interpolation), we get undesireable results. If wu use the simplest term B=MU*MUr*H and we set MUr=4000 we get good results at the first look but the magnetic field don't provide any torque for the rotor to keep the initial angular velocity. We made 1D calculations for the performance: 2000 1/min RPM, 200Nm rated torque and so on.

We've been stucked in this problem since 1 month. We would be glad if you can share with us your setup for the rotation and materials. Unfortunately we don't have version 4.1.

If I can help you, please let me know,

Regards,

Attila
Hi Floris, Fortunately we have the same project, but in smaller dimensions. We have a PMSM motor with 48slots, 16magnets, and the same A+B-C+ excitation. We prescribe the rotation as a global equation, the output is the rotation angle. This angle gives the prescribed rotation angle which is implemented into the ALE frame's corresponding parts (rotor core, magnets and airgap). The strange problem in our case is that if we use real material properties (HB curve from table and interpolation), we get undesireable results. If wu use the simplest term B=MU*MUr*H and we set MUr=4000 we get good results at the first look but the magnetic field don't provide any torque for the rotor to keep the initial angular velocity. We made 1D calculations for the performance: 2000 1/min RPM, 200Nm rated torque and so on. We've been stucked in this problem since 1 month. We would be glad if you can share with us your setup for the rotation and materials. Unfortunately we don't have version 4.1. If I can help you, please let me know, Regards, Attila

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago Jun 8, 2011, 8:45 a.m. EDT
Hi Ivar,

Thanks for looking at our model. The initial post was supposed to include the model without solutions, but apparently Chrome didn't agree.

So now the model should be attached to this post.

Kind regards,
Floris
Hi Ivar, Thanks for looking at our model. The initial post was supposed to include the model without solutions, but apparently Chrome didn't agree. So now the model should be attached to this post. Kind regards, Floris


Please login with a confirmed email address before reporting spam

Posted: 1 decade ago Jun 8, 2011, 10:03 a.m. EDT
Hi Attila,

We haven't coupled the rotational motion to the torque yet, but we were planning to do that using a simple ODE in the mathematics interface. At this moment we have also set the rotation as a global variable depending on time.

Have you implemented the complete geometry or do you use symmetry to reduce the size? If you did reduce the size, how did you implement ALE, such that it can handle the non circular rotor segment?

We have divided the rotor (we use an outer rotor) in two parts. The inner part consists of the magnets and some air in between. But we have modelled this as if it was completely made out of air (electromagnetically seen the NdFeB and air have similar properties). The remanent flux density for this part has been set in the Ampère's law bullet using a step function that takes the angle of the rotor and the spacial coordinates to set the area of the magnets to +Br, -Br or 0 Tesla. Is this clear? Otherwise I'll send you a picture.

If we set the MUR in our model as you have specified, we get approximately the same results as using the HB curve (using mur, 10-20% higher values for current and torque and the result is somewhat noisier).

What do you mean with a 1D calculation? What did you simulate?

We do not know why you don't get any torque using the HB curve. Maybe if you share your model file, we can take a look at it.

Regards,
Onno and Floris
Hi Attila, We haven't coupled the rotational motion to the torque yet, but we were planning to do that using a simple ODE in the mathematics interface. At this moment we have also set the rotation as a global variable depending on time. Have you implemented the complete geometry or do you use symmetry to reduce the size? If you did reduce the size, how did you implement ALE, such that it can handle the non circular rotor segment? We have divided the rotor (we use an outer rotor) in two parts. The inner part consists of the magnets and some air in between. But we have modelled this as if it was completely made out of air (electromagnetically seen the NdFeB and air have similar properties). The remanent flux density for this part has been set in the Ampère's law bullet using a step function that takes the angle of the rotor and the spacial coordinates to set the area of the magnets to +Br, -Br or 0 Tesla. Is this clear? Otherwise I'll send you a picture. If we set the MUR in our model as you have specified, we get approximately the same results as using the HB curve (using mur, 10-20% higher values for current and torque and the result is somewhat noisier). What do you mean with a 1D calculation? What did you simulate? We do not know why you don't get any torque using the HB curve. Maybe if you share your model file, we can take a look at it. Regards, Onno and Floris

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago Jul 12, 2011, 5:42 a.m. EDT
Hi Floris,

Attila and I worked together on this project in the past, however, I will carry on this work alone in the future. Meanwhile we decided to use the full model beacuse we experienced differences in the magnetic field when using a sector only compared to the full motor. Also, I have found a very usable HB curve for our material (M19 steel) so I get now a good looking magnetic field. (When experimenting with sector antisymmetry we started from the library model 'generator sector dynamic' in COMSOL 3.4 and set boundary conditions accordingly.)
I think Attila wrote about stationary calculations (describing as 1D) when we tried to calculate torque that we could not do accurately in transient simulation incorporating an ODE for the dynamics.

As now having acceptable magnetic flux densities my next step is to couple the model with heat ttransfer and get a temperature distribution caused by resistive heating. For this I have to specify conductivity. Doing so my results become unusable having increasing flux densities with time. I attach hardcopies with sigma=2e6 [S/m] and with sigma=0 [S/m] for the rotor/stator. My mesh is believed to be fine enough and I used tolerances of 1e-5 for 'A'.
Resistive heating works, I have increasing temeratures, however, adding Sigma to the material ruines my magnetic field. (I expect flux densities around 2 [T] instead of 64 [T]).
I see that you also implemented conductivity in your model. Did you faced the same problem? How did you solve it?
(I use mainly COMSOL 3.4 but I've built the same model also in 4.2 and got the same bad results.)

Thank you for your comments in advance!

Best regards,
Gábor
Hi Floris, Attila and I worked together on this project in the past, however, I will carry on this work alone in the future. Meanwhile we decided to use the full model beacuse we experienced differences in the magnetic field when using a sector only compared to the full motor. Also, I have found a very usable HB curve for our material (M19 steel) so I get now a good looking magnetic field. (When experimenting with sector antisymmetry we started from the library model 'generator sector dynamic' in COMSOL 3.4 and set boundary conditions accordingly.) I think Attila wrote about stationary calculations (describing as 1D) when we tried to calculate torque that we could not do accurately in transient simulation incorporating an ODE for the dynamics. As now having acceptable magnetic flux densities my next step is to couple the model with heat ttransfer and get a temperature distribution caused by resistive heating. For this I have to specify conductivity. Doing so my results become unusable having increasing flux densities with time. I attach hardcopies with sigma=2e6 [S/m] and with sigma=0 [S/m] for the rotor/stator. My mesh is believed to be fine enough and I used tolerances of 1e-5 for 'A'. Resistive heating works, I have increasing temeratures, however, adding Sigma to the material ruines my magnetic field. (I expect flux densities around 2 [T] instead of 64 [T]). I see that you also implemented conductivity in your model. Did you faced the same problem? How did you solve it? (I use mainly COMSOL 3.4 but I've built the same model also in 4.2 and got the same bad results.) Thank you for your comments in advance! Best regards, Gábor


Please login with a confirmed email address before reporting spam

Posted: 9 years ago Apr 17, 2015, 11:50 a.m. EDT
Hi, Gábor. Can you explane? how you modeling 3 - phase winding on the stator. You used Multi turn coil or external current density?
Hi, Gábor. Can you explane? how you modeling 3 - phase winding on the stator. You used Multi turn coil or external current density?

Please login with a confirmed email address before reporting spam

Posted: 9 years ago Sep 30, 2015, 7:06 p.m. EDT
Hi, Vitaliy, I think you can use both but I would suggest using any of the Coil features provided by the Magnetic Fields interface, as they include characteristics of interest when modeling stator coils. You might want to take a look at Flori's model, which he attached, and in which they have defined a set of three-phase stator coils with currents that are a function of time (t in COMSOL for time-dependent studies). You can also perform frequency domain studies with three phase currents by adding a complex exponential to the current value, specifying the phase value.
Hi, Vitaliy, I think you can use both but I would suggest using any of the Coil features provided by the Magnetic Fields interface, as they include characteristics of interest when modeling stator coils. You might want to take a look at Flori's model, which he attached, and in which they have defined a set of three-phase stator coils with currents that are a function of time (t in COMSOL for time-dependent studies). You can also perform frequency domain studies with three phase currents by adding a complex exponential to the current value, specifying the phase value.

Note that while COMSOL employees may participate in the discussion forum, COMSOL® software users who are on-subscription should submit their questions via the Support Center for a more comprehensive response from the Technical Support team.