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 16T for a 1:1 ratio. 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

Contents: 

Tags: