On Thu, 19 Mar 2020, Gene Heskett wrote:
Date: Thu, 19 Mar 2020 06:43:47 -0400
From: Gene Heskett <[email protected]>
Reply-To: "Enhanced Machine Controller (EMC)"
<[email protected]>
To: "Enhanced Machine Controller (EMC)" <[email protected]>
Subject: [Emc-users] limits of encoder monitoring question for Peter
Greetings Peter C.W.
One of the things I notice while monitoring for decent quadrature even at
low rpms, is an apparent cyclic variation that is several times per
revolution. It is a 60 tooth gear, and the servo thread is the usual
near 1 kilohertz. There is also a 200hz thread which handles to manual
jog encoder wheels, but the main servo thread is the read-process-write
system.
Now, up to about 300 rpms, there does not appear to be any missing
encoder outputs to the A nd B inputs, but above 300 revs it starts to
skip a pulse occasionally, and the tach needle gets nervous jittering
low at the same time. Then it occurs to me that the time between
samples is causing the narrower pulses to be missed at almost random
counts because they are going by at just about servo-period time so I'm
seeing 15 to 20 pulses then missing 4 or 5 when it should be at 600
revs, but is jittery and showing 570 or so. Which tells me the encoder's
velocity output, is not keeping up with it either.
It appears to me that, unlike on the 5i25, there does not exist a sample
time-frequency facility, or is it there but un-setp'd because I have
zero docs of this other that what it spits out at initialization time.
All encoder firmware is identical regardless of interface type though some cards
have differing basic clock signals
hm2_7i90.0.encoder.sample-frequency is being reported as 25000000, which
seems like it s/b fast enough, but whats its actual range? What else in
useing it correctly, do I not know?
The sample frequency of the encoder + the filter setting determine the input
bandwith
With the encoder filter set true you need 15 counts at the sample frequency to
recognize an input change. So at the default 25 MHz sample frequency you need A,
B, Index signals to be at least 600 ns long to be recognized (an approximate 3.3
MHz maximun quadrature count rate) This is probably _way_ too fast for your
encoder and signal integrity, I would set the sample frequency to 1 Mhz or even
500 KHz + set the encoder filter bit true with low resolution encoders to get
the maximum noise immunity
Whats the cure IOW?
Thanks Peter, and stay safe now.
Sheltering in place here and no longer complaining about Katharines tendency
to stockpile essentials
Cheers, Gene Heskett
--
"There are four boxes to be used in defense of liberty:
soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
If we desire respect for the law, we must first make the law respectable.
- Louis D. Brandeis
Genes Web page <http://geneslinuxbox.net:6309/gene>
_______________________________________________
Emc-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/emc-users
Peter Wallace
Mesa Electronics
(\__/)
(='.'=) This is Bunny. Copy and paste bunny into your
(")_(") signature to help him gain world domination.
_______________________________________________
Emc-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/emc-users