Hi Matthew,
First of all, how are your drives configured? Is the step/direction
commanding position to the drives or velocity? If you are using position
(the most common with step/dir) all of your PID tuning should be done in
the drive. Do you have feedback to LCNC from the encoders?
Les
On 28/06/2021 01:07, Matthew Herd wrote:
Hi All,
It’s been a long time, but I finally got my servos mounted on my mill today.
While attemping to tune them I encountered great frustration. I have 1kW
Yaskawa clone AC servo motors and drives that accept step and direction signals
and provide encoder feedback which is currently interfaced to the Pico Systems
USC board. I set the acceleration and velocity values in my ini file to what I
thought were plausible and set the ferror to 1. I was able to move the axes
successfully, so I started tuning the X axis (joint 0). That proved to be a
debacle. I attempted to tune by turning P up until it oscillated, backing off
to 60%, then tuning FF1. Although P could be tuned effectively, no amount of
FF1 made any difference. Typical performance was that ferror increased as long
as I held the jog button at a speed of 60 IPM. Then I started increasing the
max velocity for Axis X to nearly double the max velocity for Joint 0. This
finally caused the ferror to stabilize while jogging and I was able to tune FF1
to achieve an ferror of around 0.002 during steady state moves. I had some
substantial oscillations at start and stop, but overall much improved. I
presume the ferror values is in inches since I’m using inches for my machine
units. I turned up the jog speed to ~120IPM and tweaked FF1 a bit further,
ending up at 17. The ferror remained ~0.002. I then turned up the jog speed
to 250IPM and the ferror was completely unstable. The machine doesn’t seem to
be accelerating as quickly as I’d expect, and tuning seems to be extremely
challenging. Extended jogs tend to result in the machine moving awhile after I
release the button and ferror is all over the place (except below 120IPM with
the settings below). My ini data is copied below. It’s derived from the
sample config for the USC board. Given all this, I have a few questions.
What is a reasonable acceleration value for a Bridgeport BOSS5 (Series 1 type
factory CNC machine) with 1kW 5Nm AC servos? Are my accelerations too low?
Raising them by orders of magnitude seemed to have no effect. I freely admit
I’ve been too lazy to try to calculate it.
Why do I seem to need so much headroom on the Axis X max velocity over the
Joint 0 max velocity? I thought this was supposed to be 5-25%, but that was
insufficient too allow FF1 to have any impact.
Does the "PID_MAX_VEL" parameter do anything?
Is my ferror the actual encoder feedback or is it the ferror from the step
generator? I’m trying to determine if the control loop in the drive is in need
of additional tuning and not sure how to identify which loop is the problem.
I.e. LinuxCNC’s control loop or the drive control loop?
What is a good strategy for finding the max acceleration and tuning the drives?
Thanks in advance for your input!
Matt
My Actual INI below:
# First axis
[AXIS_X]
MIN_LIMIT = -0.20
MAX_LIMIT = 17.80
MAX_VELOCITY = 15.0
MAX_ACCELERATION = 15
[JOINT_0]
TYPE = LINEAR
HOME = 0.000
MAX_VELOCITY = 8.33
MAX_ACCELERATION = 10.0
PID_MAX_VEL = 150
BACKLASH = 0.000
# INPUT_SCALE sets the resolution of the encoder in user units
# for instance a 500 line encoder directly connected to a 5 TPI leadscrew
# would give 500 * 4 (for quadrature) * 5 = 10000
INPUT_SCALE = -50000
# OUTPUT_SCALE sets the resolution of the step generator
# for a Gecko320 with no pulse multiplier, it should be the same magnitude
# as INPUT_SCALE, but the arithmetic sign might need to be opposite
# if it runs away.
# if you have an encoder on a stepper motor, then this should be calculated
# by number of (micro)steps/rev X the leadscrew pitch, and may not match the
# INPUT_SCALE.
OUTPUT_SCALE = -12500
MIN_LIMIT = -0.20
MAX_LIMIT = 17.80
FERROR = 01.010
MIN_FERROR = 1.001
HOME_OFFSET = -0.10
HOME_SEARCH_VEL = -0.160
HOME_LATCH_VEL = -0.02
HOME_USE_INDEX = YES
HOME_IGNORE_LIMITS = NO
DEADBAND = 0.000126
P = 1200
I = 0
D = 0
BIAS = 0
FF0 = 0
FF1 = 17
FF2 = 0
_______________________________________________
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users
_______________________________________________
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users