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.
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
-
30.1 KB Views: 5