Low RPM application

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

Low RPM application

跳至解决方案
1,153 次查看
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?

标签 (1)
0 项奖励
1 解答
974 次查看
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 项奖励
3 回复数
975 次查看
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 项奖励
974 次查看
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 项奖励
974 次查看
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 项奖励