3D Printed Earth Clock

18,360

405

64

Introduction: 3D Printed Earth Clock

About: I'm a French mechanical engineering student, I like to design, make things and share them here! My main hobbies are astronomy, astrophotography and 3D printing. :)

Few years ago, I invented and built a clock showing how the Earth is exposed to the sun in real time.

The Earth Clock: I was happy with the result, however I am now an engineering student and I wanted to put my mechanical knowledge into practice, especially about 3D printing by designing a new version.

This is an unusual clock, it doesn't indicate time as a normal clock would, instead, it shows where your location is, compared to the night. It's a little gadget to put on your desk.

In the following timelapse the the speed is incredibly high, but keep in mind that the Earth's rotation is so slow that the model appears to be motionless!

As the Earth is tilted by 23.4°, it turns on two different axes at different speed rates:

- a “vertical” axis doing one full rotation in 1 year, simulating the movement around the sun.
- a “tilted” axis doing 1 rotation every day.

Supplies

  • 3D files
  • 1x Arduino Nano
  • 1x 28BYJ48 5V stepper motor
  • 1x ULN2003 driver board
  • 2x 5mm push buttons Aliexpress
  • 2x 10k Ohms resistors
  • 1x old USB cable
  • wires
  • 3x small screws
  • sandpaper, primer, paint
  • Soldering iron
  • 3D printer

Step 1: 3D PRINTING

Here you can purchase the files on Cults3D

It has been designed with Fusion 360.

Try to avoid the elephant's foot problem, it happens when the first layer is squished against the build plate, it is annoying when printing pieces intended to be put together, particularly when printing gears… so, despite the fact that the bottom surface remains ugly, I used rafts to print the 6 [16]planetary_gear.

Elephant's foot can be reduced by lowering the build plate or its temperature, if it happens anyway, it can be fixed by scratching the surface with a blade.

Here is a table showing how I printed the pieces, no supports needed, nozzle = 0.4mm.

The piece [4]Night_globe has a sacrificial layer improving bed adhesion, it needs to be removed after printing.

NameQuantityMateriallayer height (mm)
[1]Internal_gear1Black PLA0.2
[2]Bottom1Black PLA0.2
[3]Carrier2Black PLA0.2
[4]Night_globe1Black PLA0.12
[5]Night_globe_support1Black PLA0.2
[6]Carrier_plate1Black PLA0.2
[7]Cable_stopper1Black PLA0.2
[8]Sun_gear1Black PLA0.2
[9]Motor_axis1Black PLA0.2
[10]Bevel_gear11Black PLA0.2
[11]Bevel_gear21Black PLA0.2
[12]Spacer1Black PLA0.2
[13]Northern_hemisphere1Dark Grey PLA0.12
[14]southern_hemisphere1Dark Grey PLA0.12
[15]Hemispheres_link1Dark Grey PLA0.2
[16]Planetary_gear6Copper PLA0.2
[17]Year_carrier1Copper PLA0.2
[18]Foot2Copper PLA0.2
[19]Earth_axis1Copper PLA0.2

Step 2: EARTH GLOBE

Once printed, sand down the flat surfaces of the two hemispheres to avoid any gap at the equator.

Put the piece [15] into the southern hemisphere [14] without turning it, align south Africa with north America and rotate the northern hemisphere by 1/3rd of turn. After that, continents should be aligned.

_

Sand the globe with 120grit and 400grit sandpaper to remove the elephant's foot around the equator and to smooth out the surface, then spray 2 coats of primer and finally sand with super fine sandpaper (I used 800).

_

At this point, you can decide the color of your Earth: green and blue, black and white… or “realist” like mine.

To achieve a realistic look, spray blue paint over the entire globe, and paint the continents with acrylic paint according to the colors on google earth.

_

Step 3: ELECTRONICS

You can see here what you will need for the following schematic (wires are ~5cm long).

I started by soldering the two resistors and the wires on the Arduino

_

Then, I soldered these wires to the other components (buttons, ULN2003 board)

Finally, I soldered the USB cable to the ULN2003, but first, don’t forget to pass the cable through the 3D printed piece [2] !

Step 4: ARDUINO

You need to install a library: CheapStepper by Tyler Henry

Here is the code:

// Code by SimonRob for the 3D Printed Earth Clock

int button2 = 0;
int button3 = 0;
int DELAY = 0;
#include <CheapStepper.h>

CheapStepper stepper(4, 5, 6, 7);

void setup() {
pinMode(2, INPUT);
pinMode(3, INPUT);
}

void loop() {

button2 = digitalRead(2);
button3 = digitalRead(3);
delay(1);
DELAY = DELAY + 1;

if (button2 == HIGH){
button2 = digitalRead(2);
button3 = digitalRead(3);
stepper.step(false);
delayMicroseconds(50);
}
if (button3 == HIGH){
button2 = digitalRead(2);
button3 = digitalRead(3);
stepper.step(true);
delayMicroseconds(50);
}
if((button2 == LOW)&&(button3 == LOW)&&(DELAY>=21082)){
button2 = digitalRead(2);
button3 = digitalRead(3);
stepper.step(false);
DELAY=0;
}
}

After uploading it, you can already see if your circuit works, by pressing either buttons, the motor should spin one way or the other. If you are not doing anything, LEDs of the driver board should change every 21s.

Step 5: ASSEMBLY

First, the motor shaft must be shortened by 4mm.

_

The assembly is detailed step by step in this video:

TIP: at 3:15, when you place the [17]year_carrier above the [1]Internal_gear, try to align the triangle of the internal gear with the beginning of the current month, it will be useful when setting the time.

Step 6: SET THE TIME

Now it should work 😊!

To set the time, you need to start at the beginning of the current month and place your country in the night, then press the button that turns the Earth counterclockwise and count the days until you reach the current day, finally go to this website and fine tune the position to match reality.

Step 7: CALCULATIONS

This step is here just if you are curious to know how I designed it and where the values are coming from (you don't need to understand this step to successfully make your own Earth Clock)

The real difficulty of the design was to find a gear combination linking the day rotation and the year rotation and to keep it compact.

Because the Earth’s axis is attached to the piece turning at 1rev/year and by knowing the ways of motions of the Earth, I had to achieve a 367.25:1 ratio.

To keep the gearbox small enough, I divided this ratio into three identical planetary gear sets with an aimed ratio of 7.1612:1 for each one. I found a gear combination giving 7.1666:1 which is:

Sun gear (Z1) =12 teeth

Planetary gears (Z2) =31 teeth

Internal Gear (Z3) =74 teeth

(Z1+Z3)/Z1 = (12+74)/12 = 7.1666…

With 3 of them in a row, the ratio is: ((12+74)/12) ^3 = 368.087963:1

In theory, 365.25 rotations of the Earth should induce one full rotation of the year carrier, but using this gear ratio, the year carrier will achieve 99.77% of this rotation (It has an error of around 20h/year which I find acceptable for a 3D printed model).

The gear ratio isn’t perfect, so I coded the Arduino according to the day’s rotation,

The speed rate of the motor must be calculated with the real gear ratio for the earth to achieve 360°/24h (solar day),

Motor speed rate: X°/24h

X = 360 / (1 - 2/368.087963) = 361.96674° (this formula results from the design itself)

Motor speed rate: 361.96674°/24h

360° => 4076 steps

361.96674° => ?? steps

361.96674 * 4076 / 360 = 4098.26786 steps/24h

24h = 86 400 000ms

86 400 000 / 4098.26786 = 21 082,077 ms/step

Thank you for following my instructables! :D

And Thank you for the Grand prize in the Clocks speed challenge 2021!

Clocks Speed Challenge

Grand Prize in the
Clocks Speed Challenge

3 People Made This Project!

Recommendations

  • Barbecue Speed Challenge

    Barbecue Speed Challenge
  • Home Decor Challenge

    Home Decor Challenge
  • Make it Real Student Design Challenge #3

    Make it Real Student Design Challenge #3

64 Comments

0
pepponia
pepponia

5 days ago on Step 4

How can I change the direction in the code? Mine is clockwise. I need counterclock. Please help

1
pepponia
pepponia

Best Answer 4 days ago

This is my own answer: You have to change the direction by reverse the sequenze of order e.g. like this -> "CheapStepper stepper(7, 6, 5, 4);" instead of "CheapStepper stepper(4, 5, 6, 7);"

0
degerang
degerang

14 days ago

hi i printed all parts i have problem to fit
in your video the parts just fall in place
my parts to small or to big, printer problem?
i have a kossel linear
Lasse

0
SimonRob
SimonRob

Reply 14 days ago

Hi! Which parts do you have a problem with ?

0
degerang
degerang

Reply 14 days ago

all gear to big dont fit in internal gear
year carrier to small dont fit over internal gear , but the gear on that dont fit in internal gear

Lasse

0
SimonRob
SimonRob

Reply 14 days ago

Ok that is strange... It seams that you have an issue with the internal Gear, is there any elephant foot on it ?

0
degerang
degerang

Reply 14 days ago

hi no elephant foot i think its to thick the inner diameter wrong. i dont now if my printer do it wrong
Lasse

0
SimonRob
SimonRob

Reply 14 days ago

could you send me a close up picture of the gears? maybe you didn't print the gears slow enough making them less accurate

0
degerang
degerang

Reply 12 days ago

hi
i reprinted part 3 carrier and part 16 planetary gear at low speed 10mm/sek and they fit nuch better
i reprinted internal gear at 10mm/sek its to tight the planetary dont fit
any ideas? if it is over extrusion can i change a setting in CURA?
Lasse

0
degerang
degerang

Reply 14 days ago

no elefant foot
lasse

0
SimonRob
SimonRob

Reply 14 days ago

ok but it can also be overextrusion, I think the issue is with your printer because no one else had this problem, I put clearance between the gears in the CAD model

1
HertzandMadden
HertzandMadden

16 days ago

I suppose we can't say that this project is "out of this world". Great work!

0
SimonRob
SimonRob

Reply 13 days ago

Haha thanks!

0
ralph.franz
ralph.franz

Question 13 days ago on Introduction

Hi Simon, I have downloaded the files and opened them one by one in Cura, But I can't find the STL part that fits between the Bottom (file 2) and the Year_carrier (file 17). I have a Anycubic Mega X and the parts I have printed are OK. Regards Ralph

0
SimonRob
SimonRob

Answer 13 days ago

Hi! It is the file 1 (internal Gear) if you can't open it or if it is missing I can send it to you

0
ralph.franz
ralph.franz

Reply 13 days ago

Stupid Me. Yes I have the file. Thank you.

0
SimonRob
SimonRob

Reply 13 days ago

Haha no problem ;)

1
datoo786
datoo786

26 days ago

First of all, a brilliant project and well thought..!!! I have seen science school paper asking seasons (see attached image). Many students haven't got a clue about earth's orbiting while tilting. Your project is well set out to explain it very well.

Your 3D printed gears are brilliant, including the embossed text. I never imagined 3D can give very close accuracy. I am working on a project using Fusion 360, and the minimum size of gear I have outlined is 10T, 5mm PCD, 0.5 Mod. I'm still in the thought process if they need special mould to make these gears or 3D printing should do the job.

Science.png
1
Brien Allison
Brien Allison

Reply 15 days ago

I printed custom gears with about 0.6 Mod with an 0.4mm nozzle, although they were no smaller than about 20T. They meshed fine but a little extra care with the print finish is needed.