Low RPM application

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Low RPM application

Jump to solution
1,381 Views
randyfields
Contributor II

I need to operate my motor over a speed range that starts below 1 RPM.  Does the motor firmware and Kinetis Motor Suite support this range?

Labels (1)
0 Kudos
Reply
1 Solution
1,202 Views
linestream-adam
Senior Contributor I

Randy,

It is possible to operate on fractional RPM in KMS.  The GUI uses whole RPM since most people don't need the motor to spin that slowly. I will also caution you that this will only work reliably if you are running Sensored Velocity or Sensored Position control. Running below about 10% of rated speed is difficult when using Sensorless Velocity.

I've written up some instructions to get fractional rpm working through the GUI below.

  1. Make sure you have estimated the interia of your system.
  2. Make sure the Speed Loop bandwidth is set fairly aggressively.  In my test, I maxed it out to 200 rad/s.
  3. Open the Watch Window (View -> Watch Window)
  4. Click the + button to add a variable
  5. Navigate the tree to "user.command.targetSpeed" and click the arrows to add the variable
  6. Click Play in the Watch Window to begin updating the value.
  7. Type in your intended speed as the value for user.command.targetSpeed
  8. In the KMS GUI, click Start/Stop Speed Control

The speed value in the GUI will be 0 since they are not configured to display fractional numbers.

View solution in original post

0 Kudos
Reply
3 Replies
1,203 Views
linestream-adam
Senior Contributor I

Randy,

It is possible to operate on fractional RPM in KMS.  The GUI uses whole RPM since most people don't need the motor to spin that slowly. I will also caution you that this will only work reliably if you are running Sensored Velocity or Sensored Position control. Running below about 10% of rated speed is difficult when using Sensorless Velocity.

I've written up some instructions to get fractional rpm working through the GUI below.

  1. Make sure you have estimated the interia of your system.
  2. Make sure the Speed Loop bandwidth is set fairly aggressively.  In my test, I maxed it out to 200 rad/s.
  3. Open the Watch Window (View -> Watch Window)
  4. Click the + button to add a variable
  5. Navigate the tree to "user.command.targetSpeed" and click the arrows to add the variable
  6. Click Play in the Watch Window to begin updating the value.
  7. Type in your intended speed as the value for user.command.targetSpeed
  8. In the KMS GUI, click Start/Stop Speed Control

The speed value in the GUI will be 0 since they are not configured to display fractional numbers.

0 Kudos
Reply
1,202 Views
randyfields
Contributor II

Adam,

Thank you, that did allow me to operate below 1 RPM.

Is there a way I can get the low RPM when I am using the Motion Planner? I

am trying to set the plan velocity using the STPOSPLAN_addCfgTran()

function; regardless of the velocity I give it 1 RPM is as low as I can go.

Thank you,

Randy Fields

On Tue, Apr 3, 2018 at 11:41 AM, linestream-adamreynolds <

0 Kudos
Reply
1,202 Views
linestream-adam
Senior Contributor I

Randy,

You will need to manually modify the speeds in the generated MotionSequence.c file.  The VEL_PU normalizing macro accepts floating point inputs.  You can create your motion sequence in Motion Sequence Builder and than change the speeds manually in the MotionSequence.c file.  

0 Kudos
Reply