Jump to content


Photo

Encoder Resolution

  • Please log in to reply
35 replies to this topic

#1 desertrefugee

desertrefugee

    Surveyor 1

  • *****
  • Posts: 1893
  • Joined: 06 Aug 2007
  • Loc: Arizona

Posted 08 September 2012 - 12:09 PM

So, I ended up with two sets of encoders to use on my CI-700 mount. One set is 4k tics and the other 10k. The 4k units fit perfectly in the machined aluminum housings I have. The 10k ones will require some finessing. Would that extra resolution be worth the effort? How much is pointing accuracy truly affected by encoder resolution?

#2 orlyandico

orlyandico

    Fly Me to the Moon

  • *****
  • Posts: 5283
  • Joined: 10 Aug 2009
  • Loc: Singapore

Posted 08 September 2012 - 01:36 PM

Having 10K tic encoders.. I would say it's probably not worth it.

4K tics will give you (theoretically) (360*3600) / 4000 = 324 arc-second pointing (5.4 arc-minute)

10K tics will give you 130 arc-second (2.2 arc-minute).

In my experience, your alignment procedure will not allow you to get 5 arc-minute pointing, let alone 2. Unless you are using an Argo Navis and set up a big pointing model (which can be quite a hassle).

#3 desertrefugee

desertrefugee

    Surveyor 1

  • *****
  • Posts: 1893
  • Joined: 06 Aug 2007
  • Loc: Arizona

Posted 08 September 2012 - 02:13 PM

Thanks Orlando. Exactly the sort of rational basis for decision-making I was looking for. Hmmm. Putting some actual science into the process. What a concept!

Thanks again. Decision made.

#4 EFT

EFT

    Vendor - Deep Space Products

  • *****
  • Vendors
  • Posts: 2544
  • Joined: 07 May 2007
  • Loc: Phoenix, AZ

Posted 08 September 2012 - 04:58 PM

Orlando is right. Between the accuracy of your mount mechanically and the accuracy of alingments, 4000 or 4096 encoders is usually sufficient to do everything you need. 10000 tic just means more money, and in your case, more work for little or no benefit.

#5 Luke Jones

Luke Jones

    Lift Off

  • -----
  • Posts: 8
  • Joined: 27 Mar 2009

Posted 21 September 2012 - 09:00 AM

Actually, I fitted a Renishaw read head (RGH24Y) to the RA axis of my IEQ45 ( over the built-in polar alignment scope), effectively giving 32 encoder ticks/sec (a 2.7 million tic encoder).
An eBay encoder, an Arduino, some opto-isolator chips for ST4 guiding, and a friend's machined disk - sub $300 for *huge* benefit.
The rig gets me -/+ 1 arcsec tracking on a $1600 mount, and the difference is amazing (at 1600mm+ focal length, where it matters).
In my mount's case (thanks to 32 tick/sec PE reporting from a high res encoder), I've discovered a 5 arcsecond perioidic error harmonic on the mount's servo motor (unrelated to the worm) with a period of 6.2 seconds. This is unguidable with standard auto-guiding - but I can smack the mount's PE to +/- 1.2 arcsecond via ST4.

Of course, it's only a the longer focal lengths that the issue becomes that critical. If you'e at short focal lengths, or have very smooth tracking on your mount, you might not see much benefit.

Cheers.

#6 Luke Jones

Luke Jones

    Lift Off

  • -----
  • Posts: 8
  • Joined: 27 Mar 2009

Posted 21 September 2012 - 09:01 AM

Apologies. You're talking about pointing accuracy, and I was talking about tracking accuracy.

#7 orlyandico

orlyandico

    Fly Me to the Moon

  • *****
  • Posts: 5283
  • Joined: 10 Aug 2009
  • Loc: Singapore

Posted 21 September 2012 - 09:07 AM

Luke, I also have one of those Renishaw read heads. I wanted to put the tape on my RA setting circle. But I don't know where to find the darn tape.

#8 Mert

Mert

    Skylab

  • *****
  • Posts: 4216
  • Joined: 31 Aug 2005
  • Loc: Spain, Pamplona

Posted 21 September 2012 - 09:09 AM

That's interesting Luke, could you ginve me some more details especially on that disk?
Pm'd you!

#9 orlyandico

orlyandico

    Fly Me to the Moon

  • *****
  • Posts: 5283
  • Joined: 10 Aug 2009
  • Loc: Singapore

Posted 21 September 2012 - 09:11 AM

Mert, as I mentioned I also got one of the Renishaw encoders. This one's a RGH22Z05 0.5 micron read head. The numbers matter (the Z in this case).

The problem is getting the Renishaw tape. It's about $20 / inch if you can buy it. Some folks over on the autoguiding Yahoo group found that the Renishaw read heads, even though they are designed for linear measurement, are quite tolerant and can read the tape even if it's curved.

Basically you get yourself a nice machined disk, mount it to your polar assembly, stick the Renishaw special tape to the edge of the disk, then position the read head so that it reads the tape as the disk rotates.

This gives you a super-high resolution encoder.

#10 Mert

Mert

    Skylab

  • *****
  • Posts: 4216
  • Joined: 31 Aug 2005
  • Loc: Spain, Pamplona

Posted 21 September 2012 - 12:52 PM

I see, that's a clever solution, what diameter disk
did you use?
Inside my mount ( EQ6 ) there isn't much room so I'll
go for removing the polar scope probably.

#11 orlyandico

orlyandico

    Fly Me to the Moon

  • *****
  • Posts: 5283
  • Joined: 10 Aug 2009
  • Loc: Singapore

Posted 21 September 2012 - 01:10 PM

Mert, I don't use the encoder disk. Because I can't find the tape. Only certain specialty CNC supply houses sell the tape (it is Renishaw RGS20S tape if I recall).

Note that the Renishaw linear read heads already do interpolation - their output is already quadrature square wave. So the one I have "Z" model is 0.5 micron = 0.0005 mm resolution with the RGS20S tape.

So 1mm of tape = 2000 counts, and 1 inch = 50000 counts.

You want at least a few million counts for a TDM type application. A 6" diameter disk would have a circumference of ~ 478mm giving 957K tics. I "heard" this many tics is enough for the SiTech tick management mechanism.

Still I think an 8" diameter disk would be better.

Note the different Renishaw heads (all in the RG20 range but the letter - X, Y, Z - specify the resolution) all use the same RGS20S tape. The X/Y/Z just specifies the internal interpolation used to achieve the higher resolution.

Heidenhain uses glass scales for their linear encoders - so you can't wrap it around a cylinder like the Renishaw tape.

#12 Luke Jones

Luke Jones

    Lift Off

  • -----
  • Posts: 8
  • Joined: 27 Mar 2009

Posted 21 September 2012 - 06:14 PM

Sure:

Renishaw Encoder mounting image:
Renishaw high resolution encoder mounted to RA axis

Arduino used to read encoder, interact with laptop, and send ST4 guide commands:
Arduino microcontroller interfaces image


#13 orlyandico

orlyandico

    Fly Me to the Moon

  • *****
  • Posts: 5283
  • Joined: 10 Aug 2009
  • Loc: Singapore

Posted 22 September 2012 - 02:36 AM

hi Luke,

Thanks! Mert and I now have something to chew on :-D

Do you have the pinout of the Renishaw plug?

Would it be too much to ask for the Arduino source code? :-D

I expect since you take over the ST-4 port, regular autoguiding is no longer possible? or do you still allow pass-through like the TDM?

Also which Arduino version do you use? I believe some of them use ceramic resonators and not true crystals so the timebase is less accurate..

I see you got the "Y" encoder (0.1 micron). I only have the "Z" encoder (0.5 micron) so my resolution would be much less.

The big challenge is - where to buy the gold tape?!?!?!?!

#14 Luke Jones

Luke Jones

    Lift Off

  • -----
  • Posts: 8
  • Joined: 27 Mar 2009

Posted 22 September 2012 - 05:01 AM

I'm playing with the Arduino source at the moment. My mount is an IEQ45 which has an extremely regular periodic error source from the servo motor (5 arcsec, period 6.2 secs), and the code is a bit of a mess whilst I try a hysteresis approach to get sub -/+ 2 arcsec tracking.

The Renishaw plug pins that I use are:
1 = earth
5 = 5v
2 = A+
6 = A-
There are additional pins for error and differential quadrature, but I find no need to bother with them.

I do use external guiding from the laptop, which I think is critical, but you only need slow corrections, and then don't need to get too concerned about issues such as "perfect" polar alignment.
A good high resolution encoder gives me a tracking capability in RA much like you have in DEC. You still need to make the odd correction. I pass through DEC guiding corrections from the laptop directly through to the ST4, and use RA guide corrections from the laptop to adjust the "ticks per second" rate to match sidereal tracking exactly, accounting for mount periodic error.

I got lucky and found 2 "Y" versions of the Renishaw on eBay, so I now have a spare. I suspect that the "Z" version wouldn't be too much of a problem. I get 32 ticks/sec with a 9cm diameter ring. You'd get 6 ticks a sec, but could increase that with a larger ring. With delays on ST4 responsiveness and waits for guide corrections to complete, there's a limit to the usefulness of high ticks/sec anyway.

It would be interesting to see if the Arduino can do analog reads of the commonly available Renishaw "B" encoders, fast enough to do your own high resolution interpolation - but I suspect a faster processor would be needed (or dual core microprocessor with one core dedicated to encoder interpolation).

#15 orlyandico

orlyandico

    Fly Me to the Moon

  • *****
  • Posts: 5283
  • Joined: 10 Aug 2009
  • Loc: Singapore

Posted 22 September 2012 - 05:06 AM

Hi Luke,

I haven't touched my Arduinos in a while, but the PIC32 boxes are a lot faster (80MHz) and not much more expensive than regular Arduinos. How fast can the analog inputs be read anyway?

I would prefer using an ERN 180 or similar ($200 range used on ebay) analog 5000-ppr rotary encoder, no need for the magic tape. I think the tape is $20/inch so with a 15cm ring that's almost $400 just for the magic tape.

#16 Luke Jones

Luke Jones

    Lift Off

  • -----
  • Posts: 8
  • Joined: 27 Mar 2009

Posted 22 September 2012 - 05:13 AM

The Australian Renishaw dealer seemed quite willing to sell the tape.

I must confess that my rig is "high maintenance", and nothing like a TDM "set and forget".

My very cheap solution doesn't have the tape go right around the ring. That means that I manually twist the ring after slewing to a target.
Also, as the distance tolerances between the read head and read tape are fairly exact, and the ring isn't perfectly concentric, I'd typically have to manually adjust the distance before an hour passes. Admittedly I could easily improve the concentric exactitude of the ring.

#17 orlyandico

orlyandico

    Fly Me to the Moon

  • *****
  • Posts: 5283
  • Joined: 10 Aug 2009
  • Loc: Singapore

Posted 22 September 2012 - 05:51 AM

Post deleted by orlyandico

#18 orlyandico

orlyandico

    Fly Me to the Moon

  • *****
  • Posts: 5283
  • Joined: 10 Aug 2009
  • Loc: Singapore

Posted 22 September 2012 - 12:45 PM

Mert, Luke,

The reference input of the Arduino can be changed from 5V to 1.1V - http://arduino.cc/en...AnalogReference

This should be good enough for the 1Vpp output of an analog encoder.

Since the maximum sampling rate is 10K samples/second (and we need to read 2 inputs) this means at best 5000 reads/second.

A 5000 ppr encoder turning at sidereal rate produces 1 cycle every 17 seconds.

Within these 17 seconds is where we do our interpolation. To get 1024 sample interpolation we would need to read every 16.82 milliseconds.

Seems doable with the Arduino... in any case I "won" a 5000 ppr Baumer analog encoder on ebay for a hundred bucks. Cheaper than buying Renishaw tape. When I get it I'll wire it up to the Arduino and will see....

#19 Luke Jones

Luke Jones

    Lift Off

  • -----
  • Posts: 8
  • Joined: 27 Mar 2009

Posted 22 September 2012 - 07:42 PM

Nice work. I was concerned that you might need dual core to manage other housekeeping tasks, or risk losing raw encoder ticks - but at 17 seconds per raw cycle, this won't happen.

Analog reads on the Arduino aren't as efficient as you'd hope. Out of the box a read takes around 111 msec, but with some special config you can *just* get it down to 16msec.
Faster Arduino analog reads

I'm happy with mine, but would be very interested to hear your results. I assume you still need to organise RA axis mounting for your Baumer?

#20 orlyandico

orlyandico

    Fly Me to the Moon

  • *****
  • Posts: 5283
  • Joined: 10 Aug 2009
  • Loc: Singapore

Posted 22 September 2012 - 11:20 PM

Hi Luke,

Yes I need RA axis mounting. Thing is my mount already has an RA axis encoder (a 2500-ppr digital one - so only 10,000 tics, not enough for encoder-assisted PEC). So I can have a machine shop fabricate an encoder cup that screws into the polar scope shaft like the OEM one, and an encoder bracket that screws into the existing mounts for the housing.

Thanks for the links on the Arduino. I will probably use a PIC32 anyway to get that 80MHz goodness...

#21 Mert

Mert

    Skylab

  • *****
  • Posts: 4216
  • Joined: 31 Aug 2005
  • Loc: Spain, Pamplona

Posted 23 September 2012 - 01:16 PM

For really fast ADC, it would be best to use a Flash ADC
chip.
For example the MAX1114 can do 150Msps conversion rate.
Then just use an interrupt to notice the data ready and
read the data.
I think I'll go this route ( still waiting for prices on
encoders )

#22 orlyandico

orlyandico

    Fly Me to the Moon

  • *****
  • Posts: 5283
  • Joined: 10 Aug 2009
  • Loc: Singapore

Posted 23 September 2012 - 06:56 PM

Mert, I chickened out and got a Heidenhain IBV 660.

Up to 400X interpolation. Input is 1Vpp sine/cosine, output is digital quadrature. Cost a hundred bucks. Although I believe they are $600+ new. And if it's broken, I'd be back where I started.

#23 Mert

Mert

    Skylab

  • *****
  • Posts: 4216
  • Joined: 31 Aug 2005
  • Loc: Spain, Pamplona

Posted 24 September 2012 - 04:44 PM

Sounds good, I hope for you that it works like it
should!
Did you get it on Ebay??
Please let us know how you do with it!

:question: Now that I read the product spec, what is
that input frequency they state for the interpolation
to work? 0.78KHz is the lowest frequency I see in
the table.
How many cycles does your encoder have?? Remember the RA
axis only rotates at a rate of 15 arc-second per second!


#24 orlyandico

orlyandico

    Fly Me to the Moon

  • *****
  • Posts: 5283
  • Joined: 10 Aug 2009
  • Loc: Singapore

Posted 24 September 2012 - 07:12 PM

no 0.78 kHz is the maximum speed when interpolating at that rate... (400X) it's not the minimum.

anyway will see.. if the IBV 660 ends up being broken or a China fake (it came from an HK seller) I'll do the usual paypal complaint. And would then end up needing to use an Arduino to read the Baumer encoder...

#25 Mert

Mert

    Skylab

  • *****
  • Posts: 4216
  • Joined: 31 Aug 2005
  • Loc: Spain, Pamplona

Posted 25 September 2012 - 01:19 PM

I see, that's interesting news!
Which reference of the Baumer encoder do you have??






Cloudy Nights LLC
Cloudy Nights Sponsor: Astronomics