|If you're a space nerd, you've probably had your eye on SpaceX's newest rocket: the Starship prototype. I have too. |
I'm particularly interested in how they control the vehicle in freefall during it's skydive or belly flop maneuver with some very unique control surfaces...
Designing in CAD
I used Solidworks CAD software to design all the parts for this vehicle. It is about 33" tall, and 5.5" wide to accommodate two miniquad motors in the bottom for thrust:
The benefit of designing in CAD first is that you can see how all the parts fit together to make sure it will actually work and be manufacturable. You can also assign masses to all of the parts to get a mass estimate and center of gravity estimate before you even order the parts. The mass should be roughly 850 grams, which is perfect for my two motors that can produce more than 1400 grams each. After moving some parts around, here is my center of gravity location:
|Here you can see the lower section in a little more detail. The two motors will pivot on their own axis for roll and pitch thrust vectoring control, actuated by servos from above.|
First, I threw all of the parts I designed on my 3D printer and printed them in PLA. The body spars are 3mm carbon fiber, and I cut the control surfaces from foamboard.
The cool thing about my design is that it is broken up into a few main subassemblies: the bottom motor mounts, a servo mount section, electronics section, and nosecone with canards. Then all of the subassemblies slide together over the carbon rods and can be pinned in place with your glue of choice; mine is hot glue so that I can easily remove it if I need to.
Here is the first subassembly: the motor mount section. Here, each motor is mounted to it's own axis of rotation that will be actuated by a 9 gram servo. This will give roll and pitch control in hover. They are spaced so that at maximum deflection, the 5 inch propellers cannot intersect and hit each other.
Next up is the servo section, which is used to mount the servos for roll and pitch thrust vectoring, and a servo for each rear control surface:
The electronics get their own mount at the top. At the top is the 6 channel receiver. To the right are two 35 amp ESCs for the motors, and the bottom is a separate BEC to power the servos. To the left and center is a Teensy 4.0 microcontroller and MPU6050 IMU for the flight controller:
I am using my own flight controller and code for this project:
You can download the code for free here: https://github.com/nickrehm/dRehmFlight
After sliding all these parts together over the carbon rods and pinning in place with some hot glue, I ran the wiring from the electronics at the top to the motors and servos at the bottom. I also installed the servos in the nosecone for the canards and put everything together:
Next up, I needed to wrap the body in something. I chose some foamboard which also acted to torsionally strengthen the body. Then I added paint to match the real Starship:
And that completes the build! Lots of flight testing and PID tuning went into making it a flyable Starship model capable of the elusive belly flop maneuver and landing.
What I Learned
This was just the first iteration of my Starship. I already have plenty of ideas for improvement to make it fly even better in the future. But I did learn a few cool things:
1. Breaking your project up into smaller, more manageable subassemblies can lead to a build that goes together much more smoothly
- When you try to do everything at once, something is bound to go wrong. In my case, I split the assembly into smaller subassemblies that went together on the bench. This also allowed me to use 3D printing as a manufacturing method because it broke the vehicle down into smaller parts that can fit on the printer. When it was time to assemble the whole thing, it only took less than an hour and there were no major integration issues. Very satisfying.
2. Fast spinning motors act like gyroscopes (because they are)
- I used thrust vectoring of each motor for roll and pitch control. The idea being that pitching a motor would create a control moment about a single axis. This is not necessarily the case and there is some unique coupling at play. When you rotate a rapidly spinning body like a propeller, it actually induces a moment in the axis perpendicular to it. Don't believe me? Do some research on gyroscopes and angular momentum; people that take dynamics courses in college still don't fully grasp it. Anyway, this leads to some roll and pitch control coupling that I completely forgot about when integrating the controller. Luckily a fast enough controller can 'decouple' the dynamics, but in the future I can program something in to give even better control response.
This was just a fun project that turned out to be a cool demonstration of SpaceX's new unique vehicle. I hope you've seen the real thing fly, because it is absolutely amazing to watch. How did I do replicating it?
If you enjoyed following along, sharing my video or subscribing to my channel to stay up to date on my Starship development would be greatly appreciated!
You can also follow along with my Starship development on it's own Hackaday page with regular updates: https://hackaday.io/project/175745-radio-controlled-starship-program