Overview & Types
Aerospace actuators operate at the extremes — controlling flight surfaces at 600 mph, deploying landing gear under 10 G loads, positioning satellite antennas in vacuum, and throttling rocket engines at 3,000°C. Reliability is paramount: failure means loss of aircraft or spacecraft. This drives extensive redundancy, fault-tolerant design, and qualification testing that dwarfs any other industry.
Flight Control Actuators
- Hydraulic Servo Actuator: The traditional standard. 3,000–5,000 psi hydraulic system powers linear cylinders that move ailerons, elevators, rudder, spoilers, and flaps. Triple-redundant servo valves. Used on most commercial aircraft.
- Electro-Hydrostatic Actuator (EHA): Self-contained unit: electric motor → hydraulic pump → hydraulic cylinder. No central hydraulic lines. Used on Airbus A380 (backup) and Boeing 787 (primary for some surfaces).
- Electro-Mechanical Actuator (EMA): Electric motor + gearbox + ball screw. Fully electric, no hydraulic fluid. Used for secondary flight controls (trim tabs, flaps). Advancing toward primary flight control.
Landing Gear & Utility
- Landing Gear Actuator: Hydraulic cylinders for extension/retraction. Electric backup (hand crank or electric motor) for emergency extension. 10–50 kN forces.
- Nose Wheel Steering: Hydraulic or electro-hydraulic actuator for ground taxiing. ±70° steering angle for maneuvering.
- Thrust Reverser: Hydraulic or pneumatic actuators deploy blocker doors or cascade vanes after landing. Must deploy reliably and retract fully — partial deployment is a critical failure.
Space & Satellite
- Reaction Wheel / CMG: Spinning flywheels (reaction wheels) or gimbaled flywheels (control moment gyros) for spacecraft attitude control. Absorb angular momentum without propellant. Used on ISS, Hubble, all modern satellites.
- Thruster Valve (Solenoid): Solenoid valves controlling hydrazine or cold-gas thrusters. Pulse width determines impulse bit. Must operate after years of dormancy in vacuum.
- Solar Array Drive Assembly (SADA): Stepper or BLDC motor + harmonic drive rotating solar panels to track the sun. Slip rings or flex cables transfer power. 15–25 year life in space.
- Gimbal Actuator: Hydraulic or electric actuators tilting rocket engine nozzles for thrust vector control (TVC). Must handle extreme vibration and thermal environments.
Working Principle
Electro-Hydrostatic Actuator (EHA)
- Command Signal: Flight computer sends position command via ARINC 429 or MIL-STD-1553 bus.
- Motor Drive: Variable-speed BLDC motor spins a fixed-displacement hydraulic pump in both directions.
- Hydraulic Circuit: Pump pressurizes one side of a double-acting cylinder. Motor speed/direction controls flow rate and direction. Closed circuit — no reservoir.
- Position Feedback: LVDT (Linear Variable Differential Transformer) provides precise position feedback. Redundant LVDTs (typically 3) for fault tolerance.
- Fail-Safe: Hydraulic lock or mechanical brake holds position on power loss. Damping mode allows passive aerodynamic centering.
Reaction Wheel
A BLDC motor spins a flywheel (0.1–100 kg). By Newton’s third law, accelerating the wheel applies torque to the spacecraft. Three orthogonal wheels provide 3-axis attitude control. When wheels approach saturation speed, thrusters desaturate them. Typical accuracy: 0.001° pointing.
Aerospace Actuator Comparison
| Type | Bandwidth | Force | Weight | Maintenance |
|---|---|---|---|---|
| Hydraulic Servo | 10–50 Hz | Very High | Medium (+ system) | High (fluid, seals) |
| EHA | 5–30 Hz | High | Medium (self-contained) | Low |
| EMA | 3–20 Hz | Medium–High | Low | Very Low |
| Reaction Wheel | 0.1–10 Hz | N/A (torque) | 0.5–50 kg | None (space) |
Aerospace Actuator Specifications
| Parameter | Hydraulic Servo | EHA (Boeing 787) | Reaction Wheel |
|---|---|---|---|
| Power Source | 3000 psi hydraulic | 270 VDC (MEA bus) | 28 VDC (sat bus) |
| Force/Torque | 10–500 kN | 10–200 kN | 0.001–1 N·m |
| Speed | 50–200 mm/s | 30–150 mm/s | 0–6000 RPM |
| Bandwidth | 10–50 Hz | 5–30 Hz | 1–10 Hz |
| Position Accuracy | ±0.1 mm | ±0.1 mm | 0.001° pointing |
| Redundancy | Triple hydraulic | Dual motor/electronics | 4 wheels (3+1 spare) |
| Operating Temp | −55°C to +90°C | −55°C to +90°C | −30°C to +70°C (space) |
| Design Life | 60,000 flight hours | 60,000 flight hours | 15–25 years |
Driver Circuits & Electronics
Motor Controller (EHA/EMA)
Dual-lane or triple-lane motor controllers with independent power stages and monitoring. Rad-hard or radiation-tolerant components for space. Automotive-grade (AEC-Q100) minimum for aircraft. Isolated gate drivers, current sensors with self-test, and hardware watchdogs.
Servo Valve Driver (Hydraulic)
Dual-coil torque motor driven by ±40 mA current from flight computer. Force-feedback nozzle-flapper or jet-pipe mechanism. LVDT feedback closes position loop.
Reaction Wheel Electronics (RWE)
Space-grade BLDC driver with: magnetic encoder (no optical — radiation darkens glass), current-mode FOC, speed/torque control, telemetry interface (RS-422 or SpaceWire), and latch-up protection.
Control Methods
Fly-by-Wire (FBW)
Pilot stick inputs are digitized and processed by redundant flight computers (typically 3–4). Computers send position commands to actuator controllers. Multiple dissimilar computing channels prevent common-mode failures.
Active-Active Redundancy
Multiple actuators on the same surface operate in force-fight mode (opposing actuators share load). If one fails, the others continue seamlessly. Monitor-compare architecture detects discrepancies.
Model-Based Health Monitoring
On-board models predict expected actuator response. Deviations indicate degradation (leakage, friction increase, motor winding failure). Prognostic health management extends inspection intervals.
Code Example — Arduino & ESP32
Arduino: Reaction Wheel Attitude Control Simulation
// Simplified reaction wheel attitude control
// BLDC motor (via ESC) → D9 (servo PWM signal)
// IMU (MPU6050) → I2C for attitude feedback
// PD controller maintains desired angle
#include <Wire.h>
#include <Servo.h>
#define MPU6050_ADDR 0x68
Servo esc;
float targetAngle = 0; // degrees (yaw)
float currentAngle = 0;
float angularRate = 0;
float wheelSpeed = 1500; // ESC microseconds (1500 = stop)
float Kp = 10.0, Kd = 5.0;
void setup() {
Serial.begin(9600);
Wire.begin();
// Init MPU6050
Wire.beginTransmission(MPU6050_ADDR);
Wire.write(0x6B); Wire.write(0x00); // Wake up
Wire.endTransmission();
esc.attach(9);
esc.writeMicroseconds(1500); // Neutral (no spin)
delay(2000); // ESC arm time
Serial.println("Reaction Wheel Controller");
Serial.println("Send target angle (-180 to 180):");
}
void readIMU() {
Wire.beginTransmission(MPU6050_ADDR);
Wire.write(0x47); // Gyro Z register
Wire.endTransmission(false);
Wire.requestFrom(MPU6050_ADDR, 2);
int16_t gz = (Wire.read() << 8) | Wire.read();
angularRate = gz / 131.0; // deg/s (±250°/s range)
currentAngle += angularRate * 0.02; // Integrate (dt=20ms)
}
void loop() {
readIMU();
if (Serial.available()) {
float angle = Serial.parseFloat();
if (angle >= -180 && angle <= 180) {
targetAngle = angle;
Serial.print("Target: "); Serial.println(angle);
}
}
float error = targetAngle - currentAngle;
float torqueCmd = Kp * error - Kd * angularRate;
// Map torque command to ESC signal (1000-2000 µs)
wheelSpeed = 1500 + constrain((int)torqueCmd, -500, 500);
esc.writeMicroseconds(wheelSpeed);
static unsigned long lastPrint = 0;
if (millis() - lastPrint > 200) {
Serial.print("Angle: "); Serial.print(currentAngle, 1);
Serial.print("° Rate: "); Serial.print(angularRate, 1);
Serial.print("°/s Wheel: "); Serial.println(wheelSpeed);
lastPrint = millis();
}
delay(20);
}
ESP32: EHA Simulation with Position & Pressure Control
// ESP32 Electro-Hydrostatic Actuator (EHA) simulation
// Motor PWM → GPIO25 (represents variable-speed pump motor)
// LVDT position → ADC34
// Pressure sensor → ADC35
#include <Arduino.h>
#define MOTOR_PWM 25
#define MOTOR_DIR 26
#define LVDT_PIN 34 // Position feedback (simulated LVDT)
#define PRESS_PIN 35 // Pressure sensor
struct EHA_State {
float position; // mm (0-200 stroke)
float pressure; // bar
float command; // mm (desired position)
float motorSpeed; // -100 to +100 %
} eha;
float Kp = 5.0, Ki = 0.5, Kd = 2.0;
float integral = 0, prevError = 0;
const float MAX_PRESSURE = 350; // bar (pressure limit)
const float STROKE = 200.0; // mm total stroke
void setup() {
Serial.begin(115200);
ledcSetup(0, 20000, 8);
ledcAttachPin(MOTOR_PWM, 0);
pinMode(MOTOR_DIR, OUTPUT);
analogReadResolution(12);
eha.command = 100; // Mid-stroke
Serial.println("EHA Controller Simulation");
Serial.println("Send position 0-200 (mm):");
}
float readPosition() {
int raw = analogRead(LVDT_PIN);
return (raw / 4095.0) * STROKE;
}
float readPressure() {
int raw = analogRead(PRESS_PIN);
return (raw / 4095.0) * 400.0; // 0-400 bar range
}
void driveMotor(float speed) {
// speed: -100 to +100 (% of max)
if (speed > 0) digitalWrite(MOTOR_DIR, HIGH);
else digitalWrite(MOTOR_DIR, LOW);
int pwm = constrain((int)(abs(speed) * 2.55), 0, 255);
ledcWrite(0, pwm);
eha.motorSpeed = speed;
}
void loop() {
eha.position = readPosition();
eha.pressure = readPressure();
if (Serial.available()) {
float cmd = Serial.parseFloat();
if (cmd >= 0 && cmd <= STROKE) {
eha.command = cmd;
integral = 0;
Serial.printf("Command: %.1f mm\n", cmd);
}
}
float error = eha.command - eha.position;
integral += error * 0.01;
integral = constrain(integral, -200.0f, 200.0f);
float derivative = (error - prevError) / 0.01;
prevError = error;
float output = Kp * error + Ki * integral + Kd * derivative;
// Pressure limiting (safety)
if (eha.pressure > MAX_PRESSURE) {
output = 0;
Serial.println("PRESSURE LIMIT!");
}
driveMotor(constrain(output, -100.0f, 100.0f));
static unsigned long lastPrint = 0;
if (millis() - lastPrint > 250) {
Serial.printf("Cmd: %.1f Pos: %.1f mm P: %.0f bar Motor: %.0f%%\n",
eha.command, eha.position, eha.pressure, eha.motorSpeed);
lastPrint = millis();
}
delay(10);
}
Real-World Applications
Commercial Aviation
- Flight control surfaces (ailerons, elevators, rudder)
- Landing gear extension/retraction
- Thrust reverser deployment
- High-lift devices (flaps, slats)
Space Systems
- Reaction wheels for attitude control
- Solar array drive mechanisms
- Antenna pointing gimbal actuators
- Rocket engine thrust vector control
Aerospace Electrification Benefits
| From | To | Key Benefit |
|---|---|---|
| Central hydraulic system | EHA (local hydraulic) | No long hydraulic lines, reduced leak risk, easier maintenance |
| Hydraulic actuator | EMA (fully electric) | Lightest solution, lowest maintenance, no fluid |
| Pneumatic bleed air | Electric compressor | Engine bleed elimination improves fuel efficiency 3% |
| Mechanical flight controls | Fly-by-wire | Envelope protection, weight reduction, design freedom |
Limitations & Considerations
- Certification: DO-160 environmental qualification, DO-178C software, DO-254 hardware. Certification costs millions and takes years. Every change requires re-qualification.
- Jamming (EMA): Ball screw jamming is the primary concern for EMA in primary flight control. A jammed actuator locks the control surface. Mitigation: dual-redundant load paths, disconnect mechanisms, or clutches.
- Thermal Management: Motor and electronics waste heat must be dissipated. At altitude (−55°C, low air density), natural convection is poor. Liquid cooling adds weight and complexity.
- Radiation (Space): Total ionizing dose and single-event effects degrade electronics. Space-grade (rad-hard) components cost 10–100× more than commercial. CubeSats use commercial parts with shielding and software mitigation.
- Vacuum & Outgassing (Space): Lubricants evaporate in vacuum. Only specific dry lubricants (MoS₂, PFPE) are approved. Outgassing contaminates optics and solar cells.
- Weight Budget: Every gram matters in aerospace. Actuator selection involves trade studies balancing performance, weight, power, reliability, and cost across the entire aircraft/spacecraft system.