Steve Blackmore wrote: > Here's a halscope of the encoder pulses > > http://imagebin.ca/view/1SkQrEB.html > > what you can determine from the pulse widths/spikes is inconclusive. > OK, now that we have the A and B signals there, we can determine the raw count rate. It is between about 25 quadrature counts per 50 ms division in the photo. So, that is about one count every other servo period. So, the UNSCALED delta is 0.5, a condition for maximum jitter in the perceived count rate. So, the unscaled delta should be zero, one or on very rare occasions two. It should never be more than two, and that ought to be a rare event. So, mostly it should just be zero and one. When scaled, that should STILL come out to a narrow band of just two discrete values, with the most rare ocurrence of something beyond those two. Well, your encoder.0.velocity trace looks NOTHING like that!
Something is very wrong. I am not familiar enough with the software encoder component to really know what is going on, but the velocity estimation routine seems to have a problem under your specific settings and circumstances. I don't even know if the velocity output is even used by the threading function, I tend to doubt it as my PPMC encoder driver does not produce a scaled velocity output, and we can do threading fine without it. Your position trace in your earlier photos didn't appear to have anomalous jumps, but the scale probably was too coarse to see them (10 units/div, as I recall). It might be useful to set the X axis very close to zero and record near there, so the position display can be scaled up (or use the HalScope's offset feature so you can scale it up) to see if these jumps in velocity are also reflected in the position count. If so, then there is some real anomaly in the way encoder signals are counted by the encoders.capture-position function. It sure seems like the sampling interval is not constant, or something like that. If there are jumps and flat spots in the position count as well when it is blown up, then that has to be your problem. If there are NO jumps in position, then it must be that this is not the problem, but certainly an anomaly in the velocity estimation that should be investigated. You could also turn the spindle a bunch of turns one way, then back the same number of turns the other way and index to a precise location. Maybe have a bar pinched in the chuck and slide a tool holder block it at a repeatable position. If something is going funny in the encoder counting process, it may also be losing encoder counts, and so the encoder.0.position would not return to the same number. Jon ------------------------------------------------------------------------------ Come build with us! The BlackBerry® Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9-12, 2009. Register now! http://p.sf.net/sfu/devconf _______________________________________________ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users