On 06/20/2017 09:52 AM, Chris Radek wrote:
On Tue, Jun 20, 2017 at 09:27:46AM +0100, andy pugh wrote:
Now, this is perfectly normal, and with a servo / pid machine the system
knows to ignore the f-error immediately after an encoder reset. What is
puzzling me here is why it isn't working in this case. I think it is
pid's index-enables need to be added to the index-enable nets.


Well, that certainly will do it! To explain, index-enable is a very funny signal, unlike almost anything else in HAL. On both the encoder and joint, these are bi-directional pins. When homing or preparing to synch to the spindle, the scheme is as follows:

joint sets index-enable to 1
encoder sees index-enable as 1 and enables the encoder counter to be zeroed when the index pulse is detected the encoder component also clears index-enable on that servo cycle joint detects index-enable has been cleared, and ends the homing cycle.

So, it is obvious PID also needs to know that on a particular servo cycle, the encoder position has made a jump, but should not report an error or produce a large PID output based on that. This suppresses errors, but ONLY for one servo cycle.

Jon

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to