modelSimpleControlledDrive_forCalibration
Extends from Modelica.Icons.Example (Icon for runnable examples), Credibility.Examples.SimpleControlledDriveNonlinear.PartialDrive (Not calibrated drive model with nonlinear compliance).
Information
A controlled simple drive train to be used for calibration, see also
User's Guide.
It consists of an excitation block sine that generates a sine
sweep signal with constant amplitude and increasing frequency as reference
value for the feedback controller speedController. The controller
commands a motor torque for the drive train. Two sensors measure the
angular velocities of the motor and load inertias.
Measurement data, generated in a preprocessing step by means of
a virtual test rig,
is provided as table measurementsTable.
Calibration setup
The calibration criteria itself are not defined here and shall be composed by the
user for the optimization-based calibration. As criteria input, the differences
between simulated and measured data of motor and load angular velocities can be
utilized, calculated in diffSpeedMotor and diffSpeedLoad,
respectively.
To further configure the calibration optimization setup, the predefined calibration
data of the drive train parameters, stored directly in the record data,
shall be widely used. Let us demonstrate this on the calibration of the damping
parameter damper.d as follows.
The calibration optimization setup consists of the nominal model with a starting value for the damping parameter of 300 N·m·s/rad and an assumed possible range for the parameter of [1, 1000] N·m·s/rad. Then, the optimization tuner setting shall be
-
tuner1.value =
data.damping.calibration.start(= 300), -
tuner1.min =
data.damping.calibration.lower(= 1), -
tuner1.max =
data.damping.calibration.upper(= 1000).
After a successful optimization run, the resulting optimal parameter value shall
be stored (manually) in data.damping.value, together with its assumed
uncertainty.
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| PartialData | data (from PartialDrive) | Data of the drive train, including credibility information | |
| Modelica.Units.SI.Angle | driveAngle | 1.570796326794897 | Reference distance to move |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.Mechanics.Rotational.Components.Inertia | inertiaMotor (from PartialDrive) | J from datasheet; Init defined by system spec or scenario spec | |
| Modelica.Mechanics.Rotational.Sources.Torque | torqueMotor (from PartialDrive) | ||
| Credibility.Examples.SimpleControlledDriveNonlinear.Utilities.SpringNonLinear | spring (from PartialDrive) | table from datasheet; Init defined by system spec or scenario spec | |
| Modelica.Mechanics.Rotational.Components.Damper | damper (from PartialDrive) | d to be calibrated; Init defined by system spec or scenario spec | |
| Modelica.Mechanics.Rotational.Components.Inertia | inertiaLoad (from PartialDrive) | Guess value, with defined uncertainty; Init defined by system spec or scenario spec | |
| Modelica.Mechanics.Rotational.Sensors.SpeedSensor | speedSensor (from PartialDrive) | ||
| Modelica.Mechanics.Rotational.Components.IdealGear | idealGear (from PartialDrive) | ||
| Modelica.Blocks.Continuous.LimPID | speedController | k, Ti, Ni: defined from control development, to be tested on control robustness ; yMax, yMin: from system spec; Init defined by optimization scenario spec | |
| Modelica.Mechanics.Rotational.Sources.ConstantTorque | torqueLoad | tau: guess value with uncertainty, could be dynamic load (boundary condition) | |
| Modelica.Blocks.Sources.SineVariableFrequencyAndAmplitude | sine | ||
| Modelica.Blocks.Sources.Ramp | ramp | ||
| Modelica.Mechanics.Rotational.Sensors.SpeedSensor | speedSensorLoad | ||
| Modelica.Blocks.Sources.CombiTimeTable | measurementsTable | ||
| Modelica.Blocks.Math.Feedback | diffSpeedMotor | Input for criteria 1: Difference between simulated and measured angular velocities of motor | |
| Modelica.Blocks.Math.Feedback | diffSpeedLoad | Input for criteria 2: Difference between simulated and measured angular velocities of load |