🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: sci.electronics
Article #4412

Re: Position Encoder Solutions

#4412
From: Louis Demers
Date: Mon, 19 Mar 1990 14:55
61 lines
3229 bytes

Hi,

This is the solution I use.  It requires a clock and two parts ( 4 Xor
ie.  LS86,  4  D  FF ie. LS175 or LS174). It doesn't accumulate errors
when reversing  direction. It  is totally synchronous.  It generates 4
counts  per encoder cycle. The CounEnable is active high and therefore
might require inversion before being  connected  to  most counters. If
like  me,  you   implement   this  circuit along with its counter in a
PAL, this is not a problem.

The clock inputs (including the counters)  must be  reasonably  higher
than the maximum frequency of either channel.

                                          
                +-----------------\\-----\
       ------ A |   ------ Az      ||XOR1 >-----\\-----\
Lead --|D  Q|---+---|D  Q|--------//-----/       ||XOR3 >--Count Enable
       | L1 |   |   | L2 |                   +--//-----/
       >  !Q|   |   >  !Q|                   |
       ------   |   ------                   |
                +-----------------\\-----\   |
                                   ||XOR4 >--|-------------up
                               +--//-----/   |
       ------ B     ------ Bz  |             |
 Lag --|D  Q|---+---|D  Q|-----+             |
       | L3 |   |   | L4 |     |             |
       >  !Q|   |   >  !Q|     +--\\-----\   |
       ------   |   ------         ||XOR2 >--+
                +-----------------//-----/    
                                              

L1, L2 and XOR1 form the transition detector for channel Lead
L3, L4 and XOR2 form the transition detector for channel Lag
XOR3 is used to combine both transition detectors. Since there
	should not be a transition on both channels at the same time,
	an "or" would do equally well.
XOR4 is used to determine the direction of the count  I deduced it
	using the following Karnaugh map (+ CW, - CCW, X don't care).


                           /---A---\  
                   +---+---+---+---+  
                   | X | - | X | + |  
                   +---+---+---+---+-\
                   | - | X | + | X | |
                /--+---+---+---+---+ B
                |  | X | + | X | - | |
                Bz +---+---+---+---+-/
                |  | + | X | - | X |  
                \--+---+---+---+---+  
                       \---Az--/      
                                      
          up(+) = (A !Bz) + ( !A Bz) = A xor Bz
                                      
-- 
| Louis Demers              | DREV, Defence Research Establishment,Valcartier |
| louis@asterix.drev.dnd.ca | POBox 8800, Courcelette,Quebec, CANADA, G0A 1R0 |
|            (131.132.48.2) | Office: (418) 844-4424       fax (418) 844-4511 |
+---------------------------+-------------------------------------------------+
Technical Details
Message-ID: <1990Mar19.145522.1204@asterix.drev.dnd.ca>
Path: arc1-ca.pugleaf.net!utzoo!attcan!uunet!tut.cis.ohio-state.edu!rutgers!ncs.dnd.ca!asterix.drev.dnd.ca!louis
References: <1746@xn.LL.MIT.EDU>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!attcan!uunet!tut.cis.ohio-state.edu!rutgers!ncs.dnd.ca!asterix.drev.dnd.ca!louis
From: louis@asterix.drev.dnd.ca (Louis Demers)
Newsgroups: sci.electronics
Subject: Re: Position Encoder Solutions
Keywords: Motor Position Encoder interface
Message-ID: <1990Mar19.145522.1204@asterix.drev.dnd.ca>
Date: 19 Mar 90 14:55:22 GMT
References: <1746@xn.LL.MIT.EDU>
Organization: DREV, Defence Research Est. Valcartier
Lines: 61