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

Reply via email to