Vectrac CNC Knee mill refit from Fanuc 0M to Camsoft

Jim, I sent a letter to DMM, copied you. Go back and look at my graphs, following error is HUGE. Got to be able to do better. I will wait to do tuning again until we can determine optimum settings in DMM
 
The PID is definitely not right somewhere. I don't know if this is a function of the DMM settings or if the Galil PID needs to be tweaked.

EDIT: I looked at the raw data, and the TT voltage is going over 2 V, so not limited. Must be a function of the accel that is the limitation.
 
Last edited:
TL ? gives 9.9987. I see you suggested TE for following error. is this any different than TP - RP that I did?

I totally agree these servos need a much better tuning than I got with the current DMM setting and just using WSDK.
 
TE is TP-RP, so either way works.

I would still like to understand the accel limitation in CamSoft, makes no sense.
 
I asked Camsoft again about Accel and got a better answer. Accel can be set up to the Galil card's max. Decel needs to be 99999 max but can be increased with an initialization setting change. they will send info on how to do this.

My 'REAL JOB' has me swamped right now. I'll make these changes and run the mill a bit. Still think improvements for better performance are needed here.
 
Now we're getting somewhere. :) That makes more sense.
 
Jim has been invaluable with setup on the DMM servo system. lately, he exchanged several emails with the vendor on my behalf, then spent a day testing DMM settings and tuning a servo. His letter, below, is super informative for anyone considering this product on a +/- 10 volt analog control.

OK, I completed my testing.



The goal is two fold, 1) Maximize performance and 2) determine what effect the various DMM parameters have on performance.



Conditions:

DYN4

1.8KW

240V 3Ph input

Torque Mode

Analog Input

Galil DMC-1846 controller

Only tested the ‘’D’’ axis, Live Tooling. This axis can run free without limitation.

Reasonably low mass system.



I tried making minor adjustments to the drive parameters to gauge the effect on performance with out changing my Galil parameters, and noted no changes. So being of the school of; If a small change does nothing then make a big change and see what happens.



Starting Parameters:

DMM Parameters

Main Gain 127

Speed Gain 127

Integration Gain 1

Torque Filter 127

Max Speed 65

Max Acceleration 127

On Position Range 127

GEAR_NUM 4096

LINE_NUM 2000

Driver Status Servo OnPos

Driver ID 0



Then played around with the Galil parameters while watching the following error and stopped position error. I ran these tests in incremental mode using the IP (increment position) command turning the motor about 20 revolutions per increment.



Galil Parameters

SPD=30000

KPD=20

KID=0.0000

KDD=60

ACD=199680

DCD=199680

Using the above settings, the following error was in the range of ~100 pulses, and the stopped position error was ~40




So I adjusted the Galil parameters until the system was stable and very stiff, making changes as I was incrementing the axis.

These are the parameters I ended with. Ignore the speed since it is of course variable, but needed to make sure that the performance was stable at higher speeds.

Ending parameters:

SPD=120000

KPD=120

KID=0.0049

KDD=160

ACD=499712

DCD=499712

Using the above settings, the following error was in the range of -20 pulses, just about perfect, and the stopped position error was +/- 1, 0 is perfect.



Once I was happy with the system performance, I started testing each DMM parameter one at a time, since I started at 127 on all but the Integration Gain (1), I set each of the other parameters to 1, one at a time, and checked the result.



The final test DMM settings were:

Main Gain 1

Speed Gain 1

Integration Gain 1

Torque Filter Constant 1

Max Speed 1

Max Acceleration 1

On Position Range 1

GEAR_NUM 16384

LINE_NUM 2000

Driver Status Servo OnPos

Driver ID 0



There was no difference in the performance with changes to any setting, including Gear Number. I tried setting the Gear Number at 500 and at 16384, no difference noted.



So now we know how to make this system run with a Galil controller in Torque Mode, and how the DMM drive reacts to different settings. The bottom line seems to be that putting the DYN4 into Analog Torque mode makes it a simple transconductance amplifier, in other words, turns it into a complete zombie with no control at all. All of the control is done in the Galil.



Note: The Galil settings above are specific to the dynamics of my Live Tooling drive, and will be different for other controllers and systems. The PID parameters would be way high for older generation (Optima) Galil controllers.



Jim Dawson
James Dawson Controls LLC
 
Ok, several hours of servo tuning to report on...

Set DMM per your letter with line_num of 500.

First, did general tuning with WSDK, got the same type results as before that will give huge following errors. Tried the other methods and cannot get them to run. I think its trying such a low PID, that the servo is not moving at all. see Pic. The software won't let me change start PIDs. Manual tuning is way beyond my abilities.

So, then I tried general tuning with a 1000 pulse step and AC and speed typical for my control. Got WAY HIGHER PIDs. Also ran each axis twice and got huge variability in results. (first run had max KI of 40 and all four runs hit 40) The way this auto tune works, it finds KP and KD, then looks for best KI.

Comments?
 

Attachments

  • AUTO CROSS OVER.JPG
    AUTO CROSS OVER.JPG
    62.4 KB · Views: 3
  • WSDK  X with lower ac and bigger step.JPG
    WSDK X with lower ac and bigger step.JPG
    69.1 KB · Views: 3
  • WSDK  X second run with lower ac and bigger step.JPG
    WSDK X second run with lower ac and bigger step.JPG
    74 KB · Views: 3
  • WSDK  Y with lower ac and bigger step.JPG
    WSDK Y with lower ac and bigger step.JPG
    71.9 KB · Views: 3
  • WSDK  Y second run with lower ac and bigger step.JPG
    WSDK Y second run with lower ac and bigger step.JPG
    66.9 KB · Views: 3
  • WSDK  Z with lower ac and bigger step.JPG
    WSDK Z with lower ac and bigger step.JPG
    72.8 KB · Views: 3
  • WSDK  Z second run with lower ac and bigger step.JPG
    WSDK Z second run with lower ac and bigger step.JPG
    66.6 KB · Views: 5
That's a lot of under/over shoot. I have never seen PID numbers that high before. Normally with 5KW to 20KW Lenze or SEW drives the KP is about 6, the KD is about 20, and KI is always 0, as are the DC drive settings on my mill. The DMM drives do seem to require higher values, you saw mine, 120, 0.0049, and 160 and the system is fiddle string tight.

The ''P'' tightens the system, the ''I'' reduces the following error, and the ''D'' smooths it all out by damping the rate of change. Normally I start with ''P'' at 6, I at 0, and D at 24 (4xP), then just keep bumping P up until the system gets tight. Too much ''P'' and the system will go unstable and oscillate, same with too much ''I''. Add ''D'' as needed.

Is that tuning software part of the CamSoft program? Something is seriously wrong here, I don't know if this is a limitation of your tuning software or what, but what you are showing me makes no sense. I see the accel/decel is still way low, were you not able to adjust that higher?

You may have to load up Galil Tools or one of the other Galil terminal programs to do the tuning, depending on your operating system. Galil Tools will run on Win7/10, Galil Smart Terminal will run on WinXP or Win2000. But as I said, doing that may require reinstalling CamSoft or you may have to uninstall CamSoft before installing the Galil drivers. I don't know anything about CamSoft, and can find no documentation for it.
 
Last edited:
I have a separate hard disk with W7 32 bit, Galil WSDK installed. Pull cable on disk 1 with camsoft and move it to disk 2 with WSDK. I can do a disk 3 and install Tools, cheap version. But my WSDK is the best version, so this is likely a step back.

Camsoft has a max decel of 99999 on 18x0 cards. They suggest the same accel. With a 500 line encoder, I agree that is plenty. There documentation states you should run with as low an accel as you can. That said, AC can be turned up as high as galil allows. The run speed I selected for the test is still 300 IPM, way higher than any cutting speed.

ANYWAY, how do you change PID to get less overshoot???

Servo tuning is a TOTAL MYSTERY to me.
 
Back
Top