On Friday 20 March 2020 12:12:06 John Dammeyer wrote:

> > > But what happens when someone has a 2500 line encoder on the
> > > spindle creating 10,000 edges per rev.  or 200,000 edges per
> > > second at 1200 RPM.  Now that 8 threads deep hole is 1.6million. 
> > > Again, not an issue with a 32 bit signed counter but a problem
> > > with a 16 bit.
> >
> > Not an issue, the 16 bit hardware count is extended to 64 bits in
> > the driver (every servo thread) this does limit you to a 16 MHz
> > maximum count rate at a 1 KHz servo thread but thats way above the
> > capabilities of most encoders...
>
> So let's see if I have the math right.  At 16MHz we have an edge every
> 0.063 MicroSeconds.  At most then we'd see 16,000 in a hardware 16 bit
> register ever 1 millisecond (the 1 khZ servo rate).  This value is
> added to a 64 bit integer.  Is the hardware counter cleared again?  If
> not 1 mS later it would be 32,000 which is still positive.  But on the
> next 1 mS check it's now 48,000 which is -17536 as a signed number and
> adding that
>
> There are probably hardware quadrature encoder counters that can be
> set to latch the value on command and clear the counter?  I haven't
> checked the encoder on the BeagleBone for example to see if it has
> that feature.  Certainly your FPGA stuff can be set up to do that.
>
> As the spindle reverses that counter value drops and eventually
> becomes negative when B now leads A.
>
> Have I got that right?
>
> And if so, is there a minimum number of encoder pulses one can have
> per revolution before the tracking becomes flaky?
>
> John
>
I have heard of usable threads being cut with one, but i'd have to assume 
it was being done on machinery with  otherwise very stiff spindle speeds 
that were stiff enough to ignore the taps loading. Probably a 
synchronous motor on a vfd and not all are by any means. Far more are 
induction mode with a load dependent slip angle, and that categorically 
won't work without an encoder accuracy of 2 degrees or better.
 
> > > Finally, at that speed, and an edge every 5 micro seconds, how
> > > does the software ever figure out that the spindle is varying in
> > > speed?  Or is one of the real time threads running maybe only 1
> > > kHz actually look at the spindle counter and compare it to what
> > > they expect every 1mS and then adjust the speed of the Z axis?
> >
> > Yes, the Z axis is "geared" to the spindle position
More precisely to the spindles rotational position

With my Sheldon turning 300 rpms, thats 5 rps. its a 60 tooth or 240 
edges gear. 1200 edges a second=a new position 1200x a second. A new 
position every .8333333 miliseconds thats accurate to 1.5 degrees of 
spindle rotation.
 > > > Thanks
> > > John
> >
> > Peter Wallace
> > Mesa Electronics
> >

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

Reply via email to