SZTUKA
Piękno i dobre samopoczucie
RZEMIOSŁO
KULTURA I HISTORIA
ROZRYWKA
ŚRODOWISKO
JEDZENIE I NAPOJE
INŻYNIERIA ODWROTNA
NAUKI
LEKKOATLETYKA
TECHNOLOGIA
URZĄDZENIA DO NOSZENIA
Gimballed Thrust Vectoring
Martin

Autor

Martin

27. sierpień 2026NO
36
0
0
0
0

Gimballed Thrust Vectoring

A rocket ascending on its engine is balancing a pencil on a fingertip, and it is worse than that because the fingertip is doing the pushing. Thrust acts at the base while the centre of mass is far above it, so any small angular disturbance produces a moment that increases the disturbance — the vehicle is statically unstable and will tip over within seconds unless something actively corrects it. Fins work in the atmosphere and do nothing in vacuum. The answer used on every large launch vehicle is to swivel the engine itself: tilt the thrust a couple of degrees off-axis and it produces a restoring moment through a very long lever arm. This blueprint builds the gimbal and its control loop, and the important lesson is that the vehicle is not made stable — it stays unstable, and is flown by a loop fast enough to keep catching it.
Zaawansowany
6 hours 30 minutes

Instrukcje

1

Prove the instability with a broom handle

Feel the problem before instrumenting it.

  1. Balance a broom vertically on your palm and note what you must do to keep it up.
  2. Try it with your eyes closed.
  3. Now balance it the other way — hang it from your hand like a pendulum — and let go of the corrections.

Upright, it needs continuous correction and fails instantly without feedback; hanging, it is stable and needs nothing. A rocket under thrust is the upright case: thrust below, mass above, and every degree of tilt generating a moment that increases the tilt.

Notice what your hand actually does — it moves toward the direction of the fall. That is the counter-intuitive part and it is exactly what a gimballed engine does: to correct a tilt to the left, the engine swivels so the thrust pushes the BASE further left, rotating the vehicle back upright about its centre of mass.

This is why a rocket visibly leans and yet flies straight, and why gimbal deflections are small — one or two degrees is plenty, because the lever arm from engine to centre of mass is tens of metres.

Materiały do tego kroku:

Wooden Dowel (25mm)Wooden Dowel (25mm)1 sztuka

Potrzebne narzędzia:

Smartphone with Slow-Motion VideoSmartphone with Slow-Motion Video
Tape Measure (5 m)Tape Measure (5 m)
Digital Angle GaugeDigital Angle Gauge
2

Build a two-axis gimbal ring

Two perpendicular hinges give you pitch and yaw from one mount.

  1. Machine an outer ring that pivots on two opposed bearings about one axis.
  2. Machine an inner ring pivoting inside it about the perpendicular axis.
  3. Mount your engine — or a mass dummy with a thrust source — in the inner ring.
  4. Check the two rotation axes intersect exactly, and that both pass through the engine’s thrust axis.

If the axes do not intersect at a common point, gimballing in one axis translates the engine sideways as well as rotating it, and the two control channels start interfering. That cross-coupling turns an already difficult control problem into a much harder one.

Reverse-engineering note: this is also why the propellant feed lines to a gimballed engine use flexible bellows arranged so their stiffness is symmetric about both axes. An asymmetric duct pushes the gimbal a little in one direction, and the control loop must fight that bias continuously — burning actuator power and margin for nothing.

Materiały do tego kroku:

Aluminium Plate (10mm)Aluminium Plate (10mm)1 sztuka
Ball BearingBall Bearing4 sztuk
Steel Dowel Pin (5mm)Steel Dowel Pin (5mm)4 sztuk
M5 Cap Screws (20mm)M5 Cap Screws (20mm)8 sztuk

Potrzebne narzędzia:

Milling Vise (4-inch)Milling Vise (4-inch)
Metal LatheMetal Lathe
Drill PressDrill Press
Dial IndicatorDial Indicator
Digital Caliper 6-InchDigital Caliper 6-Inch
Digital Angle GaugeDigital Angle Gauge
Torque WrenchTorque Wrench
Clear Safety GlassesClear Safety Glasses
3

Add actuators and measure the response you can command

How fast the gimbal can move sets how unstable a vehicle you can fly.

  1. Fit two actuators — hobby servos are adequate at this scale — one per axis.
  2. Command a step change and film it, measuring the time to reach the commanded angle.
  3. Measure the maximum angular rate and the deflection range.
  4. Measure backlash by commanding a small reversal and seeing how much command produces no motion.

Backlash is the number that will hurt you. Any free play means a region where the loop commands a correction and nothing happens, and a control loop with a dead zone hunts — it overshoots, reverses, waits through the slack, overshoots the other way.

Actuator rate matters just as much. An unstable vehicle diverges at a characteristic rate, and the loop must be able to correct faster than it diverges. If the gimbal is slower than the tipping, no control law will save it.

Real vehicles use hydraulic actuators for exactly this reason, and some — including the Saturn V and the Shuttle — tapped high-pressure propellant from the turbopump as the hydraulic supply, so the engine powered its own steering.

Materiały do tego kroku:

Hobby ServoHobby Servo1 zestaw
RC ReceiverRC Receiver1 zestaw
Control HornControl Horn1 zestaw
ClevisClevis1 zestaw
Aluminium Flat Bar (3mm)Aluminium Flat Bar (3mm)1 sztuka

Potrzebne narzędzia:

Oscilloscope 2-Channel 100MHzOscilloscope 2-Channel 100MHz
Digital Multimeter (Lab Grade)Digital Multimeter (Lab Grade)
Adjustable Bench Power Supply (30V/5A)Adjustable Bench Power Supply (30V/5A)
Smartphone with Slow-Motion VideoSmartphone with Slow-Motion Video
Digital Angle GaugeDigital Angle Gauge
Digital Caliper 6-InchDigital Caliper 6-Inch
Soldering StationSoldering Station
Clear Safety GlassesClear Safety Glasses
4

The control sketch

Upload this to the board before tuning. It reads the IMU, fuses gyro and accelerometer with a complementary filter, and drives both servos.

Note what the derivative term uses: the gyro rate directly, not a differentiated angle. Differentiating a noisy angle manufactures large spurious commands — the gyro already measures rate cleanly, so use it. The integral term is clamped, because an integrator that keeps accumulating while the servo is already at its limit will wind up and then overshoot badly when the error finally reverses.

Tune in the order Kp, then Kd, then Ki, one at a time, watching the serial telemetry.

gimbal_pid.inoarduino
/*
  Two-axis gimbal stabiliser — PID attitude hold
  Youblob blueprint: Gimballed Thrust Vectoring

  Reads pitch and roll rate from an MPU-6050 IMU, fuses them with the
  accelerometer via a complementary filter, and drives two servos to hold
  the thrust axis vertical.

  Hardware:
    MPU-6050  SDA -> A4, SCL -> A5, VCC -> 3.3V, GND -> GND
    Pitch servo signal -> D9      Yaw servo signal -> D10
    Servos powered from a SEPARATE 5V supply, grounds commoned.

  The derivative term uses the gyro rate DIRECTLY rather than differentiating
  the angle. Differentiating a noisy angle produces large spurious commands;
  the gyro already measures rate, cleanly. This matters — see step 4.
*/

#include <Wire.h>
#include <Servo.h>

const int MPU = 0x68;
Servo pitchServo, yawServo;

// --- Tune these on the test stand, in this order: Kp, then Kd, then Ki ---
float Kp = 4.0;
float Kd = 0.25;
float Ki = 0.4;

const float GIMBAL_LIMIT = 8.0;   // degrees of deflection the mechanism allows
const float SERVO_CENTRE = 90.0;
const float ALPHA        = 0.98;  // complementary filter: trust gyro short-term

float pitch = 0, yaw = 0;
float iPitch = 0, iYaw = 0;
unsigned long lastMicros = 0;

void setup() {
  Serial.begin(115200);
  Wire.begin();
  Wire.beginTransmission(MPU);
  Wire.write(0x6B); Wire.write(0);      // wake the MPU-6050
  Wire.endTransmission(true);

  pitchServo.attach(9);
  yawServo.attach(10);
  pitchServo.write(SERVO_CENTRE);
  yawServo.write(SERVO_CENTRE);

  delay(2000);                          // let the rotor and the IMU settle
  lastMicros = micros();
}

void loop() {
  Wire.beginTransmission(MPU);
  Wire.write(0x3B);
  Wire.endTransmission(false);
  Wire.requestFrom(MPU, 14, true);

  int16_t ax = Wire.read() << 8 | Wire.read();
  int16_t ay = Wire.read() << 8 | Wire.read();
  int16_t az = Wire.read() << 8 | Wire.read();
  Wire.read(); Wire.read();             // discard temperature
  int16_t gx = Wire.read() << 8 | Wire.read();
  int16_t gy = Wire.read() << 8 | Wire.read();

  unsigned long now = micros();
  float dt = (now - lastMicros) / 1000000.0;
  lastMicros = now;
  if (dt <= 0 || dt > 0.2) return;      // ignore a stalled or first iteration

  float gyroPitchRate = gx / 131.0;     // deg/s at default +/-250 deg/s range
  float gyroYawRate   = gy / 131.0;

  float accPitch = atan2(ay, az) * 57.2958;
  float accYaw   = atan2(-ax, sqrt((float)ay * ay + (float)az * az)) * 57.2958;

  // Complementary filter: gyro is accurate short-term but drifts;
  // the accelerometer is noisy but has no long-term drift. Blend them.
  pitch = ALPHA * (pitch + gyroPitchRate * dt) + (1.0 - ALPHA) * accPitch;
  yaw   = ALPHA * (yaw   + gyroYawRate   * dt) + (1.0 - ALPHA) * accYaw;

  iPitch = constrain(iPitch + pitch * dt, -20, 20);   // clamp: anti-windup
  iYaw   = constrain(iYaw   + yaw   * dt, -20, 20);

  // Correct TOWARD the fall: a positive pitch error commands the nozzle to
  // push the base the same way, rotating the vehicle back upright.
  float cmdPitch = Kp * pitch + Ki * iPitch + Kd * gyroPitchRate;
  float cmdYaw   = Kp * yaw   + Ki * iYaw   + Kd * gyroYawRate;

  cmdPitch = constrain(cmdPitch, -GIMBAL_LIMIT, GIMBAL_LIMIT);
  cmdYaw   = constrain(cmdYaw,   -GIMBAL_LIMIT, GIMBAL_LIMIT);

  pitchServo.write(SERVO_CENTRE + cmdPitch);
  yawServo.write(SERVO_CENTRE + cmdYaw);

  static unsigned long lastLog = 0;
  if (millis() - lastLog > 50) {        // 20 Hz telemetry for tuning
    lastLog = millis();
    Serial.print(pitch, 2); Serial.print(',');
    Serial.print(cmdPitch, 2); Serial.print(',');
    Serial.print(yaw, 2); Serial.print(',');
    Serial.println(cmdYaw, 2);
  }
}

Materiały do tego kroku:

Microcontroller BoardMicrocontroller Board1 sztuka
Inertial Measurement Unit (6-Axis)Inertial Measurement Unit (6-Axis)1 sztuka
Hookup Wire (22 AWG)Hookup Wire (22 AWG)1 reel

Potrzebne narzędzia:

Computer with Arduino IDEComputer with Arduino IDE
Digital Multimeter (Lab Grade)Digital Multimeter (Lab Grade)
Oscilloscope 2-Channel 100MHzOscilloscope 2-Channel 100MHz
5

Close a PID loop and tune it on a test stand

Now fly the instability on a stand where failure costs nothing.

  1. Mount the whole assembly on a single-axis pivot so it can tip but not fall.
  2. Add an inertial sensor measuring angle and angular rate.
  3. Implement a control loop: proportional to angle error, derivative on rate, a little integral for steady bias.
  4. Start with proportional only, increase gain until it oscillates, then add derivative and back the gain off.

Proportional alone gives an oscillation that never settles; adding derivative damps it; too much integral makes it sluggish and prone to wind-up. The derivative term is what makes this work — it responds to how fast the error is GROWING, so it starts correcting before the error is large.

Compare with the constant-speed propeller governor from the aviation batch: same negative feedback, same hunting failure when tuned too aggressively. The difference is that a governor is correcting a stable system and this loop is the only thing preventing a tumble.

Filter the derivative term. Rate signals are noisy, and differentiating noise produces large spurious commands that will shake the airframe — several early vehicles had control loops that excited their own structural bending modes, with the sensor reading the vibration the actuator had just created.

Materiały do tego kroku:

Inertial Measurement Unit (6-Axis)Inertial Measurement Unit (6-Axis)1 sztuka
Microcontroller BoardMicrocontroller Board1 sztuka
Hookup Wire (22 AWG)Hookup Wire (22 AWG)1 reel

Potrzebne narzędzia:

Oscilloscope 2-Channel 100MHzOscilloscope 2-Channel 100MHz
Digital Multimeter (Lab Grade)Digital Multimeter (Lab Grade)
Adjustable Bench Power Supply (30V/5A)Adjustable Bench Power Supply (30V/5A)
Smartphone with Slow-Motion VideoSmartphone with Slow-Motion Video
Digital Angle GaugeDigital Angle Gauge
Soldering StationSoldering Station
Clear Safety GlassesClear Safety Glasses
6

Compare the alternatives and see why gimbals won

Several ways exist to steer a rocket. Measure what each costs.

  1. Build a jet vane — a small heat-resistant paddle that deflects the exhaust — and measure the side force and the thrust LOST to its drag.
  2. Model vernier thrusters: small fixed engines used only for control.
  3. Consider fluid injection: squirting liquid into one side of the nozzle to create an asymmetric shock.
  4. Tabulate side force, thrust penalty and complexity for each.

Jet vanes are simple, work from the instant of ignition, and sit in the exhaust stream eroding while stealing a few percent of thrust. Verniers are clean but are extra engines. Fluid injection has no moving parts in the flow and limited authority. Gimbals cost nothing in thrust and demand a mechanism, flexible plumbing and hydraulic power.

The V-2 used graphite jet vanes because gimballing a whole engine in 1942 was beyond the state of the art; they eroded badly and the accuracy suffered. As actuators improved, gimbals took over everywhere the thrust penalty mattered — which is to say, everywhere the rocket equation is watching.

Solid motors cannot gimbal a whole engine easily, so they steer by gimballing just the nozzle on a flexible bearing — a laminated stack of rubber and metal shims, stiff against thrust and compliant in bending. The Shuttle boosters steered exactly that way.

Materiały do tego kroku:

Graphite BlockGraphite Block1 sztuka
Aluminium Flat Bar (3mm)Aluminium Flat Bar (3mm)1 sztuka
Graph PaperGraph Paper1 pad

Potrzebne narzędzia:

Spring Scale (0-500 g)Spring Scale (0-500 g)
Infrared ThermometerInfrared Thermometer
Digital Caliper 6-InchDigital Caliper 6-Inch
File SetFile Set
Smartphone with Slow-Motion VideoSmartphone with Slow-Motion Video
Digital Scale (0.01 g)Digital Scale (0.01 g)
Clear Safety GlassesClear Safety Glasses
Face ShieldFace Shield

Materiały

15

Wymagane narzędzia

20

Powiązane blueprinty

Te blueprinty dzielą się wiedzą — technikami, materiałami lub zasadami

CC0 Domena publiczna

Ten plan jest udostępniany na licencji CC0. Możesz go swobodnie kopiować, modyfikować, rozpowszechniać i wykorzystywać do dowolnych celów, bez konieczności uzyskiwania zgody.

Wesprzyj Makera kupując produkty przez jego plan, za co zarabia Prowizja Makera ustalony przez sprzedawców, lub stwórz nową iterację tego planu i dołącz go jako połączenie w swoim własnym planie, aby dzielić się przychodami.

Dyskusja

(0)

Zaloguj się aby dołączyć do dyskusji

Ładowanie komentarzy...