Gene Heskett wrote: > But the internal calculations for velocity etc are done at the servo > threads granularity of nominally 1 millisecond. So there is no chance of > the figures being accurate when the count may be up to a millisecond old. > Perhaps with more resolution than my 39 cycle wheel, which is 156 counts > per turn or a new position every 2.3076923076923076923 degrees of rotation, > it might improve. > Right, the count may come in just before or just after the sample is taken. > But the addition of the noise caused by the 1 millisecond granularity of > the floating point error process is an apparently huge error sample to > sample. It has nothing to do with floating point, it is just the nature of a sampled system. The coarser the encoder resolution is, then the greater the difference in whether you got that count or didn't, on this servo period. The worst case is when the encoder is providing less than one count every servo period. Say 500 counts/second with a 1 ms period, you alternately get zero, one, zero, then one count per period. It APPEARS the axis is stopping and starting 500 times a second. > Its very difficult to determine without running that signal thru a lowpass > block with a gain setting of .001 before feeding it to a halmeter, because > even at that rps, the halmeter flickers between 17 and 23 from this (to me > utterly false) digital noise! > It isn't digital noise, it is the downside of quantization. > When cutting threads with the G76 canned cycle, with the spindle between 2 > and 6 rps, it cuts great threads, but the racket as the z motor tries to > track this noise is similar to slowly dropping a shovel full of pea gravel > into a washtub. I should post a video with audio, its very rough sounding. > > I am not privy to how the encoder module works internally, but it seems to > me that if a timestamp could be put on the base thread sample The software encoder component, Mesa encoder counters and the Pico Systems UPC controller all can do this. For the UPC you have to enable this feature with a parameter on the command line. I'm not sure how much it can help with very low-res encoders, there is a certain speed at which is switches over from timestamp to position delta, but as long as it is less than two counts per servo period it should be using the timestamp.
Jon ------------------------------------------------------------------------------ Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ _______________________________________________ Emc-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/emc-users
