Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Firmware 1.6.1.1 and cross coupled gantry
#1
I recently tried to upgrade one of our existing machines running FW ver 1.5.8.0 to 1.6.1.1. The machine uses the cross-coupled gantry algorithm for the Y-axis on a X/Y cartesian gantry system. The motors are brushless servos so the PMAC is closing the current loop. Drives are 2-axis PWM Geo Amps; Axis cards are two-channel Acc24-E3.

The machine has been running fine for the last couple of years using the 1.5.8.0 FW.

When I tried to enable the gantry motors after upgrading to ver 1.6 FW, the drives on the x-coupled gantry would enable, but there was no torque applied to the motors.

When I checked the Motor[x].IqCmd value for the motors running the x-coupled algorithm, they were 0, even when the motors where enabled. It appears that the x-coupled algorithm was not outputting a torque command. This only happened when I tried to close the loop on the gantry motors; ampEna was on, but no torque. Of course as soon as I moved the motors by hand, the PMAC issued an following error and killed the motors.

I verified all the motor hardware was functional; current loop tests ran fine as did any open loop commands.

Am I missing something? Is there a new command/feature that needs to be set in 1.6 (or 2.0) to get the x-coupled algorithm working? I assumed motor settings from 1.5 would run fine in 1.6...

The motors running the standard servo algorithm enabled and ran fine.

I eventually flashed the PMAC back to the 1.5.8.0 FW and the gantry worked fine.

I'd like to upgrade to 1.6 but can't do that if the cross coupled gantry doesn't work. Any suggestions would be appreciated.
Reply
#2
Hi,

Ostensibly, I'm not sure what the issue is, but I am wondering how you have set Motor[x].Ctrl and Motor[x].ExtraMotors for the motors involved in the gantry?
Reply
#3
(05-20-2015, 05:19 PM)CharlesP Wrote: Hi,

Ostensibly, I'm not sure what the issue is, but I am wondering how you have set Motor[x].Ctrl and Motor[x].ExtraMotors for the motors involved in the gantry?

The motor settings carried over from the 1.5.8.0 system where the gantry works fine, but I did check those settings just verify they were correct. In my setup motor 3 is lead and 4 is following. Both Motor[x].Ctrl were set to sys.GantryXCtrl, motor[3].ExtraMotors=1, motor[4].CmdMotor=3.

Even if .Ctrl and ExtraMotors where not set correctly, that would not explain why there was not a torque command to both motors, would it? I would expect to see a torque command to 3 but maybe not 4.

Also, I checked with another engineer here and he saw the same problem with a new PMAC running 1.6 earlier this year. He had to flash it back to 1.5.8 to get the gantry functional. We have about 20 to 30 systems here running PMAC with the x-coupled gantry so we're fairly proficient in setting them up. Our inability to get one setup with the new firmware is a bit baffling.

From the users manual I know adaptive control was added to the x-coupled algorithm in 1.6. Is something there stepping on our gantry setup???
Reply
#4
Some of the default setting of adaptive control gains may be the culprit. I may have seen this before - I will check my notes for details and post anything I find.
Reply
#5
I believe the issue arises from settings other than the newer firmware defaults for the adaptive control gains. Check your configuration for this.
Reply
#6
(05-21-2015, 11:44 AM)steve.milici Wrote: I believe the issue arises from settings other than the newer firmware defaults for the adaptive control gains. Check your configuration for this.

Any hints as to what to look for? I've checked everything that I am familiar with and the settings look normal. What would cause the servo loop to not output a torque command? The machine in question runs the x-coupled gantry fine with FW 1.5.8.0, but not with 1.6.1.1 or 2.0. All the motor settings came from that 1.5 setup.

When I get access to the machine and have time to flash it back to 1.6, I'll double check settings, but admittedly I'll be shooting in the dark since everything seems to be correct.
Reply
#7
Make certain Servo.MinGainFactor and Servo.MaxGainFactor are not zero - the default is 1.0.
Reply
#8
Yes, the root issue is very likely that in 1.6 firmware, each motor uses the AdaptiveCtrl algorithm with its own feedback, which is a superset of the ServoCtrl algorithm used in 1.5 firmware. We had many requests for the capability of adapting the gains of the individual gantry motors as movement of the cross axis transferred the inertial load from one motor to the other.

Our testing showed that if the adaptive control gains were at factory default values, the GantryXCtrl algorithm should work identically in 1.6 to 1.5 (without adaptation active). When you next try this, double check all these gains that are now "in play".

After you get your old performance going, you may want to experiment with the adaptation features.
Reply
#9
Thanks for the info Steve and Curt, I will give these a try when I get a chance.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)