5i20 7i33 7i37
11 Jun 2012 19:38 #20819
by Nick
Replied by Nick on topic Re:5i20 7i33 7i37
Hi there.
We've got a question. Is there any way to determine encoder failure (for example cable cutting).
There are 2 pins for each encoder chanel at 7i33 ex. ENCA and /ENCA. So is there any way to check ENCA xor /ENCA and raise Estop on failure?
Thanks in advance
We've got a question. Is there any way to determine encoder failure (for example cable cutting).
There are 2 pins for each encoder chanel at 7i33 ex. ENCA and /ENCA. So is there any way to check ENCA xor /ENCA and raise Estop on failure?
Thanks in advance
![:) :)](/media/kunena/emoticons/smile.png)
Please Log in or Create an account to join the conversation.
11 Jun 2012 19:50 - 11 Jun 2012 19:51 #20820
by jd896
Replied by jd896 on topic Re:5i20 7i33 7i37
I believe that encoder channels can be checked with a mulitimeeter or an led you can look up the led method here but I don't think this is what you are asking
I think if the following error is set as it should be the missed encoder counts that would come from a loss of channel the machine will estop anyway as this should I think be enough to trip the following error and stop motion
I think if the following error is set as it should be the missed encoder counts that would come from a loss of channel the machine will estop anyway as this should I think be enough to trip the following error and stop motion
Last edit: 11 Jun 2012 19:51 by jd896.
Please Log in or Create an account to join the conversation.
11 Jun 2012 20:19 #20821
by Nick
Replied by Nick on topic Re:5i20 7i33 7i37
Here's the problem we've faced:
having lathe we got encoder failure on long rapid move like
G0 Z500 X1
G0 Z0 X0
So we have small travel for X axis that is inside ferror tolerance. Once the encode going down to failure (the A channel has been disconnected), PID become unpredictable and the axis continued moving. (LinuxCNC thinks that axis is held in the current position but the axis was traveling).
So it lead to a crash. Likely nobody was injured (the lathe is quite big and strong).
So we want to be sure that any connection or any wiring problem would not lead to a crash.
It can be done by checking xor of both A and /A every MESA tick. Then we can be sure to eliminate any connection problem.
having lathe we got encoder failure on long rapid move like
G0 Z500 X1
G0 Z0 X0
So we have small travel for X axis that is inside ferror tolerance. Once the encode going down to failure (the A channel has been disconnected), PID become unpredictable and the axis continued moving. (LinuxCNC thinks that axis is held in the current position but the axis was traveling).
So it lead to a crash. Likely nobody was injured (the lathe is quite big and strong).
So we want to be sure that any connection or any wiring problem would not lead to a crash.
It can be done by checking xor of both A and /A every MESA tick. Then we can be sure to eliminate any connection problem.
Please Log in or Create an account to join the conversation.
11 Jun 2012 21:02 #20823
by PCW
Replied by PCW on topic Re:5i20 7i33 7i37
This can be also be checked with some drive heuristics (encoders fail from broken wires _and_ from internal failure/contamination)
One heuristic is the saturated PID check (if you have some integral term a disconnected encoder will cause a drive runaway and a saturated PID output --> Shutdown)
Another heuristic that works with velocity mode drives (and is faster that the saturated PID check) is to verify that the PID output (scaled in velocity -- this is automatic if the PID loop is normalized that is the output is scaled in machine units/second) is within an error band of the commanded velocity.
The best way is to have 2 encoders...
One heuristic is the saturated PID check (if you have some integral term a disconnected encoder will cause a drive runaway and a saturated PID output --> Shutdown)
Another heuristic that works with velocity mode drives (and is faster that the saturated PID check) is to verify that the PID output (scaled in velocity -- this is automatic if the PID loop is normalized that is the output is scaled in machine units/second) is within an error band of the commanded velocity.
The best way is to have 2 encoders...
Please Log in or Create an account to join the conversation.
13 Jun 2012 08:07 #20866
by Nick
Replied by Nick on topic Re:5i20 7i33 7i37
Why then there are both A and /A channels if not for checking broken wires?
Realization of this check seems to be easy. Why not implement it in Mesa?
Realization of this check seems to be easy. Why not implement it in Mesa?
Please Log in or Create an account to join the conversation.
13 Jun 2012 10:32 #20871
by andypugh
Replied by andypugh on topic Re:5i20 7i33 7i37
Nick wrote:
Differential signalling is much more noise-resistant. Especially over longer distances.
en.wikipedia.org/wiki/Differential_signalling
Why then there are both A and /A channels if not for checking broken wires?
Differential signalling is much more noise-resistant. Especially over longer distances.
en.wikipedia.org/wiki/Differential_signalling
Please Log in or Create an account to join the conversation.
Moderators: cmorley
Time to create page: 0.135 seconds