On Wednesday 10 February 2021 00:08:41 John Dammeyer wrote:

> Quick question.
>
> There's a multi-axis operation in progress.  For whatever reason one
> of the servos throws out a fault and of course stops.
>
> Should just the enables to the other servo drives be removed or should
> power be cut to all drives.
>
> I'm not really in favour of dropping out power because that would mean
> you also lose the ability to easily recover.  The other drives and
> spindle were working so you really just want them stopped and things
> like coolant shut off.
>
> This isn't the same as an ESTOP which does remove all power that could
> result in motion.  Low voltage control and PC are left running.
>
> For my PMDX-126 BoB my faults are consolidated and brings the PMDX
> /FAULT input low.  That disables the ChargePump which in turn disables
> all outputs including the enable to all the drive.  And the orange
> button beside the red one on the user screen goes greyed out.
>
> After 4 seconds the /FAULT input is once again brought high (inactive)
> and now the orange ENABLE button on the screen (or F2) can be clicked
> which then asserts the ENABLE output to the drives and allows hardware
> to be controlled again.
>
> For my servos taking the ENABLE signal FALSE and then TRUE resets the
> FAULT condition.   If the fault is still there then the /FAULT is
> brought low again. Etc...
>
> What do other systems (including commercial) do when a drive faults on
> one axis.
>
> John
>
Good question John. I only have one servo, the A on the GO704, and my 
cobbled up servo has only the following error as a fault. And a 
following error is cross couppled into resetting f2. From my present 
ini:
===========================================
#********************
# Axis A
#********************
[AXIS_A]
MAX_VELOCITY            = 30.000
MAX_ACCELERATION        = 1500.00

[JOINT_3]
TYPE                    = ANGULAR
HOME                    = 0.0
HOME_SEQUENCE           = 3
HOME_SEARCH_VEL         = 9.0
HOME_LATCH_VEL          = -1.0
HOME_FINAL_VEL          = 30
HOME_OFFSET             = 4.498500
VOLATILE_HOME           = 1
FERROR                  = 0.50
MIN_FERROR              = 0.25
MAX_VELOCITY            = 30.000
MAX_ACCELERATION        = 1500.00
P                       = 6000
I                       = 0.500
D                       = 0.500
FF0                     = 0
FF1                     = 21.5
FF2                     = 0.55
BIAS                    = 0
DEADBAND                = 0.00015
BACKLASH                = .00001
MAX_OUTPUT              = 900.0000
SERVO_SCALE             = 666.6666666666667
PWMGEN_TYPE             = 2
===========================================
And as you can see, running errors allowed are fairly large as I am not 
done tuning. MAX_VELOCITY is restricted to about 4% of what it can do to 
keep the pid from winding up, something the man page says the 900 should 
do but doesn't. So I have to restrict the run vel in order to detect the 
very narrow true condition of the home switch because if I run it any 
faster for SEARCH_VEL, it sails right on by the home switch. At those 
restricted speeds friction stops it short of a null, but the max error 
at stopped is in the .0005 to .0015 degree range. There is also a 
max_decel that is not stated, enforced by the driver because if its 
asked to stop too quick, the reversal of the pwmgen causes excess 
current while the motor is still spinning fwd, crowbaring the 400 watt 
24 volt supply and shutting it down for 2 or 3 minutes while it cools. 
The 6 dollar BTS 7960 based driver runs plumb cold as it can handle 43 
amps.

Like I said, I'm not done tuning yet. Stopping the windup is the next 
thing to do, and I could sure use some advice from servo experts on 
that.

However, if there is anything helpfull here, be my guest John. It for 
instance takes that FF1 to make it cruise at nearly zero error, and the 
P=6000 can't be made much more without oscillating, and that heats the 
motor and psu rapidly.

The SERVO_SCALE was determined by using the home switch as an index, 
recording the count at turn 2, in some extra .hal stuff, running it till 
turn 102 of the BS-1, freezeing the encoder count and subtracting the 
turn 2 count from the turn 102 count, dividing that by 36000 to get 
counts per degree. The motor driveing the BS-1's worm is also a worm 
output so the BS-1 turns rather leasurely. The encoder is in the motor 
and has no index output, designed to run the gate across an estate 
driveway, using about 100 watts to move the gate.

So its working mostly, and I've brought that machine up by replacing it 
box with a faster Dell running buster, and the opencv version of camview 
is working, so getting that calibrated to the new camera is next.

But this continued bad weather is making me want to hibernate, so 
progress is slower than I'd like.

The new scope has arrived, 10" touch screen, 4 trace, 350MHz BW from a 
2gigahertz sampler, sweet but I'm still learning how to run it.

Cheers, Gene Heskett
-- 
"There are four boxes to be used in defense of liberty:
 soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
If we desire respect for the law, we must first make the law respectable.
 - Louis D. Brandeis
Genes Web page <http://geneslinuxbox.net:6309/gene>


_______________________________________________
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to