On the monarch I have a relatively rube goldberg setup to run the
spindle motor.   It requires 0-1000 rpm be controlled by the field - then
1000 to 2500 run by the field being weakened.  I setup a hal file using a
couple lincurve components (and some other logic)   So - If I enter 1000
rpm - I get pretty close to 1000 rpm out.   1500 rpm - I get close to 1500
rpm out.  Seamless..

So - after getting that far - I put a pid loop at the linecurve
component reading the encoder feedback.  I set P to 1 assuming that it
should act like I don't have a pid.

Instantly - if I set the command to the pid to 1000rpm - I get exactly
half.  500rpm

I goofed around with the thread order and it had no effect.   I am pretty
sure I have them in the right order.

If I add a bit of I - it works ok - I am wondering why I am seeing a
perfect 1/2 rpm when using the pid.   The PID error is also 1/2.  So

command = 1000
feedback = 500
error =500

weird..
sam

_______________________________________________
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to