Forum: Virtual Classroom - Thumb Pointer

Log In via ThumbSat
via Facebook
Not Registered? Register
Log In
9 + 5 =

Thumb Pointer

My 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
0 0
1 0
1 1
1 0
If you take a sequence of three bit ex 000 it is present only in the North-Est position
0 0
1 0
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.Gianantonio 21st Sep 2016
Comment by myself. The two columns of digits should appear on a circle like below.

0 0
1 0
1 1
1 0

Sorry for that. Gianantonio 21st Sep 2016
Sorry again, it appears that the text editor compress the spaces. let me retry once again
........1.....0 Gianantonio 21st Sep 2016
Hello Gianantonio and welcome!

I'm not sure why nobody has responded to this, but this looks like exactly the "right" use of the forum! Thanks for your thoughts, we will review them and continue the dialogue.

Cheers Shaun 7th Oct 2016
Hi Gianantonio

I find your query interesting and would like to discuss it further with you.. possibly as soon as I can get my login to allow me to post directly in response to your post..

If I understand your system correctly, you are using eight sensors to determine the position of the antenna..

I have been thinking along the same lines except using the I/O pins of the controller. ie: place several sensors around the antenna mast and connecting each to a separate I/O line of the Arduino/RPi and letting the software take care of the bit sequence.

Such as when the mast is rotated, a sensor is activated and a pin on the controller is activated. Same as the sensor that is presently used, but have several instead of just one. If a sensor is placed at 45 degree increments around the mast, then a movement of 45 degrees or less will give an exact pointing position. Instead of moving 360 degrees maximum as is presently done. Also, it would allow the processor to re-calibrate itself every 45 degrees..

The 45 degree example is arbitrary and more or less sensors could be used. Bobbie 24th Oct 2016
Hi Bobbie my system is quite different. It would make use of a single sensor to initialize the current position.
I need to learn how to attach a pdf to these posts to explain how it would work.
Could anyone teach me how to attach the pdf??
Many thanks
Gianantonio. Gianantonio 26th Oct 2016
Hi Gianantonio

I am not sure if attachments are allowed. I use a free Google account and upload my files and then share a link to them. Seems to work fine. There are lots of ways to store files on external servers and sharing links, but some of them are subject to infecting your files with trojan and other viruses.

If you need more help, there is a prior post about this subject in which I was having trouble posting a copy of the Thumbnet transmitted file which I decoded with dfldigi. If you have trouble finding it, I will share a link to it.. Bobbie 1st Nov 2016
This is a link to the decoded file that i posted. I think this server is relative safe.. Bobbie 1st Nov 2016
Quite interesting idea, Gianantonio!
Even if ThumbSat will not use it, I will.

I should also admit that common steppers are 400 or 200 steps per revolution.
I never saw stepper motor with 360 steps per revolution.

So, it's better to make calculation for circle divided to 400 or 200 parts, not 360. Yuriy 17th Dec 2016
The adjustment of encoder disk will be little bit tricky.
I mean, holes in the encoder disk should be at the center of the detector ray.
It means that manual tuning needed to assemble the whole thing. Yuriy 17th Dec 2016
Hi Yuri,
I'm on departure but I hope I'll have time to answer in detail during Christmass Holidays.
The number of steps is any integer value that covers the range of interest. Therefore if you design a 9 bit stream you'll have 512 points of which you can use 200 or 400.

The alignement is not so critical you dont need holes, I used slots to make anything easyer.
I'll take the commitment to post a practical implementation before 9th/Jan/2017
My best whishes to everybody for the New Year.
Gianantonio Gianantonio 18th Dec 2016