Overview & Types
Ultrasonic actuators use mechanical vibrations above human hearing (>20 kHz) to produce precise motion, atomize liquids, weld plastics, and clean surfaces. At their core, piezoelectric elements convert electrical energy to ultrasonic vibrations, which are then amplified and shaped by horns and resonant structures to perform work. They offer nanometer precision, self-locking, and zero electromagnetic interference.
Types
- Travelling Wave Ultrasonic Motor (TWUSM): A ring-shaped stator generates a travelling wave that drives a rotor through friction. Used in Canon EF lens autofocus motors. Smooth, quiet, high torque at low speed.
- Standing Wave Motor (Stick-Slip / Inchworm): Asymmetric vibration produces net displacement per cycle. Nanometer resolution. Used in precision stages and scanning probe microscopes.
- Bolt-Clamped Langevin Transducer: Stacked piezo rings clamped between metal masses. High power output for cleaning, welding, and sonochemistry. Frequencies: 20–100 kHz.
- Ultrasonic Atomizer: Piezo disk vibrating at 1–3 MHz breaks liquid into fine mist (1–5 µm droplets). Used in humidifiers, inhalers, and fuel injection research.
- Ultrasonic Horn / Sonotrode: Resonant metal horn amplifies piezo transducer displacement for welding, cutting, and drilling. Gain ratios 1:4 to 1:10.
- Piezo Squiggle Motor: Four piezo plates drive a threaded shaft in a nutating motion. Sub-micron resolution, tiny form factor. Used in micro-optics and medical devices.
Working Principle
Travelling Wave Motor
- Two-Phase Excitation: Two groups of piezo segments under the stator are driven with sinusoidal signals 90° apart in phase and position.
- Travelling Wave: The superposition creates a travelling flexural wave on the stator surface. Surface points trace elliptical paths.
- Friction Drive: The rotor, pressed against the stator by a spring, is driven in the opposite direction to wave travel by the tangential component of surface motion.
- Speed Control: Adjusting drive frequency (near resonance), voltage amplitude, or phase difference controls speed and direction.
Langevin Transducer
Stacked PZT discs sandwiched between back-mass and front-mass, pre-stressed by a bolt. Driven at mechanical resonance (20–40 kHz), the front face oscillates with amplitude of 10–50 µm. A tuned horn amplifies this to 50–200 µm for welding and cutting.
Ultrasonic Motor Performance
| Motor Type | Speed | Torque | Resolution | Application |
|---|---|---|---|---|
| Travelling Wave | 100–300 RPM | 0.1–5 Nm | 0.001° | Camera AF, robotics |
| Standing Wave (stick-slip) | 1–100 mm/s | µN–N | 0.5 nm | Nanopositioning |
| Squiggle | 5–10 mm/s | N/A (linear) | 0.5 µm | Micro-optics focus |
| Langevin (power) | N/A (vibration) | N/A | N/A | Welding, cleaning, cutting |
Electrical & Mechanical Specifications
| Parameter | Travelling Wave Motor | Langevin Transducer | Ultrasonic Atomizer |
|---|---|---|---|
| Drive Frequency | 30–100 kHz | 20–40 kHz | 1–3 MHz |
| Drive Voltage | 100–400 Vpp | 100–1000 Vpp | 5–30 Vpp |
| Power | 1–10 W | 50–5000 W | 1–5 W |
| Efficiency | 30–50% | 80–95% | 50–80% |
| Displacement | ~1 µm (stator surface) | 10–200 µm (horn tip) | ~1 µm (disc surface) |
| Preload Force | 10–100 N | Bolt clamping (kN) | N/A |
| Lifetime | 5000–10,000 hrs | 10,000+ hrs | 3000–5000 hrs |
Driver Circuits
Two-Phase Driver (Travelling Wave Motor)
Generate two sinusoidal signals, 90° phase offset, at the motor’s resonant frequency. Half-bridge or full-bridge inverters boost 12/24 V to 100–400 Vpp via a transformer or LC resonant tank. Frequency tracking via impedance feedback keeps the motor at resonance.
Power Ultrasonic Driver (Langevin)
Full-bridge inverter with phase-locked loop (PLL) tracking transducer resonance. Impedance analyzer feedback maintains optimal frequency as temperature and load change. Safety: overcurrent protection, temperature monitoring.
Atomizer Driver
Simple LC oscillator or MOSFET driver at 1–3 MHz. Low power (1–5 W). Commercial atomizer modules (e.g., 113 kHz mist maker discs) need only 24–48 VDC.
Control Methods
Frequency Control
Speed varies with drive frequency near resonance. Operating slightly above resonance provides controllable speed. Frequency tracking (PLL or impedance feedback) maintains performance as temperature shifts resonance.
Phase Control
In two-phase motors, changing the phase angle between channels from +90° to −90° reverses direction. Intermediate angles reduce speed. Zero phase difference stops the motor.
Amplitude Control
Adjusting drive voltage amplitude controls vibration amplitude and thus speed/force. Combined with frequency control for optimal operating point.
Code Example — Arduino & ESP32
Arduino: Ultrasonic Atomizer Control
// Ultrasonic atomizer (mist maker) control
// 113 kHz ceramic disc driven via MOSFET
// Wiring: MOSFET gate→D9(PWM), water level sensor→A0
const int ATOMIZER_PIN = 9;
const int WATER_LEVEL_PIN = A0;
const int WATER_MIN = 200; // ADC threshold (dry→damage risk)
void setup() {
Serial.begin(9600);
pinMode(ATOMIZER_PIN, OUTPUT);
// Set Timer1 for ~113 kHz output on D9
// Mode 14 (Fast PWM, ICR1 top)
TCCR1A = _BV(COM1A1) | _BV(WGM11);
TCCR1B = _BV(WGM13) | _BV(WGM12) | _BV(CS10); // No prescaler
ICR1 = 141; // 16 MHz / 113 kHz ≈ 141
OCR1A = 70; // 50% duty cycle
Serial.println("Ultrasonic Atomizer Controller");
Serial.println("Send 0-100 for mist intensity");
}
void setIntensity(int percent) {
if (percent == 0) {
OCR1A = 0; // Off
} else {
OCR1A = map(percent, 1, 100, 20, 70); // 14-50% duty
}
Serial.print("Mist: "); Serial.print(percent); Serial.println("%");
}
void loop() {
// Safety: check water level
int waterLevel = analogRead(WATER_LEVEL_PIN);
if (waterLevel < WATER_MIN) {
OCR1A = 0; // Disable — dry operation damages the disc
Serial.println("LOW WATER! Atomizer disabled.");
delay(2000);
return;
}
if (Serial.available()) {
int pct = Serial.parseInt();
if (pct >= 0 && pct <= 100) setIntensity(pct);
}
delay(100);
}
ESP32: Two-Phase Ultrasonic Motor Driver
// ESP32 generating two-phase drive for ultrasonic motor
// Two PWM outputs with 90° phase offset
// GPIO25→Phase A (via HV amplifier), GPIO26→Phase B
#include <Arduino.h>
#define PHASE_A 25
#define PHASE_B 26
#define FREQ_PIN 34 // Potentiometer for frequency tuning
const int PWM_CH_A = 0;
const int PWM_CH_B = 2; // Different channel group
uint32_t driveFreq = 40000; // 40 kHz starting frequency
void setup() {
Serial.begin(115200);
// Configure LEDC timers for phase A and B
ledcSetup(PWM_CH_A, driveFreq, 8); // 8-bit resolution
ledcSetup(PWM_CH_B, driveFreq, 8);
ledcAttachPin(PHASE_A, PWM_CH_A);
ledcAttachPin(PHASE_B, PWM_CH_B);
// Set 50% duty on both channels
ledcWrite(PWM_CH_A, 128);
ledcWrite(PWM_CH_B, 128);
// Note: True 90° phase offset requires MCPWM peripheral
// or external phase-shift circuit. LEDC channels start
// simultaneously (approximate for demonstration).
analogReadResolution(12);
Serial.println("Ultrasonic Motor Two-Phase Driver");
Serial.println("Adjust pot for frequency tuning");
Serial.println("Send F=forward, R=reverse, S=stop");
}
void setDirection(bool forward) {
// In real implementation: swap phase relationship
// Forward: phase B leads phase A by 90°
// Reverse: phase A leads phase B by 90°
if (forward) {
ledcWrite(PWM_CH_A, 128);
ledcWrite(PWM_CH_B, 128);
Serial.println("Direction: FORWARD");
} else {
// Swap channels or invert one phase
ledcWrite(PWM_CH_A, 128);
ledcWrite(PWM_CH_B, 128);
Serial.println("Direction: REVERSE");
}
}
void stopMotor() {
ledcWrite(PWM_CH_A, 0);
ledcWrite(PWM_CH_B, 0);
Serial.println("Motor STOPPED (self-locking)");
}
void loop() {
// Frequency tuning via potentiometer
int potVal = analogRead(FREQ_PIN);
uint32_t newFreq = map(potVal, 0, 4095, 35000, 45000);
if (abs((int)(newFreq - driveFreq)) > 100) {
driveFreq = newFreq;
ledcSetup(PWM_CH_A, driveFreq, 8);
ledcSetup(PWM_CH_B, driveFreq, 8);
ledcWrite(PWM_CH_A, 128);
ledcWrite(PWM_CH_B, 128);
}
if (Serial.available()) {
char cmd = Serial.read();
if (cmd == 'F' || cmd == 'f') setDirection(true);
else if (cmd == 'R' || cmd == 'r') setDirection(false);
else if (cmd == 'S' || cmd == 's') stopMotor();
}
static unsigned long lastPrint = 0;
if (millis() - lastPrint > 1000) {
Serial.printf("Drive Freq: %u Hz\n", driveFreq);
lastPrint = millis();
}
delay(10);
}
Real-World Applications
Precision & Optics
- Camera autofocus lens motors (Canon USM)
- Telescope tracking drives
- Semiconductor wafer alignment stages
- Scanning probe microscope positioners
Industrial Power
- Ultrasonic plastic welding
- Parts cleaning (degreasing, medical)
- Ultrasonic cutting and drilling
- Atomization for humidifiers & coatings
Advantages vs. Alternatives
| vs. Actuator | Ultrasonic Advantage | Ultrasonic Disadvantage |
|---|---|---|
| DC/Stepper Motor | Self-locking, no gears, silent, no EMI, compact | Lower efficiency, wears friction interface |
| Piezo Stack | Unlimited travel (not limited by strain), rotary or linear | Lower force density, needs friction contact |
| Voice Coil | Higher stiffness when stopped, nanometer resolution | Lower speed, wear mechanism |
| MEMS Actuator | Much larger force and displacement | Larger size, more complex driver |
Limitations & Considerations
- Friction Wear: Ultrasonic motors rely on friction coupling. The contact interface wears over time (5,000–10,000 hours typical). Dust and contamination accelerate wear.
- Efficiency: 30–50% for motion (rest is heat). Lower than electromagnetic motors at similar power levels.
- Complex Driver: High-voltage, high-frequency, two-phase drive with resonance tracking. More complex than DC motor H-bridge.
- Temperature Sensitivity: Piezo materials lose performance at high temperature. Curie temperature limits continuous high-power operation.
- Speed Limitation: Ultrasonic motors are inherently low-speed, high-torque. Not suitable for applications needing thousands of RPM.
- Preload Sensitivity: Friction contact requires precise preload force. Too little: slipping. Too much: excessive wear and heating.