Forum: Virtual Classroom - Thumb Pointer
Thumb PointerMy name is Gianantonio I'm a new entry, so pardon me if I make a wrong use of the forum. Help me to correct myself.
Having read several comments about the rotor positioning, I’ve retrieved from an old box an idea I developed back in the 70’s.
It is a very simple serial-absolute position encoder that can be easily implemented in the Thumb antenna rotor to improve the movement and eliminate some problems mentioned on the forum.
The serial-absolute encoder idea comes from the complexity of a high resolution absolute encoder that needs several bits to encode the position. It can give very high benefits where a movement is feasible before knowing the exact position.
The concept was borne around a simple question: Is it possible to write a sequence of 1’s and 0’s of length 2^n in such a way that any sequence of n bits is present only once? I developed a little program (attached) that provided the answer YES.
Having such a sequence, let see 256 bits, if I read a sequence of 8 bit, that value is present only at position “A”. So, after reading 8 bit, I know the absolute position of my encoder.
Example n = 3 length = 8. Sequence is 00010111
If the eight bits would be distributed around a circle it could appear as
If you take a sequence of three bit ex 000 it is present only in the North-Est position
While 011 will be South-West (reading is clockwise).
As you can see, it is not necessary to make a rotation down to a stop limit to setup the position.
The rotation takes 360 x n /2^n degrees to read a sequence: ex with n=4 2^n = 16 and we must rotate 90°
But with n=8 2^n = 256 and we need only about 11° and with n=10 2^n = 1024 we should rotate only 3.5°.
The benefit is evident and the cost is really minimum.
That means that, on Thumb antenna rotor, we can use the stop limit sensor as a full encoder and we need not rotate till the stop clockwise if we need to position our antenna fully counter clockwise.
Imagine we want to point the antenna 350°N. You power up the current rotor with the antenna left at 345°N but you don’t know where it is. We must reset the incremental counter so we command the rotation in one direction i.e. CW. The antenna will rotate for a while to reach the stop point at 0° (and hit it ;-(( ) then we must start counting up to go back to 350° !!
Using the proposed encoder, assuming 8 bit are used, you would rotate 11° and discover that you are at 333°N. Then you’ll stop and rotate in opposite direction reaching the wanted position in 17°. Nice?
If you like this, we can work it out for a defined number of bits.
Eventually an additional series of hole can be made on the disk to simplify the SW.
This encoder, using the additional set of holes could also be used to detect antenna unintentional swinging and is also capable of detecting uncommanded rotation thanks to the error detection in the sequence.
I.e. if we are in position “101” (ref the sequence above) and we rotate right, we MUST see a ‘1’ (011 is the next position) and if we rotate left we must see a ‘0’ (010 is next position). If we see anything different, that we detect the error and can quickly realign the antenna position. This is very simple and much more reliable than a potentiometer with a gear train.
Should we put our brain at work to develop the SW? Do you believe that 8 bit could provide enough resolution? Be careful the resolution applies only to the coarse detection of the position, not to the pointing angle that is based on stepper motor pulses !!
I can provide the simple SW to generate the sequence and a flow diagram for the implementation of the encoder. We must agree a configuration. The SW could be openly developed by anyone. 21st Sep 201614:10