The first thing to do is increase the allowable following error to a large enough number you can experiment with the PID values. Then start tweaking P and then D etc per the above protocol. You will be able to adjust for/in either control loop mode. On Apr 5, 2012 11:06 PM, "Peter C. Wallace" <p...@mesanet.com> wrote:
> On Thu, 5 Apr 2012, lloyd wilson wrote: > > > Date: Thu, 05 Apr 2012 20:32:27 -0400 > > From: lloyd wilson <llwilso...@rochester.rr.com> > > Reply-To: "Enhanced Machine Controller (EMC)" > > <emc-users@lists.sourceforge.net> > > To: Emc mail list <emc-users@lists.sourceforge.net> > > Subject: [Emc-users] torque-velocity questions > > > > We are investigating using my favorite cnc controller for an application > > which will require as much stiffness as we can arrange; websearching > > suggests that torque mode rather than velocity mode is preferrred in > > such applications. We are using a Pico PPMC interface set to mediate > > between the computer and a Parker Aries amp/motor combination (+/- 10v > > control input, 2000 line encoder, vendor rep loaded any requisite motor > > parameters into the amp). We finally have the system so it doesn't > > immediately fault on a following error, but only in velocity mode; we've > > been totally unable to generate a set of PID parameters that are viable > > when the amp is set to torque mode. Ergo, it's guru time- > > > > 1 - is there some inherent incompatibility between Linux CNC and torque > > mode servos? > > No, but a torque mode PID loop is also responsible for velocity control. > This > is handled by a separate high speed loop in your drive when your drive is > in > velocity mode. A Torque mode PID loop often needs to to run at a higher > sample > rate than a PID loop controlling a velocity mode drive. That is to say > LinuxCNCs 1 KHz default servo thread rate may be marginal for a torque mode > drive (not enough phase margin for the D term). > > Also because a torque mode PID control loop depends so much on the D term, > its > helpful if the velocity feedback is a good as possible. I'm pretty sure the > PPMC has velocity estimation (as opposed to plain old crunchy dp/dt) in > its encoder counter/driver, but you need to connect the velocity estimate > to > the feedback-deriv pin on the PID component to make use of this better > velocity feedback. > > > 2- is there some deeply buried config parameter that needs to be > changed? > > Not that I know of (other that using the velocity estimate instead of the > PID > comps default dp/dt) but torque mode PID tuning is different and > somewhat tougher to do that velocity mode tuning (IMHO). > > > 3- can somebody point us to a strategy specifically oriented to tuning > > torque mode servos? > > Well I'm sure there are some good tuning tutorials... > > But from memory this is what I have done with torque mode drives: > > first I would do step response plotting and then alternately bump up P > till it > overshoots on a step and then bump up D till you regain a little less than > critical damping and then repeat bumping both up to the point you can no > longer make it stable with more D. Then back P and D off a little till its > stable for the next step. > > Next I would adjust FF2 by doing a controlled move at say 1/2 the accel > capability of the motor/drive/load and adjust FF2 to null the error during > accell/decell. > > Similarly I would adjust FF1 by doing a long slew at perhaps 1/2 of the > machines maximum speed and nulling and error during constant motion. > > At the end I would add I term until the drive becomes unstable (jog while > adjusting to make sure you notice when it becomes unstable) and then reduce > the amount of I term to about 1/2 the value that caused instability. > > > 4- any other ideas? > > > > as always, thanks in advance - this community never stops astounding me > > with its knowledge and its willingness to share > > > > > > lloyd > > > > > ------------------------------------------------------------------------------ > > For Developers, A Lot Can Happen In A Second. > > Boundary is the first to Know...and Tell You. > > Monitor Your Applications in Ultra-Fine Resolution. Try it FREE! > > http://p.sf.net/sfu/Boundary-d2dvs2 > > _______________________________________________ > > Emc-users mailing list > > Emc-users@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/emc-users > > > > Peter Wallace > Mesa Electronics > > (\__/) > (='.'=) This is Bunny. Copy and paste bunny into your > (")_(") signature to help him gain world domination. > > > > ------------------------------------------------------------------------------ > For Developers, A Lot Can Happen In A Second. > Boundary is the first to Know...and Tell You. > Monitor Your Applications in Ultra-Fine Resolution. Try it FREE! > http://p.sf.net/sfu/Boundary-d2dvs2 > _______________________________________________ > Emc-users mailing list > Emc-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/emc-users > ------------------------------------------------------------------------------ For Developers, A Lot Can Happen In A Second. Boundary is the first to Know...and Tell You. Monitor Your Applications in Ultra-Fine Resolution. Try it FREE! http://p.sf.net/sfu/Boundary-d2dvs2 _______________________________________________ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users