A 'linear' absolute position detection

Thread Starter

Exystence

Joined Jan 31, 2022
3
Many binary encoders rely on 'stacked' sensors, f.e. 8 opto reflectors above eachother, each tracking one row of a bit-pattern.
But what if space is an issue, there isn't room to place 8 sensors above eachother? How about a 'linear' array of sensors? It seemed simple enough to me, but it took several evenings to come up with the solution.
I started with a pure binary pattern and 8 even spaced sensorpositions, but that resulted in many double values. Then I started editing the bit pattern and eventually (and a bit astounding too) it resulted in no double values.
It doesn't have the 8-bit and 256 position resolution, but 'only' 100 positions. It is composed of one line of a 'special' (repeating) 100-bit pattern. The 8 sensors are placed at intervals of 3 positions.
The pattern itself is 100 positions long and is more or less mirrored from position 50. Every position results in a unique code, but it is not a sequential binary code (which in fact is impossible). To get the absolute position a lookup-table is needed, where the binary code points to the absolute position.
Changing one or several bits in the pattern can also result in no doubles, so there are several possibilies. Of course it is possible to increase the number of pattern(bits) and sensors, but that's beyond my goal. I found this also a unique way to get what I needed.
This linear pattern can be used in a linear as well as a circular design.

I've included the Excel sheet I used to test the idea. I hope I didn't make a fallacy...

Greetings, CJ.
 

Attachments

Ya’akov

Joined Jan 27, 2019
6,033
Aha... no... well... that seems to resolve it too... :)
Though the technical explanation is a bit too much for me.
Gray Code is worth beating your head against until you have some understanding of why it works. It is a great foundation for reasoning about other problems.
 

Thread Starter

Exystence

Joined Jan 31, 2022
3
I wonder if 'my' single track pattern is a gray-pattern. Or are there other possibilities other than a gray-pattern to get the same result?
I got mine by some logic thinking and by experimenting in the Excell sheet.
 

Ya’akov

Joined Jan 27, 2019
6,033
To be honest, I didn't look at your solution but it seems like a fruitful exercise to see if you can work out if you are using Gray Code or something else. Who knows? Maybe there is something innovative in your solution.
 
Top