Modelica.Mechanics.Rotational.Examples

Demonstration examples of the components of this package

Modelica.Mechanics.Rotational.Examples.First Modelica.Mechanics.Rotational.Examples.Friction Modelica.Mechanics.Rotational.Examples.CoupledClutches

Information


This package contains example models to demonstrate the usage of the Modelica.Mechanics.Rotational package. Open the models and simulate them according to the provided description in the models. The following demo models are present:

   First            First example using simple, basic elements
   Friction         Example to demonstrate usage of a clutch and a brake
   CoupledClutches  Example to demonstrate usage of 3 dynamically
                    coupled clutches.
Main Author:
Martin Otter
Deutsches Zentrum für Luft und Raumfahrt e.V. (DLR)
Institut für Robotik und Mechatronik
Postfach 1116
D-82230 Wessling
Germany
email: Martin.Otter@dlr.de

Release Notes:


Copyright (C) 1999-2000, Modelica Association and DLR.

The Modelica package is free software; it can be redistributed and/or modified under the terms of the Modelica license, see the license conditions and the accompanying disclaimer in the documentation of package Modelica in file "Modelica/package.mo".


Modelica.Mechanics.Rotational.Examples.First Modelica.Mechanics.Rotational.Examples.First

First example: simple drive train

Modelica.Mechanics.Rotational.Examples.First

Information


The drive train consists of a motor inertia which is driven by a sine-wave motor torque. Via a gearbox the rotational energy is transmitted to a load inertia. Elasticity in the gearbox is modelled by a spring element. A linear damper is used to model the damping in the gearbox bearing.

Note, that a force component (like the damper of this example) which is acting between a shaft and the housing has to be fixed in the housing on one side via component Fixed.

Simulate for 1 second and plot the following variables:
angular velocities of inertias inertia2 and 3: inertia2.w, inertia3.w

Release Notes:


Parameters

NameDefaultDescription
amplitude10
freqHz5 [Hz]
Jmotor0.1 [kg.m2]
Jload2 [kg.m2]
ratio10
damping10

Modelica definition

model First "First example: simple drive train" 
  extends Modelica.Icons.Example;
  
  parameter Real amplitude=10;
  parameter SIunits.Frequency freqHz=5;
  parameter SIunits.Inertia Jmotor=0.1;
  parameter SIunits.Inertia Jload=2;
  parameter Real ratio=10;
  parameter Real damping=10;
  Modelica.Mechanics.Rotational.Fixed fixed;
  Modelica.Mechanics.Rotational.Torque torque;
  Modelica.Mechanics.Rotational.Inertia inertia1(J=Jmotor);
  Modelica.Mechanics.Rotational.IdealGear idealGear(ratio=ratio);
  Modelica.Mechanics.Rotational.Inertia inertia2(
    J=2, 
    phi(start=0), 
    w(start=0));
  Modelica.Mechanics.Rotational.Spring spring(c=1.e4);
  Modelica.Mechanics.Rotational.Inertia inertia3(
    J=Jload, 
    phi(start=0), 
    w(start=0));
  Modelica.Mechanics.Rotational.Damper damper(d=damping);
  Modelica.Blocks.Sources.Sine sine(amplitude={amplitude}, freqHz={freqHz})
    ;
equation 
  connect(torque.flange_b, inertia1.flange_a);
  connect(inertia1.flange_b, idealGear.flange_a);
  connect(idealGear.flange_b, inertia2.flange_a);
  connect(inertia2.flange_b, spring.flange_a);
  connect(spring.flange_b, inertia3.flange_a);
  connect(inertia2.flange_b, damper.flange_a);
  connect(sine.outPort, torque.inPort);
  connect(damper.flange_b, fixed.flange_b);
end First;

Modelica.Mechanics.Rotational.Examples.Friction Modelica.Mechanics.Rotational.Examples.Friction

Drive train with clutch and brake

Modelica.Mechanics.Rotational.Examples.Friction

Information


This drive train contains a frictional clutch and a brake. Simulate the system for 1 second using the following initial values (defined already in the model):

   inertia1.w =  90 (or brake.w)
   inertia2.w =  90
   inertia3.w = 100

Plot the output signals

    tMotor    Torque of motor
    tClutch   Torque in clutch
    tBrake    Torque in brake
    tSpring   Torque in spring

as well as the absolute angular velocities of the three inertia components (inertia1.w, inertia2.w, inertia3.w).

Release Notes:


Modelica definition

model Friction "Drive train with clutch and brake" 
  extends Modelica.Icons.Example;
  
  output SIunits.Torque tMotor "driving torque of inertia3";
  output SIunits.Torque tClutch "friction torque of clutch";
  output SIunits.Torque tBrake "friction torque of brake";
  output SIunits.Torque tSpring "spring torque";
  Modelica.Mechanics.Rotational.Torque torque;
  Modelica.Mechanics.Rotational.Inertia inertia3(
    J=1, 
    phi(start=0), 
    w(start=100));
  Modelica.Mechanics.Rotational.Clutch clutch(fn_max=160);
  Modelica.Mechanics.Rotational.Inertia inertia2(
    J=0.05, 
    phi(start=0), 
    w(start=90));
  Modelica.Mechanics.Rotational.SpringDamper spring(c=160, d=1);
  Modelica.Mechanics.Rotational.Inertia inertia1(
    J=1, 
    phi(start=0), 
    w(start=90));
  Modelica.Mechanics.Rotational.Brake brake(fn_max=1600);
  Modelica.Blocks.Sources.Constant const(k={1});
  Modelica.Blocks.Sources.Step step(startTime={0.5});
equation 
  connect(torque.flange_b, inertia3.flange_a);
  connect(inertia3.flange_b, clutch.flange_a);
  connect(clutch.flange_b, inertia2.flange_a);
  connect(inertia2.flange_b, spring.flange_a);
  connect(spring.flange_b, brake.flange_a);
  connect(brake.flange_b, inertia1.flange_a);
  connect(const.outPort, clutch.inPort);
  connect(step.outPort, brake.inPort);
  torque.tau = if time < step.startTime[1] then 200*sin(100*time) else 0;
  tMotor = torque.tau;
  tClutch = clutch.tau;
  tBrake = brake.tau;
  tSpring = spring.tau;
end Friction;

Modelica.Mechanics.Rotational.Examples.CoupledClutches Modelica.Mechanics.Rotational.Examples.CoupledClutches

Drive train with 3 dynamically coupled clutches

Modelica.Mechanics.Rotational.Examples.CoupledClutches

Information


This example demonstrates how variable structure drive trains are handeled. The drive train consists of 4 inertias and 3 clutches, where the clutches are controlled by input signals. The system has 2^3=8 different configurations and 3^3 = 27 different states (every clutch may be in forward sliding, backward sliding or locked mode when the relative angular velocity is zero). By invoking the clutches at different time instances, the switching of the configurations can be studied.

Simulate the system for 1.2 seconds with the following initial values:
J1.w = 10.

Plot the following variables:
angular velocities of inertias (J1.w, J2.w, J3.w, J4.w), frictional torques of clutches (clutchX.tau), frictional mode of clutches (clutchX.mode) where mode = -1/0/+1 means backward sliding, locked, forward sliding.

Release Notes:


Parameters

NameDefaultDescription
freqHz0.2frequency of sine function to invoke clutch1 [Hz]
T20.4time when clutch2 is invoked [s]
T30.9time when clutch3 is invoked [s]

Modelica definition

model CoupledClutches 
  "Drive train with 3 dynamically coupled clutches" 
  extends Modelica.Icons.Example;
  
  parameter SIunits.Frequency freqHz=0.2 
    "frequency of sine function to invoke clutch1";
  parameter SIunits.Time T2=0.4 "time when clutch2 is invoked";
  parameter SIunits.Time T3=0.9 "time when clutch3 is invoked";
  Modelica.Mechanics.Rotational.Inertia J1(
    J=1, 
    phi(start=0), 
    w(start=10));
  Modelica.Mechanics.Rotational.Torque torque;
  Modelica.Mechanics.Rotational.Clutch clutch1(peak=1.1, fn_max=20);
  Modelica.Blocks.Sources.Sine sin1(amplitude={10}, freqHz={5});
  Modelica.Blocks.Sources.Step step1(startTime={T2});
  Modelica.Mechanics.Rotational.Inertia J2(J=1);
  Modelica.Mechanics.Rotational.Clutch clutch2(peak=1.1, fn_max=20);
  Modelica.Mechanics.Rotational.Inertia J3(J=1);
  Modelica.Mechanics.Rotational.Clutch clutch3(peak=1.1, fn_max=20);
  Modelica.Mechanics.Rotational.Inertia J4(J=1);
  Modelica.Blocks.Sources.Sine sin2(
    amplitude={1}, 
    freqHz={freqHz}, 
    phase={1.57});
  Modelica.Blocks.Sources.Step step2(startTime={T3});
equation 
  connect(clutch1.flange_b, J2.flange_a);
  connect(J1.flange_b, clutch1.flange_a);
  connect(clutch2.flange_b, J3.flange_a);
  connect(J2.flange_b, clutch2.flange_a);
  connect(clutch3.flange_b, J4.flange_a);
  connect(J3.flange_b, clutch3.flange_a);
  connect(sin1.outPort, torque.inPort);
  connect(torque.flange_b, J1.flange_a);
  connect(sin2.outPort, clutch1.inPort);
  connect(step1.outPort, clutch2.inPort);
  connect(step2.outPort, clutch3.inPort);
end CoupledClutches;

HTML-documentation generated by Dymola Tue Jun 20 21:54:41 2000 .