Sub-Orbital Avionics: Delta Thrust Vector Control v8
Hey everyone! Its been 6 months since the original release of the Delta Thrust Vector Control System! Thanks to the help from the community; the TVC mount has gone through three more iterations! Here is a history of the TVC: V1 was a poorly designed 1 axis mount that kinda worked, V2 was much nicer and stronger, V3 improved V2, V4 was the first TVC to include an outer gimbal for two axis control, V5 was the first viable TVC mount for open-sourcing, V6 added linkage stoppers for higher prescion, V7 made V6 stronger and lighter, V8 added functionality for MG-90S and MG-90D servos! Thanks for all of the recent support! Lets get flying soon!
Usually, a model rocket flies straight just because it has generic plastic fins. If the rocket is too heavy or the engine surges, it wildly crashes. The Delta Thrust Vector Control (TVC) Rocket Guidance System abandons fins entirely! The Arduino acts as a monolithic flight computer, violently pivoting the actual blazing rocket engine hundreds of times a second via heavy-duty servos to keep the vehicle balanced on a pillar of fire exactly like a SpaceX Falcon 9!
Inertial Navigation (The MPU6050 Matrix)
The Arduino (Pin A4/A5) is wired to an MPU6050 6-Axis Gyroscope.
- Because the rocket violently shakes, raw accelerometer data is garbage.
- The Arduino must run a terrifyingly complex algorithm called a Kalman Filter or a Complementary Filter inside the
loop(). - The math instantly fuses the Gyroscope spin-rate
(Degrees per second)with gravity vectors to Output exactly how far the rocket is leaning:LaunchVectorOffCourse = 14.5 Degrees Pitch!.
The PID Gimbal Execution
The rocket engine is mounted inside two pivoting 3D-printed rings (The Gimbal), attached to two Metal Gear SG90 Micro Servos (X-Axis and Y-Axis).
- The
loop()uses extreme PID Calculus.
myPID(&Input, &Output, &Setpoint, Kp, Ki, Kd, DIRECT);
// Pitch correction calculation!
servoX.write(90 + Output);
- If the rocket abruptly tips 10 degrees to the East due to a gust of wind, the Arduino instantly tells the PID to kick the rocket engine nozzle violently 15 degrees to the West!
- The thrust physically blasts the bottom of the chassis back under the nose, canceling the tilt completely within 10 milliseconds!
The Flight Computer Rig
- Arduino Nano or Teensy 4.0 (A Teensy is wildly preferred over an Uno here. A rocket going 300MPH requires a 600MHz processor to execute the PID loop multiple thousands of times a second without latency!).
- MPU6050 6-Axis IMU Module (Must be mounted physically perfectly dead-center on the rocket's 3D-axis center of gravity!).
- Two MG90S Metal Gear Micro Servos (Do NOT use plastic gears or the 50lbs of engine thrust will rip the gears apart in 0.1 seconds!).
- SPI SD Card Datalogger Module (Absolutely critical for saving the explosive telemetry variables at 100Hz so the engineer can analyze the flight curve data after the parachute lands).
Help support me on Patreon!