John Kasunich wrote: > Jon Elson wrote: > >>Kirk Wallace wrote: >> >>>I connected the motor to my lab supply and got the motor to turn very >>>slowly at about 4.5 Volts. At the slowest speed, it would only stop if I >>>reduced the voltage. So I guess I have a "good" motor and I just need to >>>work more on the tuning. Maybe, add more P to get the initial voltage up >>>to 4.5 but then add more D (?) to fight the oscillating. Well, I wanted >>>a real world test bed, I guess I got it. >>> >> >>Right, you want P as high as possible, and to the point that you >>need some D to prevent oscillation. Unfortunately on the Pico >>Systems PWM system, there is no current loop or tach feedback, >>so the tuning is a little bit more touchy than with velocity >>servo amps. But, usually you can get the following error down >>to really negligable levels and still have a stable servo >>response. Too much D and the whole system gets quite unstable >>due to lags in the loop and the effects of quantization of the >>encoder. Once you have P and D up about as high as you can get >>them, you reduce the rest of the errors with FF1 and FF2. It >>doesn't take much of these factors to make quite a difference, >>and it is easy to go too far and make things worse. And, you >>need something like 1 - 2 encoder counts worth of deadband to >>stop the buzzing. >> > > > Don't you use _any_ Integral gain? > > I guess there are as many ways to tune as there are people, but I can't > imagine not using I gain. In fact the drives that I work on in my day > job tend to use P and I only. No D, no FF. Of course these aren't > servo drives, just simple speed loops for the most part. Yes, I do, but it doesn't seem to do a whole lot. I usually have numbers between 1 and 5 there. But, I find the FF is a LOT more sensitive, and I can get the error down to practically nothing, 100 uInch or .001-.002 mm. I really doesn't seem to help much with the PWM system, maybe because it is not a true velocity servo. My usualy tuning protocol is to make a 3/4 second move at various jog speeds, observe the error, tweak a parameter and repeat. My big problem is the unavoidable quantization noise of the encoder count being differentiated and turned into a huge signal with a lot of energy at 1/servo_period. I haven't had the time to work with it much more, but it looks like it needs some kind of fix to work well with my PWM servo system. I guess there is a lag in the system, most likely a combination of filter inductance and motor inertia, that makes it wildly unstable if you add too much D.
Jon ------------------------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ _______________________________________________ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users