NEWS
LinuxCNC 2.5.2 Release
LinuxCNC 2.5.2 Update Released (changelog).
 
LinuxCNC 2.5.1 Release

LinuxCNC 2.5.1 Update Released (changelog). If the Package Manager does not prompt you to upgrade see this page.

 
LinuxCNC 2.5.0 Release
New major release (changelog). See the instructions to update your system from EMC 2.4 to LinuxCNC 2.5.
 
Home Forum Hardware & Machines Driver Boards Mesa 5I20 and loop sample time

Welcome, Guest
Username: Password: Remember me
  • Page:
  • 1
  • 2

TOPIC: Mesa 5I20 and loop sample time

Re:Mesa 5I20 and loop sample time 03 Jan 2012 01:28 #16239

  • Zig
  • Zig's Avatar
  • OFFLINE
  • Expert Boarder
  • Posts: 139
  • Karma: 1
After some thought I think the question points to effects of

BASE_PERIOD =
SERVO_PERIOD =
TRAJ_PERIOD =

on the performance of 5i20 loop.

How do the above coefficients interact with the 5i20 servo loop and given certain performance parameters how to set above coefficients ?
The administrator has disabled public write access.

Re:Mesa 5I20 and loop sample time 03 Jan 2012 02:33 #16241

  • cmorley
  • cmorley's Avatar
  • OFFLINE
  • Moderator
  • Posts: 1520
  • Thank you received: 41
  • Karma: 89
From the manual:

BASE_PERIOD = 50000 - This is the "Base" task period (in HAL), in nanoseconds. This is the fastest thread in the machine.

Note
On servo-based systems, there is generally no reason for BASE_PERIOD to be smaller than SERVO_PERIOD. On machines with software step generation, the BASE_PERIOD determines the maximum number of steps per second. In the absence of long step length and step space requirements, the absolute maximum step rate is one step per BASE_PERIOD. Thus, the BASE_PERIOD shown above gives an absolute maximum step rate of 20,000 steps per second. 50,000 ns (50 us) is a fairly conservative value. The smallest usable value is related to the Latency Test result, the necessary step length, and the processor speed. Choosing a BASE_PERIOD that is too low can lead to the "Unexpected real time delay" message, lockups, or spontaneous reboots.


SERVO_PERIOD = 1000000 - This is the "Servo" task period (in HAL), in nanoseconds. This value will be rounded to an integer multiple of BASE_PERIOD. This value is used even on systems based on stepper motors.

This is the rate at which new motor positions are computed, following error is checked, PID output values are updated, and so on. Most systems will not need to change this value. It is the update rate of the low level motion planner.

TRAJ_PERIOD = 100000 - This is the "Trajectory Planner" task period (in HAL), in nanoseconds. This value will be rounded to an integer multiple of SERVO_PERIOD. Except for machines with unusual kinematics (e.g., hexapods) there is no reason to make this value larger than SERVO_PERIOD.


With a hardware card like the Mesa 5i20 the most import one is the SERVO thread as you probably don't need the BASE thread as the 5i20 is doing the fast work.

Lowering the servo period will make the calculations happen more often and allow less time for non realtime programs (eg EMC's screen controls)
calculating more often make the system more responsive to feedback. I believe its called bandwidth .
For most servo systems with velocity amplifiers, the 1KHz (1000000ns) period is recommend.
If using torque controlling amps, linear motors, or motor commutation with EMC for instance I have seen 5 KHz (200000ns) recommended

I'm sure someone more knowledgeable will add to this but what would help the most is:
What are you trying to improve?
The administrator has disabled public write access.

Re:Mesa 5I20 and loop sample time 03 Jan 2012 03:01 #16245

  • Zig
  • Zig's Avatar
  • OFFLINE
  • Expert Boarder
  • Posts: 139
  • Karma: 1
Hello Cris,

Thanks for Your comments.

As I said, initially I came across this loop refresh coefficient in setting up a new ( old one failed) servo amp on a gantry mlil. The replacement unit i had in stock and hoped it would be a one for one change over.
That was not the case, the firmware had changed and this is when I was made aware of some of the effects of changing the loop refresh rate.

I am running some iron cored linear motors using meas5i20.
Machine is working fine. It could do with higher acceleration and of late the laser source was changed to a slightly higher output model.

So now I could do with increased velocity as well.

I think , judging from Your comments I could possibly reduce the servo period. ( this is in line with the experience with the other servo amp)

Presently the acceleration is set to 2500mm/s/s and velocity is set to 9000mm/min

The results are acceptable but I would like to increase acceleration and top speed somewhat. ( somewhat means speed up to 12000mm/min in line with the new laser capability and process energy density requirement and acceleration to a higher stable value)

So given above speed and acceleration and given that the axes use a 20 micron quadrature linear glass scales do You have a gut feeling for what the loop time or servo period ought to be.
The administrator has disabled public write access.

Re:Mesa 5I20 and loop sample time 10 Feb 2012 15:25 #17587

  • Zig
  • Zig's Avatar
  • OFFLINE
  • Expert Boarder
  • Posts: 139
  • Karma: 1
Well the last six .. seven weeks have bee a dificult time.

I have had to replace the old Tek 6 step direction servo components with a combination of

5I20 / 7I33 cards along with AMC servo amps BE12A6. This was all to do with the differences in firmware between original Te 6 and current version on the spare unit I have.

The more recent units are optimised to work with at higher speeds ( encoder pulse rates) which triggered the original question at the start of this thread; what is optimum servo period and associated numerical noise in the control loop.

The new set-up is configured in the best of Mesa 5I20 tradition; PDM modulation at 6MHz clock rate feeding servo amps with secondary rotary shaft encoders CUI Inc AM 102 on the motors to close the velocity loop ( set to 2040 pulses per revolution) .
% micron linear encoders are used to close the Positional loop.

The whole set-up is quite stiff and nowhere near as hissy ( due to high derivative feedback required to stabilise a high proportional gain setting) as the previous set up.

It was also amasing to see the feed forward components come into play. There was not much joy due to FF0 coefficient but FF1 and FF2 nulled the following error quite happily at 600 mm/min velocity setting.

The axis move extremely smoothly and I expect great performance from the machine.

I have only one little problem to resolve on the X axis. The axis performance is a bit direction sensitive and I suspect the alignment of hall sensors is the next onion skin to peel.

The people at Anaheim Automation ( suppliers of the motors ) have advised to measure no load current of the motor and adjust the position of hall sensors to minimise no load current .

More on that as it develops.


For the time being thanks go to all kind and concerned members of the forum.
The administrator has disabled public write access.
  • Page:
  • 1
  • 2
Moderators: PCW, jmelson
Time to create page: 1.511 seconds
Powered by Kunena Forum
© 2013 LinuxCNC.org
Joomla! is Free Software released under the GNU General Public License.