-
Notifications
You must be signed in to change notification settings - Fork 49
iSV57 Servo Register Tuning Guide
This guide provides a comprehensive walkthrough for reading, modifying, and flashing the internal control loop parameters of the Stepperonline iSV57 Integrated Servo Motor using the DIY FFB Pedal SimHub Plugin.
Fine-tuning these registers allows you to optimize the admittance control response, suppress mechanical resonance, and adapt the feedback to match your personal performance preferences.
- Ensure your DIY FFB Pedal is powered and connected to the PC. Open the SimHub interface and make sure the plugin is communicating with your pedal hardware.
- Navigate to the Servo tab within the plugin settings.
- Click the LOAD FROM SERVO button. The UI will fetch the active parameters directly from the motor's volatile memory and populate them into the Live (Servo) column.
- Click the RESET TO RECOMMENDED button. This populates optimized predefined defaults curated specifically for sim racing admittance loops.
-
Important Active Standby Reset: After clicking, the motor controller automatically drops into an Idle Mode (safe state).
- To wake the servo: Gently tap or press the physical pedal assembly. This brief mechanical input triggers a hardware re-initialization sequence, resetting the control loops, waking up the motor, and restoring full force-feedback capabilities.
- Click the RESET TO FACTORY button to clear custom tuning configurations and revert the internal EEPROM back to Stepperonline OEM shipping parameters.
- Just like the baseline flash, the motor will enter Idle Mode immediately. Wake the device by giving the pedal a light tap to restart the hardware control loops.
- Locate the target register row in the data grid and select the value cell within the Live (Servo) column.
- Modify the numerical value to your desired setting.
- Test Volatile Workspace: Select any other row or click outside the cell. The plugin immediately transmits the new value into the volatile RAM of the servo controller. The changes take effect instantly, allowing you to test the physical pedal feel dynamically on the fly.
- Permanent Storage: Parameters modified in RAM will revert to their previous state if the pedal is power-cycled. To store your changes permanently in the motor's non-volatile EEPROM, click the FLASH TO SERVO button.
ServoParameterTuning.mp4
The iSV57 operates on a high-speed cascaded control loop topology consisting of Position, Velocity, and Torque (Current) loops. Tuning specific registers alters the admittance physics and dampening profile of the system. The signal flow is depicted in the image below
.
[ESP32 Admittance Model] ──> [Positional Command Filter (Pr1.35)] ──> [Position Loop (Pr1.00)] ──> [Velocity Loop (Pr1.01, Pr1.02)] ──> [Torque Loop (Pr7.00, Pr1.04)] ──> [Physical Motor Coils]
| Register | Parameter Name | Default / Rec | Engineering Description & Tuning Impact |
|---|---|---|---|
| Pr0.00 | Reserved parameter | 500 | Internal firmware anchor. Keep at default system value. |
| Pr0.01 | Control Mode | 0 | Defines the primary operational cascade mode. Set to 0 (Position Control Mode), driven by the high-frequency step/dir telemetry from the ESP32. |
| Pr1.00 | 1st gain of position loop | 1/s | Proportional gain of the position loop. Determines responsiveness to step commands. Higher values stiffen tracking, while overly aggressive values can introduce high-frequency overshoot before velocity tracking engages. |
| Pr1.01 | Proportional gain of velocity loop | 0.1 Hz | Sets the rigidness of velocity tracking. Controls the promptness of response to dynamic force speed changes. High values cause a sharper, faster feedback response but risk motor oscillation if matching filters are unset. |
| Pr1.02 | Time constant of velocity loop integration | 0.1 ms | Integral time constant for velocity tracking. Eliminates steady-state tracking error across continuous motion phases. Lower values decrease integration time, tightening response but risking low-frequency hunt behaviors. |
| Pr1.03 | Velocity feedback filter | — | Low-pass filter for the velocity feedback loop designed to attenuate high-frequency encoder signal noise. Lower cut-off values block noise but restrict velocity loop bandwidth. Constraint: Must satisfy Pr1.03 >= Pr1.04 * 4 to maintain loop stability. |
| Pr1.04 | 1st Torque Filter Time Constant | 126 (0.01ms) | A crucial low-pass filter handling the raw torque/current commands to eliminate vibration and audible resonance during motor activation. • Range: 0 ~ 2500 (Units of 0.01 ms). Default 126 = 1.26 ms, providing a cut-off frequency of approx. 126 Hz. • Lower values enhance responsiveness and reduce mechanical lag but increase audible noise and structural ripple. If mechanical vibrations trigger due to high servo gains, raising this value dampens the noise. |
| Pr1.10 / Pr1.11 | Velocity feed forward gain & filter | 0.1% / 0.01ms | Feeds the derivative of the positional input command directly into the velocity loop, bypassing positional lag. Optimizes response delay during high-acceleration pedal inputs. |
| Pr1.12 / Pr1.13 | Torque feed forward gain & filter | 0.1% / 0.01ms | Feeds acceleration criteria directly into the current loop. Accelerates torque build-up when rapid counter-forces occur. |
| Pr1.35 | Positional command filter | — | Applies smoothing matrices to the incoming step-pulse generation commands arriving from the MCU, softening structural shock before it hits the loop. |
| Pr7.00 | Current loop gain | 200 | Proportional control component over the motor current loop. Higher values provide sharp, precise force updates, but excessive values introduce audible motor whine and structural ringing. Lowering values softens torque transitions for a quieter motor. |
| Pr7.01 | Current loop integral time | — | Integral execution window for current tracking stability. Works alongside Pr7.00 to ensure target phase current vectors map correctly onto physical stator windings. |
💡 Pro-Tip: When engineering the physical pedal feel, if you encounter high-frequency acoustic buzzing or oscillations when resting your foot on the pedal, do not immediately compromise on feedback crispness by slashing the velocity loop gain (Pr1.01).
Instead, perform the following troubleshooting steps:
- Increase the 1st Torque Filter Time Constant (Pr1.04) slightly to filter out high-frequency control loop ripple.
- If the motor continues to whine, decrease the Current Loop Gain (Pr7.00) in small increments to soften out the electrical commutation response.
- This approach effectively dampens structural resonance and high-frequency electrical harmonics without sacrificing the core agility and responsiveness of your primary position and velocity loops.
Please find the different entries on the right hand side.