SINAMICS V20 High-Speed Spindle: Cn002 Macro Setup and Minimum-Speed Run Resolution
The Siemens SINAMICS V20 is a compact, stand-alone AC drive commonly paired with high-frequency spindle motors in CNC routers, wood-working machines, and small machining centers. Because the V20 supports analog setpoints up to 400 Hz output frequency, it is one of the few sub-kW class drives capable of driving a 24,000 RPM or 40,000 RPM HF spindle directly without an intermediate frequency converter. However, applying the Cn002 connection macro to a spindle application introduces a specific wiring hazard: if digital input DI1 is left floating or pulled to the wrong rail, the drive will start the spindle at P1080 (minimum frequency) the moment the line contactor closes. This article documents the correct wiring, parameter set, and the root-cause fix for the unintended minimum-speed run condition.
1. Drive Selection and Frame Sizing for High-Speed Spindles
The SINAMICS V20 is offered in 230 V 1AC and 400 V 3AC variants with power ratings from 0.12 kW to 30 kW. High-frequency spindles (typically 100 Hz to 400 Hz base frequency, two-pole or four-pole) are usually supplied as 220 V 3-phase or 380 V 3-phase stator windings. Match the drive as follows:
| Spindle Rating | V20 Frame (400 V 3AC) | Catalog Number (6SL3210-5BE) | Continuous Output |
|---|---|---|---|
| 0.75 kW / 220 V / 400 Hz | FSA | ...-25-5AB0 | 2.3 A |
| 1.5 kW / 220 V / 400 Hz | FSA | ...-27-5AB0 | 4.2 A |
| 2.2 kW / 220 V / 400 Hz | FSB | ...-31-1AB0 | 5.9 A |
| 3.0 kW / 380 V / 400 Hz | FSB | ...-31-5AB0 | 7.3 A |
Confirm the motor nameplate rated current is below the V20's continuous output current for the selected frame. For high-speed spindles, the rated current can be 50% to 100% higher than an equivalent kW-rated 50 Hz motor because of higher iron and copper losses at 400 Hz operation.
Refer to the official SINAMICS V20 Operating Instructions for frame dimensions, overload curves, and derating above 4 kHz switching frequency.
2. Prerequisites
- SINAMICS V20 with firmware version 3.40 or later (earlier versions omit the 400 Hz ceiling parameter path).
- 3AC 380–480 V supply (or 1AC 230 V with derating) wired to L1, L2, L3 (or L, N on 230 V 1AC frames).
- Spindle motor with nameplate data captured: V, A, Hz, RPM, cos φ, insulation class.
- Controller with isolated 0–10 V analog output (≥10 mA drive capability) and a form-C relay contact rated ≥ 50 mA at 24 V DC.
- Siemens V20 BOP (Basic Operator Panel) or Smart Access Module for parameter access.
3. SINAMICS V20 Terminal Layout and Cn002 Macro
The V20 control board exposes the following user-relevant terminals:
| Terminal | Label | Function in Cn002 |
|---|---|---|
| 1 | +10 V | Potentiometer reference (not used in Cn002) |
| 2 | 10 V OUT | +10 V reference for external potentiometer (drive supplies 10 V to the controller's AI+ input) |
| 3 | AI2 | Analog setpoint input, 0–10 V → 0–P1082 (400 Hz) |
| 4 | AI1 | Analog input 1, 0–10 V or 0–20 mA (not used in Cn002) |
| 5 | 0 V (AI) | Analog ground, common for AI1/AI2/AI3 |
| 8 | DI1 | Run command (ON/OFF1) – HIGH = run, LOW = stop |
| 12 | DIC | Digital input common (internally connected to 0 V via jumper 14–12) |
| 13 | +24 V OUT | Internal 24 V supply (max 50 mA) for sourcing DI |
| 14 | 0 V (DI) | Digital input common return |
| 18 / 19 / 20 | DO1 / DO2 / DO3 | Relay outputs (mapped via P0731–P0733) |
Macro Cn002 configures the drive for 2-wire control, one analog setpoint, no direction reversal. After applying the macro, P0701 is forced to 1 (DI1 = ON/OFF1) and P1000 is set to 2 (analog setpoint from AI2). The drive starts as soon as DI1 is driven HIGH and stops as soon as DI1 returns LOW.
4. Target Wiring Topology
4.1 Wiring Diagram (ASCII schematic)
Controller SINAMICS V20
(0-10 V source) +-----+
+--------+ | |
| AI+ |--- 10V ref (term 2) -->| |
| AI- |--------- 0V (term 5) --| |
+--------+ | |
| V20 |
+--------+ | |
| RELAY | | |
| COM |---+--- +24V (term 13)->| |
| NO | | | |
| NC | +------ DI1 (term 8) | |
+--------+ \\ | |
(NC closes +-----+
when relay
is de-energized)
Jumper: terminal 14 (0V DI) <--> terminal 12 (DIC)
4.2 SVG Topology Diagram
5. Parameter Configuration
Apply the macro first (P0010 = 1, P3900 = 3 with macro parameter; or use BOP macro menu). Then enter the following parameter set, tailored for a 400 Hz / 24,000 RPM HF spindle driven in V/f mode with ramped start:
| Parameter | Value | Meaning |
|---|---|---|
| P0010 | 0 | Exit commissioning mode |
| P0100 | 0 (Europe) / 1 (N. America) | 50 Hz or 60 Hz base |
| P0304 | Nameplate V | Motor rated voltage (e.g., 220) |
| P0305 | Nameplate A | Motor rated current |
| P0307 | Nameplate kW | Rated power |
| P0310 | Nameplate Hz | Rated frequency (e.g., 400) |
| P0311 | Nameplate RPM | Rated mechanical speed (e.g., 24000) |
| P0700 | 2 | Command source = terminal strip |
| P0701 | 1 | DI1 = ON/OFF1 (run enable) |
| P0702 | 12 | DI2 = Reverse (disabled by default direction lock) |
| P0703 | 9 | DI3 = Fault acknowledge |
| P0704 | 10 | DI4 = Jog right (slow setup turns) |
| P1000 | 7 | Setpoint = analog AI2 + digital fixed frequency (P1001–P1003) selectable |
| P1080 | 133 Hz | Minimum frequency (corresponds to ~8000 RPM on 24000-RPM spindle) |
| P1082 | 400 Hz | Maximum frequency |
| P1120 | 3 s | Acceleration ramp |
| P1121 | 3 s | Deceleration ramp |
| P1300 | 1 | Control mode = V/f with linear characteristic |
| P1312 | 30 % | Starting boost (raise if the spindle stalls at low RPM) |
| P0731 | 52.2 | DO1 (terminal 18) = drive running |
| P0732 | 52.3 | DO2 (terminal 19) = fault active |
| P0770 | 2 | AO source = actual frequency (r0021) |
| P0771 | 21 | AO scaling: 0–10 V = 0–P2000 (set P2000 = 400) |
The published default parameter block from the field report uses P1000 = 7 (analog plus fixed setpoint) rather than the macro default of 2. Keep P1000 = 7 only if you intend to use the fixed setpoint for hand-tuning; otherwise return to P1000 = 2 so the spindle speed follows the 0–10 V command directly.
6. Root Cause: Spindle Rotates at P1080 on Power-Up
The reported symptom – "as soon I turn the inverter on the spindle starts to turn at the minimum speed" – has a single, well-defined root cause: DI1 is in a HIGH state at the moment 24 V is applied to the control board, satisfying the ON/OFF1 condition. The drive then accelerates the motor to the analog setpoint or, if the analog input is near 0 V, the internal setpoint floor P1080 (133 Hz in this case) is applied because of the r0024 smoothing algorithm.
6.1 Why the V20 mis-reads a floating DI1
The V20's digital inputs are non-isolated, sourcing by default (when terminals 12 and 14 are jumpered). Internally, each DI is pulled to +24 V through a ~5 kΩ resistor. If the external contact is an NO relay whose COM is tied to +24 V (terminal 13), then:
- Relay de-energized → NO open → DI1 floats → internal pull-up holds DI1 at +24 V → drive interprets as RUN.
- Relay energized → NO closed → DI1 = +24 V → still RUN (no edge to detect).
There is no OFF transition. The drive therefore runs from the instant the control board powers up, regardless of the controller's intent.
6.2 Verification of the failure mode
- Disconnect the controller's relay wires from the V20 control terminals.
- Power the V20 from the line contactor only.
- Measure terminal 8 (DI1) to terminal 14 (0V) with a DMM set to DC volts.
- Expected: 0 V to +2 V. If the reading is +18 V to +24 V, the input is floating HIGH – this confirms the failure mode.
7. Corrective Actions (pick one)
7.1 Option A – Re-wire with the NC contact (preferred for safety)
- Move the relay's COM wire from terminal 13 (+24 V) to terminal 14 (0V).
- Disconnect the wire from terminal 8 (DI1) and connect it to the relay's NC contact instead of NO.
- Connect the NO contact to terminal 13 (+24 V) if the controller expects a "run active" feedback voltage.
- Keep the jumper between terminals 12 and 14.
Result: controller idle → NC closed → DI1 tied to 0V → drive stopped. Controller commands M3 (spindle CW) → relay energizes → NC opens → DI1 floats HIGH → drive runs.
7.2 Option B – Add an external pull-down resistor
- Install a 3.3 kΩ, 0.25 W resistor between terminal 8 (DI1) and terminal 14 (0V).
- Keep the existing NO wiring from relay COM (24 V) to NO (DI1).
- With the relay open, DI1 is now pulled to ~0.7 V (well below the 8 V logic threshold). With the relay closed, DI1 is at 24 V.
7.3 Option C – Reassign the run command to DI2 with macro Cn004
Macro Cn004 swaps the active edge to a 3-wire control pattern. Set P0701 = 0 (DI1 disabled), P0702 = 1 (DI2 = ON/OFF1), and P0703 = 12 (DI3 = OFF2). The 3-wire pattern uses momentary pulses rather than maintained levels, eliminating the floating-input issue. The user must change the controller's relay output from a maintained contact to a momentary start/stop pair.
8. Verification Procedure
- Re-apply line power with the controller powered but the spindle command at 0% (0 V on AI2).
- Read r0002 (drive state) on the BOP. It must read
Ready (04), notRunning (06). - Issue a 10% speed command from the controller (1.0 V on AI2).
- Confirm DI1 is HIGH (LED on BOP for DI1 lit) and r0021 (output frequency) ramps to 40 Hz (10% of 400 Hz) over 3 s.
- Issue M5 (spindle stop) from the controller. The drive should ramp to 0 Hz over 3 s and return to
Ready (04). - Disable the controller's 24 V rail. Within 100 ms the relay should drop out and the drive should enter
Ready(not coast to stop). Verify with r0002. - Run an unloaded 5-minute soak at maximum RPM (10 V → 400 Hz). Monitor r0035 (motor temperature model) and r0026 (DC link voltage). Temperature model should stay below 100% trip threshold; DC link must stay above 380 V DC on a 400 V AC supply.
9. High-Speed Spindle Commissioning Notes
9.1 V/f Voltage Boost at Low RPM
At 400 Hz base frequency the drive's V/f ratio is 220 V / 400 Hz = 0.55 V/Hz. Without compensation, the motor produces very little torque below 50 Hz. Increase P1312 (starting boost) to 25%–40% and verify the motor can hold rated current at 20 Hz. If the spindle stalls under load, switch to P1300 = 2 (V/f with quadratic characteristic) for fans/pumps, or P1300 = 3 (V/f with programmable characteristic) for a custom low-speed torque curve.
9.2 Switching Frequency vs. Spindle Losses
Default switching frequency is 4 kHz. For HF spindles, 8 kHz (P1800 = 8) reduces audible noise and current ripple but increases drive losses by ~30%. The V20 will derate continuous output by 20% at 8 kHz on most frames. For 16 kHz operation, consult the V20 manual's derating curves in section 6.1.
9.3 Bearing Current Mitigation
HF spindles fed by PWM inverters accumulate destructive bearing currents. Install a shaft grounding ring (e.g., AEGIS SGR) on the spindle and verify the V20's output filter (if installed) is the sine-wave type, not the dU/dt type. A common-mode choke (e.g., TDK B82725S2*) on the output side reduces shaft current by 50%–70%.
9.4 Motor Nameplate Data to Capture
| Parameter | Example (ER11 collet spindle) | Source |
|---|---|---|
| Rated voltage | 220 V 3AC | Stator nameplate |
| Rated current | 5.0 A | Stator nameplate |
| Rated frequency | 400 Hz | Stator nameplate |
| Rated speed | 24,000 RPM | Stator nameplate |
| Insulation class | F (155°C) | Stator nameplate |
| Cos φ | 0.78 | Stator nameplate |
| Bearing type | 7002C ×2 | Mechanical drawing |
| Max RPM | 30,000 RPM | Manufacturer datasheet |
10. Fault and Warning Reference (V20 Specific)
| Code | Meaning | Spindle-Relevant Cause | Action |
|---|---|---|---|
| F0001 | Overcurrent | Spindle stalled, ramp too short, P1312 too high | Extend P1120, lower P1312, check load |
| F0002 | Overvoltage | Regenerative energy during decel exceeds DC bus limit | Add braking resistor, lengthen P1121 |
| F0003 | Undervoltage | DC link dropped below 350 V during run | Verify supply impedance |
| F0004 | Drive overtemperature | Heatsink above 95°C, common in 8 kHz switch at full load | Reduce P1800, improve cabinet airflow |
| F0005 | Motor I²t overload | Spindle drawing >110% rated for >120 s | Verify P0305 against actual current (r0027) |
| F0011 | Motor overtemperature (PTC) | Stator thermistor tripped | Allow cool-down, check fan |
| F0035 | Auto restart after fault | Configured by P1210 | Set P1210 = 0 (no auto-restart) for safety |
| A0501 | Current limit warning | Output current at 150% limit | Check spindle load and P1312 setting |
| A0503 | Undervoltage limit | DC link dipped below 350 V but drive survived | Investigate line quality |
| A0506 | Drive I²t warning | Heatsink temperature above 85°C | Reduce load or improve cooling |
11. Spindle-Specific Parameter Audit Checklist
-
P1082matches the motor's rated frequency (e.g., 400 Hz). The default 50 Hz ceiling will under-utilize the spindle. -
P2000(reference frequency) is set equal to P1082 so the analog input scaling P0771 = 21 yields 0–10 V = 0–400 Hz. -
P1210= 0 to prevent the drive from auto-restarting after a fault – critical for spindle applications. -
P1200= 0 (no flying restart) – the spindle must come to a complete stop before re-energization. -
P0290= 0 (reduce PWM on overload) or 1 (reduce output frequency) – protects the drive if the spindle stalls. -
P0640(motor overload factor) = 110% to match standard motor thermal models. - Verify r0035 (motor temperature model) at steady-state full RPM. It must remain below 100% (warning at 80%, fault at 110%).
12. Troubleshooting Matrix
| Symptom | Likely Cause | Diagnostic | Resolution |
|---|---|---|---|
| Spindle runs at P1080 on power-up | DI1 floating HIGH | Measure term 8 vs 14: should read 0 V to 2 V when stopped | Re-wire NC contact (Option A) |
| Spindle runs only at 50 Hz max | P1082 default | Read P1082 on BOP | Set P1082 = 400 |
| Spindle speed is half of commanded | 10 V ref not connected, AI2 sees 5 V max | Measure term 2 = 10.0 V ± 0.1 V | Wire terminal 2 to controller's 10 V reference input |
| Spindle stops mid-cut | DI3 fault ack or DI2 reverse toggled | Read r0052 (DI status) on BOP | Verify P0702 = 12, P0703 = 9, no wiring cross-talk |
| Drive faults F0001 on every M3 | P1312 too high, P1120 too short, spindle stalled | Read r0027 during acceleration | Reduce P1312 to 15%, lengthen P1120 to 5 s |
| Drive faults F0005 after 2 minutes at full RPM | Spindle current > P0305 | Compare r0027 to P0305 | Re-measure motor nameplate current, update P0305 |
| Output frequency oscillation at low RPM | P1080 = 0 and AI2 noise | Read r0021 with scope on term 3 | Set P1080 = 50 Hz floor, add 100 nF cap on AI2 |
| No analog response (0 Hz regardless of input) | P0770 wrong, P1000 wrong | Read r0021, r0755 (AI2 raw) | Set P1000 = 2, P0770 = 2, P0771 = 21 |
13. Alternative Macros for CNC Spindle Use
| Macro | Pattern | Run/Stop Logic | Spindle Suitability |
|---|---|---|---|
| Cn001 | 1-wire, no direction | DI1 = run, edge-triggered | Marginal – drive runs on first rising edge, hard to stop |
| Cn002 | 2-wire, 1 setpoint | DI1 level-sensitive HIGH = run | Best for maintained-contact relays with NC fail-safe |
| Cn003 | 3-wire, 1 setpoint | DI1 = stop, DI2 = run (pulse) | Best for momentary pushbutton stations |
| Cn004 | 3-wire, reverse enable | DI1 = stop, DI2 = fwd pulse, DI3 = rev pulse | Useful if M3/M4 spindle control is required |
| Cn011 | 2-wire with fixed setpoints | DI1 = start, DI2 selects P1001/P1002 | Useful for multi-speed CNC presets |
For a CNC controller emitting M-codes through relays, Cn002 with the NC-contact re-wire is the simplest robust pattern. For a controller with separate start/stop pushbuttons, switch to Cn003 and use DI1 (terminal 8) as the stop input (NC pushbutton) and DI2 (terminal 9) as the start input (NO pushbutton).
14. BOP Commissioning Sequence (Quick Reference)
- Apply 3AC power; the BOP shows
READY. - Press the green OK button → main menu.
- Navigate to
SETUP→CN002→YESto load the macro. The drive resets to factory defaults except the macro's pin assignments. - Enter motor data: P0304, P0305, P0307, P0310, P0311.
- Set P0700 = 2, P1000 = 2, P1080 = 133, P1082 = 400, P1120 = 3, P1121 = 3, P1300 = 1, P1312 = 30.
- Set P2000 = 400, P0770 = 2, P0771 = 21.
- Set P1210 = 0 (no auto-restart).
- Press OK to save. The BOP displays
BUSYfor ~2 s, then returns toREADY. - Issue a 5 V reference from the controller. The BOP should display the actual frequency, e.g.,
200 Hz. - Issue M5 and verify the BOP returns to
READYwith output frequency 0 Hz.
Why does my SINAMICS V20 start the spindle at P1080 the moment line power is applied?
The V20's digital input DI1 is internally pulled up to +24 V through approximately 5 kΩ. If you wired the controller's NO relay between +24 V and DI1, the input floats HIGH whenever the relay is de-energized. DI1 is configured as ON/OFF1 (P0701 = 1), so the drive interprets the floating HIGH as a run command and accelerates the motor to the active setpoint floor (P1080 = 133 Hz in your case). Move the relay's COM wire to terminal 14 (0 V) and use the NC contact to drive DI1, or add a 3.3 kΩ pull-down resistor between terminals 8 and 14.
What is the maximum output frequency of the SINAMICS V20, and how do I enable 400 Hz for a high-speed spindle?
The V20 firmware supports output frequencies up to 400 Hz. The default ceiling P1082 = 50 Hz must be raised. Set P1082 = 400 and P2000 = 400 to match the analog input scaling. Verify the motor nameplate rated frequency matches 400 Hz (or 300 Hz, 200 Hz – HF spindles are available in several base frequencies). Above 400 Hz the drive will display F0090 (encoder feedback loss) or F0091 if a closed-loop configuration is selected; V/f mode (P1300 = 1) is the only mode valid above 200 Hz.
Can I use the 0-10 V analog output from my controller directly to the V20's AI2 input without a relay?
No. The 0–10 V signal is the speed setpoint, not the run enable. You must also provide a digital run command on DI1. Without DI1 HIGH, the drive remains in the Ready state regardless of the analog input voltage. The correct architecture is analog AI2 for speed reference and a digital input (typically DI1 with a relay contact) for start/stop authority. A common mistake is wiring only AI2 and DI as a maintained contact, which produces the floating-input run-on-startup symptom described above.
Which macro – Cn002 or Cn003 – is better for CNC spindle control with a relay-based controller?
Use Cn002 if the controller provides a single maintained relay contact (typical for spindle on/off outputs). Use Cn003 if the controller provides two momentary pushbutton outputs (start pulse and stop pulse). Cn002 is level-sensitive and easier to troubleshoot; Cn003 is edge-triggered and inherently immune to the floating-input failure mode. For a safety-rated application with a high-RPM spindle, Cn003 with DI1 wired to a NC E-stop pushbutton is the preferred pattern.
How do I scale the analog output P0770 = 2 so 10 V corresponds to 400 Hz instead of 50 Hz?
Set P2000 = 400 (reference frequency for 100% analog/PWM scaling) and verify P0771 = 21 (output voltage range 0–10 V). For the analog input AI2, the scaling is determined by P1000 (setpoint source) and P2000. With P1000 = 2 and P2000 = 400, a 10 V input produces a 400 Hz setpoint. P0770 only governs the analog output (terminals 11/12 on the V20), which is typically used to feed a spindle tachometer or drive a panel meter – not the setpoint input.
What P1312 boost value is appropriate for a 24,000 RPM HF spindle starting under load?
Start with P1312 = 25% to 30% on 220 V HF spindles. Monitor r0027 (actual motor current) during a loaded start at 50 Hz. If the current stays below 110% of the motor's rated current (P0305), the boost is correct. If F0001 (overcurrent) trips, reduce P1312 in 5% steps. If the spindle stalls without tripping, increase P1312 in 5% steps. For spindles below 1 kW with high starting torque loads, switch to P1300 = 3 (programmable V/f) and define a custom curve with elevated voltage between 0 and 10 Hz.