Academic Company Events NI Developer Zone Support Solutions Products & Services Contact NI MyNI
This Document is not yet Rated  Rate this Document

Determining the Step Length and Control Loop Update Period for Servo Tune

Primary Software: Driver Software>>NI-Motion/FlexMotion
Primary Software Version: 7.5
Primary Software Fixed Version: N/A
Secondary Software: N/A
Hardware: Motion Control>>Controllers>>PCI-7340, Motion Control>>Controllers>>PCI-7350, Motion Control>>Controllers>>PXI-7340, Motion Control>>Controllers>>PXI-7350

Problem:
I have a NI 7330/7340/7350 motion controller.  I am using it to control a servo motor, but I am having trouble tuning it in the Servo Tune tab in the Measurement & Automation Exploxer (MAX).  In the Servo Tune's Step Response tab, what is the appropriate value for Step Length?  Also, in the Control Loop Settings tab, what is the appropriate value for the Control Loop Update Period?

Solution:


First, here's a general rule on how to pick a good Control Loop Update Period which is set in the Control Loop Settings tab in the Measurement & Automation Explorer (MAX). For slower systems (i.e. load is much larger than the motor), slower (longer) update periods are better. For faster systems (i.e. load is about the same as the motor, or the motor is able to move to load easily), faster (shorter) update periods are better.

Second, when doing your step response in the Servo Tune tab in MAX, it is important to select the correct Step Length.  Generally, you want to set the Step Length to the maximum number of steps your system will go in one control loop update period. To calculate this, see the sample calculation below:

  1. First, determine the maximum velocity your system needs to go (i.e. 1000 revolutions per second)
  2. Calculate the corresponding steps per control loop update period.
    1. If there are 4000 encoder counts per revolution, then your maximum velocity of 1000 rps is equivalent to 4,000,000 counts/s (1000rps * 4000 counts/rev)
    2. If your control loop update period is 62.5 us, then the maximum number of steps (aka counts) per control loop update period your motor will go is 250 steps per control loop update period (4,000,000 counts/sec * .0000625 sec).
  3. Go to the Servo Tune's Step Response tab in MAX, and use this steps per control loop update period (i.e. 250 steps per control loop update period) for your Step Length. Set your PID tuning parameters using this Step Length.

Note: After you are done tuning, if the system response seems too sluggish, you can either try re-tuning it to incorporate more overshoot in the Step Response or you can try re-tuning it using a Step Length that is twice as long as the calculated max number of steps per control loop update period.



Related Links:
Developer Zone: Understanding Servo Tune
KnowledgeBase 4AD9N5P9: A Simple Method for Servo Tune

Attachments:





Report Date: 07/03/2007
Last Updated: 07/21/2007
Document ID: 4B2F4AS4

Your Feedback! poor Poor  |  Excellent excellent   Yes No
 Document Quality? 
 Answered Your Question? 
  1 2 3 4 5
Please Contact NI for all product and support inquiries.submit