modelSlewRateLimiter
Demonstrate usage of Nonlinear.SlewRateLimiter
Extends from Modelica.Icons.Example (Icon for runnable examples).
Information
This example demonstrates how to use the Nonlinear.SlewRateLimiter block to limit a position step with regards to velocity and acceleration:
- The Sources.Step block
positionStepdemands an unphysical position step. - The first SlewRateLimiter block
limit_vlimits velocity. - The first Der block
vcalculates velocity from the smoothed position signal. - The second SlewRateLimiter block
limit_alimits acceleration of the smoothed velocity signal. - The second Der block
acalculates acceleration from the smoothed velocity signal. - The Integrator block
positionSmoothedcalculates smoothed position from the smoothed velocity signal.
A position controlled drive with limited velocity and limited acceleration (i.e. torque) is able to follow the smoothed reference position.
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| SI.Velocity | vMax | 2 | Max. velocity |
| SI.Acceleration | aMax | 20 | Max. acceleration |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| SI.Position | s | positionStep.y | Reference position |
| SI.Position | sSmoothed | positionSmoothed.y | Smoothed position |
| SI.Velocity | vLimited | limit_a.y | Limited velocity |
| SI.Acceleration | aLimited | a.y | Limited acceleration |
| Modelica.Blocks.Sources.Step | positionStep | ||
| Modelica.Blocks.Nonlinear.SlewRateLimiter | limit_v | ||
| Modelica.Blocks.Continuous.Der | v | ||
| Modelica.Blocks.Nonlinear.SlewRateLimiter | limit_a | ||
| Modelica.Blocks.Continuous.Integrator | positionSmoothed | ||
| Modelica.Blocks.Continuous.Der | a |