The chip I used to translate the differential encoder level to a level compatible with the LPT port was a Texas Instruments AM26C32CN.
That chip, with a 5 volt supply and a 4700 pf decoupling capacitor on a piece of perfboard was all that was required to do the 3 channels from the encoder. I bought the chips from Digi-key. Dave On 4/24/2010 3:13 AM, Schooner wrote: > Hi Andy, Steve and Dave > > Thanks for the replies, I see from the initials that you (Andy) are the > person who posted this solution in the first place. > > I didn't realise that the last line had wrapped, the spindle-index-enable > line isn't wrapped normally, must have happened when pasting into the email. > > It will be a couple of days before I can try this out properly so I will come > back to you then. > > The timing magnets will not be perfecting in phase. Mach only requires 1 > long pulse and 3 shorter ones, which I achieved with different sizes. The > time between is not critical and whilst they will be pretty much 90degrees > apart, it will not be exact > > I do have a small 6 channel encoder available, but its resolution is 2500, > which even I with my limited knowledge thought might be too fine. > My max speed is 2400rpm but normal working speed does not tend to go above > 1200 and threading not above 600, so do you think this might be a feasible? > It requires a line driver circuit, which is what I assume Dave is refering > to, I did have a schematic for one somewhere. > > regards > > Mick > > > > > Date: Fri, 23 Apr 2010 18:00:55 +0100 > From: Andy Pugh<a...@andypugh.fsnet.co.uk> > Subject: Re: [Emc-users] Single index pulse threading > To: "Enhanced Machine Controller (EMC)" > <emc-users@lists.sourceforge.net> > Message-ID: > <v2q62cd38031004231000s2d9c8de0i471c0dc2c379e...@mail.gmail.com> > Content-Type: text/plain; charset=ISO-8859-1 > > On 23 April 2010 17:12, Schooner<schoone...@tiscali.co.uk> wrote: > > > >>> loadrt encoder num_chan=1 >>> addf encoder.update-counters base-thread >>> addf encoder.capture-position servo-thread >>> setp encoder.0.position-scale 1 >>> net spindle-position encoder.0.position-interpolated => motion.spindle-revs >>> net spindle-velocity encoder.0.velocity => motion.spindle-speed-in >>> net spindle-index-enable encoder.0.index-enable<=> >>> motion.spindle-index-enable >>> net spindle-pulse-and-index parport.0.pin-11-in => encoder.0.phase-A >>> encoder.0.phase-Z ;set to correct pin. " >>> >>> /I am afraid I do not understand how encoder.0.phase-Z could be >>> connected to anything, there is only one index pulse. >>> >> >> > You can use the same p-port pin to drive more then one "logical pin" > in HAL. In this case you need to link the encoder A-phase to your > pin-11 so that EMC can calculate a spindle speed, and also the Z-phase > (which is the index pulse) to the same pin. > > > >>> I included the above into my .hal minus the last line. >>> >> >> > You need the last line. Note that it is actually part of the line > above but has line-wrapped. There is another troublesome wrap in the > index-enable line. > > > >>> If I rotate the spindle manually, I get a positive indication every rev, >>> so maybe the hal monitor >>> display just cannot update quickly enough. >>> >> >> > HAL monitor doesn't, know. For transient signals you should use > Halscope, it works a lot better. It is one of the most useful tools in > EMC in fact. It is in the same menu as the Hal Config and Hal meter. > > > >>> Have I missed something or is the answer that you cannot thread with >>> just an index pulse and you must have a timing pulse too, connected to >>> encoder.0.phase.Z perhaps?? >>> >> >> > Yes, you need both, but they can be from the same pickup and the same > parallel port line. Incidentally, I think you have speed and no index > rather than the other way round. > > I think you might also need to add a line: > setp encoder.0.counter-mode 1 > to the HAL to tell it to not look for the B-phase. Details here: > http://www.linuxcnc.org/docview/html//man/man9/encoder.9.html > > >>> Would my 4 magnet set-up through a second pickup provide that, if a >>> timing pulse is required , or is that too coarse? >>> >> >> > More pulses is better, but a few inaccurately-times pulses is probably > worse than 1PPR for introducing errors to the spindle velocity > calculation. > > -- atp ------------------------------ > ------------------------------------------------------------------------------ > > > > ------------------------------------------------------------------------------ > _______________________________________________ > Emc-users mailing list > Emc-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/emc-users > > ------------------------------------------------------------------------------ _______________________________________________ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users