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

Reply via email to