On Tuesday 18 December 2012 18:24:20 Steve Stallings did opine: > > -----Original Message----- > > From: Gene Heskett [mailto:[email protected]] > > Sent: Monday, December 17, 2012 10:14 PM > > To: [email protected] > > Subject: Re: [Emc-developers] Servo Q > > > > On Monday 17 December 2012 21:12:02 andy pugh did opine: > > > On 17 December 2012 23:39, Gene Heskett <[email protected]> wrote: > > > > I am at my wits end with this controller, and am now > > > > ready to throw > > > > > > more money at it. > > > > > > What is the problem? What are you trying to achieve? > > > > Stable, suitably stiff control where if I ask it for 5 rps I > > get 4 to 6, 10 > > rps gets me 9 to 11, 15 rps gets me about 15, and 20 should > > be about tapped > > out when the head gear is in low range. > > <snip> > > > I could probably stabilize it much better if the feedback gain was a > > straight line near unity, and the compression to bend the > > straight line > > motion-rps out to compensate for the near exponential rise in > > gain in the > > motor circuit was in the path to pid.0.command. > > > > Humm, this gives me yet another idea to try. Send the velocity to > > feedback, but drive pid.0.command like this: > > > > net src.cmd motion-out-rps>>scale>>invert>>mult2(both ins)>>sum2.0.in0 > > > > > > --------------------------------->sum2.0.in1 > > > > sum2.out>pid.command > > > > Then I could use the scale and scale offset to control how > > much compression > > was exerted to turn down the pid.command input at the higher speeds. > > > > Whether that would stabilize the P and I gain is TBD. At least I am > > assuming that sum2 can subtract the increasingly negative output of > > mult2.in0 as the requested speed rises. > > > > another equally nasty thought, clip out all the filtering, > > both in the C41 > > and in the JT250's pot arm circuit, go back to PWM mode in > > pwmgen and just > > bang the JT250 with the pwmgen output. But I've no clue how > > fast the optos > > are in the JT250, and the opamps they drive aren't megahertz > > speed daemons > > either. > > > > But its a thought. > > > > Cheers, Gene > > Gene, > > Are you using any FF1 in your PID? This should provide the > major part of the output before any feedback action is > required. > > Steve Stallings
No Steve, none at all. I think for positioning servos it might be of use, but for velocity, which this spindle is, all it does is make it want to oscillate worse, sometimes violently, at the upward end of the acceleration ramp. Lots of FF0 (180 atm), and quite a bit of Pgain (25) are in place so far, with just a hint, (.003) of Igain. A .3 is stable, but takes about a minute to reach final speed. But, I did find a solution to the highly non-linear control that was being exerted on the motor. It appears that the FC250J, the controller in the mini-lathes, is much more of a current mode controller than a voltage mode controller. On a hunch, I cut into the trace from the unity gain follower op-amp stage that drives the output of the cnc4pc C41 pwm->analog interface, and put a 10k 1/4 watt resistor in to bridge my knife cut in that trace. Voila! Its non-linearity is now within 15 to 20% of a straight line, and I now have a usable control that I can, in the MDI mode, enter s600m3 and get within .1 rps of 10 rps. Or an s1200m3 and get around 19.5 rps, which tends to oscillate a bit since the control is clipped in the FC250J at about 21 rps, all tapped out IOW. Or an S60m3 gets me about 1.2 rps. I can live with that! When I quit to go find a couple nose bags for Dee & I, I still had a rather negative pid.error, so there is still a balancing act between feedback square law scaling, pid.Pgain and pid.FF0 to reduce that. And my method of tripping the electronic fuse is duff ATM because -200 times -200 equals +40,000, so I need to arrive at settings that will leave it with a low positive error before that trip method works correctly. This bit of converting the C41 control signal to a nearly current mode signal by putting a 10k resistor in series with the lead from the C41 back to the FC250J's center arm of the pot signal really needs to be added to the wiki to save more people from the nearly _9_ _month_ _long_ battle I've had with this. FWIW, there is little actual current flowing as there is perhaps a maximum of 200 mv of actual voltage loss thru that resistor! This whole poor SWAG of how hard its working electronic fuse idea is mostly moot as soon as that sparkfun hall effect gizmo arrives, hopefully yet this week. Then I can unload several modules too. Thanks Steve. Cheers, Gene -- "There are four boxes to be used in defense of liberty: soap, ballot, jury, and ammo. Please use in that order." -Ed Howdershelt (Author) My web page: <http://coyoteden.dyndns-free.com:85/gene> is up! Misery no longer loves company. Nowadays it insists on it. -- Russell Baker I was taught to respect my elders, but its getting harder and harder to find any... ------------------------------------------------------------------------------ LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial Remotely access PCs and mobile devices and provide instant support Improve your efficiency, and focus on delivering more value-add services Discover what IT Professionals Know. Rescue delivers http://p.sf.net/sfu/logmein_12329d2d _______________________________________________ Emc-developers mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/emc-developers
