modelSimpleControlledDrive_forCalibration

Base model for calibration

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

TypeNameDefaultDescription
PartialDatadata (from PartialDrive)Data of the drive train, including credibility information
Modelica.Units.SI.AngledriveAngle1.570796326794897Reference distance to move

Components

TypeNameDefaultDescription
Modelica.Mechanics.Rotational.Components.InertiainertiaMotor (from PartialDrive)J from datasheet; Init defined by system spec or scenario spec
Modelica.Mechanics.Rotational.Sources.TorquetorqueMotor (from PartialDrive)
Credibility.Examples.SimpleControlledDriveNonlinear.Utilities.SpringNonLinearspring (from PartialDrive)table from datasheet; Init defined by system spec or scenario spec
Modelica.Mechanics.Rotational.Components.Damperdamper (from PartialDrive)d to be calibrated; Init defined by system spec or scenario spec
Modelica.Mechanics.Rotational.Components.InertiainertiaLoad (from PartialDrive)Guess value, with defined uncertainty; Init defined by system spec or scenario spec
Modelica.Mechanics.Rotational.Sensors.SpeedSensorspeedSensor (from PartialDrive)
Modelica.Mechanics.Rotational.Components.IdealGearidealGear (from PartialDrive)
Modelica.Blocks.Continuous.LimPIDspeedControllerk, 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.ConstantTorquetorqueLoadtau: guess value with uncertainty, could be dynamic load (boundary condition)
Modelica.Blocks.Sources.SineVariableFrequencyAndAmplitudesine
Modelica.Blocks.Sources.Rampramp
Modelica.Mechanics.Rotational.Sensors.SpeedSensorspeedSensorLoad
Modelica.Blocks.Sources.CombiTimeTablemeasurementsTable
Modelica.Blocks.Math.FeedbackdiffSpeedMotorInput for criteria 1: Difference between simulated and measured angular velocities of motor
Modelica.Blocks.Math.FeedbackdiffSpeedLoadInput for criteria 2: Difference between simulated and measured angular velocities of load