Simulating Gravity on Exo Planets - Kepler 22b (water Planet Situation)

by jain109390 in Design > 3D Design

61 Views, 0 Favorites, 0 Comments

Simulating Gravity on Exo Planets - Kepler 22b (water Planet Situation)

Screenshot 2026-01-05 at 11.59.44 PM.png
Screenshot 2026-01-04 at 11.22.15 PM.png
Centrifuge to replicate gravity on exo-planet

This project uses centrifugal force to simulate the gravity on exoplanets. This version is configured for an exoplanet called Kepler 22b, where the gravity is about 1.5 times that on Earth. I made this project because I wanted to study the effects of varying gravity on plant growth.

Supplies

3D printer - should fit in most

tt motor

arduino uno

l298n motor controller

jumperwires

micro scredriver

carboard box that is big enough for weights (like books) with room

adhesive - either doublesided tape, blue-tac or

craft knife

pencil

wieghts (like books) that can fit in the card board box with room.

3D Printing

Screenshot 2026-01-05 at 11.33.44 PM.png
Screenshot 2026-01-05 at 11.34.56 PM.png
Screenshot 2026-01-05 at 11.35.12 PM.png
Screenshot 2026-01-05 at 11.35.21 PM.png

I recommend starting with the 3d printing because if you are keen on saving time, letting the print run while assembling the rest of the components is the most efficient way to assemble this project.


The first thing to do is download the 3MF file. If you use a slicer such as Bambu Studio or Orca, this should be very easy for you, as you only have to upload the file, slice and print. If you have a different slicer, I highly recommend printing with 2-3 walls and reducing weight to ensure a high strength-to-weight ratio, but it does depend on the load you plan on using with this project. A note for all people is that the supports on this model are quite thin, so ensure that your build plate is clean and levelled so that there aren't any failures in terms of supports.

Once the print is done (about 1.5 hours later), please do not touch any aspect of the tool head, as you can seriously burn yourself. Moreover, you should not touch the build plate immediately after the print is over, as it is very hot - depending on the material you are printing - and can cause damage over prolonged contact. Once the build plate has cooled, simply snag it off the build plate and break off the supports. It should be directly ready to snap onto the motor with just a friction fit. However, if you are carrying a heavier load, a screw is advisable to secure the arm to the motor.

Downloads

Making the Circuit and Uploading the Code

Screenshot 2026-01-05 at 8.27.28 PM.png
Screenshot 2026-01-05 at 9.44.43 PM.png

Creating the Circuit and uploading code

The first step is to connect all of the jumper cables to the components.

The power supply connects to both the motor drive and the Arduino Uno. There are pins on the motor driver to power the Arduino Uno, but I chose to connect them using the method shown in the circuit diagram. Connect all of the parts of the circuit, but ensure that the motor is only connected using a temporary solution, and not soldered. This shouldn't be a problem if you are using a L298N motor controller, as the motor wires are only connected using screws. Also, if you are worried as to why your motor controller looks different to mine, despite the fact that you also have the L298N motor controller, it is probably because you're using a different version than mine; however, the connections should still be the same if you are using the L298N motor controller.


Download the Arduino IDE here. This is a software that will allow your laptop or pc to communicate with the Arduino Uno. Once downloaded, open the software and create a new file. Paste this code in the new file



int enA = 9;
int in1 = 8;
int in2 = 7;

void setup() {

pinMode(enA, OUTPUT);
pinMode(in1, OUTPUT);
pinMode(in2, OUTPUT);


analogWrite(enA, 255); // intitial boost to give the torque needed to start the motor spinning
digitalWrite(in1, LOW);
digitalWrite(in2, HIGH);
delay(3);


}
void loop() {
analogWrite(enA, 89); // constant rotation
digitalWrite(in1, HIGH);
digitalWrite(in2, LOW);
}

*This code is for constant rotation of the plant.

Once done, connect to the Arduino Uno and upload the code. If it works, the motor will begin to spin and won't stop until powered down. Once the test is done, disconnect the motor and power down the circuit.

The other way to do this is by using a potentiometer and connecting that to the motor, but I don't recommend this, as you don't have as precise control over the rotations per second.

Downloads

Motor Holder - Cardboard Box

Screenshot 2026-01-05 at 11.51.52 PM.png
Screenshot 2026-01-05 at 11.52.02 PM.png
Screenshot 2026-01-05 at 11.52.10 PM.png
Screenshot 2026-01-05 at 11.52.41 PM.png

On the lid of the box, mark out two holes, one big enough for one of the axles of the motor to fit in and rotate with no friction, and the other for the wires. Use a craft knife to cut, and be careful so that your other fingers are away from the blade, but keep the cardboard stable.

Using the same method, cut a hole in the side of the box so a wire for the Arduino Uno can be passed through.


Finally, pass the wires for the motor through the hole into the box, and assemble them into the circuit. Place weights like books to stabilise the box and position the Uno at the hole. Then, fix the 3d printed arm onto the motor and secure the motor in place using an adhesive like Blu-Tac. I recommend adding a thick layer of Blu-Tac between the cardboard and the motor to absorb vibrations and reduce noise. Finally Power on the circuit, and you have a working artificial gravity simulator.


Disclaimer: The PWM signal that is at 89 in the code is only designed for my loads. Your load may vary, so you may have to increase or decrease the PWM signal to keep the rotations at 1.5 per second. The rotations per second are directly proportional to the rotations per second

Making One for Your Own Exo Planet

Screenshot 2026-01-06 at 12.39.56 AM.png
Screenshot 2026-01-06 at 12.45.52 AM.png
Screenshot 2026-01-06 at 12.46.22 AM.png
Screenshot 2026-01-06 at 12.51.22 AM.png
Screenshot 2026-01-06 at 1.14.31 AM.png

The first thing to do if you want to try and mimic the gravity of another planet is to figure out the acceleration due to gravity there, or the gravity compared to Earth's gravity. In my case, it is 1.5g. To find the acceleration from this, all you have to do is multiply 1.5 and Earth's gravitational acceleration. As such, the acceleration on Kepler-22 b would be 14.705. One of the main things that I wanted to do for this project is test plant growth in different gravity strengths. One aspect that can have a big effect on plant growth is gravitropism, which is basically how plants sense what is up or down. I didn't want to confuse the plant by it being accelerated by Earth and the centripetal acceleration from the spinner, so I decided to replicate Kepler-22b's gravity by using the resultant force from both Earth and centripetal acceleration. This meant that the acceleration by the model spinning wouldn't be 14.705m/s^-2, but rather 10.957m/s^-2. I obtained the acceleration value by drawing out the vectors in Fusion and letting it do the work for me.

This acceleration can then be put into the centripetal acceleration formula, which is = (w^2)*r = ((4pi^2)r)/t^2. I knew that I wanted my rotations per second to be 1.5 (explanation later), so I input this into the equation and figured out that the radius must be 12.3

(For another perspective on the math, refer to the images above)

The reason that I chose 1.5 rps was to limit the Coriolis effect. This effect is basically the deflection of objects due to rotation. Normally, this isn't an issue in plants, but the faster you spin a plant, the greater the effect it has on the plant. I chose 1.5 because at that point, it was the slowest the model could spin without being too large.


tips for making your own:

While the math behind this can seem daunting, it really isn't, because all you have to do is substitute a couple of variables in.

Designing:

If you have measured the model, you may notice that the length of the arm isn't actually 12.3 cm, but rather something closer to 12cm. The reason for this is that is because this means the centre of the box made for the seedling is at 12.3 cm. I did this to have the most accurate representation I could of the gravity on Kepler-22b precisely on the seed. I also used a lot of chamfering and fillet to ensure the structure is rigid because the experiment I want to conduct could run from 7-21 days, and the model needs to be consistent


For my current setup, I am growing some tulsi (holy basil) seedlings, which haven't sprouted yet.