Vixen SXD Mount Converted To STM32 OnStep

After nine months of modifying the OnStep open source telescope controller to run on the cheap STM32 ARM Cortex M3 microcontroller, it is time to reap the fruits of this long labour: I have an OnStep powered mount ...

First some background. Way back in mid December 2017, I submitted to Howard the Hardware Abstraction Layer (HAL) to enable ports of OnStep to additional platforms in a modular fashion with less effort. Before the STM32 was completed, HAL proved useful in supporting RAMPS, Arduino Due, and lately the ESP32.

Then in May, I purchased a used Vixen SXD to convert to OnStep. Vixen's mounts are known for a very low periodic error, but their controllers are notoriously hard to interface to using open protocols (e.g. LX200 command set and its extensions, USB, ...etc.)

Along the way, I developed the OnStep Configuration Generator, which has proven useful to many amateur astronomers who are techies. I also improved OnStep in some areas.

It took a long time to convert the mount because of the serial nature of the conversion: one has to order the motors, and inspect them (e.g. shaft diameter, and length) before ordering pulleys and belts to match. With most of the parts ordered from China over eBay, it takes 6 to 8 weeks to get any one item.

The motors used are Vexta NEMA11 with an 18:1 gear head. Pulleys are both GT2 25 teeth for a 1:1 ratio. For each axis, one is 6mm bore and the other is 5mm bore. The belts are GT2 102mm 51 teeth. Dave Schwartz drilled holes in the mount's flanges to mount the motors.

A small perfboard was placed inside the mount with breakout RJ45 sockets for each axis. By using the RJ45s, I can use regular Ethernet cables to connect the mount to the controller. This is possible because of two reasons: a) these motors are low current (0.67A for half-phase), and b) the wiring in the controller is for each two adjacent wires are joined together, so they end up in one wire for the motor.

The STM32 controller Printed Circuit Board was started by me, but Dave Schwartz ended up doing most of the work. The result is the STM32 PCB and parts. Howard Dutton provided valuable input, and John O'Grady provided design reviews.

The controller works extremely well with the current Alpha (1.13e). After alignment, GOTOs are very precise.

I have not tried periodic error correction (PEC) yet, but doing a test for 900 seconds on Albireo, shows the Vixen SXD has very low periodic error. If I go from my current 1310 mm focal length (2032 mm with 0.63X reducer, and spaced back somewhat by the 2 inch adapter) to say 600 mm, the periodic error may be totally un-noticable, and PEC may not be needed at all.

Alignment using plate solving, a feature I added to OnStep, works as I intended it to: just start alignment with the desired number of stars (3 is enough), then add the exact same number of stars in KStars/Ekos Mount Model tool, and off it goes.

Here is a video of my Vixen SXD Telescope mount with STM32 OnStep.

OnStep is nothing short of amazing! Howard Dutton did a great job writing it, and a greater job sharing it with the world.

Here are some unprocessed single shot images I took last night:

It helps considerably if you can visualize what was done by viewing the pictures of the converted mount and controller. Each picture has a description of what is in it.

Here is my configuration summary:

// Mount type: GEM
// Board: STM32Blue
// Axis 1:
//   Worm wheel steps/rotation:  180
//   Transfer gear/pulley ratio: 18.0
//   Motor Steps/Rotation:       200
//   Microsteps when tracking:   16
//   Microsteps when slewing :   2
//   Stepper Driver Model:       LV8729
// Axis 2:
//   Worm wheel steps/rotation:  180
//   Transfer gear/pulley ratio: 18.0
//   Motor Steps/Rotation:       200
//   Microsteps when tracking:   16
//   Microsteps when slewing:    2
//   Stepper Driver Model:       LV8729
// Max Rate:                     18
// PEC Buffer Size:              480
// Based on what you entered, the values below were calculated:
// ===
// Axis 1
//   Pulse rate when tracking:   120.0 steps/second
//   Resolution when tracking:   0.125 arc second/step
//   Maximum Slew Rate:          1.93 degree/second
//   Motor speed when slewing:   520.8 RPM
// Axis 2
//   Pulse rate when tracking:   120.0 steps/second
//   Resolution when tracking:   0.125 arc second/step
//   Maximum Slew Rate:          1.93 degree/second
//   Motor speed when slewing:   520.8 RPM




OnStep with Vixen SX2 mount

I came across your project while searching for options for controlling a Vixen SX2 mount (without the very expensive Star Bpok Ten controller). The simplified Star Book One controller allows for autoguiding but not GoTo.

Based upon your project here, do you think it reasonable that the latest Vixen SX2 mount (without the GoTo Star Book TEN hand controller) can be made GoTo capable using OnStep and the mounts existing motors?

(the addition of the Star Book 10 controller adds about $1000 to the cost of a mount that is $2400 without the controller...Canadian dollars. Limited personal funds but a (minor) background in electronics and programming...)

Regards, Dave

Indeed possible ...

Looking at the SX2 images online, it looks like the basic build is very similar to the SXD that I have. So based on that, it is possible to convert it to OnStep.

I don't know if the existing motors are servos or steppers. If they are servos, then you can't use OnStep directly. You need a motor driver that converts Pulse/Dir signals into servo.

However, the most common way to convert a mount is to just replace the motors with steppers, then drive them with normal OnStep boards, and regular StepStick drivers.

Hi Khalid, thank you for the

Hi Khalid, thank you for the very quick response!

Sounds encouraging. The Vixen SX2 has stepper motors according to the current manual for the drive. They indicate the motors as "Stepping (Pulse) motors with 250PPS".

Given that the included motors are steppers, I guess the next thing to discover is how to provide them with the appropriate signals... The hand controller (SB One) provides direction signals and allows setting slewing speeds via a DB-9 connector and will connect to a compatible ST-4 autoguider, and the optional SB Ten does GoTo

OK, I'm off to study the OnStep system in more detail now.

Cheers from Vancouver Island, Dave

Not all steppers are created equally ...

Some stepper motors are not suitable for Goto. These are usually so-called tin-can steppers, with a high reduction gearbox in them.

You need to know if they are that.

Better yet, you should know the native steps per rotation (probably 48 if they are those tin-can ones), and what gear ratio does the gear box have.

When the gear reduction is very high, slewing speeds (say 2 deg/sec and above), will often exceed the RPM limit of the motors, and they will stall (high pitched whining sound, and no movement).

There are several types of steppers. The ones used in OnStep have 4 wires, and are bipolar. If you have more wires going in (e.g. 6 or more), then they are probably unipolar. Some unipolar motors can be modified to run as bipolar, either by cutting a wire, or using only 4 wires. Youtube has several videos on how to do that.

Good point. I will have to

Good point. I will have to see what I can find out about the steppers in the Vixen SX2.

I have some familiarity with them and the drivers for them as what led me down this path was finally completing a barn door mount this spring. It has a biploar NEMA 17 motor with 0.9 degree steps and was initially driven by a Polulu DRV8825 (clone from eBay, then the original when the first "quit"). I changed it out to a TMC-2208 finally (WAY quieter). The driver is timed by an Arduinio Nano. It works well (usually) but has left me wanting more...

(last time I did astronomical photography was back in 1977 at UBC with 4x5 inch glass plates and a telescope with an "intermittent" drive controller... not the best results. Time has passed, the digital sensors have matured from the 512 x 1 element linear Reticon out department received in 1975/6, and I've some time to pursue this once again...)