SINAMICS S120 Servo Tuning Resolving High-Pitch Noise at Low

David Krause21 min read
SiemensTroubleshootingVFD / Drives
Licensed PE Working through this on a live machine? A Maine-licensed engineer can take it from here — included with IMD hardware, by the hour for everything else. Book an engineer

SINAMICS S120 Servo Tuning: Resolving High-Pitch Noise at Low Speed

When a SINAMICS S120 drive operates a synchronous servo motor from the STARTER or Startdrive commissioning/control panel at a very low fixed setpoint (for example 5 rpm), the shaft begins to rotate, but the rotation is rough, the speed trace shows a periodic ripple, and a clearly audible high-pitch (whining) tone is present at the motor. The same motor on a sister axis with the same encoder and the same firmware runs cleanly. The diagnostic trail therefore points to a control-loop tuning mismatch and not to a mechanical or encoder defect.

This article documents the engineering workflow used to isolate, correct, and verify the tuning of a SINAMICS S120 axis that produces high-pitch noise at very low speed. Two convergent solutions are covered: an automatic path using One Button Tuning and a manual path that adjusts the speed-controller integral action (the field-common "KI" parameter) plus the proportional gain. The conditions under which each is the correct tool are made explicit, including control-mode selection, firmware version, and parameter dependencies.

1. Symptoms and Field Signature

Typical signatures observed on a SINAMICS S120 axis running at a 5 rpm fixed setpoint from the control panel:

  • Audible high-frequency tone (1–4 kHz range) at the motor housing or at the drive line-side inductor.
  • Visible speed ripple on r0061 (speed actual value smoothed) and a synchronized ripple on r0078 (Iq current actual value).
  • Motor shaft "jitters" rather than turning smoothly even though the setpoint is constant.
  • Parameter comparison with a sister axis (same motor, same encoder, same Control Unit firmware) shows the symptom only on the noisy axis, eliminating motor, encoder, and mechanical variants as causes.
  • The trace r0078 has a periodic component that the Bode plot identifies as the speed-loop bandwidth region, not the PWM switching frequency.

2. Root Cause: Under-tuned Speed and Current Loop

The high-pitch tone is the acoustic side-effect of the current controller and the superimposed speed controller oscillating against the mechanical system. In a correctly tuned axis the closed-loop bandwidth of the speed controller is high enough relative to the load inertia and friction that low-speed motion is dominated by the I-component of the speed controller, and not by limit-cycling. When the loop is under-tuned, the proportional (Kp) and integral (KI / Tn) gains are too low for the inertia seen by the controller, and the following chain of events produces the symptom:

  1. The PI speed controller can only generate a small torque increment at a given error.
  2. The remaining error is corrected by the integral action, producing a slow oscillation in speed.
  3. The current controller, working against a changing back-EMF at very low speed, has no smooth DC operating point and the PWM output is dominated by a high-frequency component that radiates as the audible squeal.

A second contributor is incorrect speed-controller pre-control and filter settings. The SINAMICS S120 speed controller has both a proportional branch and an integral branch, an acceleration-torque pre-control (p1496), and a symmetrical-optimum filter. If p1496 is left at default and the speed actual-value filter time constant (p1442) does not match the encoder signal, the low-speed following error grows and the integral branch winds up.

A third contributor is the selection of Vector Control (p1300 = 20 / 22) where Servo Control (p1300 = 21 / 23) is required. The Servo Control structure on the S120 has higher-bandwidth current controllers and is required for the One Button Tuning automated path. Vector Control uses a different motor model and default tuning strategy that is not optimized for the very-low-speed region of a synchronous servo.

3. Pre-Check: Eliminate Mechanical and Electrical Sources First

Before any controller parameter is touched, run through the standard SINAMICS S120 commissioning checks. The reference is the SINAMICS S120 Commissioning Manual and the SINAMICS S120 / S150 List Manual on the Siemens Industry Online Support portal.

  1. Motor identification completed. The automatic motor data identification (p1910) must have been executed and the result copied from RAM to ROM. If the project was downloaded but p1910 was never run, the leakage and saturation values are factory defaults and the field-oriented control model is wrong from the start.
  2. Encoder commissioning. The encoder type and resolution in p408 must match the connected encoder exactly. For a SIMOTICS S-1FK7 / S-1FT7 motor, the encoder is normally DRIVE-CLiQ and parameters are filled in automatically. If the encoder is a third-party SSI / EnDat device, p400, p404, p408, and the relevant telegrams must be verified. A wrong line count in p408 produces exactly the low-speed ripple described above.
  3. Mechanical system. Check that the coupling between motor and load is not introducing a torsion mode below 100 Hz. Run up to a few hundred rpm in JOG and look for vibration. Any resonance below the current-controller bandwidth is not solvable by tuning and requires a mechanical fix or a notch filter (p1656 with p1660, p1661, p1662, p1663).
  4. Compare against the working axis. Open the two project archives side by side in STARTER and check, parameter by parameter, the following expert list entries at minimum: p1300, p1400, p1442, p1460, p1461, p1462, p1470, p1472, p1496, p1656, p1715, p1717, p1800, p1820, p1821, p1830, p2000, p2003, p2007. Any difference here is the lead for the manual tuning.
  5. DC link and supply. Verify the line supply quality. A weak supply with high harmonic distortion appears as a high-frequency current ripple that the current controller will amplify into the same audible symptom.

If all of the above match the working axis, the issue is in the controller tuning and the two solutions below apply.

4. Solution Path A — One Button Tuning (Servo Control, FW ≥ 4.8)

One Button Tuning is the standard automated tuning method on SINAMICS S120 with Servo Control. It moves the axis through a small angle to identify the mechanical system and then computes a consistent set of current, speed, and (where applicable) position controller parameters. One Button Tuning is only available when:

  • The drive is configured for Servo Control (p1300 = 21 or 23). On Vector Control the function is grayed out in STARTER.
  • The firmware version is at least V4.8. Older firmware versions do not implement p5300 / p5308.
  • All safety functions that would block axis motion are released.
  • The drive is in a state that allows motion (no active faults, pulses enabled, ON command present).

Procedure from STARTER:

  1. Set p5308 to a value greater than 0 degrees. p5308 is the rotation angle the axis will travel during the measurement. A safe starting value is 360° for a rotary axis; lower values such as 90° are acceptable if the mechanical envelope is tight. If p5308 is left at 0, One Button Tuning will not run.
  2. Set p5300 = 1. p5300 is the activation parameter. Setting it to 1 starts the tuning measurement on the next enable.
  3. Enable the axis. Use p840 = 1, or enable the drive from the control panel. The axis will perform the configured motion and the firmware will overwrite the controller gains with the newly computed values.
  4. Wait for the tuning to complete. STARTER shows the progress in the tuning dialog. Do not remove the enable until the tuning has finished.
  5. After the motion, check the changed parameters in the expert list. The firmware will write the new values to p1460, p1461, p1462, p1470, p1472, p1656, p1715, p1717, p1960 and the related filter parameters.
  6. Copy RAM to ROM so the new values are stored to the CF card / non-volatile memory.
  7. Re-run the 5 rpm setpoint and verify on the trace that the high-frequency tone is gone.

If p5300 cannot be written because of the message "p0230 prevents this from changing", the active control mode is not Servo Control. p0230 in the standard SINAMICS S120 expert list is the function module for the drive object; the error text shown by STARTER is a generic dependency error and not a literal p0230 entry. The fix is to switch p1300 to a Servo Control value, save the project, perform a project download, power off, and power on the Control Unit before retrying p5300.

If the firmware is older than V4.8, the parameters p5300 and p5308 do not exist. The upgrade path is to update the SINAMICS S120 firmware to the latest SSP (Support Package) available on the Siemens Industry Online Support. The minimum configuration to keep One Button Tuning available is V4.8 SP1 or later.

5. Solution Path B — Manual Adjustment of the Control-Loop KI Parameters

On Vector Control, or on older firmware where One Button Tuning is not available, the high-pitch noise can be resolved by manual tuning of the controller gains. The "KI" referred to in field practice is the integral action of the speed controller. On the SINAMICS S120 this is implemented by the speed-controller integral time p1462 (Tn_n), and in cascade form, by the current-controller gain p1715.

Standard manual tuning procedure:

  1. Run the axis in speed-controlled mode with a small step setpoint (for example 0 → 10 rpm, with a 200 ms step). Record the speed actual value, the Iq current, and the speed controller output on the STARTER trace.
  2. Open the trace in Bode Diagram view. Identify the -3 dB bandwidth of the closed speed loop. A correctly tuned SINAMICS S120 servo on a stiff mechanical system has a speed-loop bandwidth of 100–300 Hz; on a compliant system it is 30–80 Hz.
  3. If the bandwidth is well below the mechanical resonance, increase p1460 (proportional gain Kp_n) in 10–20 % steps and re-trace. Stop at the first sign of overshoot or oscillation in the step response.
  4. Then decrease p1462 (integral action time Tn_n) in 10–20 % steps. The integral action of the speed controller suppresses the steady-state speed error and is the most effective lever for cleaning up low-speed ripple. In a typical S120 axis p1462 sits in the 10–50 ms range; an axis with a low-pitch tone usually has p1462 above 100 ms or has the integral action effectively disabled by a very high p1462 value.
  5. Re-run the 5 rpm setpoint. Listen for the high-pitch tone. If the tone is reduced but still present, drop p1462 further. If the tone disappears but a low-frequency oscillation (0.5–2 Hz) appears, p1462 has been reduced too far; raise it back by 20 %.
  6. As a second lever, adjust p1715 (current controller P gain) and p1717 (current controller integral time) only if the current loop itself is unstable. The current controller bandwidth should be at least 5–10× the speed controller bandwidth. A current-controller bandwidth that is too low will show as a phase delay in the Iq trace, not as a high-pitch tone; if you see a high-pitch tone, the current loop is almost certainly fine and the lever is the speed controller.
  7. Repeat the trace and the listening test after each change. After 2–3 iterations the low-speed tone is typically gone.
  8. Copy RAM to ROM once the tuning is stable.

Useful diagnostic: if you bump p1460 to a very high value (for example 5× the current value) and the high-pitch tone changes character or moves in frequency, the tone is in the speed loop. If the tone does not change, it is in the current loop or the PWM, and you should look at the modulation pattern, the switching frequency (p1800), and the dead-time compensation (p1820, p1821, p1830, p1832).

6. Tuning Mathematics — Speed and Current Controller

The SINAMICS S120 follows the classical cascade structure with a current controller inside a speed controller. For a single-mass system with inertia J and a PI speed controller, the symmetrical optimum criterion gives the relationships:

Kp_n = J / (2 · Tn_n · Ts)
Tn_n = 4 · Ts

Where Ts is the speed-loop sample time (typically 250 µs on the S120, equivalent to 4 kHz). For a SIMOTICS S-1FK7 motor with J = 0.001 kg·m² the formulas yield:

Tn_n = 1.0 ms (lower bound)
Kp_n = 0.001 / (2 · 0.001 · 0.00025) = 2000 (in SI units)

The values stored in p1460 and p1462 are in user units (Nm·s/rad for Kp_n, ms for Tn_n), not in SI, so the user must apply the SI-to-user conversion factor defined by p2000 (reference speed) and p2003 (reference torque).

For the current controller on an R-L motor with half-bridge inverter and sample time Ti (typically 62.5 µs on the S120 current loop, equivalent to 16 kHz):

Kp_i = L / (2 · Ti)
Tn_i = R / Kp_i = 2 · Ti · R / L

These are the textbook symmetrical-optimum values; the SINAMICS S120 motor data identification sets them automatically and they should not be edited manually unless a current-controller measurement (p1900) has been run.

7. Vector Control vs. Servo Control on the SINAMICS S120

The SINAMICS S120 supports two fundamental control modes selected in p1300:

  • p1300 = 20: Vector Control without encoder
  • p1300 = 21: Servo Control with encoder
  • p1300 = 22: Vector Control with encoder
  • p1300 = 23: Servo Control without encoder (torque control)

For a low-speed, high-dynamics application such as a 5 rpm setpoint with audible quality requirements, Servo Control with encoder (p1300 = 21) is the correct mode. Vector Control is intended primarily for asynchronous induction motors and is tuned for a different operating envelope. The differences that matter for the noise symptom are:

  • Servo Control uses a current controller bandwidth of up to 2 kHz by default and a closed-loop speed controller specifically optimized for synchronous machines.
  • Vector Control uses a model-based current controller with an estimated speed from the motor model; at very low speed the model has the highest error and the speed signal is noisier.
  • One Button Tuning is not available on Vector Control on the S120.
  • The default filter and pre-control settings (p1442, p1496) are different and are not optimized for the very-low-speed region.

If the project archive has p1300 = 20 or 22, change it to 21 and re-run the project download, motor identification, and tuning sequence. The high-pitch tone usually disappears in this case without further gain adjustment.

8. Firmware Version and Parameter Compatibility

The One Button Tuning function (p5300, p5308, p5301 through p5310) was introduced in SINAMICS S120 firmware V4.8. The behavior and the parameter layout are stable from V4.8 SP1 onward. V5.x firmware retains the function and adds more automation (online tuning in p5301, dynamic-response setting in p5307).

If the drive is on older firmware (V4.4, V4.5, V4.6, V4.7) the parameters will not be visible in the expert list. The recommended path is:

  1. Check the firmware version on the Control Unit (r0018) and the drive object (r0290 or r7820).
  2. Identify the current Support Package (SSP) loaded on the CF card.
  3. Download the latest SSP from the Siemens Industry Online Support portal for the exact article number of the Control Unit.
  4. Update the firmware following the procedure in the SINAMICS S120 Function Manual, "Commissioning" chapter. A firmware update clears all RAM parameters, so the project must be downloaded again and the tuning must be re-done.

Do not skip a major firmware version unless Siemens documentation explicitly states the intermediate version is not required. For V4.x to V5.x jumps, a CF-card downgrade/upgrade path through several intermediate versions is normally required.

9. Verification Procedure

After the tuning has been changed by either method, verify the result with a fixed 5 rpm setpoint and the same trace configuration as the original measurement.

  1. Drive in control-panel mode with a 5 rpm setpoint, no load.
  2. Record r0061 (speed actual value smoothed), r0078 (Iq current actual value), and r0079 (Id current actual value) over a 5 second window.
  3. Expected r0061 trace: peak-to-peak ripple of less than 0.5 rpm and no periodic component above 10 Hz. Expected r0078 trace: peak-to-peak current ripple of less than 0.2 A on a typical 1FK7 motor.
  4. Listen to the motor with a stethoscope probe (or simply next to the bearing housing). The high-pitch tone should be inaudible.
  5. Repeat the trace at 10, 50, 100, 500 and 1000 rpm to confirm that the tuning is not just good at 5 rpm but across the speed range. A tuning that is only good at 5 rpm is over-tuned at 5 rpm and will be unstable at higher speed; the gains must be reduced.
  6. Run a step response: 0 → 100 rpm with a 100 ms ramp, record the overshoot and settling time. Acceptable overshoot on a stiff axis is < 5 %; acceptable settling time depends on the application.
  7. Run a Bode plot from the STARTER "Closed-loop control" → "Speed controller" → "Bode diagram" function. The closed-loop magnitude curve should be flat to the bandwidth and roll off cleanly above.

If any of the verification steps fail, repeat the manual tuning iteration or re-run One Button Tuning with a larger p5308 angle (e.g. 720° instead of 360°) so the mechanical identification covers more of the system.

10. Related SINAMICS S120 Faults and Alarms

The following SINAMICS S120 faults and alarms are commonly seen on a mis-tuned axis and can mask the underlying noise symptom. The complete list is in the SINAMICS S120 / S150 List Manual.

Code Type Meaning Action
F07800 Fault Drive: No encoder signal Check encoder wiring, p408, p425
F07801 Fault Drive: Encoder signal error (level, edge count) Check encoder, cable shielding, p464, p465
F07900 Fault Motor blocked Check mechanics, increase p2175, verify tuning
F07901 Fault Motor speed too high Check p1082, p2000, overspeed threshold
F07902 Fault Motor stalled Verify load, increase p2175, retune
F08501 Fault Commutation angle invalid Re-run motor identification p1910
F08502 Fault Motor data identification active (informational) Wait for completion
A07929 Alarm Speed controller output limited Indicates I or P component at saturation; tuning required
A07930 Alarm Speed controller I-component limited Increase Kp_n (p1460) or reduce Tn_n (p1462)
A07931 Alarm Current controller output limited Check p640, p1610, current limit configuration

11. Quick-Reference Parameter Table

Parameter Description Typical value Notes
p1300 Open-loop / closed-loop control mode 21 Servo Control with encoder. Required for One Button Tuning.
p1400 Speed controller configuration (expert) Bits for sensorless, filter, etc. Leave at default unless specifically required.
p1442 Speed actual-value filter time constant 0 to 2 ms Match to encoder noise. Too high produces lag.
p1460 Speed controller P gain Kp_n 0.1 to 5.0 Nm·s/rad Primary lever for speed-loop bandwidth.
p1461 Speed controller P gain upper adaptation Nm·s/rad Upper speed adaptation Kp.
p1462 Speed controller integral time Tn_n 10 to 50 ms The "KI" lever. Increase to slow integral action, decrease to speed it up.
p1470 Speed controller encoderless gain Nm·s/rad Only used for sensorless mode.
p1472 Speed controller encoderless integral time ms Only used for sensorless mode.
p1496 Acceleration pre-control scaling 100 % Enable at 100 % for direct acceleration feedforward.
p1656 Current setpoint filter 1 enabled 0 / 1 Default 0; enable only with notch filter configured.
p1715 Current controller P gain V/A Set by motor data identification. Do not change manually.
p1717 Current controller integral time µs Set by motor data identification. Do not change manually.
p1800 Pulse frequency 4 to 8 kHz Higher value reduces current ripple but increases switching loss.
p1820 / p1821 Dead-time compensation V Default set by motor data identification.
p1910 Motor data identification selection 1 / 5 / 7 Run once after first commissioning.
p1960 Speed controller optimization 0 / 1 Manual rotation measurement; use if One Button Tuning not available.
p5300 One Button Tuning activation 0 / 1 Set to 1 to start the measurement. Requires Servo Control and FW ≥ 4.8.
p5307 Dynamic response setting for One Button Tuning 1 to 3 Higher = stiffer, more aggressive tuning.
p5308 Rotation angle for One Button Tuning 0 to 65535° 0 disables One Button Tuning. Use 360° as a starting point.
p840 Pulse enable / run 0 / 1 Axis enable for the measurement.

12. Common Pitfalls

  • Misinterpreting "p0230 prevents this from changing". The message is not a real p0230 dependency; it is the generic STARTER text for any control-mode-dependent parameter. Switching p1300 and reloading the project is the correct fix.
  • Tuning the current controller (p1715, p1717) manually. The current controller is set correctly by the motor data identification and changing it manually will create exactly the noise symptom being diagnosed. Leave the current controller alone unless a current-controller measurement (p1900) has been run.
  • Using a high pulse frequency (p1800) and a low speed-controller bandwidth. The two are not related; a high p1800 reduces the current ripple but does not fix a low-bandwidth speed loop.
  • Forgetting to copy RAM to ROM. Without it, the next power-off will revert the gains to the project default and the symptom will return.
  • Comparing the wrong axis. The "sister axis" must be on the same Control Unit or on a Control Unit with the same firmware. A V4.7 and a V5.1 axis have different default tuning and the comparison is not valid.
  • Ignoring safety integration. A safety function such as SLS, SOS, or STO that limits the maximum speed to a very low value will mask the symptom and create a feedback loop in the speed controller that itself produces a tone. Verify p9501, p9506, p9301, p9306 match the application.

13. Diagnostic Decision Tree

High-pitch noise at low speed on SINAMICS S120 servo
  |
  +-- p1300 = Vector Control (20 / 22)?
  |     YES: change to Servo Control (21), reload, re-identify, retest
  |     NO:  continue
  |
  +-- Firmware version < 4.8?
  |     YES: update firmware, then run One Button Tuning
  |     NO:  continue
  |
  +-- Can write p5300?
  |     YES: run One Button Tuning (p5308 = 360°, p5300 = 1, enable)
  |     NO:  investigate p1300 (likely the cause)
  |
  +-- One Button Tuning resolves the issue?
  |     YES: copy RAM to ROM, document
  |     NO:  continue
  |
  +-- Manual KI / Kp adjustment of the speed controller
       (p1460, p1462) in 10–20 % steps, with trace + listen between steps
       |
       +-- Tone disappears?  YES: copy RAM to ROM, document
       NO:  investigate p1442, p1496, encoder noise, mechanical resonance,
            safety limit (p9501 / p9301), dead-time compensation (p1820, p1821)

14. Field-Proven Cautions

Three cautions that are easy to miss in the field but cost time when they are missed:

  1. DRIVE-CLiQ topology rules. If the motor is connected through a DRIVE-CLiQ hub (DMC20 / DME20) and the wiring between hub and motor module is changed without a topology check, the encoder and motor ID can be misassigned. After any wiring change, run the topology check (STARTER → Drive unit → Topology) before tuning.
  2. Encoder replacement and reference marks. If the encoder was replaced and the zero-mark referencing (p495, p497, p498) was not re-run, the commutation angle is wrong and the noise symptom will not respond to gain changes. Run p1990 = 1 (commutation angle determination) and verify with p432.
  3. Sinusoidal vs. block commutation. On third-party motors, the firmware default is sometimes block commutation. The symptom of a high-pitch tone at 5 rpm is the same as on sinusoidal commutation but the fix is different: switch p1011 to sinusoidal mode, retune. The parameter appears in the "Motor data" expert list and is hidden by default in STARTER.

My SINAMICS S120 axis produces a high-pitch squeal at 5 rpm but a sister axis with the same motor and encoder is silent. What is the first thing I should check?

Verify the control mode in p1300. The sister axis is most likely on Servo Control (p1300 = 21) while the noisy axis is on Vector Control (p1300 = 20 or 22). Vector Control on a synchronous servo motor at very low speed is the most common root cause of a high-pitch tone. Switch to Servo Control, re-run motor identification (p1910), and re-test with a 5 rpm setpoint.

I get the message "p0230 prevents this from changing" when I try to set p5300 = 1. What is p0230 and how do I clear it?

The message is a generic STARTER text for a control-mode dependency, not a real p0230 entry. p5300 (One Button Tuning) is only writable when the drive is in Servo Control (p1300 = 21 or 23) on firmware V4.8 or later. Set p1300 = 21, save the project, download it to the Control Unit, power-cycle the CU, and retry p5300.

Which parameter is the "KI" of the speed controller on the SINAMICS S120?

The integral action of the speed controller is set by p1462 (Tn_n, the integral action time in milliseconds) and the proportional action is set by p1460 (Kp_n, the gain in Nm·s/rad). Decreasing p1462 speeds up the integral action; increasing p1462 slows it down. For a low-speed noise symptom, the most effective single change is to reduce p1462 in 10–20 % steps until the 1–4 kHz tone disappears.

I have Servo Control and FW 4.7. The p5300 parameter is not visible in the expert list. Can I still do One Button Tuning?

No. p5300 and p5308 were introduced in SINAMICS S120 firmware V4.8. Either update the firmware to V4.8 SP1 or later, or perform a manual rotation measurement (p1960) and tune the controller gains manually using p1460 and p1462 as described in this article.

After One Button Tuning, the high-pitch tone is gone at 5 rpm but the axis oscillates at 500 rpm. What went wrong?

The p5307 dynamic-response setting was too aggressive for the load. Re-run One Button Tuning with a lower p5307 (1 instead of 2 or 3), or reduce p1460 by 20–30 % and re-test at 500 rpm. The tuning must be good across the full speed range, not just at 5 rpm. Verify with the verification procedure in section 9 of this article.

Back to blog