3D Adventurer [Equatorial Mount for DSLR]

49,063

428

183

Introduction: 3D Adventurer [Equatorial Mount for DSLR]

About: Hi! I am a French mechanical student, I like to design, build things, and share them here! I'm passionate about Astronomy, especially through the practice of Astrophotography. 3D printing is also one of my hob…

As a big fan of astrophotography and 3D printing I had to build my own equatorial mount for my DSLR.

For this project I used Fusion 360 to design all the pieces.

With this instructable you can design your own or you can use my STL files and follow the assembly tutorial.

Enjoy!

Supplies

Electric:

  • 1x stepper motor 28BYJ-48 5V
  • 1x ULN2003 driver board
  • 1x Arduino (I used nano but every arduino will work)
  • 2x push button (I used a double momentary toggle switch)
  • 2x led 3mm (1x Orange + 1x Red)
  • 1x DC jack adapter
  • wires, soldering iron,

Mechanic:

  • 2x ball bearing (10-30-9)
  • 1x metal tube 105~110 mm long with external diameter according to the bearing (here 10 mm)
  • 3D printer + PLA
  • Screws + nuts (I used M2.5 kit)
  • 1x M8 threaded rod + M8 nuts
  • Heavy stuff

Others:

  • 1x DSLR camera + lens
  • 1x Tripod (mine is a Manfrotto Compact Advanced)
  • 1x Camera ball joint
  • 1x Kodak screw to mount the ball joint
  • CAD software if you want to modify the files (fusion 360 is free for students)

Step 1: Purpose

As you know, Earth is rotating, so it is not easy to photograph stars because they leave star-trails.

In astrophotography, we use the "500 Rule" it allows to take pictures of the night sky without noticeable star trails: divide 500 by the focal length of your lens and you will obtain the maximum exposure time. However, with the crop factor of my DSLR it turns out to be the "300 Rule". My lens is a Canon 24mm f2.8 so according to the rule: 300/24=12.5 I can only shoot stars during 12.5s and that is very short to capture enough light from them.

The device I made is tracking stars, that allows to get rid of that rule and shoot as long as we need.

Fortunately the rotation of the Earth is well known, the axis is passing through the north celestial pole and the rotation speed is 1rev/23h56min4s (stellar day)

With that we can create a device that turns on a parallel axis and at the exact opposite speed as the Earth.

It is called "equatorial mount", it is commonly used with a telescope because with only 1 motor it tracks stars.

Some of them are big and really powerful in order to rotate enormous telescopes but some others are small carrying only a DSLR that is what I wanted to make.

It can also be useful to make timelapse according to earth's rotation.

Step 2: Designing

First, 1rev/23h56min4s is slow, very slow. And for my star tracker I wanted as few gear wheels as possible in order to reduce play in the mechanism that is why I didn't make a planetary gear. I decided to make a simple gear reducer with only 2 wheels, one with 10 teeth and the other with 60 teeth, that way, it divide the speed by 6 and multiply the torque by 6, perfect !

The main shaft is made from a copper tube the material is not very important but it must be a tube, you will understand why later. It has a diameter of 10mm because I had some 10-30-9 bearings (those may be oversized but it results in a very reliable revolute joint)

I used a 5VDC 28BYJ-48 stepper motor, which is not very powerful but with the gear ratio it should be enough

As I live in the north hemisphere at roughly 45° latitude I tilted the Manfrotto socket by 45° the adjustments will be ensured by the tripod head.

I designed all the parts using Fusion 360.

on the 2nd picture, pieces with a "*" are not 3D printed.

Step 3: 3D Printing

I 3D printed all the parts on my Creality Ender 3 with those settings:

  • Cura slicer
  • ICE filament 1.75mm
  • nozzle 210°C
  • bed 50°C
  • 20% infill (gyroïd)
  • 0.16mm / 0.2mm layer height
  • no supports
  • Ø 0.4mm nozzle
  • 40mm/s

the total printing duration is roughly 12h.

Here is the Cults3D link to the files: HERE (.stl and .f3d)

Step 4: Prototyping

23h56min4s is equal to 23.9344444...h

1rev/23.934444h on the main shaft --> 1rev/3.989074h on the motor shaft

4076steps/rev on the motor --> 1 step every 3.523s [3.523225s]

The DSLR stays motionless during exactly 3.523s so according to the 500 and 300 Rule : the equatorial mount will work with lens below 142mm focal length on a full frame and below 85mm on a crop sensor.

In order to drive the motor with 4076 steps, there is this Arduino library by tyhenry.

Here is the code to put in the arduino board if you live in the northern hemisphere.

/*<br>Sketch by SimonRob 
3D printed equatorial mount for DSLR
Instructables
*/

int buttonA1 = 0;
int buttonA2 = 0;
int ledOrange = 4;
int ledRed = 5;

#include <CheapStepper.h>

CheapStepper stepper;

void setup() {
  pinMode(A1, INPUT);
  pinMode(A2, INPUT);
  pinMode(ledOrange, OUTPUT);
  pinMode(ledRed, OUTPUT);
}

void loop() {

buttonA1 = digitalRead(A1);
buttonA2 = digitalRead(A2);

if (buttonA1 == HIGH){
  buttonA1 = digitalRead(A1);
  buttonA2 = digitalRead(A2);
  digitalWrite (ledOrange, HIGH);
  digitalWrite (ledRed, LOW);
  stepper.step(false);
  delay(6);
}
if (buttonA2 == HIGH){
  buttonA1 = digitalRead(A1);
  buttonA2 = digitalRead(A2);
  digitalWrite (ledOrange, HIGH);
  digitalWrite (ledRed, LOW);
  stepper.step(true);
  delay(6);
}
while((buttonA1 == LOW)&&(buttonA2 == LOW)){
  buttonA1 = digitalRead(A1);
  buttonA2 = digitalRead(A2);
  digitalWrite (ledOrange, LOW);
  digitalWrite (ledRed, HIGH);
  stepper.step(false);
  delay(3523);
    
}
} 

the member videoenquirer modified the previous code for the southern hemisphere :

Step 5: Assembly

  1. Screw the motor in place with 2x M2.5 screws + nuts
  2. Hammer the bearing on the tube, 20mm from the end
  3. Place those in the corresponding hole of the main body (red piece)
  4. Hammer the second bearing on the top
  5. Place a washer or anything that can be a spacer here
  6. Insert 4x M2.5 nuts where it is needed (here is the example on the big gear wheel)
  7. Screw the big wheel and the support on the tube, tight them enough to make a mark on the tube
  8. Remove those 2 pieces and drill 2 holes at the marks
  9. Sharpen the end of 2 screws
  10. Screw the big wheel and the support on the tube
  11. Insert the M8 nut into the support piece
  12. Screw the M8 threaded rod
  13. Screw a camera ball joint with a Kodak screw
  14. Add counterweight on the threaded rod to balance the mass of the DSLR

Step 6: The Controller

Once printed, screw in place the two PCB (Arduino + ULN2003 driver) and place the components in the box.

Solder wires according to this schematic:

Then plug the motor and clip the lid on the box

Step 7: How to Use It?

  1. Place the star tracker on the tripod (tube pointing to the north).
  2. Screw the DSLR on the ball joint, and add the counterweights on the other side.
  3. Remove the small gear wheel from the motor to release the axis.
  4. Then adjust the counterweight to balance the rotating part, and put back the small gear wheel.
  5. Look into the tube and adjust the head of the tripod the see the North Star into it (you can also use a laser through the tube).
  6. Power on the equatorial mount and enjoy !

Step 8: Astrophotography

Here is my first photography with the mount :

Here is a picture of th milky way,
Canon 750D, Equatorial mount, Canon 18-55mm stm (at 27mm), f/4, iso1600, 196s

You can see that even at 196s exposure, stars stays dots (except in the corners due to chromatic aberations) however there is a motion blur on the trees. If you want them sharp too, you will have to add a motionless picture of your foreground and mix those into Photoshop or Gimp.

on the picture we can easely notice some deep sky objects:

I also practice astrophotography with a telescope, you can see my photos on Instagram ;)

Space Challenge

First Prize in the
Space Challenge

8 People Made This Project!

Recommendations

  • Backyard Contest

    Backyard Contest
  • Remote Control Contest

    Remote Control Contest
  • Sculpt & Carve Challenge

    Sculpt & Carve Challenge

183 Comments

0
whataaka
whataaka

4 weeks ago

Hi Simon. I have assembled everything according to, instead of putting two buttons I have put a switch with 2 positions for fast and slow. Everything works fine but the speed doesn't seem to match what it should, it's much slower. I have forced it to 4076 steps and the microsteps work fine A AB B BC C CD etc. but there are star trails. Testing at home I find that I have to turn it down to at least 1700 milliseconds (half of 3524) to see some blur in the image and for it to appear to work. Any ideas?.

Will my motor have other steps despite being the same model?

0
RaphaelS4
RaphaelS4

Tip 4 months ago

I saw a tracker made with omegon kitchen timer, the mini track, it works completely mechanically, I have difficulties in designing a similar model

images.jpg
0
JasonP43
JasonP43

6 months ago

Well I assembled the electronic components per the schematic and programmed the Arduino... it powers on and I can feel vibrations in the motor but the shaft doesn't turn at all. Thought at first it was just moving really slow, so I made a mark to see if it turned away from it, and it does not. Any ideas what might be wrong here?

0
SimonRob
SimonRob

Reply 6 months ago

Hi!
How long have you waited to see if it had turned ? Because the speed is incredibly slow.
If, indeed, the motor isn't turning at all, but there are vibrations, it might be a wiring problem, check if the led light up in the right sequence : something like A-AB-B-BC-C-CD-D-DA... and not something random.

0
JasonP43
JasonP43

Reply 6 months ago

It ended up being an issue with the soldering which I resolved successfully! Thanks for the info.

If I wanted to modify the code to use a 250mm lens, any idea where I might need to make that code change? I figure it's a matter of determining the number of steps and changing that in the code, but I'm struggling to determine how to calculate the number of steps for a 250mm lens. Any ideas?

By my math... if I wanted to use a 250mm lens on a crop-sensor camera, I would need a figure of 1.2 seconds to avoid trails (per the 300 rule). This seems to figure out to about 11960 steps per rev to get to that 1.2 second factor. Does that math sound right to you?

0
SimonRob
SimonRob

Reply 6 months ago

Well, no, if you change the delay between steps it will change the speed of the mount and that's not what we want cause it won't be able to track stars anymore. The delay is calculated to track the sky, not to adapt to a specific focal length. 250mm is a far too long focal for this gear, it's too shaky sorry

0
JasonP43
JasonP43

Reply 6 months ago

Ah, ok. Got it.

I was able to finish the project. Ran into a couple of final snags... the first is that the code in your Instructable paired with the one from GitHub seems to result in the motor spinning too fast (at least in my case).. as it will most certainly complete 1 RPM on the main shaft in less than a sidereal day (probably 1 RPM every 5 minutes it appears).. not entirely sure where to fix this.

The final issue was me not realizing that the wedge/base for this was specifically for a Manfrotto mount.. as such it doesn't seem to fit any of the tripod mounts I currently have so I'll have to figure something out.

0
SimonRob
SimonRob

Reply 6 months ago

hmm.. You mean that by using the code in the instructable the motor is spinning at 1 turn per 5 min? Also, I didn't published the code on Github, so which one are you referring to?

0
JasonP43
JasonP43

Reply 6 months ago

Here's a short YouTube video I uploaded showing the tracker in action. Hopefully it's a little easier to see what I mean by "it turns too fast". I timed 1 RPM at 3 minutes on the main shaft... still not entirely sure what is wrong, since I used your provided code verbatim.

https://www.youtube.com/watch?v=u3wRzCHpb1c

0
SimonRob
SimonRob

Reply 6 months ago

Ho I see! It looks like the mount is rotating as if you were pressing a fast movement button. So first verify the wiring, especially around the buttons. if everything is ok, try this code instead :

int buttonA1 = 0;
int buttonA2 = 0;
int ledOrange = 4;
int ledRed = 5;

#include CheapStepper stepper;

void setup() {
pinMode(A1, INPUT);
pinMode(A2, INPUT);
pinMode(ledOrange, OUTPUT);
pinMode(ledRed, OUTPUT);
}
void loop() {
buttonA1 = digitalRead(A1);
buttonA2 = digitalRead(A2);
if (buttonA1 == LOW){
buttonA1 = digitalRead(A1);
buttonA2 = digitalRead(A2);
digitalWrite (ledOrange, HIGH);
digitalWrite (ledRed, LOW);
stepper.step(false);
delay(6);
}
if (buttonA2 == LOW){
buttonA1 = digitalRead(A1);
buttonA2 = digitalRead(A2);
digitalWrite (ledOrange, HIGH);
digitalWrite (ledRed, LOW);
stepper.step(true);
delay(6);
}
while((buttonA1 == HIGH)&&(buttonA2 == HIGH)){
buttonA1 = digitalRead(A1);
buttonA2 = digitalRead(A2);
digitalWrite (ledOrange, LOW);
digitalWrite (ledRed, HIGH);
stepper.step(false);
delay(3523);
}
}

0
JasonP43
JasonP43

Reply 6 months ago

That (mostly) fixed the problem! Your new code still resulted in the tracker turning too fast, so I just modified it such that the delay was 3523 regardless of the button setting. :)

Tested it out and it works like a charm now! This is an 8-second exposure test from my Canon T3i tonight.

Thanks for putting up with my questions! You have been tremendously helpful and this project has been well worth the effort!

example_home_tracker copy.jpg
0
JasonP43
JasonP43

Reply 6 months ago

Sorry for the confusion. Using your code in this Instructable and pointing it to the CheapStepper.h library referenced at GitHub, I uploaded that all to the Arduino. It runs without a problem, but I just ran the motor and timed 1 RPM. Currently, the motor is turning the main shaft at a rate of 1 RPM every 3 minutes. I would think that it should turn far, far slower to match the rotation of the Earth (i.e. roughly 1 RPM every 24 hours)?

0
Wamaral
Wamaral

Question 6 months ago

Hello Simon
I'll start assembling the project this weekend, now I'm printing the parts on my Ender 3D! I'm in Brazil so I'm going to use the southern hemisphere code. Just copy and paste the code into the Arduino program and assemble the circuit? Did you plug it into a 9V battery or a power supply? if it was in a source what amperage? I'm very excited about the project, congratulations and thanks for sharing!
A quick question, to balance the mount is it necessary to remove the smaller gear every time?
Cheer´s,
Wagner

0
SimonRob
SimonRob

Answer 6 months ago

Hi!
Yes the code just needs to be copied from here, you will have to download the library first. Using a 9V battery should works indeed, and yes the small gear have to be removed every time you want to balance the mount, but don't worry it's very simple to remove and replace ;)

0
Wamaral
Wamaral

Reply 6 months ago

Thank you my friend.
I opened the code for the Southern Hemisphere and in the last line the Delay is with (3506), shouldn't it be like the Northern Hemisphere: delay(3523) ? Is it correct or is it a typo?
Regards,
Wagner

0
bsouty
bsouty

Question 2 years ago

Hi, my dad and I built this.

It works great for single long exposure picture and posting them on Facebook, the apparent movement of stars is clearly cancelled, but it seems too unstable to be used for stacking. My best shots from last night (c.f. picture attached) is not within the margins for acceptable stars eccentricity (0.666 while below 0.600 is considered ok). And most other shots are way worse than this (still acceptable if you don't zoom in and only want to share on Facebook).

Am I doing something wrong or are you also noticing small imperfections?

IMG_5258_scraped.jpg
0
SimonRob
SimonRob

Answer 2 years ago

So great !
Indeed the mount is a bit shaky but with no wind and by using an intervalometer (without touching anything between pictures) it turns out great for me.
Stars stays in the frame without shifting over time.
What is the exposure time of the picture you sent ? And which lens did you used ?
Also,
why your pictures are bad ... Is it because it is shaky or is it because stars are slowly moving over time ?

0
bsouty
bsouty

Reply 2 years ago

Indeed I was planning to buy an intervalometer next. The stars aren't moving in the frame, the imperfections are due to small movement of the mount I believe. The picture I attached in my previous comment was taken with a 50mm lens with 2 minutes exposition time. I am attaching another picture, also with 2 minutes exposition time. In this one you can see a satellite trail, if you zoom on it, you can see some perturbation after each step of the motor. I also still need to improve on the counterweight which is not ideal and their is a little bit of play on the big gear which I need to fix.

IMG_5225_90.jpg
0
Berdine58
Berdine58

Reply 6 months ago

Good job for 2 a minutes exposition time! and definitively you are in a dark place for the sky not to be burned! 2mn minutes in most cases require a mount that allows autoguiding.
I would try 30 seconds open at F/D 1.8 @ 1600 ISO and then stack.

0
Fred_76
Fred_76

1 year ago

Nice idea and realisation. I have some comments.

The teeth period is 86044/60=23min54s. It means that the time between two teeth is about 24 minutes. Any default on the printing on teeth will reappear every 24 minutes. That is not a big deal because that mount will be used with small focal lengths, 85 mm or lower.

The 28BYJ-48 stepper moter has a very little torque. Only 0,034 N.m. Assuming a friction ratio of 0.6 between the 3D printed gears (especially because there is a huge interference between 6/60 gears), the net torque is 0.034x(1-0.6)x6=0.082 N.m.

The distance between the center of gravity of the camera and the rotation axis is about 15 cm. Therefore the balancing has to be good to avoid the motor to stall. Assuming the net torque of 0.082 N.m, it gives a max camera's vs counter weight unbalancing of (0.082/9.81)/0.15 ~= 50 grams. This is very little before the motor stalls...

You should better use whether a stronger stepper motor or use a larger gear ratio.

A+

Fred