It looks like the integral term has some funny problems in the pid comp. The symptom is that when the integral term causes the output to saturate, and there is no integral limit or the integral limit is > MaxOutput/Igain it never recovers, and ends up driving in one direction regardless of the error, This seems to be broken in the part of the code that prevents integral wind-up this code prevents integral wind-up but also prevents recovery if the output saturates (because its stops calculating the integral term in when in saturation an therefor the integral term that cause the saturation is "latched")
This code should always calculate the term but bound the result... I think a good workaround is to always set the integral limit to maxoutput/Igain. Peter Wallace Mesa Electronics ------------------------------------------------------------------------------ Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)! Finally, a world-class log management solution at an even better price-free! Download using promo code Free_Logger_4_Dev2Dev. Offer expires February 28th, so secure your free ArcSight Logger TODAY! http://p.sf.net/sfu/arcsight-sfd2d _______________________________________________ Emc-developers mailing list Emc-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-developers