Re: [CAD_CAM_EDM_DRO] Servo Problem
Posted by
Jon Elson
on 2001-02-22 12:30:48 UTC
Imran Jawaid wrote:
too. I have it set up to power up and enable the servo amps when estop comes
off. EMC does not start producing velocity commands until you go to machine
on. The slight DC offset in the DACs and servo amps allows a very slow drift
(about .001"/sec) when in this state. Then, there is a transient when EMC first
closes the servo loop, and the machine jumps a few thousandths of an inch when
it arrests the slight drift. I don't find it much of a problem. This is the trouble
(although really insignificant) with a partially analog - partially digital system.
I don't think you can really get rid of it. Most CNC machines with analog servos
jump a little when the servos are turned on.
ocurrs when in the machine on state, then it is an indication of excessive gain
(or phase lag) in the positioning loop. Turn the P parameter in the .ini file down
to a lower value, and see if it goes away. Most likely, with a 1 KHz servo rate
you would get a 500 Hz oscillation.
If it is quite loud, you really can't run with it like that. It could cook the servo amp
or motor. If it whines in the estop-off state, then it is a problem between the servo
amp and servo motor, and the feedback device that the servo amp uses for sensing
velocity, either a tach or the encoder. You might be able to determine the source of
the problem by damping the system with your hand. A major source of these
troubles can be shaft couplings between the motor and the velocity sensor. They
can have resonances within the bandwidth of the motor and amp. But, you may
have to increase loop compensation or reduce the gain of the servo amp.
the XEMC GUI and the keystick non-gui don't have this quirk. EMC is NOT
missing the counts, it just isn't updating them under certain circumstances.
This may be some code to reduce 'flickering' of the screen display, or
have something to do with the 'de-trashing' of the STG encoder counts.
(There is code in the STGx encoder reading routines to reject values which
are significantly different from those read the last cycle. Instead, it reports
the previously read count. This was needed to cover up occasional transient wild
readings from the original STG card, which would drive high-bandwidth
servo systems crazy.) But, I don't think you could move an encoder fast
enough by hand to trigger this function!
Anyway, I've never seen it fail to take counts when in machine on, but it may
not always update the screen in real time. I think Ray Henry is aware of the
problem, and it only ocurrs with EMC versions from a certain range of dates.
I definitely see it in the May-2000 version I've been doing some development
with.
The proff is in the servo response, however. If it can move the motors
'fast' under servo control, it is definitely keeping correct count where it 'counts',
ie. the servo loop. The screen update is not real time, and is not necessary
for proper motion control.
Jon
> Hi,Is this when you are between estop-off and machine on? My system does this,
> This is my first project.
> I'm running RH6.0, rtl2.2, servos (2.1 amps) connected with
> STG2 with an EMC release of January 2001
>
> well stg2 is runnin' fine with both stg2mod.o & stgmod.o
>
> 1)But the problem come that my servos keep rotating slightly when i
> start my amps to drive signal ?? How do i get rid of this
too. I have it set up to power up and enable the servo amps when estop comes
off. EMC does not start producing velocity commands until you go to machine
on. The slight DC offset in the DACs and servo amps allows a very slow drift
(about .001"/sec) when in this state. Then, there is a transient when EMC first
closes the servo loop, and the machine jumps a few thousandths of an inch when
it arrests the slight drift. I don't find it much of a problem. This is the trouble
(although really insignificant) with a partially analog - partially digital system.
I don't think you can really get rid of it. Most CNC machines with analog servos
jump a little when the servos are turned on.
> Servos also give high pitched noise..Is that normal?If it is very faint, it is an indication of a high-frequency jitter in the loop. If it only
ocurrs when in the machine on state, then it is an indication of excessive gain
(or phase lag) in the positioning loop. Turn the P parameter in the .ini file down
to a lower value, and see if it goes away. Most likely, with a 1 KHz servo rate
you would get a 500 Hz oscillation.
If it is quite loud, you really can't run with it like that. It could cook the servo amp
or motor. If it whines in the estop-off state, then it is a problem between the servo
amp and servo motor, and the feedback device that the servo amp uses for sensing
velocity, either a tach or the encoder. You might be able to determine the source of
the problem by damping the system with your hand. A major source of these
troubles can be shaft couplings between the motor and the velocity sensor. They
can have resonances within the bandwidth of the motor and amp. But, you may
have to increase loop compensation or reduce the gain of the servo amp.
>I've seen this, and it may be due to a quirk in the EMC Tk/EMC GUI. I think
> 2)Another problem is that emc can't keep up with the encoder counts
> fast enough. for example if i rotate the motor axis by hand "Slowly"
> it counts , but doesnot count if i move the motor axis "faster"
> But in Dos proggy suplied by Stg , encoder countes runs fine & very
> fast & does not lose the counts
the XEMC GUI and the keystick non-gui don't have this quirk. EMC is NOT
missing the counts, it just isn't updating them under certain circumstances.
This may be some code to reduce 'flickering' of the screen display, or
have something to do with the 'de-trashing' of the STG encoder counts.
(There is code in the STGx encoder reading routines to reject values which
are significantly different from those read the last cycle. Instead, it reports
the previously read count. This was needed to cover up occasional transient wild
readings from the original STG card, which would drive high-bandwidth
servo systems crazy.) But, I don't think you could move an encoder fast
enough by hand to trigger this function!
Anyway, I've never seen it fail to take counts when in machine on, but it may
not always update the screen in real time. I think Ray Henry is aware of the
problem, and it only ocurrs with EMC versions from a certain range of dates.
I definitely see it in the May-2000 version I've been doing some development
with.
The proff is in the servo response, however. If it can move the motors
'fast' under servo control, it is definitely keeping correct count where it 'counts',
ie. the servo loop. The screen update is not real time, and is not necessary
for proper motion control.
Jon
Discussion Thread
Imran Jawaid
2001-02-22 08:25:45 UTC
Servo Problem
Jon Elson
2001-02-22 12:30:48 UTC
Re: [CAD_CAM_EDM_DRO] Servo Problem