Motion
A drive converts electrical power into precisely controlled mechanical motion. Whether it is a 0.4 kW VFD spinning a pump or a 132 kW regenerative four-quadrant drive on a test rig, the same physics, power electronics, and control principles apply. This guide covers every drive type — from first principles to deep engineering — including power topology, FOC, EMC, thermal management, fieldbus integration, sizing, commissioning, and fault diagnosis.
Run a full VFD with a motor and load. Adjust speed setpoint, load torque, acceleration ramp. Watch DC bus, output current, motor speed, and power factor respond in real time. Trigger faults — DC bus OV, overcurrent, and motor OT — and observe how the drive responds.
Enter your application parameters. The tool calculates required motor power, drive current, derating factors, and braking resistor sizing. Results update instantly as you change any input.
See how Space Vector PWM synthesises a sinusoidal output from a fixed DC bus. Change switching frequency and output frequency. Toggle the LC filter to see how the motor actually sees the waveform after filtering.
Visualise how different input configurations affect harmonic injection into the supply. Compare a bare 6-pulse rectifier to 12-pulse and Active Front End (AFE) configurations. See THDi update live.
Enter drive operating conditions and see: available current after all derating factors, estimated heatsink temperature, DC bus capacitor life, and years to expected failure. All calculations follow IEC 61800-2 thermal models.
The word "drive" covers at least five distinct technologies, each optimal for different applications. Choosing the wrong type is expensive — either the drive is oversized and wastes capital, or it is undersized and fails within months. The decision depends on: motor type, speed range, torque requirements at low speed, braking needs, and whether position control is required.
| Drive Type | Speed Ctrl | Torque@0rpm | Regen | Typical Use | Relative Cost |
|---|---|---|---|---|---|
| DOL Starter | No | Full (1 point) | No | Small pumps, fans | 1× |
| Soft Starter | No | Reduced start | Soft-stop only | Pumps, compressors | 2–3× |
| VFD (V/f) | Yes 0–100% | Poor | Resistor | Pumps, fans, conveyors | 4–6× |
| VFD (FOC) | Yes, precise | Good | Resistor | Conveyors, extruders | 5–8× |
| AFE Regen. | Yes, precise | Good | To grid | Elevators, test rigs | 8–12× |
| Servo Drive | Yes, ±0.01% | Full rated | Resistor/AFE | CNC, robots, presses | 15–25× |
A VFD (also called an inverter, AFD, or AC drive) controls the speed of AC induction or synchronous motors by varying both output frequency and voltage. The V/f ratio is kept constant to maintain flux. VFDs dominate pump, fan, compressor, conveyor, and mixer applications where precise positioning is not needed. Efficiency gains over direct-on-line starting are 20–50% in pump/fan applications due to the affinity laws (flow ∝ speed, power ∝ speed³).
// Affinity laws — why VFDs save energy on centrifugal loads
// These laws apply to fans, pumps, and compressors:
//
// Flow (Q) ∝ Speed (n)
// Head/Pressure (H) ∝ Speed²
// Power (P) ∝ Speed³ ← this is key
//
// Example: pump running at 50 Hz (100% speed), P = 30 kW
// Reduce speed to 80% (40 Hz) to meet reduced demand:
// P_new = P_old × (n_new / n_old)³
// P_new = 30 × (0.80)³ = 30 × 0.512 = 15.4 kW
//
// → 49% power saving at 80% speed
// → 87% power saving at 60% speed (P = 30 × 0.6³ = 6.5 kW)
//
// This is why VFDs have 1–2 year payback periods on large pumps.
// A simple pressure sensor + PID loop in the VFD
// maintains constant process pressure while automatically
// reducing speed (and power) as demand falls.
A servo drive is a VFD with a mandatory position/velocity feedback loop and a DSP fast enough to close that loop at kilohertz rates. Where a VFD runs a motor at a setpoint speed open-loop, a servo drive continuously corrects error. Servo drives always use synchronous PM motors (PMSM) with encoders. They are specified by their bus voltage, peak/continuous current, and communication interface. The drive cost is typically 2–5× a VFD of equal power because of the DSP, feedback interfaces, and safety certifications.
// VFD vs Servo Drive — decision criteria
//
// Criterion VFD Servo Drive
// ───────────────────── ──────────────── ──────────────────────
// Position control No (open loop) Yes (closed loop)
// Speed accuracy ±0.5–2% ±0.01% or better
// Torque at 0 RPM Poor (no flux) Full rated torque
// Response time 50–200 ms 1–5 ms
// Motor type Induction / PMSM PMSM (servo motor)
// Encoder required Optional Mandatory
// Fieldbus PROFINET, ENet EtherCAT, PROFINET
// Typical power range 0.1 kW – 2 MW 0.05 kW – 200 kW
// Safety functions STO (basic) STO/SS1/SS2/SLS/SOS
// Cost per kW 1× 3–6×
// Use when: Pumps, fans, CNC, robots, presses,
// conveyors pick-and-place, winding
DOL (Direct-On-Line) applies full mains voltage directly to the motor terminals. Start current = 5–8× rated current. Massive mechanical shock on the load. Acceptable only for small motors (<4 kW) or infrequent starts on robust loads. A soft starter ramps the voltage (not frequency) during start — reducing in-rush to 2–3× rated. It does not control running speed. After the motor reaches full speed, a bypass contactor closes (shorting the thyristors) for efficiency. Soft starters are cheaper than VFDs but cannot save energy, control speed, or brake actively.
// Start current comparison — 15 kW motor, 400 V
//
// Direct-On-Line (DOL):
// In-rush current: 7 × In = 7 × 30A = 210 A (for 500 ms)
// Mechanical shock: full torque in <100 ms → coupling/belt stress
// Supply disturbance: 210 A causes voltage dip on weak supplies
//
// Soft Starter (electronic soft start):
// Ramp time: 5–10 s adjustable
// Peak current: 2.5 × In = 75 A
// Voltage ramp: 30% → 100% over ramp time
// Limitation: cannot control speed — bypassed at full speed
// Braking: extended voltage ramp down (soft stop) only
//
// VFD:
// Start current: 1.0–1.5 × In (only what the load demands)
// Ramp time: fully adjustable 0.1 s – 600 s
// Speed control: full range 0–100% (and beyond, field-weakening)
// Braking: active DC injection or regenerative
//
// RULE: Use soft starter when motor starts infrequently (<6/hr),
// speed control is not needed, and cost is primary concern.
// Use VFD for everything else.
DC drives (thyristor converters) control the armature voltage of DC motors — still found in legacy paper mills, steel rolling, and crane applications because DC motors offer simple wide-speed torque control. Stepper drives produce sequences of current pulses to advance a stepper motor by fixed angular increments — open-loop, no encoder, used in 3D printers and low-cost CNC. Regenerative (four-quadrant) drives use an active front-end (AFE) rectifier instead of a diode bridge, allowing energy to flow back to the supply grid during braking. Essential for elevators, test benches, and any machine that brakes frequently — regenerated energy is returned to the grid rather than wasted as heat.
// Four quadrant operation — what each quadrant means
//
// Positive torque (motoring CW)
// ↑ T
// Q2 (Regen CW)│ Q1 (Motor CW)
// ←───────────┼───────────→ Speed
// Q3 (Motor CCW)│ Q4 (Regen CCW)
// ↓
//
// Q1: Motor CW — most common operating point
// Drive provides positive torque, speed positive
// Q2: Braking CW — motor was running CW, braking
// Torque opposes motion (negative), speed still positive
// Energy flows: Load → Motor → Drive → Grid (if AFE)
// → Resistor (if braking chopper)
// Q3: Motor CCW — motor runs in reverse
// Q4: Braking CCW
//
// Standard VFD with diode bridge: Q1 + Q3 only
// (can brake but wastes energy as heat)
// AFE Regenerative drive: all four quadrants
// (braking energy returned to grid — high efficiency)
//
// Regenerative drive premium: ~40% over standard VFD
// Payback: depends on braking frequency and energy cost
Every drive is built around the same fundamental power circuit: rectifier → DC bus → inverter. Understanding the semiconductor devices and their switching behaviour is essential for EMC design, thermal management, and fault diagnosis.
The inverter bridge contains six switching devices (three half-bridges). In drives up to ~75 kW, IGBTs (Insulated Gate Bipolar Transistors) dominate — good current handling, moderate switching speed (up to 20 kHz). Above 200 kW, series-connected IGBTs or press-pack devices are used. Silicon Carbide (SiC) MOSFETs switch at 100+ kHz with lower switching losses — enabling smaller filters, higher switching frequencies, and smaller enclosures. SiC is taking over in EV inverters and premium industrial drives. Each device has a reverse-parallel freewheeling diode to carry current during the off-state of the complementary switch.
// Three-phase VSI (Voltage Source Inverter) bridge
// Six IGBTs arranged in three half-bridges (U, V, W phases)
//
// +DC Bus (560 V)
// │
// ┌─────────┼─────────┐
// [Q1] [Q3] [Q5] ← High-side IGBTs
// │ │ │
// U ────────V ────────W ← Motor terminals
// │ │ │
// [Q4] [Q6] [Q2] ← Low-side IGBTs
// └─────────┼─────────┘
// │
// -DC Bus (0 V)
//
// Space Vector PWM (SVPWM) modulation:
// Control DSP calculates duty cycle for each IGBT
// to synthesise the desired voltage vector.
// Switching pattern repeats at carrier frequency (e.g. 8 kHz)
//
// Dead-time: 1–4 µs gap between high-side OFF and low-side ON
// (prevents shoot-through = DC bus short circuit)
// Dead-time causes voltage distortion — compensated by DSP
// SiC MOSFET advantages over Si IGBT:
// Switching frequency: 100+ kHz vs 20 kHz
// Switching losses: 3–5× lower
// On-state Vce: lower at light loads
// Operating temp: 175°C vs 150°C junction
// Size reduction: 30–50% smaller heatsink
V/f (Volts-per-Hertz): the simplest control law. Output voltage is proportional to frequency. Maintains constant air-gap flux above the boost region. No encoder needed. Suitable for fans, pumps, conveyors. Poor torque accuracy and zero-speed performance. FOC (Field-Oriented Control / Vector Control): transforms stator currents to rotating d-q frame, controls flux and torque independently. Requires rotor position (encoder or sensorless estimation). Full rated torque at 0 RPM. Industry standard for servo and high-performance VFD. DTC (Direct Torque Control — ABB trademark): compares actual flux and torque to hysteresis bands and selects the optimal voltage vector directly — no current controllers, no carrier frequency. Fastest torque response (< 1 ms) but variable switching frequency and higher acoustic noise.
// V/f control law — simplest drive mode
// Output voltage = (V_rated / f_rated) × f_output
// Plus a boost voltage at low speed to compensate IR drop
VAR
f_out : REAL; // Commanded output frequency Hz
f_rated : REAL := 50.0; // Motor rated frequency
V_rated : REAL := 400.0; // Motor rated voltage
V_boost : REAL := 15.0; // Low-speed voltage boost V
V_out : REAL; // Output voltage to inverter
END_VAR
IF f_out < 5.0 THEN
V_out := V_boost; // Minimum voltage to magnetise motor
ELSE
V_out := V_boost + (V_rated - V_boost) * (f_out / f_rated);
V_out := MIN(V_rated, V_out); // Cap at rated
END_IF;
// The DSP translates V_out into SVPWM duty cycles for all 6 IGBTs
// ── FOC (simplified concept) ──────────────────────────────────
// Measure ia, ib → Clark transform → iα, iβ (stationary frame)
// Rotor angle θ (from encoder) → Park transform → id, iq
// id → flux controller → Vd setpoint (hold at rated flux)
// iq → torque controller → Vq setpoint (proportional to torque)
// Inverse Park → inverse Clark → Va, Vb, Vc → SVPWM
Many applications cannot accept an encoder (wet, hot, explosive environments; cost pressure). Sensorless drives estimate rotor position from motor electrical quantities alone. At medium-to-high speed, back-EMF (BEMF) estimation is accurate. At low speed (<5% rated), BEMF is too small — modern drives inject a high-frequency (HF) test signal (500–2000 Hz) and observe the variation in inductance caused by rotor saliency to extract position. This HF injection method achieves position estimation down to 0 RPM with ±1–5° accuracy — sufficient for most non-servo applications.
// Sensorless BEMF speed estimation (simplified)
// At speed > 5% rated: BEMF is measurable
// E_bemf ≈ Vout - (R × I) - (L × dI/dt)
// ω_estimated ≈ |E_bemf| / Ke (Ke = back-EMF constant V/rad/s)
//
// At low speed: BEMF is too small — use HF injection instead
// Inject test voltage: V_test = A × sin(2π × f_inj × t)
// f_inj typically 500–1500 Hz
// A typically 2–5% of rated voltage
//
// Rotor saliency (Ld ≠ Lq) causes the response to vary with
// rotor angle. Demodulate the current response:
// i_response = I_pos + I_neg × cos(2θ_r + φ)
// Extract 2θ_r via bandpass filter + phase-locked loop (PLL)
// → θ_r = actual rotor angle estimate
//
// Accuracy: ±1–5° electrical → sufficient for VFD control
// NOT sufficient for servo positioning (use real encoder)
//
// Requirements for HF injection sensorless:
// Motor must have saliency: IPMSM or wound rotor
// SPM (surface PM) motors have Ld ≈ Lq → poor saliency
An undersized drive fails. An oversized drive wastes capital. Correct sizing requires load analysis, duty cycle calculation, and derating for environmental conditions. This section provides the complete, quantitative sizing workflow used in professional engineering.
Every sizing starts with the load torque vs. speed curve. Constant torque loads (conveyors, compressors, extruders): rated torque from 0 to rated speed — the hardest to drive. Variable torque loads (fans, pumps): torque ∝ speed², power ∝ speed³ — easiest to drive. Constant power loads (winding, machine tool spindles): torque decreases as speed increases above base speed (field weakening region). Shock loads (presses, crushers): brief torque peaks many times rated — require peak current sizing not average power.
// Load torque vs speed classification
// Used to determine drive overload rating requirement
// CONSTANT TORQUE (CT) — worst case for drive current
// Examples: conveyor belt, screw compressor, extruder, hoist
// T = T_rated at all speeds
// P = T × ω → proportional to speed
// Drive sizing: current = motor rated current × SF
// VFD overload class: CT (150% for 60 s, 180% for 0.5 s typical)
// VARIABLE TORQUE (VT) — easiest, best energy savings
// Examples: centrifugal pump, fan, blower, centrifuge
// T ∝ n², P ∝ n³
// At 60% speed: T = 36% rated, P = 21.6% rated
// Drive sizing: may undersize drive by 1 frame (use VT rating)
// VFD overload class: VT (110–120% for 60 s)
// SHOCK/IMPACT (high peak) — requires peak current check
// Examples: punch press, jaw crusher, reciprocating compressor
// T_peak can be 3–10× T_average for 50–500 ms
// Drive sizing: BOTH peak current AND average power must be checked
// Use I²t calculation to verify drive thermal capability
// Sizing formula:
// P_shaft (kW) = T_rated (Nm) × n_rated (RPM) / 9549
// I_motor (A) = P_shaft × 1000 / (√3 × V × η × PF)
// I_drive ≥ I_motor × SF (SF = service factor, typically 1.1–1.25)
// P_drive (kW) ≥ P_shaft / η_drive (η_drive ≈ 0.97–0.98)
Drive datasheets specify ratings at defined conditions: typically 40°C ambient, 1000 m altitude, 8 kHz switching frequency. Each deviation requires derating the continuous output current. All three derating factors are multiplicative. Ignoring them is the most common cause of premature drive failure in hot climates, high-altitude installations, and applications requiring high switching frequencies for motor noise reasons.
// Drive output current derating calculation
// Example: 45 kW VFD rated at 90 A continuous, 400 V
// Application: 55°C ambient, 2500 m altitude, 16 kHz switching
VAR
I_rated : REAL := 90.0; // A, drive datasheet
T_ambient : REAL := 55.0; // °C actual
T_rated : REAL := 40.0; // °C datasheet condition
altitude_m : REAL := 2500.0; // m actual
f_sw_kHz : REAL := 16.0; // kHz actual
// Derating factors (from datasheet curves — these are typical)
KT : REAL; // Temperature derating
KA : REAL; // Altitude derating
KF : REAL; // Switching frequency derating
I_available : REAL; // Derated output current
END_VAR
// Temperature: -2% per °C above 40°C (typical)
KT := 1.0 - 0.02 * MAX(0.0, T_ambient - T_rated);
// KT = 1.0 - 0.02 × 15 = 0.70
// Altitude: -1% per 100m above 1000m (reduced air cooling)
KA := 1.0 - 0.01 * MAX(0.0, (altitude_m - 1000.0) / 100.0);
// KA = 1.0 - 0.01 × 15 = 0.85
// Switching frequency: 8→16 kHz typically -20% (drive-specific)
KF := 1.0 - 0.013 * MAX(0.0, f_sw_kHz - 8.0);
// KF = 1.0 - 0.013 × 8 = 0.896
I_available := I_rated * KT * KA * KF;
// I_available = 90 × 0.70 × 0.85 × 0.896 = 48.0 A
// → Drive effectively only delivers 48 A, not 90 A!
// → For a 22 kW motor (43 A) this is still OK but margins are thin
Long motor cables cause three problems: (1) reflected wave voltage doubling at the motor terminals — 560 V bus → up to 1120 V peak spikes at motor, damaging winding insulation; (2) capacitive charging current in the cable reduces effective output current; (3) high-frequency common-mode current flows through cable capacitance to earth, causing bearing currents and EMC emissions. Rules: above 30 m, add a du/dt output filter. Above 100 m, add a sinusoidal output filter. For motor cables > 50 m, use an encoder with differential RS-422 outputs, not single-ended.
// Reflected wave voltage — transmission line effect
// Occurs when cable electrical length > rise time of PWM pulse
//
// Cable propagation velocity ≈ 0.6 × c = 1.8 × 10⁸ m/s
// PWM rise time (IGBT) ≈ 0.1–0.5 µs
// Critical cable length = v_prop × t_rise / 2
// = 1.8e8 × 0.2e-6 / 2 = 18 m
// → Cables > 18 m will see reflected wave effects
// Reflection coefficient at motor terminal:
// Γ = (Z_motor - Z_cable) / (Z_motor + Z_cable)
// Z_cable ≈ 40 Ω, Z_motor at high frequency ≈ 500–2000 Ω
// Γ ≈ (1000 - 40) / (1000 + 40) ≈ 0.92 (near total reflection!)
// Peak voltage = V_bus × (1 + Γ) ≈ 560 × 1.92 = 1075 V
// → Exceeds IEC motor insulation class (typically 1000 V)
// Output filter selection guide:
// Cable length Filter type Attenuation
// 0–30 m None —
// 30–100 m du/dt filter Limits rise time to 0.5–1 µs
// 100–300 m Sinusoidal filter Sinusoidal output, no spikes
// > 300 m Not recommended — use transformer + separate drive
// Bearing current mitigation:
// Common-mode choke on output (3 phases through one toroid)
// Shaft grounding brush on motor
// Insulated motor bearing (NDE side) for motors > 30 kW
A perfectly tuned drive can fail EMC compliance testing if the installation is wrong. EMC (Electromagnetic Compatibility) compliance is legally mandatory in Europe (EN 61800-3) and most other markets. Getting it right requires understanding how high-frequency current flows through the system and providing controlled paths for it to return.
| Cable Length | Issue | Required Filter | Cost impact |
|---|---|---|---|
| 0–30 m | None significant | None (ensure EMC filter on input) | 0 |
| 30–100 m | Reflected wave spikes | du/dt output filter (RC or LRC) | +5–10% |
| 100–300 m | Spike + CM current | Sinusoidal output filter | +15–25% |
| >300 m | All of above + loss | Step-down transformer + separate drive | +50%+ |
Differential mode (DM) noise travels on the signal conductors in opposite directions — filtered by X-capacitors and inductors across the line. Common mode (CM) noise travels on all conductors in the same direction, returning via earth — filtered by Y-capacitors (line-to-earth) and common-mode chokes. VFDs generate both. The dominant CM source is the IGBT switching generating high dv/dt (up to 10 kV/µs) which drives capacitive current through the motor cable to earth, circulating back through the DC bus and mains. The EMC filter provides a low-impedance path for this current to return without radiating.
// EMC filter design — what each component does
//
// ─── AC INPUT ──→ [L_line] ──→ [X-cap] ──→ Drive input
// │
// [Y-cap] (to PE)
// │
// PE bus
//
// L_line (DM inductor / line reactor):
// Value: 2–5% impedance at 50 Hz
// Purpose: limits harmonic current and di/dt
// Also reduces CM noise by impedance mismatch
// X-capacitors (between L1-L2, L2-L3, L1-L3):
// Typical: 0.47–4.7 µF, class X2 (250 Vrms)
// Purpose: short-circuit DM noise to neutral rail
// Note: discharge resistors mandatory for safety
// Y-capacitors (each phase to PE):
// Typical: 4.7–47 nF, class Y2 (300 Vrms)
// Purpose: low-impedance path for CM noise to PE
// Limit: leakage current < 3.5 mA per IEC 60950
// on IT networks (isolated ground): reduce Y-caps
// or use isolated filter type
// CM choke (all phases through same core):
// Impedance: 1–10 mH at 150 kHz
// Purpose: increases CM impedance without affecting DM
// Must be on INPUT side of drive
EMC compliance in a drive installation depends 80% on correct cable routing and grounding. The three fundamental rules: (1) Screen (shield) motor cables and connect at both ends with 360° metallic clamps — never use pigtail connections for shields, which create antennas. (2) Separate power and signal cables by ≥ 300 mm or run in separate metallic conduits. (3) All drives in a panel must share a single low-impedance earth bar (PE bar) — long earth leads increase impedance at RF frequencies, defeating the filter.
// Cable installation rules — mandatory for EMC compliance
//
// MOTOR CABLE (drive output → motor):
// Type: 4-core shielded (3 phases + earth)
// OR 3-core shielded + separate earth conductor
// Shield: 360° metallic clamp at BOTH ends (drive and motor)
// Never pigtail — pigtail inductance ≈ 50 nH/cm at RF
// Routing: dedicated metallic cable tray
// Physical separation ≥ 300 mm from signal cables
// Cross control cables at 90° if crossing is unavoidable
// ENCODER / FEEDBACK CABLE:
// Type: Individually shielded twisted pairs
// (manufacturer cable — do not substitute)
// Shield: Single-point ground at DRIVE end only (incremental)
// Both ends for absolute serial (BiSS-C, EnDat)
// Max length: 50 m at 1 MHz line frequency
// Do NOT run in same conduit as motor power cable
// PE (Protective Earth) bus in panel:
// Use copper busbar, not wire
// All drives, filters, chokes connect to SAME bar
// Short and direct connections — avoid loops
// Cable to building earth: ≥ 16 mm² copper (IEC 60364)
// Conduit bonding:
// All metallic conduits must be bonded to PE at both ends
// Unbonded conduit becomes an antenna for CM currents
Standard 6-pulse VFDs inject significant harmonic current into the supply: predominantly 5th (250 Hz), 7th (350 Hz), 11th, 13th harmonics. Total Harmonic Distortion of current (THDi) can reach 80% for a single drive on a weak supply. This causes transformer heating, capacitor bank resonance, nuisance tripping of protection relays, and metering errors. Mitigation options in order of increasing cost and effectiveness: AC line reactor (THDi → ~40%), 12-pulse drive (two 6-pulse bridges phase-shifted by 30°, THDi → ~12%), 18-pulse drive (THDi → ~5%), or Active Front End (AFE) regenerative drive (THDi < 3% — near-unity power factor).
// Harmonic current orders for 6-pulse rectifier
// Non-zero harmonics: 6k±1 where k=1,2,3...
// i.e. 5th, 7th, 11th, 13th, 17th, 19th...
//
// Magnitude (typical, no reactor):
// Fundamental (50 Hz): 100%
// 5th (250 Hz): ~65% ← dominant, causes most heating
// 7th (350 Hz): ~45%
// 11th (550 Hz): ~15%
// 13th (650 Hz): ~10%
// THDi total: ~80%
//
// With 3% AC line reactor:
// 5th: ~38%, 7th: ~14%, THDi: ~40%
//
// With 12-pulse transformer (30° phase shift):
// 5th: 0% cancelled, 7th: 0% cancelled
// 11th: ~15%, THDi: ~12%
//
// IEEE 519-2014 limits (at point of common coupling):
// Isc/IL < 20: THDi ≤ 5% (tight — need 18-pulse or AFE)
// Isc/IL 20-50: THDi ≤ 8% (12-pulse usually sufficient)
// Isc/IL > 100: THDi ≤ 15% (reactor usually sufficient)
// where Isc = short-circuit current at PCC
// IL = maximum demand load current
Modern drives are networked devices. The fieldbus replaces hundreds of analogue and digital wires with a single cable, enabling real-time data exchange, remote diagnosis, and parameter backup. Understanding the different protocols — their cycle times, synchronisation methods, and data models — is essential for multi-axis and IIoT applications.
EtherCAT (Beckhoff-developed, IEC/PAS 62407): distributed clock synchronisation to ≤ 1 µs across all nodes, 250 µs or lower cycle times. Ideal for servo/motion. The EtherCAT frame travels through all nodes in one pass (on-the-fly processing) — very low latency. PROFINET IRT (Siemens-led, IEC 61158): isochronous real-time mode achieves < 1 ms cycle. RT mode (< 10 ms) for most applications. Easier to configure with TIA Portal than EtherCAT. CANopen (CiA 301, widely used in drives via DS402): 1 Mbit/s max, 125-node limit, 1–10 ms cycle. Mature, well-understood, found in many legacy and embedded applications. PROFIBUS DP: legacy serial fieldbus, up to 12 Mbit/s, 126 nodes — being replaced by PROFINET in new installations.
// EtherCAT PDO mapping — servo drive (CiA 402 object dictionary)
// PDO = Process Data Object (exchanged every cycle)
// RxPDO (PLC → Drive, every 1 ms cycle):
// 0x6040.00 Control Word UINT16 (state machine commands)
// 0x607A.00 Target Position INT32 (counts — CSP mode)
// 0x60FF.00 Target Velocity INT32 (counts/s — CSV mode)
// 0x6071.00 Target Torque INT16 (0.1% of rated — CST mode)
// TxPDO (Drive → PLC, every 1 ms cycle):
// 0x6041.00 Status Word UINT16 (state machine feedback)
// 0x6064.00 Actual Position INT32 (encoder counts)
// 0x606C.00 Actual Velocity INT32 (counts/s)
// 0x6077.00 Actual Torque INT16 (0.1% of rated)
// 0x603F.00 Error Code UINT16 (last fault)
// Control Word bit assignment (CiA 402):
// Bit 0: Switch On Bit 4: Enable Ramp
// Bit 1: Enable Voltage Bit 5: Unfreeze Ramp
// Bit 2: Quick Stop Bit 6: Enable Setpoint
// Bit 3: Enable Operation Bit 7: Fault Reset
// Bit 8: Halt Bit 10: Reserved
// Status Word key bits:
// Bit 0: Ready to switch on Bit 5: Quick stop active
// Bit 1: Switched on Bit 6: Switch-on disabled
// Bit 2: Operation enabled Bit 7: Warning
// Bit 3: Fault Bit 10: Target reached
Beyond the fast cyclic PDO exchange, every fieldbus supports acyclic (non-real-time) communication for parameter read/write and diagnostic data. In CANopen this is SDO (Service Data Object). In PROFINET it is Record Data (RDREC/WRREC). In EtherCAT it is CoE SDO or FoE (Firmware over EtherCAT for firmware updates). This allows the PLC to read drive fault history, write tuning parameters, and update firmware over the network — without disconnecting the drive. Using acyclic communication for condition monitoring (temperature, current RMS, operating hours) feeds the data into predictive maintenance systems.
// EtherCAT SDO (acyclic) read/write — Beckhoff TwinCAT example
// Used for parameter access, not real-time control
// Read motor temperature from drive (object 0x2102, sub 0x00)
VAR
fbReadSdo : FB_EcCoESdoRead;
motor_temp : REAL;
sdo_done : BOOL;
sdo_error : BOOL;
END_VAR
fbReadSdo(
sNetId := '192.168.1.1.1.1', // EtherCAT master address
nSlaveAddr := 3, // Drive slave address
nIndex := 16#2102, // Object index
nSubIndex := 16#00,
pDstBuf := ADR(motor_temp),
cbBufLen := SIZEOF(motor_temp),
bExecute := TRUE,
tTimeout := T#500ms,
bBusy => ,
bError => sdo_error,
bDone => sdo_done
);
// motor_temp is populated after bDone = TRUE
// Typical use: read every 30 s, log to database, alert if > 80°C
// Write parameter — change acceleration ramp (object 0x6083)
// P = 2000 ms (from 0 to rated speed)
// Same FB with nIndex:=16#6083, source := ADR(accel_ms)
Beyond the PLC loop, drive data flows to cloud and analytics systems via OPC-UA (IEC 62541) — the industrial communication standard for secure, structured data from field devices to IT systems. Modern drives (Siemens G120, ABB ACS880, Danfoss FC302) embed OPC-UA servers directly. MQTT is used for lightweight IoT messaging — drives publish telemetry to MQTT brokers which feed cloud dashboards. Edge computing (an industrial PC beside the drives) runs local analytics: detecting developing bearing faults from vibration spectral analysis, predicting capacitor aging from ripple current trends, and calculating OEE.
// OPC-UA node structure — drive data model
// Drives expose a structured namespace:
//
// Root
// └─ DeviceSet
// └─ Drive_01 (drive name)
// ├─ Identification
// │ ├─ Manufacturer: 'Siemens'
// │ ├─ Model: 'SINAMICS G120'
// │ └─ SerialNumber: '...'
// ├─ Operational
// │ ├─ MotorSpeed_RPM (live, 100ms update)
// │ ├─ OutputCurrent_A (live)
// │ ├─ DCBusVoltage_V (live)
// │ ├─ MotorTemperature_C (live)
// │ └─ ActiveFaultCode (live)
// ├─ Energy
// │ ├─ TotalEnergy_kWh (cumulative)
// │ └─ InstantPower_kW (live)
// └─ Maintenance
// ├─ OperatingHours (cumulative)
// ├─ FaultHistory[0..9] (last 10 faults with timestamps)
// └─ CapacitorAgePercent (estimated from I2t model)
// Subscribe to motor speed (Python opcua library example concept):
// client.get_node('ns=2;s=Drive_01.Operational.MotorSpeed_RPM')
// .subscribe_data_change(callback_fn)
Most drive faults have a systematic root cause that can be identified without replacing the drive. The diagnostic process: read the fault code → understand what the drive was monitoring → find the physical root cause → fix the cause (not the symptom). Resetting a fault without fixing the cause leads to repeated failures and eventually destroys the drive.
Drive fault codes vary by manufacturer but fall into eight universal categories. Cross-referencing the fault category with the operating condition at the time of fault (starting, running at speed, decelerating, at standstill) narrows the root cause to 2–3 possibilities in most cases.
// Drive fault diagnosis reference — universal categories
//
// ━━ CATEGORY 1: OVER-CURRENT (OC) ━━━━━━━━━━━━━━━━━━━━━━━
// At start: Short in motor cable or windings
// Motor cable too long (capacitive current)
// Acceleration ramp too short
// Output contactor opening during run
// At speed: Sudden mechanical overload or jam
// Phase-to-phase fault in motor
// Field test: Disconnect motor, run drive — OC clears?
// YES → motor/cable fault. NO → drive fault.
// ━━ CATEGORY 2: OVER-VOLTAGE (OV) ━━━━━━━━━━━━━━━━━━━━━━━
// During decel: Regen energy not dissipated
// Check/size braking resistor
// Extend decel ramp time
// At idle: Supply voltage spike (lightning, capacitor switching)
// Add MOV surge arrestors on input
// High inertia: Use regenerative drive or AFE rectifier
// ━━ CATEGORY 3: UNDER-VOLTAGE (UV) ━━━━━━━━━━━━━━━━━━━━━━━
// Supply dip: Voltage below ~85% rated → UV trip
// Check supply voltage during motor start
// Add UPS or ride-through capacitors for critical loads
// Single-phase: One input phase lost → ripple → UV detection
// Check input fuses and contactor contacts
// ━━ CATEGORY 4: GROUND FAULT / EARTH FAULT ━━━━━━━━━━━━━━━
// Damaged motor winding insulation (megger test: > 1 MΩ)
// Moisture ingress into motor terminal box
// Damaged motor cable insulation
// Normal capacitive leakage current on long cables with
// ELCB/RCD protection → use frequency-selective RCD (Type B)
// ━━ CATEGORY 5: MOTOR OVER-TEMPERATURE ━━━━━━━━━━━━━━━━━━━
// Motor oversized duty (I²t exceeded)
// Blocked cooling fan or vents
// Incorrect thermal model parameters in drive
// Running at very low speed (reduced self-ventilation)
// Fix: add forced ventilation for low-speed applications
// ━━ CATEGORY 6: DRIVE OVER-TEMPERATURE ━━━━━━━━━━━━━━━━━━━
// Ambient too high (check derating)
// Heatsink fan failed (check fan tachometer feedback)
// Heatsink fins blocked by dust (clean every 6 months)
// Drive undersized — running at >100% current continuously
// ━━ CATEGORY 7: COMMUNICATION / FIELDBUS FAULT ━━━━━━━━━━━
// Fieldbus cable fault (check connector and cable integrity)
// Node address conflict
// PLC watchdog: check heartbeat / WDT configuration
// Cycle time too fast for drive firmware → reduce cycle rate
// ━━ CATEGORY 8: ENCODER / FEEDBACK FAULT ━━━━━━━━━━━━━━━━━
// Cable break (most common — flex cable fatigue)
// Connector contamination (clean with contact spray)
// EMI on encoder cable (check separation from power cable)
// Wrong encoder parameters (PPR, type, direction)
Modern drives provide rich diagnostic data that enables predictive maintenance — detecting failures weeks before they cause downtime. DC bus capacitors age due to ripple current and temperature — monitor ESR (Equivalent Series Resistance) via ripple current ratio. IGBTs age due to thermal cycling — monitor junction temperature via thermal model. Fan bearings fail — monitor fan speed vs. current. Motor bearings generate vibration that appears as sidebands in the motor current spectrum (Motor Current Signature Analysis, MCSA) — detectable without vibration sensors.
// Key parameters to log for predictive maintenance
// (Read via OPC-UA or fieldbus acyclic every 60 s)
TYPE DriveTelemetry :
STRUCT
timestamp : STRING[20];
drive_id : STRING[16];
// Thermal
T_heatsink : REAL; // °C — alarm > 70°C
T_motor_model : REAL; // °C estimated
T_igbt_junction : REAL; // °C from thermal model
// Electrical
I_rms_phase_u : REAL; // A — imbalance > 5% → fault
I_rms_phase_v : REAL;
I_rms_phase_w : REAL;
V_dc_bus : REAL; // V — rising ripple → cap aging
V_dc_ripple : REAL; // V pk-pk — >30V → replace caps
P_output_kW : REAL;
energy_kWh : LREAL; // Cumulative
// Mechanical (estimated from motor model)
speed_rpm : REAL;
torque_Nm : REAL;
// Health
cap_age_pct : REAL; // 0–100% estimated life used
igbt_cycles : DINT; // Thermal stress cycles
operating_hours : DWORD; // Total hours since install
fault_count_30d : INT; // Faults in last 30 days
fan_speed_pct : REAL; // <80% of nominal → clean heatsink
END_STRUCT
END_TYPE
// Alarm thresholds for automated alerts:
// T_heatsink > 75°C → clean heatsink within 1 week
// V_dc_ripple > 25 V → schedule capacitor replacement
// I_imbalance > 8% → check motor windings + supply
// cap_age_pct > 80% → replace capacitors preventively
// fan_speed_pct < 75% → replace fan immediately
// fault_count_30d > 5 → investigate root cause urgently
A systematic commissioning procedure prevents 90% of early-life failures. Each step verifies the previous one. Never skip to full-speed production without completing all steps.
// DRIVE COMMISSIONING CHECKLIST
// Complete each step before proceeding to the next
//
// ── PRE-POWER CHECKS (drive isolated from supply) ───────────
// □ Supply voltage matches drive nameplate (400 V ±10%?)
// □ Input fuses correct rating (see drive datasheet)
// □ PE (earth) connected: drive, motor, filter, panel frame
// □ EMC filter installed and correctly rated for supply type
// (TN/TT/IT — different Y-capacitor requirements)
// □ Motor cable shielded, 360° clamp at both ends
// □ Motor insulation resistance: ≥ 1 MΩ at 500 VDC (megger)
// FAIL → motor winding or cable moisture → do not proceed
// □ Encoder/feedback cable separate from power cable
// □ Braking resistor connected (if required for load inertia)
// Resistance value and wattage per calculation
// ── FIRST POWER-ON ──────────────────────────────────────────
// □ Measure DC bus voltage: 400 V supply → expect 550–580 V
// < 500 V → check supply fuses and rectifier diodes
// > 620 V → check supply for over-voltage condition
// □ Drive status: no fault codes on display
// □ Check drive firmware version — update if below minimum
// ── PARAMETER ENTRY ─────────────────────────────────────────
// □ Enter motor nameplate data:
// Rated voltage, current, frequency, speed, power
// Motor type (induction / PMSM)
// □ Enter feedback device type and PPR (if encoder fitted)
// □ Set acceleration/deceleration ramps (conservative: 10–30 s)
// □ Set max output frequency (match motor rated frequency)
// □ Set motor overload level (I²t threshold)
// □ Set software speed limits (+/- travel limits if applicable)
// ── MOTOR IDENTIFICATION AUTO-TUNE ──────────────────────────
// □ Run motor identification (stationary test if possible)
// Drive measures: Rs, Lsd, Lsq, Ke, rated slip
// This sets current loop parameters automatically
// □ If encoder fitted: run encoder auto-phase test
// Drive rotates motor slowly to align encoder offset
// ── FIRST RUN ───────────────────────────────────────────────
// □ Motor decoupled from load if possible
// □ Command 10% speed — observe:
// Current: < 30% rated (friction only)
// Direction: correct (swap U-V if reversed)
// Speed readout: smooth, no oscillation
// □ Command 50% speed — observe:
// No vibration, no unusual noise
// Current < 60% rated (no load)
// □ Command 100% speed — observe:
// Speed stable ±0.5%
// Current within expected range
// □ Test acceleration/deceleration:
// No OV fault on decel (braking resistor working?)
// No OC fault on accel (ramp long enough?)
// ── LOAD CONNECTION & FULL TEST ─────────────────────────────
// □ Connect load, repeat full speed test
// □ Verify current at full load ≤ motor rated current
// □ Check motor temperature after 1 hour full load
// Should not exceed nameplate thermal class limit
// □ Test all fault conditions (simulate where safe):
// E-Stop: correct decel + STO activation
// Limit switch: correct response
// Fieldbus loss: correct reaction (safe-stop or hold speed?)
// □ Document all final parameter settings (backup to PC/USB)
DC bus physics, FOC theory, derating maths, harmonic standards, fault diagnosis — all tested. Each answer reveals a full engineering explanation.
A 400 V three-phase VFD rectifies the input. What is the approximate nominal DC bus voltage?
What is Field-Oriented Control (FOC) and why is it superior to V/f control for servo applications?
A VFD shows fault "DC Bus Overvoltage" during deceleration of a large fan. What is the root cause and best fix?
What is the difference between a "current source inverter" (CSI) and a "voltage source inverter" (VSI)?
You install a 15 kW VFD on a 15 kW motor running a centrifugal pump. After one week the drive trips on "Input Phase Loss". The three-phase supply is confirmed healthy. What is the most likely cause?
What is the purpose of a "line reactor" (AC input choke) fitted ahead of a VFD?
A motor nameplate shows: 400 V, 50 Hz, 1450 RPM, 22 kW. What is the synchronous speed and slip at full load?
In PROFIDRIVE (IEC 61800-7-203), what is the difference between control modes "Speed Control" (mode 3) and "Torque Control" (mode 4)?
What is "switching frequency" (carrier frequency) in a PWM inverter, and what are the trade-offs of increasing it?
A 30 kW VFD is installed in a panel at 45°C ambient. The drive datasheet shows 40°C rated ambient and 2% current derating per °C above 40°C. What is the maximum allowable output current?