If this is more appropriate in the ATM forum, I'd appreciate if it was moved there. But I think it will generate more interest here.

I had been planning to work on an encoder-based periodic error correction box for some months now, but I got sidetracked by buying a Mach1.

However it is an interesting problem that potentially could help a lot of Atlas and CGEM mounts out there. I hope it isn't out of line that I am showing something when the full solution isn't working yet, but so far progress has been gratifying, so I will post some information here.

Parts needed:

1) machined aluminum plug with an M28 x 1mm thread on one end, and a 1" diameter (25.4mm) shaft extension

2) thin aluminum plate (I will dimension this later once everything is working nicely)

3) aluminum plate on the CGEM

completely reversible mod:

4) the most expensive part of this DIY: a 5000-ppr (pulse per revolution) sine-cosine analog encoder; this one is a Baumer-Thalheim ITD 42, the well-known commercial solution uses a Heidenhain ERN480. I got the Baumer quite inexpensively (a bit over $100) but a new one is probably $400 range.

another view:

and another

Now the reader may wonder, how do we implement encoder-based periodic error correction with a 5000-ppr encoder? aren't those Gurley encoders on the SiTech 320,000-tick? and don't the ASA mounts use million-tick encoders?

The solution here is called encoder interpolation. The commercial product uses an ERN480, which costs 270 EURO ($350). The ERN480 is also a 5000-ppr sine-cosine analog encoder.

So where do the millions of ticks come from? you measure the A and B channels (both analog), then calculate the arc-tangent. This is because the A channel is a sine wave, and the B channel is 90 degrees out of phase (a cosine wave). One cycle is produced for every slot on the encoder. So the famous arctan ( A / B ) will give us the encoder's position in between two adjacent slots.

Encoder interpolation is a well-known problem, and Heidenhain makes an interpolator box, the IBV660B, which can do 400-fold interpolation (giving 400 x 5000 = 2 million ticks). Unfortunately, the IBV660B costs over 900 EURO (about $1200).

Obviously any solution cannot lower the cost of the encoder (which is $300 - $400) so any savings must be in the interpolation box.

Now this is where I come in. I figured out that a commercial interpolator is overkill, because our RA axis rotates at a fairly slow rate (the IBV660B can interpolate while the encoder is rotating at over 1000 RPM - which we don't need).

At the very slow speeds of an RA axis that is tracking, we can do the interpolation

**in software**.

Particularly, with a $50 Arduino Uno, a $3 Microchip MCP3304 differential analog-to-digital converter, some wires, and a single bypass capacitor (< $1) which may not even be needed.

This is the current state of my interpolator solution:

Extremely crude, $60 worth of parts. Right now, it does nothing but read the A, B, and N channels of the encoder, and output the readings on the serial port. I am not even using a voltage reference, so the full 13-bit resolution of the AD converter is not being used.

But even with this crippled solution, I can characterize the periodic error of my CGEM with not a star in the sky, simply by reading the encoder:

You can see the horrendous, humongous 8/3 harmonic. With a 200-millisecond sampling rate, I get about 3" granularity. No autoguider can correct 5X per second reliably, so I see good functionality here.

To complete this solution, requires a bit more coding, and a $5 optocoupler so that the Arduino can drive the ST-4 inputs of the mount (just the RA+ and RA- inputs actually). Since I actually have a job I will probably finish the autoguider control portion this coming Easter holiday.

If everything works as planned, I am going to publish the schematics and source code so that anyone can build their own encoder-based PE correction system.

Maybe if enough people sign up, I would have some PC boards fabricated, etc. An Arduino chip only costs $7, you actually don't need the entire $50 board. So I could see fabricating a PCB with an Atmega328 chip on it, pre-programmed with the interpolator and ST-4 control software, and with the AD converter. Just add encoder and plug it into your ST-4 port.

I do not expect the cost of the interpolator and guiding hardware to exceed a hundred bucks or so. In other words, the price of a GPUSB.

Further, I see lots of 1250-ppr and 2500-ppr surplus analog encoders on ebay for $60 to $80. I believe these will still work, albeit with lower resolution than the 5000-ppr Heidenhain or Baumer. So the amount of reduction in the PE would be less. I am to reduce PE to sub 2" peak-to-peak with this gadget; with a cheaper encoder probably only 5" peak-to-peak will be possible. But the cost will be much less.