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