On Thursday 17 June 2021 12:17:51 John Dammeyer wrote:

> > From: andy pugh [mailto:[email protected]]
> >
> > On Wed, 16 Jun 2021 at 13:37, suraj kumar 
<[email protected]> wrote:
> > > I see, I have to set the maximum velocity and acceleration in ini
> > > file at more than one place, like in [DISPLAY], [TRAJ], [AXIS_X],
> > > [JOINT_0]. I can also see in [JOINT_0], I need to set two times,
> > > one for Max velocity and acceleration and another for STEPGEN
> > > MAXVEL and MAXACCEL (25% larger than MAX_VELOCITY and
> > > MAX_ACCELERATION).
> >
> > They all do slightly different things.
> >
> > Starting with the stepgens: The stepgen modules (both software and
> > fpga versions) have internal limits on velocity and acceleration.
> > You can set these to zero and no limits are applied.
> > The reason for this is so that it is possible to connect a stepgen
> > to a stepper motor and pass position/velocity commands _without_
> > passing the command through a trajectory planner. A GUI, for
> > example, can pass a new position to the stepgen position command and
> > the internal limits will mean that the motor will accelerate
> > smoothly to position and stop.
> > If a system is configured with backlash compensation then the
> > stepgen limits need to exist too.
> >
> > Then there are the joint and axis limits. These are often exactly
> > the same with a cartesian machine, but are not the same thing when
> > the kinematics is more complicated.
> >
> > The [DISPLAY] section sets how high the sliders are allowed to go
> > that set the velocities. You might want to have these different to
> > the actual machine hardware limits.
> >
> > And the [TRAJ] limits are the limits foro tool-point velocity in
> > multi-axis motion, which can be significantly higher than for a
> > single axis.
> >
> > --
> > atp
>
> I have a follow up question to Andy's answer.  I recall Peter Wallace
> (I think it was Peter) mentioning that the PID wasn't needed for
> stepper drives but would be needed for a PWM driven spindle with
> encoder feedback.  So for stepper motor or servo drives driven with
> their own closed loop controller these aren't needed?
>
> addf pid.x.do-pid-calcs       servo-thread
> addf pid.y.do-pid-calcs       servo-thread
> addf pid.z.do-pid-calcs       servo-thread
> addf pid.a.do-pid-calcs       servo-thread
>
> And therefore lines like this can also be removed?
>
> #*******************
> #  AXIS X
> #*******************
> setp   pid.x.Pgain     [JOINT_0]P
> setp   pid.x.Igain     [JOINT_0]I
> setp   pid.x.Dgain     [JOINT_0]D
> setp   pid.x.bias      [JOINT_0]BIAS
> setp   pid.x.FF0       [JOINT_0]FF0
> setp   pid.x.FF1       [JOINT_0]FF1
> setp   pid.x.FF2       [JOINT_0]FF2
> setp   pid.x.deadband  [JOINT_0]DEADBAND
> setp   pid.x.maxoutput [JOINT_0]MAX_OUTPUT
> setp   pid.x.error-previous-target true
>
> net x-index-enable  <=> pid.x.index-enable
> net x-enable        =>  pid.x.enable
> net x-pos-cmd       =>  pid.x.command
> net x-pos-fb        =>  pid.x.feedback
> net x-output        =>  pid.x.output
>
> Especially since the pid.x.___ aren't used anywhere else?
>
> Have I got it right?
> Thanks
> Joihn

Pretty much John.  I still have 2 machines that do use PID's but its only 
because I'm too lazy to reconfigure them. 

Look at it this way:

If you have an encoder attached to an axis, and you are using the encoder 
to stiffen the speed regulation, then you do need the PID to serve as 
the summing point.

But if the only thing the encoder is doing is driving a tach in your gui, 
or tieing a rigid tapping ability together then you don't need the pid. 
For instance, if using a vfd for a lathe spindle, the vfd will as long 
as it has enough power, run the motor within 5% of its commanded speed 
without a PID, If there is an encoder, it is probably not used for 
feedback, but only for rigid tapping or other G33 distance per turn 
modes.

My Sheldon lathe has a vfd, controlled by a mesa SpinX1, and even then 
its only used for rigid tapping or any other G33 related mode.

My TLM OTOH, does have a PID because its a PMDC motor being run by one of 
the Pico PWM-Servo's.  Speed regulation is excellent, perhaps 1 rpm from 
no load to peeling a 1/16" square chip off a steel bar.

My 6040 has a vfd, but no encoder, so I drive a tach from the rpm output 
of the vfd's interface. It of course doesn't have a heuvo's to tap 
anything bigger than a 0-80 so its never been attempted.

My G0704 also has a PMDC spindle, so its a carbon copy of TLM's spindle 
but can rigid tap.  And it has a PID since the motors are copies of each 
other.

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
[email protected]
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to