Connecting Two PMSMs – One as Load, One with Speed and Current Control

Hello,

I’m working on a test bench simulation using PLECS, where I want to connect two PMSM machines mechanically:

  • One motor is controlled (speed and dq-current control).
  • The second motor should act as a mechanical load, absorbing the torque from the first.

I’ve already configured the electrical control of the main motor, but I’m not sure what is the proper way to mechanically couple both machines. Should I use a specific mechanical block like a clutch, ideal gear, or something else to connect their shafts?

Also, do I need to configure any special settings on the load motor for it to properly absorb torque and act as a passive mechanical load?

Any help or examples would be greatly appreciated.

Thanks in advance!

You can directly connect the mechanical flanges of the machine or add additional details if the shaft dynamics are relevant (e.g. add spring constant or damper). What is important is to ensure the conventions used for torque and speed align correctly between the different machines and control approaches. Should an increase in torque on the second machine accelerate or de accelerate the other machine? This is a matter of model convention.

Note you can use a Gear component with a negative gear ratio to have two shafts rotate in opposite directions (if for example he wants positive torque electrical torque applied to both machines to oppose each other mechanically).

Attached is an example of a PMDC machine in speed control and a BLDC in current/torque control. This model uses the RT Box as a controller and has been tested with a physical system.

desktop_dyno_rcp_BL.plecs (433.2 KB)

2 Likes

Hi Brian,

I know you’re currently helping with another question, but I wanted to ask something related to a project I’m working on. I’m trying to implement a simple FCS-MPC controller for a PMDC motor.

Right now, I’m focusing on the simulation part to test the algorithm before building the actual system, but I got stuck with a simple problem — I couldn’t find a PMDC motor model in the library. The “mask” component that you are using looks like it might be the right approach, but I’m not sure how to create one.

Could you point me to some resources on how to build these mask components, or suggest a way to import PMDC motor models into PLECS? I’m still new to PLECS, so any guidance would be really helpful.

Thanks in advance!

The PMDC component in this model is something custom I put together for this demonstration. You can parameterize the model by changing the mask settings and you’re welcome to re-use it in your work.

If you would like to customize it further or create your own component there is a PLECS Tutorial titled “Creating Custom Components and Subsystem Masks”. The tutorial describes the mechanics of creating your own custom masks and some of the more advanced features.

1 Like

I parametrized it using motor constants from the physical motor that we’ll be using, and the resulting behavior matched incredibly well.
Thanks a lot, Bryan!

1 Like