On Monday 03 August 2015 10:46:58 John Kasunich wrote:

> On Mon, Aug 3, 2015, at 04:19 AM, Gene Heskett wrote:
> > The discussion is nice, but it still doesn't get me a signal I can
> > strobe the .hold lines with.
>
> In my first reply to Andy I also included something aimed at you:
> >>    Gene:
> >>
> >>    If you XOR the two quadrature signals together you'll get one
> >>    edge (rising or falling) on every transition.
> >>
> >>    The HAL oneshot component can be configured to produce
> >>    a pulse on both rising and falling edges.
>
> Although now I see that you aren't using the software encoder counter,
> you have a 5i25.  So that means the individual quadrature signals
> don't exist in HAL and what I described won't work.

Correct.

> Which raises the question:  how fast are your quadrature signals?
> If you are using a hardware encoder counter because your signals are
> too fast to count in software, then your scheme is doomed from the
> start. If they are too fast for HAL to count, they are also too fast
> for HAL to do the summation, etc, on every quadrature edge (or every
> fourth edge).
>
> Have you actually looked at a halscope trace of the velocity feedback
> using the 5i25 counter with the spindle running at your expected min
> and max speeds?  Do you really know how bad the jitter is, and what
> frequency it is jittering at?  Is the dominant jitter frequency one
> cycle per slot, or one cycle per revolution, or something else?
>
> I don't remember every detail of every message about this encoder
> project.  Can you repeat the basics:
>
> 1) what is the lowest expected operating speed

50 rpm for sensing

> 2) what is the highest expected operating speed

2500 if the motor is pushed to its short term limit

> 3) how many slots on the wheel

67

This has to get thru one of those damned slow opto-couplers on the BOB's 
input.  Because one of them was too slow, its been excised from the BOB 
and replaced by a jumper from the opto driver to P14.  I may excise a 
few more of them before I am satisfied.

> Thanks,
>
> John

Thanks John. 

> > This is what I have written so far:
> >
> > gene@GO704:~/linuxcnc/configs/GO704fast$ cat encoder_filter.hal
> > # this is a sample outline of an encoder filter to reduce noise from
> > # imperfections in in the optical disk, and from sample
> > quantization. loadrt        sample_hold names=enc0,enc1,enc2,enc3
> > loadrt  sum2 names=sum01,sum23,sumenc
> > # arrange these to save the previous modules state,
> > # otherwise it cascades thru in one cycle
> > addf        enc3    servo-thread    # so it saves enc2's output
> > addf        enc2    servo-thread    # so it saves enc1's output
> > addf        enc1    servo-thread    # so it saves enc0's output
> > addf        enc0    servo-thread    # so it saves encoder velocity
> > addf        sum01   servo-thread    # now total it up
> > addf        sum23   servo-thread    # ditto
> > addf        sumenc  servo-thread    # ditto
> > setp        sumenc.gain0 .25                # scale it back to unity
> > setp        sumenc.gain1 .25                # scale it back to unity
> > net         encfilter_in    hm2_5i25.0.encoder.00.velocity-out      enc0.in 
> > # feed
> > enc0 net            filter-1        enc0.out        enc1.in sum01.in0       
> > # link output
> > net         filter-2        enc1.out        enc2.in sum01.in1       # link 
> > output
> > net         filter-3        enc2.out        enc3.in sum23.in0       # link 
> > output
> > net         filter-4        enc3.out        sum23.in1                       
> > # link output
> > net         filter-5        sum01.out       sumenc.in0                      
> > # put it all together
> > net         filter-6        sum23.out       sumenc.in1                      
> > # put it all together
> > net         spndl-velocity  sumenc.out                                      
> > # to where ever needed
> >
> > This of course needs to be broken up and inserted in the main hal
> > file in the appropriate locations. So I'll setp the .hold lines for
> > all (false) thru which should give the desired shift if the addf
> > orders are reversed.

So I have setp'd the .hold pins false, the addf sequence should function 
for the desired shift register effect.

But not tested yet. I need to read up on doing such tests in a standalone 
halrun environment, but am up to my ars in other problems that I think 
may also be caused by the other slow opto's in this BOB's outputs.  
That, and learning how to make use of my new digital scopes ability to 
capture a snapshot of clicking the + or - buttons on the axis gui.

> > The manpage for sample_hold make no suggestion as to how to handle
> > the hold/sample signal.  Concise is nice, but not when it leaves out
> > important data.
> >
> > Anyway, its the middle of the night & I need some more z's.
> >
> > Thanks guys.
> >
> > 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)
> > Genes Web page <http://geneslinuxbox.net:6309/gene>
> >
> > --------------------------------------------------------------------
> >---------- _______________________________________________
> > Emc-users mailing list
> > [email protected]
> > https://lists.sourceforge.net/lists/listinfo/emc-users


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)
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