Another interesting system is Single Track Gray Code, which combines verner
measurement with position encoding. As the name implies, there is only one
track but the mask is broken up between light and dark around the ring, and
the sensors are arranged around the shaft at different positions on that
single track.
Imagine a standard multi-track gray code encoder; all the sensors at one angular position:
Now rotate the inner track 90' clockwise so that it lines up with the middle track. Obviously, you need to rotate the track sensor so that it still returns the same data. But now, since the inner and middle tracks exactly match, and the sensors for those tracks aren't at the same angle anymore, you can simply eliminate one track and move the sensors onto the one remaining track.
If you can continue to do this, you can have a single track and all sensors at the same distance from the center of the shaft. Unfortunately, you will notice that the outer track is not the same. To move beyond a 2 sensor, 4 positions per rotation, one needs to find a pattern for the track so that only one sensor changes at each rotational position. This was long considered impossible, but in 1994 N. B. Spedding published NZ Patent 264738 (Cache 20141016) with several examples which do work, but are not very efficient, e.g. 9 sensors for only 36 positions.
It turns out that n sensors can apparently distinguish as many as 2n-2 positions. So 4 sensors can encode 8 positions, 5 encodes 30 positions, and 8 sensors can encode 240 positions. Hiltgen and Paterson published a paper in 2001 exhibiting a single-track gray code with exactly 360 angular positions, constructed using 9 sensors (actually, with a different track, one could encode 494 positions).
Mask for 240 position, 8 sensor, Single Track Grey Code. The sensors are
placed 15 positions apart.
000000000000011111100000110000000000001111111111111111111110000000
1111000000000011000000000011111111111111001111111110001111111111111
0000001111100111111111111000000000000000000000111111100001111111111
0011111111110000000000000011000000000111
This was developed from "Single-Track Gray Codes" by Alain P. Hiltgen, Kenneth G. Paterson, and Marco Brandestini (appendix) It was developed by using the Javascript program at STGC Explorer This is development code that makes the mask sequence (0 and 1 represent white and black) for the encoder disk or track, and then shows all possible readings and what position that reading represents.+
Another advantage of this system is that most of the masks avoid patterns like 010 or 101 where a tab or slot must be one sensor wide. This allows lower resolution masks with greater physical strength to be cut or 3D printed. For example, the original 2 sensor 4 position example uses the simplest possible half circle mask. And the Spedding masks start with only 1 or 2 lobes.
STGC Explorer Verifies the "initial codeword" and "coordinate sequence" from the papers below for each STGC found, then makes the mask sequence for an encoder track (needs to be expanded to support disks with e.g. SVG) and finally shows all possible sensor readings and what position that reading represents.
Also:
See Also:
Decoding program:
DATA 1, 5, 13, 9, 73, 89, 121, 125, 61, 53, 55, 39, 37, 101, 69, 71, 7, 3, 2, 10, 26, 18, 19, 51, 115, 123, 122, 106, 110, 78, 74, 75, 11, 15, 14, 6, 4, 20, 52, 36, 38, 102, 103, 119, 117, 85, 93, 29, 21, 23, 22, 30, 28, 12, 8, 40, 104, 72, 76, 77, 79, 111, 107, 43, 59, 58, 42, 46, 44, 60, 56, 24, 16, 80, 81, 17, 25, 27, 31, 95, 87, 86, 118, 116, 84, 92, 88, 120, 112, 48, 32, 33, 35, 34, 50, 54, 62, 63, 47, 45, 109, 105, 41, 57, 49, 113, 97, 96, 64, 66, 70, 68, 100, 108, 124, 126, 94, 90, 91, 83, 82, 114, 98, 99, 67, 65 FOR index = 0 TO 125 READ index,char IF char = sensor THEN DEBUG "position: ",DEC index,CR RETURN ENDIF NEXT
file: /Techref/io/sensor/pos/enc/greycodes.htm, 8KB, , updated: 2017/9/25 14:47, local time: 2024/8/14 12:46,
3.22.27.243:LOG IN
|
©2024 These pages are served without commercial sponsorship. (No popup ads, etc...).Bandwidth abuse increases hosting cost forcing sponsorship or shutdown. This server aggressively defends against automated copying for any reason including offline viewing, duplication, etc... Please respect this requirement and DO NOT RIP THIS SITE. Questions? <A HREF="http://piclist.com/techref/io/sensor/pos/enc/greycodes.htm"> Input sensors for position change, Grey Code / Single Track Grey Code Encoders</A> |
Did you find what you needed? |
![]() o List host: MIT, Site host massmind.org, Top posters @none found - Page Editors: James Newton, David Cary, and YOU! * Roman Black of Black Robotics donates from sales of Linistep stepper controller kits. * Ashley Roll of Digital Nemesis donates from sales of RCL-1 RS232 to TTL converters. * Monthly Subscribers: Gregg Rew. on-going support is MOST appreciated! * Contributors: Richard Seriani, Sr. |
Ashley Roll has put together a really nice little unit here. Leave off the MAX232 and keep these handy for the few times you need true RS232! |
.