# Simulating Torque Ripple for Motor Control System Design

*
Ryoko Imamura, Powersys
*

In this webinar, uncover the critical importance of torque ripple in motor drive systems. Discover its effects and how employing high-fidelity motor models, powered by JMAG’s finite element analysis (FEA) data, can elevate your understanding. Learn about the method for integrating FEA data into Simscape Electrical™, aimed at accurately modeling spatial harmonics and addressing high-frequency loss with precision.

**Speakers:**

**Shang-Chuan Lee, Ph.D.**, *Sr. Application Engineer, MathWorks*

- Shang-Chuan Lee is a senior application engineer working at The MathWorks. She received her PhD in mechanical engineering from the University of Wisconsin-Madison (WEMPEC). Her specialty is control of power electronics and motor drives in industrial automation applications. Prior to joining MathWorks, her graduate study focus was on real-time simulation and testing of motor control applications using Simulink Real-Time and Speedgoat target hardware.

**Ryoko Imamura, Ph.D.** *Sr. Motor Design and Software Development Engineer, Powersys*

- Ryoko Imamura is a Software Development Engineer at Powersys, specializing in magnetic device modeling and cluster system for large-scale simulation. Her recent work is development of nonlinear motor models for a power electronics simulation too. She holds an M.S. degree in Information System Engineering from the University of Tsukuba in Tsukuba, Japan, and a Ph.D. degree in Mechanical Engineering with a specialization in magnetic modeling and electric machine control from WEMPEC, the University of Wisconsin–Madison in Madison, Wisconsin. Ryoko has been an integral part of the Powersys team since 2019, playing a significant role in establishing high performance computing for motor data mapping using JMAG.

**Published:
25 Jul 2024**

Hi everyone, thank you for joining this webinar.

This webinar's title is simulating a torque ripple for motor control system design.

My name is Ryoko, I'm motor design application development engineer from the Powersys.

Powersys is a solution provider company for EM system design around the JMAG software.

My expertise is in the magnetic simulation programs and my base is in the Detroit area.

Hi everyone, my name is Shang-Chuan Lee.

I'm a senior application engineer at MathWorks with a focus on motor control and power electronics.

I've been with MathWorks over four years now with a focus on supporting customers on the industrial automation and machinery.

So in this webinar, Ryoko and I will show you how to simulate torque ripple high fidelity motor model in Simulink and specifically we will show you a workflow to integrate FEM JMAG motor data into Simscape Electrical.

So in this project, Ryoko is focused on machine design component level simulation by generating high fidelity FEA motor data.

After she perform FEA analysis, then she will paste past the data, the FEA data to me and I as a model control engineer, I will work on system level simulations to validate torque controls in Simulink.

So here's today's agenda.

First we will talk about why we do this webinar and here we will talk about the impact that torque ripple brings to the motor driving systems.

Then we will talk about modeling the torque ripple for motor control design.

Here we discuss how we can integrate the lookup table file from the FEA into the system level simulation like Matter of Shimmering.

Then afterward, we demonstrate how we can implement a control strategy to mitigate torque ripple using a motor plant model with special information from the FEA.

And then at the end, we will summarize our discussion.

So what is Torque Ripples?

So torque ripple is a dynamic part of a torque on top of a steady stay condition.

So imagine we have a low torque applied to an electric motor where in this case we see a torque has this frequency and amplitude to this given torque of two Newton meter.

In an ideal world, we are expecting to see an average value of torque output, but in reality what we see this is a periodic peaks and valleys around this DC values.

So that's why we consider these torque ripples.

So when we talk with our customers across industries, how to deal with torque ripple is really critical in robotics applications.

You know a smooth motion is always critical, so it's all about precise position control.

But if we have a torque ripple, it will make them accurate position control and further impact the overall like a transmission line or conveyor control.

And on the other hand, for the automotive industry now moving towards more electrifications and it's more than ever important to analyze NVH, which is noise, vibration and harness.

And we know that per magnet synchronized motor are continue to be the most dominant electric motors in electric vehicles.

So, but it's inherent issue is the cogging torque, high cogging torque can cause a significant torque ripple doing all kinds of, you know speed operation.

So, so these are the impact of the torque ripple and in many applications.

Thank you Shang-Chuan.

Then you may wonder what is the source of the torque ripples.

As for the source of the torque ripple, there are two major components.

One is throughout the geometry and another is magnetic saturation.

The first one through the geometry is caused by that the interaction between this magnet and throat as the rotor rotate.

The rotor magnet will be pulled to the stator at the stator tooth, but at the throat openings the magnet is not approved by the stator item.

This change of the Pringle falls generates the total grip.

The second source is magnetic saturation.

The current waveform can be distorted due to the magnetic saturation when the motor is driven by voltage inverter and then that this distorted current contribute to create unwanted harmonical components.

So now we review why we talk ripple is a problem and what is a source of talk ripple.

Then our next question would be how can we consider the talk ripples in a motor controlled design phase.

As we already discussed, talk ripple is dependent on motor geometry.

It means even if the machines have the same number of the poles, ripple profile will be different.

And then here I am showing that the two different motor geometries.

So these motors both have that same number of poles form.

However as you see the torque ripples created from that each motor are different.

So just having that parameter of the motor doesn't help us to understand that the how that the torque ripple profile will be.

However, the traditional constant parameter model does not represent the geometry information.

So here I am showing that a constant or parameter model traditionally used on the left side.

So this equation does not include that information of the rotor position Theta.

Therefore what we can derive from this constant parameter model is a just a flat line without having any ripples.

So to be able to capture the ripple plant model need to have the rotor position information as showing the right side of the this slides creation.

And in this look up table of parameter model is special information have that information of the Theta as an input parameter.

Therefore it can represent a case through ripples up and down on the talk.

So as Ryoko mentions, we are going to show you in these presentations to show you how to capture the top ripples through JMAG tools and how to simulate the behaviour of the torque in simulating and design motor control algorithms to tackle the torque ripples.

To talk about the plant models with special information, I want to start with the introduction of the GMOG.

GMOG is a FEA finite element analysis package software for motor design and drive system design.

It has a wide property of solutions around the electromagnetic design.

In this slide the first one left is analytical model solution from the GMAG, next is a detailed design with the FEA which is the core of the GMAG technology and the last one is a solution for the system level simulation.

Like a metal Simulink.

GMAG can link with the system level simulation tools providing the high speed different models to them and the distribution is called JMAG RT.

Basically JMAG RT is a lookup table of motor parameters which are precalculated by JMAG FEA and following that operating points are defined by the user.

JMAG runs a parametric analysis of the FEA and consolidate that FEA result into a lookup table.

That is that a JMAG RT lookup table.

And one of the questions I get often is what is inside in the JMAG RT model.

So here's a quick summary of the JMAG RT lookup tables.

Basically this lookup table's inputs are current, vector, amplitude, advance angle, and rotor position.

Outputs are total flux, inductors, torque, and iron losses.

When referring the iron losses, the rotor speed is used instead of the rotor position.

So as Ryoko mentioned on JMAG RT can create look up table for modeling high fidelity motor model.

So how do we integrate a look up table with Simulink?

So here we provide you a three framework to use JMAG RT with Simscape Electrical and these three framework all use look up table from Jim ART.

But we support different type of servers and interfaces that you can choose from.

The first approach is use FEM parameterize block and under this approach you will use the Simscape solver and Simscape interface to simulate your motor control system.

And 2nd and 3rd is based on JMAG RT’s function block and one is to use network couple of blocks and the other is directly connect with Simscape terminals.

So it's really depends on your use case and level of fidelity of modeling high frequency machine losses.

You can choose which framework works best for you.

Now I'm passed to Ryoko, she will talk about how to create FEA motor model OK Shang-Chuan.

So to get more than modest passing, 1st we need a spec.

And for this webinar, we borrow a spec sheet from our literature and when using a JMAG, we can get a motor geometry from this constant parameter data spec sheet very easily.

So what we need to do is first open this tool called JMAG Express then fill the box with the values from the spec sheet like a number of the throws, number of the poles, rotor dimension, stator diameter, diameter.

And then you can get good geometry model that can be plugged into the FEA model like this one.

And then once you get the geometry model, you can export this geometry into geometry designer and can create a mesh model with one click and you get that this mesh models.

And then once we get the geometry model, then next is a setup that look up table generation.

For this we use a tool called JMAG RT Library Manager.

In this tool first we input the geometry model file.

So here we select that PMS model and then set that mesh model here.

Then next is that filling that node section giving a basic information of that this motor configuration.

Then we move to that defining that motor sampling points.

Here we set that current advanced angle and rotor position.

So also we set that speed for the iron dose tables.

Now we are setting the iron table here and then the specifying the maximum speed.

Then pretty much done.

The rest is prior computation settings are like a number of cores and so you can choose this number according to your calculation environment.

Then afterwards just go back to the top menu and start the calculation.

After the calculation down you will get the motor model that we call RTT file from this menu.

Then RTT file generations down.

Once you get RTT file, you are ready to link with matter of shimmering and there are multiple way to link with the matter of shimmering as central I was mentioning.

And then depending on the block you choose from those three blocks, the steps are slightly different.

And then at this slide first I show that how to prepare the data for that FEM parameterized block.

And this case says FEM parameterized block doesn't accept the RTT file directly mean they accept that dot mat file only.

So we need to convert RTT file into the MAT file.

Then for that we use a tool called JMAG RT viewer.

So first open the general RT viewer and then set dot RTT file paths in that this tool GUI then you will get the MAT file.

The convert happens automatically and once you get this MAT file, you will pass that this not five to the top your control design planned.

So once I receive the data from Ryoko on, then I can easily parameterize these parameters on Simscape electrical motor block.

So here we are importing look up table of flux, torque, advanced angle and rotor angle.

These are important informations to capture top ripples for modeling special harmonics and nonlinearities.

So the next step is how can we characterize the FEM PMSM block in Simulink?

So in this case, we give a three phase voltage source of 60 volts to the motor in a constant speed of 500 RPM and then we can measure three phase currents and torque.

And in order to further validate these blocks, Ryoko, can you tell us how do you run the model validation in in, in Simulink?

OK, so for this validation, I prepared FEA model from the same geometry model that I created the general RT model in a previous slide.

And this geometry and this model has the L thousand elements and general RT model has a third pointed in a current and 73 data points in advance angle and 121 points in a rotor position.

The calculation time to create this general RT model was one hour 20 minutes.

And then the objective of this simulation is to validate of the look up table model in comparison with FEA.

Therefore we use a very simple input settings, three phase sensor, the voltage, direct input and constant speed so that we don't have to worry about that.

The other components are effect like inverter switching etcetera.

And then so this slide, the bottom is at the comparison of the FEA and GMRT Simscape block.

The left is a current and in the right is a torque.

The solid line is FEA and dashed line is a JMAG RT Simscape.

As you see, they overlap each other quite well.

Also we can see that JMAG-RT simscape is capturing the torque ripple in the same manner with FEA from the right side torque comparison chart.

So this way we can validate the look of table model we created is across enough to the FEA model.

Thank you Ryoko.

So the next step is how do we implement FOC torque control with high fidelity motor model?

So here is the black field orientation control architecture.

So here we see like on the right hand side we have our physical system of our surface inverter to drive the motor.

And here we got the PMS in high fidelity motor model ready model in Simscape electrical block.

So our goal here is to use FOC to control the torque.

So in FOC we know that we have two PID control loops to manipulate the Q axis and D axis current, right?

And since we are doing the SPM motor, primary Q axis is dominate the torque output.

So we also got the DQ to alpha beta transformation and also SVPWN generator to control the duty cycles for three phase two level inverter.

So now let's take a look on the simulating implementation of torque control.

So here we have this FEM PMSN block which is connect to a three phase inverter with a supply voltage of 120 Volt DC bus.

And in order to measure the three phase current, we also in place a current sensors in between the power converter and motor and so that we can monitoring the the current feedback feeding to our PMSN controller, right and the sensing of for on the mechanical side, we also have a torque transducers on the rotor, so we can continuously monitor the mechanical torque load on the shaft.

And since we are doing the torque control loop and in this case we are giving a a step torque response from 5 Newton meter to 10 Newton meter.

And and we also have this gaze signals output that is feeding to our inverters.

They they are the duty cycle generation pulses.

So now I just quickly round the simulation and we can see the three phase currents in torque response on the left hand side.

And if we zone in, we can also see on the torque on the current ripples and torque ripples are captured in the simulation.

These are special harmonics that Ryoko has been mentioned in the very beginning of the slide.

If you remember like equations, we we including those rotor angle and and at advanced angle information.

Yeah.

And now let's take a look on this PMSM FEM parameterized blocks.

And in this case we are using flux linkage as a function of peak currents current, advanced angle and rotor angle.

And these are the look up table of FOX and torque data can really be be found in the in the MATLAB workspace.

Yeah, If we double click on the table of flux, we got a metrics of flux data and these are all coming from the JMAG RT tool and as as well as the the rotor angle, we got over 121 data points.

And on the controller side here we have the FOC implementation.

They are exactly the same as the the previous bar diagram I show you.

And we got like DQ to ABC and SVPWN.

And inside of the field orientation control we got the DQ reference frame to control the the torque.

And also since we want to do the cross coupling decoupling turns, so we also can we also implement that Albertsons in in our torque control.

So now we can simulate these non linear special harmonics of torque ripples.

So what we see a lot of interest across industry is like to to study different motor control techniques to reduce torque ripples.

And just to give you an example here we are implementing a fee forward torque ripples.

Sorry, we are implementing a fee forward torque control to reduce the torque ripple.

And we can see that after this implementation, the torque ripple is reduced up to 50% compared to before the torque control.

So with Simulink, the message here is we can explore and design different control strategies to see which control technique can help you mitigate torque ripple.

So and here well we we also want to highlight the for the 2nd and 3rd framework.

In this case, it's all it's basing on the using JMAG RTS function block.

And with this approach, you can easily import RTT file directly to the Simulink environment without converting to dot BLF file and parameterize the look up table.

So same thing for the JMAG RT S-function blocks.

So with second framework, you can also easily implement this block with the rest of the six gate electrical components such as power electronics components and FOC algorithm.

And now if we double click on this JMAG RT function S function block, we can directly import look up table from the RTT file.

One thing to be difference is this block is you can select the iron loss table and AC copper loss data.

So these are more advanced settings for modeling loss information.

And Ryoko will discuss more what's the difference between this advanced iron loss and copper loss information?

OK, so now we see all solutions can offer the special harmonics.

Then you may wonder what is the difference between these 3 RT blocks?

There are some differences.

At this point, I just said the biggest difference is the loss modeling, especially the iron loss modeling.

So to capture the iron loss in a system level simulation, there are a couple of the topologies or let's say 3 approaches and this charts are through the categorize those approaches from the point of the fidelity level.

The most low fidelity level is that a style method which is a classic approach and then our most well known second fidelity level is a table with a current and speed.

This can perform relatively good accuracy unless that iron rows due to the carrier frequency is not that significant.

Then the other third method that is our most accurate one and this approach captured that a career frequency as well and this called the high frequency island dose.

And then coming back to the discussion of the JMAG RT blocks.

Now I show that these three blocks in the Y axis of this chart and then the FEM parameterized below can support our first two methods, Steinmetz and the table with current and speed.

And in the meantime, our JMAG-RT S-function blocks, the network JMAG-RT S-function block, network coupler and JMAG-RT S-function block with Simscape terminals that they support a table with current and speed as well as a high frequency iron losses.

So I'd say that our first block parameterized block supported basic iron loss modeling that can capture that fundamental component of the iron losses.

And then there are another two-method JMAG RT S-function block network coupler and Simscape terminals that are a little bit more advanced iron loss.

And from the next two slides, I will show you that how that significant a difference we will see when considering that the loss high frequency iron losses.

So first we will take a look at the comparison of this table with the current on speed iron loss method.

So to check the accuracy of this table with current on speed iron loss method we prepared this simulation 8 pole 48 slots IPMSM and then the operating point was low speed high torque points and then the carrier frequency used was a six kilohertz.

And with this test condition we simulate 3 patterns.

First is a JMAG RT with the table with current and speed iron loss as we discussed and as the source of the voltage the PWM inverter was used here.

Then second pattern is the pure FEM not using a system levels tools.

And then the this case the source was sinusoidal voltage and 3rd pattern is also the pure FEM JMAG designer and that PWM inverter was used as a source for this third case.

Then here's accuracy comparison of that table.

Here is a result of these three patterns.

In this graph we compare that JMAG RT with inverter drive.

and here with ideal sensor the current and then if we with inverter drive and then as you see JMAG RT with inverter and FEA with inverter has discrepancy and then you will easily notice that rather JMAG RT with inverter has the same losses with FEA.

with a sinusoidal voltage input?

Why this difference is created?

It actually but makes sense when we when we know that the table with current and speed does not have the carrier frequency information and it just only contains the fundamental frequency information.

So when we run the motors with the PWM inverters, this PWM frequency or carrier frequency, it created a small ripples of the current and then that contributed the additional iron laws. However, those effects cannot be captured when you use that this island's method table with current and speed and that is the reason of this discrepancy.

So here the summary.

So table current and speed method can capture the fundamental component with iron laws, but cannot capture the iron laws due to the career frequency.

And then let's move to that next comparison that is about high frequency island losses.

And here is an example.

We prepare to check that the accuracy of the high frequency island loss method.

We prepare this generation the IPM for the traction motor with a 48 slots and then compare this iron loss at the several operating points and all results are calculated using six kilohertz switching frequency unless it is specifically mentioned.

And for instance, this first graph is at low speed low torque region and then when including and then left is at the FEM pure FEM result and then the right is at look up table with high frequency iron loss.

And then when we consider this a high frequency iron loss that this JMAG-RT result can match with FEA quite a bit.

Similarly other operating points when we compare that iron loss between the FEM and the JMAG-RT with high frequency iron losses at any operating point, it show us that quite a good matching.

So I guess Ryoko, I have a question here is you mentioned about we can measuring different operating point under this torque speed data and you say the FEM and data can quite nicely match with the lookup table with high frequency losses.

What's the reason behind?

So the reason this lookup table solution can match with FEA considering the FEA is that mainly because this the table solution with high frequency iron loss is considering that iron loss due to the switching frequency.

So as it can consider that the losses are coming from that switching on and off behaviour.

We can also explore that how the switching frequency affects the machine iron losses.

So for example here this additional chart try show that case study of the four different switching frequencies from the five kilohertz to 20 kilohertz.

And then there you see that the 20 kilohertz show that the lowest iron loss.

This is because that current ripples can go down when we use that higher switching frequency and then the along with that this dip down in that current the iron loss goes down.

Therefore we see that our lowest iron losses when we use it 20 kilohertz sitting frequency.

The point of this chart is we do this study using the matter of Simulink Simscape

So using that the system level simulation tool, we can investigate how that iron loss will be affected by the inverters specification.

I see that makes sense.

OK, so that was video or the chat about that iron losses.

And then here's a summary of the our discussion today.

There are three shipping blocks available to connect JMAG-RT and metal machining Simscape.

First is that a FEM parameterized block and in this block can consider a saturation, torque ripple and it has a simple iron

loss modeling and at our interface it covers a Simscape electrical and mechanical interface.

And this block is a native Simscape network model.

They hope it is most computationally efficient.

Second one is a JMAG RT S-function block plus network coupler.

So this model also of course can consider the saturation and torque ripple because it uses JMAG RT.

And on top of that it can consider the advanced iron loss modeling.

And this block also has a Simscape electrical mechanical interface.

One downside if I dare to talk about the disadvantage is that operation, it's the additional operation is required to connect that S-function block and this network coupler block.

So a little bit of that 3 minutes of that additional operation might be required.

Then a third block is a JMAG RT S-function block with Simscape terminals and this block can consider the saturation and torque ripple and then of course that advanced iron

loss modelling is considered because it is that from the JMAG native product.

And then this blocks downside, it only had that Simscape electrical interface.

So when you want to connect with the Simscape mechanical library, you may need to implement by yourself a little bit, but but there's a advantage.

This one has a interface to the Simscape, so it can directly connect to the Simscape electrical library block.

Hey, that is a summary of the this webinar.

Yeah.

So I know we've been go through very quickly on the different framework that we can support in terms of integrating Simscape Electrical and JMAG RT block for motor control design simulation.

But if you are interested to learn more about the demos and you know the the presentation slides, feel free to reach out to us and our e-mail and we can, we are happy to support you and, and, and talk to you offline.

Thank you everyone.

Thank you everyone.

#### Related Products

#### Learn More

Featured Product

#### Simulink

### Up Next:

### Related Videos:

Web サイトの選択

Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:

また、以下のリストから Web サイトを選択することもできます。

最適なサイトパフォーマンスの取得方法

中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。

南北アメリカ

- América Latina (Español)
- Canada (English)
- United States (English)

ヨーロッパ

- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)

- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)

アジア太平洋地域

- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本Japanese (日本語)
- 한국Korean (한국어)