• Limit switch

    RobG5 days ago 0 comments

    I wasn't really comfortable with the idea of having to manually set the starting position of the tracker each time it's powered on, i.e. the 'only just fully closed' position. So I found an old microswitch kicking around and decided to test it for its mechanical repeatability. I wrote a script to slowly press and release the microswitch very precisely, using the motor/screw/nut mechanism, and record the motor step count on each low-to-high and high-to-low transition. Closing/pressing the switch seemed to give the best consistency, with NC and NO contacts being broadly similar in their behaviour. Repeatability was easily better than +/-0.01mm, and probably within +/-0.005mm most of the time. Which is remarkable.

    I can use this switch to detect the 'closed' position and thus initialise the motor at start-up, rather like Z-axis homing on a 3D printer.

  • Hardware nearly finished

    RobG08/31/2026 at 10:01 0 comments

    I've nearly finished all the making and assembling, just a few finishing touches to go:

    The stepper motor is only just powerful enough to drive the screw once my camera is mounted on top, so I might have to revisit that. Plus I still need to finalise the electronics/driver and software anyway.

    But... early experiments with my 250mm lens and the camera in Live View mode at maximum zoom show that the motion is very smooth - not very much wobble at all.

  • How the software works

    RobG08/14/2026 at 16:06 0 comments

    The stepper motor runs "open loop" so the controller has no way of knowing the position of angle of the tracker. It keeps track of the step count each time the motor is stepped so, as long as it starts up in a known position, and isn't allowed to stall at all, it all works fine. 

    The controller also has a 'clock' which counts the milliseconds that have elapsed since powering on. After each step, the controller calculates the exact clock time of the next step. It does this using a bit of maths which relates the step count - and therefore the position of the nut - to the angle of the moving part of the tracker. The angle must increase at a constant rate, but the timing of the steps is changing slightly all the time.

    Lengths l1, l2 and l3 are all fixed and connected by hinges. Distance d changes as the motor drives the nut forward and backward along the screw. The opening angle, α, is then determined using trigonometry as:

    α = cos-1((l12 + l32 + d2 - l22) / (2 l1 sqrt(l32 + d2)) - tan-1(l3/d)

    Once the calculated clock time passes, the motor is stepped again and the cycle repeats.

  • How it's going

    RobG08/14/2026 at 13:58 0 comments

    I've been working on this a few weeks, so the design is already quite advanced. Here's what I've got so far:

    The mechanism is quite different: a nut is driven along a straight, linear leadscrew which in turn opens the two halves via a linkage. Since the opening angle must increase at a constant rate, but the position of the nut along the screw is not proportional to the angle, the screw cannot be driven at a constant rate. Instead a microcontroller (Arduino Nano) is used to calculate the precise moment to step the motor each time (20-30 times per second) in order to compensate for the changing relationship between nut position and opening angle.

  • Where it all started

    RobG08/14/2026 at 13:57 0 comments

    Here's a pic of the original wooden tracker with my DSLR attached:

    It uses a stepper motor driven at a fixed 32-steps-per-second rate, courtesy of a 32kHz quartz crystal clock and frequency divider. The motor drives a nut along a curved, threaded rod, which opens the two halves at the required 15degrees-per-hour rate. The down-side is that the curved rod tends to waggle (the thread isn't very accurate) so very long exposure images are a little blurry. Overall accuracy is also limited by poor dimensional tolerance when drilling the holes for the bearings - the whole thing has to be large to minimise the tolerance effects.

    Nevertheless, here's a pic I managed to take by stacking dozens of short(ish) exposures:

    This is the benchmark to try and beat!