Re: [Emc-users] simple servo amplifier

2010-09-16 Thread Stuart Stevenson
Gentlemen,
  I have another question/problem. The EMC2 will not move the machine faster
than 100 ipm. I have changed the max everything to high numbers and still
get only 100 ipm. It seems as if the limit again is knowledge/intelligence.
:)
  I disconnected the signal to the DAC output and set the DAC value using
setp. The machine moves fast and smooth. What is limiting my EMC2 output? I
will tune it again when I get the speed to where it needs to be.
  I timed the move. 40 inches takes 24 seconds. The machine is moving the
exact velocity the touchy status shows.
again - the latest file is here
http://www.mpm1.com:8080/machines/enshu/enshu.ini

having some fun now
thanks
Stuart
-- 
dos centavos
--
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing.
http://p.sf.net/sfu/novell-sfdev2dev
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] simple servo amplifier

2010-09-16 Thread Chris Radek
On Thu, Sep 16, 2010 at 08:24:00AM -0500, Stuart Stevenson wrote:
 Gentlemen,
   I have another question/problem. The EMC2 will not move the machine faster
 than 100 ipm. I have changed the max everything to high numbers and still

On touchy's right side is a MV button - that is max velocity, you will
see it is set to 100 - poke that and turn the wheel to increase it.

Wheel control over MV is my favorite tool for proofing programs.

--
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing.
http://p.sf.net/sfu/novell-sfdev2dev
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] simple servo amplifier

2010-09-16 Thread Stuart Stevenson
OOOK - I assumed it represented 100% - I hadn't paid any attention to
that.
Is there a way to set a max limit or set a default?
thanks :)
Stuart

On Thu, Sep 16, 2010 at 8:53 AM, Chris Radek ch...@timeguy.com wrote:

 On Thu, Sep 16, 2010 at 08:24:00AM -0500, Stuart Stevenson wrote:
  Gentlemen,
I have another question/problem. The EMC2 will not move the machine
 faster
  than 100 ipm. I have changed the max everything to high numbers and still

 On touchy's right side is a MV button - that is max velocity, you will
 see it is set to 100 - poke that and turn the wheel to increase it.

 Wheel control over MV is my favorite tool for proofing programs.


 --
 Start uncovering the many advantages of virtual appliances
 and start using them to simplify application deployment and
 accelerate your shift to cloud computing.
 http://p.sf.net/sfu/novell-sfdev2dev
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users




-- 
dos centavos
--
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing.
http://p.sf.net/sfu/novell-sfdev2dev
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] simple servo amplifier

2010-09-16 Thread Jon Elson
Stuart Stevenson wrote:
 Gentlemen,
   I have another question/problem. The EMC2 will not move the machine faster
 than 100 ipm. I have changed the max everything to high numbers and still
 get only 100 ipm. It seems as if the limit again is knowledge/intelligence.
   
Well, PID_MAX_VEL = 30, and OUTPUT_SCALE = 2.0, so if I understand this 
right,
that sends values up to +/- 15 to the DAC.  The DAC, however, cannot produce
output greater than +/- 10 V, so the rest of that range will flattop at 
10 V.
If I'm right about these calculations, that is very undesirable.  I'd 
change OUTPUT_SCALE
to 3.0 to keep the voltage output within the +/- 10 V range.  Then, you 
may have to re-tweak
the tunings a bit, like raise PID and FFx by 50%.

Jon

--
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing.
http://p.sf.net/sfu/novell-sfdev2dev
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] simple servo amplifier

2010-09-16 Thread Chris Radek
On Thu, Sep 16, 2010 at 10:14:00AM -0500, Stuart Stevenson wrote:

 OOOK - I assumed it represented 100% - I hadn't paid any attention to
 that.
 Is there a way to set a max limit or set a default?


Currently both those features are unimplemented...

It might also be nice if it were saved across sessions with the
other preferences.

--
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing.
http://p.sf.net/sfu/novell-sfdev2dev
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] simple servo amplifier

2010-09-15 Thread Andy Pugh
On 15 September 2010 02:50, Stuart Stevenson stus...@gmail.com wrote:

 Gentlemen,
  The servo amps on the Enshu have different accel/decel shapes. The
 PID.output trace has a sharp corner to it. The trace raises a little and
 then turns almost straight up. The decel trace is MUCH more rounded. Does
 this sound like an amplifier problem?

Do you have braking resistors? Is it possibly just that it can suck
more power out of the mains than it can dump?


-- 
atp

--
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing.
http://p.sf.net/sfu/novell-sfdev2dev
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] simple servo amplifier

2010-09-15 Thread Stuart Stevenson
On Wed, Sep 15, 2010 at 12:07 AM, Jon Elson el...@pico-systems.com wrote:

 Stuart Stevenson wrote:
  Gentlemen,
The servo amps on the Enshu have different accel/decel shapes. The
  PID.output trace has a sharp corner to it. The trace raises a little and
  then turns almost straight up. The decel trace is MUCH more rounded. Does
  this sound like an amplifier problem?
 
 Not necessarily.  It may just be a symptom of friction.  During
 acceleration, the motor
 is not only accelerating the mass, it is also fighting the friction of
 the slide, both have the same
 mathematical sign.  On deceleration, it must fight the mass of the
 table, which exactly
 mirrors the accel condition, BUT the friction is now of opposite sign,
 and is HELPING
 the deceleration.  So, you can't perfectly optimize FF2 to cover both
 conditions.

once again pictures trump words - my explanation was not correct as you will
see
the acce/decel look the same but the beginning and ending phases of each are
not balanced
and the trace is the axis following error not the PID.output - I should have
said PID.error and axis following error - I had looked at the output trace
so that must have been stuck in one of the holes in my head


 I wouldn't look at the PID.output, but just at following error, and set
 FF2 to balance
 the error of the two situations.  If you have large discontinuities at
 the accel/decel
 time, then you may have to reduce acceleration in the .ini file, you may
 be asking for
 too much accel.
I am thinking it would be possible to convert this Fanuc amp to a
 simple
  amp by fooling the tach feedback. This servo amp accepts the encoder
  feedback on two terminals and converts these two signals into a tach
 voltage
  for comparison to the velocity signal. Would it be possible to do one of
 two
  things to convert it to a simple amp with no tuning to the motor.
I think the best way would be to find where the chip ouputs the
 matching
  tach voltage and connect the velocity signal voltage at that point. The
 amp
  would think the motor is following the signal perfectly and require no
  output adjustment.
 
 Well, I happen to think a real velocity servo amp is just about
 unbeatable.  It does require
 some more tuning than some other systems, but can be expected to perform
 better under
 a wide variety of conditions.

so far in my world a Fanuc servo system is about as real as you can get
I don't think it is any better than what EMC can do and maybe not as good
and certainly not (by me) as adjustable.
I have no way of adjusting any parameters on these amps. There are some pots
and jumpers.
Does anyone know how to change the parameters without using a Fanuc control?
Does anyone have the information explaining the jumpers and pots? I have
some information about the pots but nothing about the jumpers.


  or
I could use an ADC to accept the velocity signal and generate an
 encoder
  pulse to match what would be seen as feedback from the motor.
Either way this feedback would be perfectly matched to the input.
EMC2's tuning would then have complete and total control of the servo
  motor (axis motion)
 Not sure how an analog-digital converter would be used here.  More
 likely, you'd need


This Fanuc servo system has a servo amp that accepts:
an analog velocity signal from the control
digital signals to close the loop from the motor - an encoder on the motor
sends pulses to the servo and the control
The Fanuc servo motor has no tach.

I propose using an ADC to convert the analog velocity signal to a pseudo
encoder pulse to replace the motor feedback.
I think this would remove the tuning from the servo amp as the amp would see
the motor as perfectly following the velocity signal at all times.
Even better would be to shunt the velocity signal directly to the tach
signal the chip on the control generates.
Even better would be to disable the internal tuning by shifting jumpers.
Maybe (I am not sure) better would be to have a procedure to tune the amps
and motors as a unit. This may be better but I don't like it as well as any
of my other thoughts.

a digital to analog converter to produce the simulated tach signal.
 But, most servo amps
 can be converted to torque mode, usually by pulling a jumper that
 bypasses the
 velocity error amp.  But, I still feel that a velocity servo with a real
 tach should work
 well, and you need a VERY high resolution encoder to move smoothly
 without a tach.

 Maybe you could post the trace you are concerned about.

pictures are here
http://www.mpm1.com:8080/machines/enshu

there are pictures of all three axes both positive and negative moves
thanks
Stuart

-- 
dos centavos
--
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing.
http://p.sf.net/sfu/novell-sfdev2dev

Re: [Emc-users] simple servo amplifier

2010-09-15 Thread Stuart Stevenson
I forgot to mention the files in the enshu directory with the pictures are
the current files the machine is configured with.

thanks
Stuart

-- 
dos centavos
--
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing.
http://p.sf.net/sfu/novell-sfdev2dev
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] simple servo amplifier

2010-09-15 Thread Chris Radek
On Wed, Sep 15, 2010 at 08:22:41AM -0500, Stuart Stevenson wrote:
 pictures are here
 http://www.mpm1.com:8080/machines/enshu
 
 there are pictures of all three axes both positive and negative moves

It looks like the axes can't accelerate as fast as you are requesting.

It seems like they have about half the acceleration you request.  It
looks like 10 or 12 instead of 20 will work (althought that seems
pretty sluggish)

Was this a snappy machine or was it a bit on the sluggish side?


--
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing.
http://p.sf.net/sfu/novell-sfdev2dev
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] simple servo amplifier

2010-09-15 Thread Chris Radek
On Wed, Sep 15, 2010 at 09:07:28AM -0500, Chris Radek wrote:
 
 It looks like the axes can't accelerate as fast as you are requesting.

After looking at it again, this comment is wrong.


The problem is that your tuning is completely wrong for velocity
mode.  With P only, you're commanding a velocity proportional to the
position error.  This is not at all what you want.  

Setting this up is a little tricky.  Your amps probably have their
gain set so that something around 9v is the rapid speed for the axis.
You need to set your ppmc dac scaling so a commanded rapid velocity
(in inches/second) gives this 9 volts.

Looks like on ppmc, duty cycle = value / scale.  So with value 8
(rapid speed from your ini) if you want duty cycle 0.9 your scale
should be 8.89.

Then you should set FF1 = 1 to make the pid output equal to the
commanded velocity (plus or minus the adjustments that will come
from P and D as you settle on a good tuning.)

Once you have your scale set correctly you will get better following
but there will probably be a little steady following error that is
proportional to the velocity.  You can adjust this by adjusting FF1,
scale, or (my preference) the tach gain knob on the amp.  This will
fine tune that 9 volts to be your rapid speed.  Everything else will
fall into place then.

Chris

--
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing.
http://p.sf.net/sfu/novell-sfdev2dev
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] simple servo amplifier

2010-09-15 Thread Stuart Stevenson
Chris,
  I have tried all sorts of combinations of tuning. I set this to be the
simplest and show what I am seeing. Nothing I have done has changed the
general shape of the traces.
  I will see what I can do with your instructions.
thanks
Stuart

On Wed, Sep 15, 2010 at 9:26 AM, Chris Radek ch...@timeguy.com wrote:

 On Wed, Sep 15, 2010 at 09:07:28AM -0500, Chris Radek wrote:
 
  It looks like the axes can't accelerate as fast as you are requesting.

 After looking at it again, this comment is wrong.


 The problem is that your tuning is completely wrong for velocity
 mode.  With P only, you're commanding a velocity proportional to the
 position error.  This is not at all what you want.

 Setting this up is a little tricky.  Your amps probably have their
 gain set so that something around 9v is the rapid speed for the axis.
 You need to set your ppmc dac scaling so a commanded rapid velocity
 (in inches/second) gives this 9 volts.

 Looks like on ppmc, duty cycle = value / scale.  So with value 8
 (rapid speed from your ini) if you want duty cycle 0.9 your scale
 should be 8.89.

 Then you should set FF1 = 1 to make the pid output equal to the
 commanded velocity (plus or minus the adjustments that will come
 from P and D as you settle on a good tuning.)

 Once you have your scale set correctly you will get better following
 but there will probably be a little steady following error that is
 proportional to the velocity.  You can adjust this by adjusting FF1,
 scale, or (my preference) the tach gain knob on the amp.  This will
 fine tune that 9 volts to be your rapid speed.  Everything else will
 fall into place then.

 Chris


 --
 Start uncovering the many advantages of virtual appliances
 and start using them to simplify application deployment and
 accelerate your shift to cloud computing.
 http://p.sf.net/sfu/novell-sfdev2dev
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users




-- 
dos centavos
--
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing.
http://p.sf.net/sfu/novell-sfdev2dev
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] simple servo amplifier

2010-09-15 Thread Stuart Stevenson
Gentlemen,

http://www.mpm1.com:8080/machines/enshu/Screenshot.png
  This is set up with Pgain = 10, FF1 = 1 and scale = 8.89.
  I have tried Pgain = 0 - got no PID output
   Pgain = 100 - got a little better
   Pgain = 300 - not much better but didn't feel as good

The accel side looks much better but as I increase P I start to see sharp
points and flats on the curve.
I think I want to reach symmetry? How to do that?
thanks
Stuart


-- 
dos centavos
--
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing.
http://p.sf.net/sfu/novell-sfdev2dev
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] simple servo amplifier

2010-09-15 Thread Dave
Stuart:

Didn't Cradek just do this?? ... the tach simulation with some Mesa 
controls on his Mori Jr mill?

So your drives do not require the commutation signals that on some Fanuc 
systems was derrived from the encoder on the motor via the controls??

I never really fully understood the Fanuc commutation dilemma as I don't 
have any Fanuc equipped machines.  Skyko used to sell a little converter 
board that would make the commutation signals for a Fanuc drive based on 
the rotor position that
was detected by the motor encoder.

I know that was an issue on some retrofits.

Dave

On 9/15/2010 9:22 AM, Stuart Stevenson wrote:
 On Wed, Sep 15, 2010 at 12:07 AM, Jon Elsonel...@pico-systems.com  wrote:


 Stuart Stevenson wrote:
  
 Gentlemen,
The servo amps on the Enshu have different accel/decel shapes. The
 PID.output trace has a sharp corner to it. The trace raises a little and
 then turns almost straight up. The decel trace is MUCH more rounded. Does
 this sound like an amplifier problem?


 Not necessarily.  It may just be a symptom of friction.  During
 acceleration, the motor
 is not only accelerating the mass, it is also fighting the friction of
 the slide, both have the same
 mathematical sign.  On deceleration, it must fight the mass of the
 table, which exactly
 mirrors the accel condition, BUT the friction is now of opposite sign,
 and is HELPING
 the deceleration.  So, you can't perfectly optimize FF2 to cover both
 conditions.

  
 once again pictures trump words - my explanation was not correct as you will
 see
 the acce/decel look the same but the beginning and ending phases of each are
 not balanced
 and the trace is the axis following error not the PID.output - I should have
 said PID.error and axis following error - I had looked at the output trace
 so that must have been stuck in one of the holes in my head


 I wouldn't look at the PID.output, but just at following error, and set
 FF2 to balance
 the error of the two situations.  If you have large discontinuities at
 the accel/decel
 time, then you may have to reduce acceleration in the .ini file, you may
 be asking for
 too much accel.
  
I am thinking it would be possible to convert this Fanuc amp to a

 simple
  
 amp by fooling the tach feedback. This servo amp accepts the encoder
 feedback on two terminals and converts these two signals into a tach

 voltage
  
 for comparison to the velocity signal. Would it be possible to do one of

 two
  
 things to convert it to a simple amp with no tuning to the motor.
I think the best way would be to find where the chip ouputs the

 matching
  
 tach voltage and connect the velocity signal voltage at that point. The

 amp
  
 would think the motor is following the signal perfectly and require no
 output adjustment.


 Well, I happen to think a real velocity servo amp is just about
 unbeatable.  It does require
 some more tuning than some other systems, but can be expected to perform
 better under
 a wide variety of conditions.

  
 so far in my world a Fanuc servo system is about as real as you can get
 I don't think it is any better than what EMC can do and maybe not as good
 and certainly not (by me) as adjustable.
 I have no way of adjusting any parameters on these amps. There are some pots
 and jumpers.
 Does anyone know how to change the parameters without using a Fanuc control?
 Does anyone have the information explaining the jumpers and pots? I have
 some information about the pots but nothing about the jumpers.



 or
I could use an ADC to accept the velocity signal and generate an

 encoder
  
 pulse to match what would be seen as feedback from the motor.
Either way this feedback would be perfectly matched to the input.
EMC2's tuning would then have complete and total control of the servo
 motor (axis motion)

 Not sure how an analog-digital converter would be used here.  More
 likely, you'd need

  
 This Fanuc servo system has a servo amp that accepts:
 an analog velocity signal from the control
 digital signals to close the loop from the motor - an encoder on the motor
 sends pulses to the servo and the control
 The Fanuc servo motor has no tach.

 I propose using an ADC to convert the analog velocity signal to a pseudo
 encoder pulse to replace the motor feedback.
 I think this would remove the tuning from the servo amp as the amp would see
 the motor as perfectly following the velocity signal at all times.
 Even better would be to shunt the velocity signal directly to the tach
 signal the chip on the control generates.
 Even better would be to disable the internal tuning by shifting jumpers.
 Maybe (I am not sure) better would be to have a procedure to tune the amps
 and motors as a unit. This may be better but I don't like it as well as any
 of my other thoughts.

 a digital to analog converter to produce the simulated tach 

Re: [Emc-users] simple servo amplifier

2010-09-15 Thread Jon Elson
Stuart,

 From your .ini file :
MAX_VELOCITY = 12 or 15 inches/second?  That is 720 or 900 IPM.
Can the machine really do that?  You don't show pid.0.output, it would be
useful to see if the PID output is saturating.  (It probably is.)
I think Chris is right, the servo, at least set up the way it is, is not 
able
to deliver such acceleration.
20 inch/second^2 sounds like a lot of accel to me, but then I'm not that 
familiar
with high-end machines.  There may be an option that changes the current 
limit
of the servo amps in different modes, like turns up the permitted 
torque/current
limit after homing is complete.  You might check the motor current when the
servo is accelerating to see if it is at the rated peak current for the 
motor.

Jon

--
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing.
http://p.sf.net/sfu/novell-sfdev2dev
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] simple servo amplifier

2010-09-15 Thread Stuart Stevenson
On Wed, Sep 15, 2010 at 12:24 PM, Dave e...@dc9.tzo.com wrote:

 Stuart:

 Didn't Cradek just do this?? ... the tach simulation with some Mesa
 controls on his Mori Jr mill?

 So your drives do not require the commutation signals that on some Fanuc
 systems was derrived from the encoder on the motor via the controls??

these drives do derive the tach signal from an encoder on the motor


 I never really fully understood the Fanuc commutation dilemma as I don't
 have any Fanuc equipped machines.  Skyko used to sell a little converter
 board that would make the commutation signals for a Fanuc drive based on
 the rotor position that
 was detected by the motor encoder.

 I know that was an issue on some retrofits.

 Dave

 On 9/15/2010 9:22 AM, Stuart Stevenson wrote:
  On Wed, Sep 15, 2010 at 12:07 AM, Jon Elsonel...@pico-systems.com
  wrote:
 
 
  Stuart Stevenson wrote:
 
  Gentlemen,
 The servo amps on the Enshu have different accel/decel shapes. The
  PID.output trace has a sharp corner to it. The trace raises a little
 and
  then turns almost straight up. The decel trace is MUCH more rounded.
 Does
  this sound like an amplifier problem?
 
 
  Not necessarily.  It may just be a symptom of friction.  During
  acceleration, the motor
  is not only accelerating the mass, it is also fighting the friction of
  the slide, both have the same
  mathematical sign.  On deceleration, it must fight the mass of the
  table, which exactly
  mirrors the accel condition, BUT the friction is now of opposite sign,
  and is HELPING
  the deceleration.  So, you can't perfectly optimize FF2 to cover both
  conditions.
 
 
  once again pictures trump words - my explanation was not correct as you
 will
  see
  the acce/decel look the same but the beginning and ending phases of each
 are
  not balanced
  and the trace is the axis following error not the PID.output - I should
 have
  said PID.error and axis following error - I had looked at the output
 trace
  so that must have been stuck in one of the holes in my head
 
 
  I wouldn't look at the PID.output, but just at following error, and set
  FF2 to balance
  the error of the two situations.  If you have large discontinuities at
  the accel/decel
  time, then you may have to reduce acceleration in the .ini file, you may
  be asking for
  too much accel.
 
 I am thinking it would be possible to convert this Fanuc amp to a
 
  simple
 
  amp by fooling the tach feedback. This servo amp accepts the encoder
  feedback on two terminals and converts these two signals into a tach
 
  voltage
 
  for comparison to the velocity signal. Would it be possible to do one
 of
 
  two
 
  things to convert it to a simple amp with no tuning to the motor.
 I think the best way would be to find where the chip ouputs the
 
  matching
 
  tach voltage and connect the velocity signal voltage at that point. The
 
  amp
 
  would think the motor is following the signal perfectly and require no
  output adjustment.
 
 
  Well, I happen to think a real velocity servo amp is just about
  unbeatable.  It does require
  some more tuning than some other systems, but can be expected to perform
  better under
  a wide variety of conditions.
 
 
  so far in my world a Fanuc servo system is about as real as you can get
  I don't think it is any better than what EMC can do and maybe not as good
  and certainly not (by me) as adjustable.
  I have no way of adjusting any parameters on these amps. There are some
 pots
  and jumpers.
  Does anyone know how to change the parameters without using a Fanuc
 control?
  Does anyone have the information explaining the jumpers and pots? I have
  some information about the pots but nothing about the jumpers.
 
 
 
  or
 I could use an ADC to accept the velocity signal and generate an
 
  encoder
 
  pulse to match what would be seen as feedback from the motor.
 Either way this feedback would be perfectly matched to the input.
 EMC2's tuning would then have complete and total control of the
 servo
  motor (axis motion)
 
  Not sure how an analog-digital converter would be used here.  More
  likely, you'd need
 
 
  This Fanuc servo system has a servo amp that accepts:
  an analog velocity signal from the control
  digital signals to close the loop from the motor - an encoder on the
 motor
  sends pulses to the servo and the control
  The Fanuc servo motor has no tach.
 
  I propose using an ADC to convert the analog velocity signal to a pseudo
  encoder pulse to replace the motor feedback.
  I think this would remove the tuning from the servo amp as the amp would
 see
  the motor as perfectly following the velocity signal at all times.
  Even better would be to shunt the velocity signal directly to the tach
  signal the chip on the control generates.
  Even better would be to disable the internal tuning by shifting jumpers.
  Maybe (I am not sure) better would be to have a procedure to tune the
 amps
  and motors as a unit. This may be better but 

Re: [Emc-users] simple servo amplifier

2010-09-15 Thread Stuart Stevenson
the max velocity for the latest scope picture is 8 and the DAC scale is 8.89
the machine was moving at 400 ipm with the original control
8 is the result of many attempts up/down to cause a difference in the
feedback
I just happened to stop with 8 as the number. This would be 480 ipm. I don't
necessarily expect the machine to do this but it should be capable of doing
VERY close to 480 ipm.

On Wed, Sep 15, 2010 at 12:31 PM, Jon Elson el...@pico-systems.com wrote:

 Stuart,

  From your .ini file :
 MAX_VELOCITY = 12 or 15 inches/second?  That is 720 or 900 IPM.
 Can the machine really do that?  You don't show pid.0.output, it would be
 useful to see if the PID output is saturating.  (It probably is.)
 I think Chris is right, the servo, at least set up the way it is, is not
 able
 to deliver such acceleration.
 20 inch/second^2 sounds like a lot of accel to me, but then I'm not that
 familiar
 with high-end machines.  There may be an option that changes the current
 limit
 of the servo amps in different modes, like turns up the permitted
 torque/current
 limit after homing is complete.  You might check the motor current when the
 servo is accelerating to see if it is at the rated peak current for the
 motor.

 Jon


 --
 Start uncovering the many advantages of virtual appliances
 and start using them to simplify application deployment and
 accelerate your shift to cloud computing.
 http://p.sf.net/sfu/novell-sfdev2dev
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users




-- 
dos centavos
--
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing.
http://p.sf.net/sfu/novell-sfdev2dev
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] simple servo amplifier

2010-09-15 Thread Chris Radek
On Wed, Sep 15, 2010 at 12:16:40PM -0500, Stuart Stevenson wrote:
 Gentlemen,
 
 http://www.mpm1.com:8080/machines/enshu/Screenshot.png
   This is set up with Pgain = 10, FF1 = 1 and scale = 8.89.
   I have tried Pgain = 0 - got no PID output
Pgain = 100 - got a little better
Pgain = 300 - not much better but didn't feel as good
 
 The accel side looks much better but as I increase P I start to see sharp
 points and flats on the curve.
 I think I want to reach symmetry? How to do that?
 thanks
 Stuart
 

It doesn't look at all right to me.  Unless the machine was very
sluggish originally, the accel you are getting here seems really low.

Could you update the ini and hal files online?  The ini still says
OUTPUT_SCALE 1.0 - is that the one you changed to 8.89?

In this screenshot the axis starts decelerating halfway through your
1 move, which is about when EMC thinks it's already at the endpoint.
Something is still grossly wrong with dac/pid scaling/maxoutput or amp
settings; you're not yet into the realm of where tweaks to tuning
numbers will fix it.

Can you put a voltmeter on the amp's velocity input and see if you're
getting near 10v when you command a rapid?  If you have it set the way
I suggested, and all is working right, you should see about 9 volts.

If it's 0.9 or some other number, you've got a smoking gun.  I think
it should be working a LOT better than this.

--
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing.
http://p.sf.net/sfu/novell-sfdev2dev
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] simple servo amplifier

2010-09-15 Thread Belli Button
Hi Stuart,

Do you have some part numbers for these drives?


- Original Message - 
From: Stuart Stevenson stus...@gmail.com
To: Enhanced Machine Controller (EMC) emc-users@lists.sourceforge.net
Sent: Wednesday, September 15, 2010 3:22 PM
Subject: Re: [Emc-users] simple servo amplifier


 On Wed, Sep 15, 2010 at 12:07 AM, Jon Elson el...@pico-systems.com 
 wrote:

 Stuart Stevenson wrote:
  Gentlemen,
The servo amps on the Enshu have different accel/decel shapes. The
  PID.output trace has a sharp corner to it. The trace raises a little 
  and
  then turns almost straight up. The decel trace is MUCH more rounded. 
  Does
  this sound like an amplifier problem?
 
 Not necessarily.  It may just be a symptom of friction.  During
 acceleration, the motor
 is not only accelerating the mass, it is also fighting the friction of
 the slide, both have the same
 mathematical sign.  On deceleration, it must fight the mass of the
 table, which exactly
 mirrors the accel condition, BUT the friction is now of opposite sign,
 and is HELPING
 the deceleration.  So, you can't perfectly optimize FF2 to cover both
 conditions.

 once again pictures trump words - my explanation was not correct as you 
 will
 see
 the acce/decel look the same but the beginning and ending phases of each 
 are
 not balanced
 and the trace is the axis following error not the PID.output - I should 
 have
 said PID.error and axis following error - I had looked at the output trace
 so that must have been stuck in one of the holes in my head


 I wouldn't look at the PID.output, but just at following error, and set
 FF2 to balance
 the error of the two situations.  If you have large discontinuities at
 the accel/decel
 time, then you may have to reduce acceleration in the .ini file, you may
 be asking for
 too much accel.
I am thinking it would be possible to convert this Fanuc amp to a
 simple
  amp by fooling the tach feedback. This servo amp accepts the encoder
  feedback on two terminals and converts these two signals into a tach
 voltage
  for comparison to the velocity signal. Would it be possible to do one 
  of
 two
  things to convert it to a simple amp with no tuning to the motor.
I think the best way would be to find where the chip ouputs the
 matching
  tach voltage and connect the velocity signal voltage at that point. The
 amp
  would think the motor is following the signal perfectly and require no
  output adjustment.
 
 Well, I happen to think a real velocity servo amp is just about
 unbeatable.  It does require
 some more tuning than some other systems, but can be expected to perform
 better under
 a wide variety of conditions.

 so far in my world a Fanuc servo system is about as real as you can get
 I don't think it is any better than what EMC can do and maybe not as good
 and certainly not (by me) as adjustable.
 I have no way of adjusting any parameters on these amps. There are some 
 pots
 and jumpers.
 Does anyone know how to change the parameters without using a Fanuc 
 control?
 Does anyone have the information explaining the jumpers and pots? I have
 some information about the pots but nothing about the jumpers.


  or
I could use an ADC to accept the velocity signal and generate an
 encoder
  pulse to match what would be seen as feedback from the motor.
Either way this feedback would be perfectly matched to the input.
EMC2's tuning would then have complete and total control of the servo
  motor (axis motion)
 Not sure how an analog-digital converter would be used here.  More
 likely, you'd need


 This Fanuc servo system has a servo amp that accepts:
 an analog velocity signal from the control
 digital signals to close the loop from the motor - an encoder on the motor
 sends pulses to the servo and the control
 The Fanuc servo motor has no tach.

 I propose using an ADC to convert the analog velocity signal to a pseudo
 encoder pulse to replace the motor feedback.
 I think this would remove the tuning from the servo amp as the amp would 
 see
 the motor as perfectly following the velocity signal at all times.
 Even better would be to shunt the velocity signal directly to the tach
 signal the chip on the control generates.
 Even better would be to disable the internal tuning by shifting jumpers.
 Maybe (I am not sure) better would be to have a procedure to tune the amps
 and motors as a unit. This may be better but I don't like it as well as 
 any
 of my other thoughts.

 a digital to analog converter to produce the simulated tach signal.
 But, most servo amps
 can be converted to torque mode, usually by pulling a jumper that
 bypasses the
 velocity error amp.  But, I still feel that a velocity servo with a real
 tach should work
 well, and you need a VERY high resolution encoder to move smoothly
 without a tach.

 Maybe you could post the trace you are concerned about.

 pictures are here
 http://www.mpm1.com:8080/machines/enshu

 there are pictures of all three axes both positive

Re: [Emc-users] simple servo amplifier

2010-09-15 Thread Stuart Stevenson
On Wed, Sep 15, 2010 at 1:53 PM, Chris Radek ch...@timeguy.com wrote:

 On Wed, Sep 15, 2010 at 12:16:40PM -0500, Stuart Stevenson wrote:
  Gentlemen,
 
  http://www.mpm1.com:8080/machines/enshu/Screenshot.png
This is set up with Pgain = 10, FF1 = 1 and scale = 8.89.
I have tried Pgain = 0 - got no PID output
 Pgain = 100 - got a little better
 Pgain = 300 - not much better but didn't feel as good
 
  The accel side looks much better but as I increase P I start to see sharp
  points and flats on the curve.
  I think I want to reach symmetry? How to do that?
  thanks
  Stuart
 

 It doesn't look at all right to me.  Unless the machine was very
 sluggish originally, the accel you are getting here seems really low.

 Could you update the ini and hal files online?  The ini still says
 OUTPUT_SCALE 1.0 - is that the one you changed to 8.89?

will do - should be there within 5 minutes


 In this screenshot the axis starts decelerating halfway through your
 1 move, which is about when EMC thinks it's already at the endpoint.
 Something is still grossly wrong with dac/pid scaling/maxoutput or amp
 settings; you're not yet into the realm of where tweaks to tuning
 numbers will fix it.

 Can you put a voltmeter on the amp's velocity input and see if you're
 getting near 10v when you command a rapid?  If you have it set the way
 I suggested, and all is working right, you should see about 9 volts.

just got back from lunch - this is the very next thing I will do


 If it's 0.9 or some other number, you've got a smoking gun.  I think
 it should be working a LOT better than this.


 --
 Start uncovering the many advantages of virtual appliances
 and start using them to simplify application deployment and
 accelerate your shift to cloud computing.
 http://p.sf.net/sfu/novell-sfdev2dev
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users




-- 
dos centavos
--
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing.
http://p.sf.net/sfu/novell-sfdev2dev
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] simple servo amplifier

2010-09-15 Thread Stuart Stevenson
On Wed, Sep 15, 2010 at 2:08 PM, Belli Button be...@iafrica.com wrote:

 Hi Stuart,

 Do you have some part numbers for these drives?

p/n's are in this file
http://www.mpm1.com:8080/machines/enshu/enshu.txt





-- 
dos centavos
--
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing.
http://p.sf.net/sfu/novell-sfdev2dev
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] simple servo amplifier

2010-09-15 Thread Chris Radek
On Wed, Sep 15, 2010 at 12:42:55PM -0500, Jon Elson wrote:
 The PPMC
 driver takes a +/- 1.0 value and multiplies it by 10 to give a +/- 10 V 
 output range.

Are you sure?  I was looking at the pwmgen code earlier instead of the
dac code (not sure how these differ) and I *think* pwmgen full scale
value at the hal input pin is +-1 and dac full scale value at the hal
input pin is +-10.

I think this means the scale I suggested is off by a factor of 10
(should have been 0.889 instead of 8.89).  Here's the relevant code
from the ppmc driver:

  volts = *(pg-value) / pg-scale;
  dc = (long) (((volts / 10.0) * 0x7FFF)+0x8000);

Confusingly, I think we have

PPMC: 
output in volts = value / scale

Hostmot2: 
output in volts = 10 * (value / scale)

STG:
output in volts = (value - offset) * scale

VTI:
output in volts = (value - offset) * scale

Motenc:
output in volts = (value - offset) * scale

(yay, I guess a few of them match)


HAL Canonical analog output: 
output in volts = scale * value + offset
or maybe the documentation means this (not sure):
output in volts = scale * (value + offset)


(HAL docs are from the time machine):
http://www.linuxcnc.org/docs/2.1/html/hal/general_ref/index.html


--
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing.
http://p.sf.net/sfu/novell-sfdev2dev
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] simple servo amplifier

2010-09-15 Thread Stuart Stevenson
Hi,
  I checked the DAC output - it was .889 - I changed the scale from 8.89 to
.889 - the response was back to just like before.
  The config files to match this picture are available
  The latest picture is;
http://www.mpm1.com:8080/machines/enshu/Screenshot-1.png
thanks
Stuart


-- 
dos centavos
--
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing.
http://p.sf.net/sfu/novell-sfdev2dev
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] simple servo amplifier

2010-09-15 Thread Chris Radek
On Wed, Sep 15, 2010 at 03:32:31PM -0500, Stuart Stevenson wrote:
 Hi,
   I checked the DAC output - it was .889 - I changed the scale from 8.89 to
 .889 - the response was back to just like before.
   The config files to match this picture are available
   The latest picture is;
 http://www.mpm1.com:8080/machines/enshu/Screenshot-1.png


Now THAT looks like something you can work with!

Chris

--
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing.
http://p.sf.net/sfu/novell-sfdev2dev
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] simple servo amplifier

2010-09-15 Thread Chris Radek
On Wed, Sep 15, 2010 at 04:08:31PM -0500, Chris Radek wrote:
 On Wed, Sep 15, 2010 at 03:32:31PM -0500, Stuart Stevenson wrote:
  Hi,
I checked the DAC output - it was .889 - I changed the scale from 8.89 to
  .889 - the response was back to just like before.
The config files to match this picture are available
The latest picture is;
  http://www.mpm1.com:8080/machines/enshu/Screenshot-1.png


I notice one thing - you've got steady state negative error while
stopped before the move, and steady positive error afterward.  It
looks like you are trying to correct this with I gain.  I have found
that doesn't work very well in velocity mode.

Instead you might try leaving I at zero.  If there's steady state
error while stopped, try eliminating it with the offset adjustment on
the amp.  On the prefs tab, put touchy's DRO in feedback mode and in
MDI command a move to a round number like G0 X1.  Then adjust the
offset on the amp until the DRO says 1..

In fact if you put touchy's DRO in mm/feedback you'll get three
decimal places which will show you precisely every count on your
micron-scale encoders and you can set it for 25.400.

See if this gives you better results than I gain.  It might make
your ferror even flatter.  Looks like you already have really good
results.

(why is your scale set weird?  the screws can't be off that far can
they?  that's .002 per inch!)

Chris

--
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing.
http://p.sf.net/sfu/novell-sfdev2dev
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] simple servo amplifier

2010-09-15 Thread Stuart Stevenson
On Wed, Sep 15, 2010 at 5:34 PM, Chris Radek ch...@timeguy.com wrote:

 On Wed, Sep 15, 2010 at 04:08:31PM -0500, Chris Radek wrote:
  On Wed, Sep 15, 2010 at 03:32:31PM -0500, Stuart Stevenson wrote:
   Hi,
 I checked the DAC output - it was .889 - I changed the scale from
 8.89 to
   .889 - the response was back to just like before.
 The config files to match this picture are available
 The latest picture is;
   http://www.mpm1.com:8080/machines/enshu/Screenshot-1.png


 I notice one thing - you've got steady state negative error while
 stopped before the move, and steady positive error afterward.  It
 looks like you are trying to correct this with I gain.  I have found
 that doesn't work very well in velocity mode.

 Instead you might try leaving I at zero.  If there's steady state
 error while stopped, try eliminating it with the offset adjustment on
 the amp.  On the prefs tab, put touchy's DRO in feedback mode and in
 MDI command a move to a round number like G0 X1.  Then adjust the
 offset on the amp until the DRO says 1..


 In fact if you put touchy's DRO in mm/feedback you'll get three
 decimal places which will show you precisely every count on your
 micron-scale encoders and you can set it for 25.400.

I will try that.


 See if this gives you better results than I gain.  It might make
 your ferror even flatter.  Looks like you already have really good
 results.

 (why is your scale set weird?  the screws can't be off that far can
 they?  that's .002 per inch!)

this is the count needed to correct the motion with a 1 inch dial indicator
after tuning I will use the laser tracker to do a fine adjust and maybe lead
screw comp
I have noticed zero backlash in the screws so far
thanks
Stuart

-- 
dos centavos
--
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing.
http://p.sf.net/sfu/novell-sfdev2dev
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] simple servo amplifier

2010-09-15 Thread Jon Elson
Stuart Stevenson wrote:
 Hi,
   I checked the DAC output - it was .889 - I changed the scale from 8.89 to
 .889 - the response was back to just like before.
   The config files to match this picture are available
   The latest picture is;
 http://www.mpm1.com:8080/machines/enshu/Screenshot-1.png
   
OK, that is a servo response, what you had before was very close to an 
open-loop
system!  What did you do?  I know that OUTPUT_SCALE = 8.89 was totally 
wrong,
but the difference between 1.0 and 0.889 is not a big change, you must 
have done
something else, maybe turn up P?

Jon

--
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing.
http://p.sf.net/sfu/novell-sfdev2dev
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] simple servo amplifier

2010-09-15 Thread Stuart Stevenson
The tuning numbers are in
http://www.mpm1.com:8080/machines/enshu/enshu.ini

as you will see the FF1 number is close to 1
I started with FF1 = 1 and P = 10

I still think I would get a better tune if I cancelled the tuning in the
servo amp.
Then my tuning numbers would make sense as I would not be tuning to control
a tuned system.

On Wed, Sep 15, 2010 at 10:07 PM, Jon Elson el...@pico-systems.com wrote:

 Stuart Stevenson wrote:
  Hi,
I checked the DAC output - it was .889 - I changed the scale from 8.89
 to
  .889 - the response was back to just like before.
The config files to match this picture are available
The latest picture is;
  http://www.mpm1.com:8080/machines/enshu/Screenshot-1.png
 
 OK, that is a servo response, what you had before was very close to an
 open-loop
 system!  What did you do?  I know that OUTPUT_SCALE = 8.89 was totally
 wrong,
 but the difference between 1.0 and 0.889 is not a big change, you must
 have done
 something else, maybe turn up P?

 Jon


 --
 Start uncovering the many advantages of virtual appliances
 and start using them to simplify application deployment and
 accelerate your shift to cloud computing.
 http://p.sf.net/sfu/novell-sfdev2dev
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users




-- 
dos centavos
--
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing.
http://p.sf.net/sfu/novell-sfdev2dev
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] simple servo amplifier

2010-09-15 Thread Jon Elson
Chris Radek wrote:
 On Wed, Sep 15, 2010 at 12:42:55PM -0500, Jon Elson wrote:
   
 The PPMC
 driver takes a +/- 1.0 value and multiplies it by 10 to give a +/- 10 V 
 output range.
 

 Are you sure?  I was looking at the pwmgen code earlier instead of the
 dac code (not sure how these differ)
Well, quite a lot, in some regards.
  and I *think* pwmgen full scale
 value at the hal input pin is +-1 and dac full scale value at the hal
 input pin is +-10.
   
Yes, probably all historical, (or is that hysterical), and it looks like 
you are right.
Might be a big problem to change it now, maybe better to just document the
discrepancies.
 I think this means the scale I suggested is off by a factor of 10
 (should have been 0.889 instead of 8.89).  Here's the relevant code
 from the ppmc driver:

   volts = *(pg-value) / pg-scale;
   dc = (long) (((volts / 10.0) * 0x7FFF)+0x8000);

 Confusingly, I think we have

 PPMC: 
   output in volts = value / scale

 Hostmot2: 
   output in volts = 10 * (value / scale)

 STG:
   output in volts = (value - offset) * scale
   
So, basically, it follows the STG code, which was the only analog servo driver

when the PPMC was developed.  So, it is perfectly consistent with that.

Now, if you use the OUTPUT_SCALE of 0.889, and PID is limited to +/- 1.0 
as the
maximum range, it will limit the DAC output to +/-1.12 V.  Is this 
reasoning right?
The limit of the PID output is set by parameter pid.n.maxoutput which is 
set (in my
sample files) by ini parameter PID_MAXVEL, not a really accurate 
description.
I have it set to 12.0, which also looks wrong!

Ah, but so you need to set the pid.n.maxoutput to 10.0 if you want to 
get 10 V out of the
DAC, or you can set pid.n.maxoutput to 1.0 and then set OUTPUT_SCALE to 0.1
Hmmm, neither of these is totally self-explanatory, is it?
Documenting some of this crap would help, though.  I am painfully aware 
that compared
to some of the other documentation on hal drivers, the PPMC is AWFULLY 
terse.
You must know this as you are using the source IS the documentation.

Jon

--
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing.
http://p.sf.net/sfu/novell-sfdev2dev
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] simple servo amplifier

2010-09-15 Thread Chris Radek
On Wed, Sep 15, 2010 at 10:21:03PM -0500, Jon Elson wrote:
 
 Now, if you use the OUTPUT_SCALE of 0.889, and PID is limited to +/- 1.0 
 as the
 maximum range, it will limit the DAC output to +/-1.12 V.  Is this 
 reasoning right?

Yes I think so.  That's why Stuart S has his pid maxoutput set to 8,
which is the same as the machine's maxvel.  That lets pid units be
real world units inches/sec.

It turns out he could have used scales of 1 all the way through and
set his amp gains so 1 volt = 1 inch/sec and his numbers would have
been really simple.  But in general that's not going to work well
unless you happen to have an 8 or 9 inch/sec machine.

Mine is about that speed too, and I *did* adjust the amps so the dacs
are 1v = 1ips.  I have an OUTPUT_SCALE of 10 (because of the mesa full
scale being +-1 instead of +-10 at the hal pin).  I have pid maxoutput
of 10.  My tunings are P=300 D=2 FF1=1 and the fine adjustment of tach
gain and dac offset were just done with the amp knobs.  I have
excellent response and following with acceleration at 35.

 The limit of the PID output is set by parameter pid.n.maxoutput which is 
 set (in my
 sample files) by ini parameter PID_MAXVEL, not a really accurate 
 description.
 I have it set to 12.0, which also looks wrong!

Yeah I wondered in his case whether it should be set to some number
slightly higher than the machine maxvel for some headroom.  Or maybe
to whatever number allows up to 10 at the dac.  Maybe a separate
setting is better for that reason.

It's tempting to leave it unset (unlimited) to give people one less
number to worry about, but you can get integrator windup forever then.

 Ah, but so you need to set the pid.n.maxoutput to 10.0 if you want to 
 get 10 V out of the
 DAC, or you can set pid.n.maxoutput to 1.0 and then set OUTPUT_SCALE to 0.1
 Hmmm, neither of these is totally self-explanatory, is it?
 Documenting some of this crap would help, though.  I am painfully aware 
 that compared
 to some of the other documentation on hal drivers, the PPMC is AWFULLY 
 terse.

It would be nice to have good documentation for how a velocity mode
setup should work.  I have gone through it with several people - I
don't think it's written anywhere.  People think they are overly
complicated, but dang they give unbeatable results once they're set
up.  If you start with a tuned working velocity loop like Stuart S
has on his running machine, you can't go wrong.

 You must know this as you are using the source IS the documentation.

Yep, you're not kidding.

Chris

--
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing.
http://p.sf.net/sfu/novell-sfdev2dev
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] simple servo amplifier

2010-09-15 Thread Jon Elson
Stuart Stevenson wrote:
 The tuning numbers are in
 http://www.mpm1.com:8080/machines/enshu/enshu.ini

 as you will see the FF1 number is close to 1
 I started with FF1 = 1 and P = 10

 I still think I would get a better tune if I cancelled the tuning in the
 servo amp.
 Then my tuning numbers would make sense as I would not be tuning to control
 a tuned system.
   
Hmmm, well, maybe.  Yes, trying to set up a positioning loop outside one 
of those
digital autotune servo amps can become complicated by the servo amp's 
own tuning.
On the other hand, some of those fancy servo amps can deliver totally 
amazing performance.

Jon

--
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing.
http://p.sf.net/sfu/novell-sfdev2dev
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] simple servo amplifier

2010-09-15 Thread Jon Elson
Chris Radek wrote:
 Yes I think so.  That's why Stuart S has his pid maxoutput set to 8,
 which is the same as the machine's maxvel.  That lets pid units be
 real world units inches/sec.

   
Yes, this way of setting it up is starting to make sense (after only 10 
years of
making everything conform to 10 V as the nominal engineering unit).
 It turns out he could have used scales of 1 all the way through and
 set his amp gains so 1 volt = 1 inch/sec and his numbers would have
 been really simple.  But in general that's not going to work well
 unless you happen to have an 8 or 9 inch/sec machine.

 Mine is about that speed too, and I *did* adjust the amps so the dacs
 are 1v = 1ips.  I have an OUTPUT_SCALE of 10 (because of the mesa full
 scale being +-1 instead of +-10 at the hal pin).  I have pid maxoutput
 of 10.  My tunings are P=300 D=2 FF1=1 and the fine adjustment of tach
 gain and dac offset were just done with the amp knobs.  I have
 excellent response and following with acceleration at 35.
   
Nice!  I think my servo amps (and motors) are way too wimpy, but I'm envious
of that acceleration.
   
 The limit of the PID output is set by parameter pid.n.maxoutput which is 
 set (in my
 sample files) by ini parameter PID_MAXVEL, not a really accurate 
 description.
 I have it set to 12.0, which also looks wrong!
 

 Yeah I wondered in his case whether it should be set to some number
 slightly higher than the machine maxvel for some headroom.  Or maybe
 to whatever number allows up to 10 at the dac.  Maybe a separate
 setting is better for that reason.

   
Yes, if the PID output ever maxes out, it does really horrible things to 
loop stability.
You get integral windup as well as just going open-loop for a moment.  
The recovery is
very abrupt and discontinuous.
 It's tempting to leave it unset (unlimited) to give people one less
 number to worry about, but you can get integrator windup forever then.
   
Exactly.

 It would be nice to have good documentation for how a velocity mode
 setup should work.  I have gone through it with several people - I
 don't think it's written anywhere.  People think they are overly
 complicated, but dang they give unbeatable results once they're set
 up.  If you start with a tuned working velocity loop like Stuart S
 has on his running machine, you can't go wrong.

   
Yes, I've been trying to tell Igor this for some time.  I guess he's 
never SEEN a properly-tuned
velocity servo.  Sometimes in my shop I'd demo this by shutting off the 
EMC positioning loop
and trying to deflect the servo.  It was amazing how well the velocity 
loop would resist outside
forces.
 You must know this as you are using the source IS the documentation.
 

 Yep, you're not kidding.
   
Well, I really do intend to add some documentation to the PPMC driver, 
but I'm up to my
eyeballs now in nuclear gear manufacturing, and that pays a lot better 
than the EMC
stuff.

I could do a new Wiki tuning page that specifically goes over velocity 
servos, and
use my Bridgeport as the test case.  It is only a bit atypical.  I had 
no IDEA what
bandwidth was appropriate, and was starting with some class-D audio amp 
designs,
so ended up putting WAY too much bandwidth in them, they start to roll 
off at
1 KHz.  Testing with a signal generator, they gave good response out to 
10 KHz,
using the motors as speakers.  Also, the whole axis drive system on my 
Bridgeport
conversion is too weak, it is adapted from an Excellon PC board drilling 
machine,
which moved a small aluminum table on air bearing sliders.  So, I keep 
the acceleration
at 3 inch/sec^2 to keep from snapping timing belts.
Still, I think it could produce representative scope traces of the 
likely situations and
what to do to fix each symptom.  Most of what I have on my tuning page 
now is
reasonably apropos, although not an analytical approach.  Voltage amps 
roughly
simulate a sloppy velocity servo.


Jon

--
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing.
http://p.sf.net/sfu/novell-sfdev2dev
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] simple servo amplifier

2010-09-14 Thread Jon Elson
Stuart Stevenson wrote:
 Gentlemen,
   The servo amps on the Enshu have different accel/decel shapes. The
 PID.output trace has a sharp corner to it. The trace raises a little and
 then turns almost straight up. The decel trace is MUCH more rounded. Does
 this sound like an amplifier problem?
   
Not necessarily.  It may just be a symptom of friction.  During 
acceleration, the motor
is not only accelerating the mass, it is also fighting the friction of 
the slide, both have the same
mathematical sign.  On deceleration, it must fight the mass of the 
table, which exactly
mirrors the accel condition, BUT the friction is now of opposite sign, 
and is HELPING
the deceleration.  So, you can't perfectly optimize FF2 to cover both 
conditions.

I wouldn't look at the PID.output, but just at following error, and set 
FF2 to balance
the error of the two situations.  If you have large discontinuities at 
the accel/decel
time, then you may have to reduce acceleration in the .ini file, you may 
be asking for
too much accel.
   I am thinking it would be possible to convert this Fanuc amp to a simple
 amp by fooling the tach feedback. This servo amp accepts the encoder
 feedback on two terminals and converts these two signals into a tach voltage
 for comparison to the velocity signal. Would it be possible to do one of two
 things to convert it to a simple amp with no tuning to the motor.
   I think the best way would be to find where the chip ouputs the matching
 tach voltage and connect the velocity signal voltage at that point. The amp
 would think the motor is following the signal perfectly and require no
 output adjustment.
   
Well, I happen to think a real velocity servo amp is just about 
unbeatable.  It does require
some more tuning than some other systems, but can be expected to perform 
better under
a wide variety of conditions.
 or
   I could use an ADC to accept the velocity signal and generate an encoder
 pulse to match what would be seen as feedback from the motor.
   Either way this feedback would be perfectly matched to the input.
   EMC2's tuning would then have complete and total control of the servo
 motor (axis motion)
Not sure how an analog-digital converter would be used here.  More 
likely, you'd need
a digital to analog converter to produce the simulated tach signal.  
But, most servo amps
can be converted to torque mode, usually by pulling a jumper that 
bypasses the
velocity error amp.  But, I still feel that a velocity servo with a real 
tach should work
well, and you need a VERY high resolution encoder to move smoothly 
without a tach.

Maybe you could post the trace you are concerned about.

Jon

--
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing.
http://p.sf.net/sfu/novell-sfdev2dev
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users