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