Name | Description |
---|---|
RotationalSum | Ideal planetary gear box |
Shape | Different visual shapes (box, cylinder, sphere, ...) |
Joints | Special joints used in the chassis modelling. |
Forces | Modelica library to model forces and torques between interacting bodies, such as e.g. springs and dampers |
Functions | |
Parts | |
Filter_CritDamping | Output the input signal filtered with an n-th order filter with critical damping |
FilteredPosition | Forced movement of a flange according to a reference angle signal |
Polynomial | Components to work with polynomials |
Sensors |
The IdealPlanetary gear box is an ideal gear without inertia, elasticity, damping or backlash consisting of an inner sun wheel, an outer ring wheel and a planet wheel located between sun and ring wheel. The bearing of the planet wheel shaft is fixed in the planet carrier. The component can be connected to other elements at the sun, ring and/or carrier flanges. It is not possible to connect to the planet wheel. If inertia shall not be neglected, the sun, ring and carrier inertias can be easily added by attaching inertias (= model Inertia) to the corresponding connectors. The inertias of the planet wheels are always neglected.
The icon of the planetary gear signals that the sun and carrier flanges are on the left side and the ring flange is on the right side of the gear box. However, this component is generic and is valid independantly how the flanges are actually placed (e.g. sun wheel may be placed on the right side instead on the left side in reality).
The ideal planetary gearbox is uniquely defined by the ratio of the number of ring teeth zr with respect to the number of sun teeth zs. For example, if there are 100 ring teeth and 50 sun teeth then ratio = zr/zs = 2. The number of planet teeth zp has to fulfill the following relationship:
zp := (zr - zs) / 2
Therefore, in the above example zp = 25 is required.
According to the overall convention, the positive direction of all vectors, especially the absolute angular velocities and cut-torques in the flanges, are along the axis vector displayed in the icon.
Release Notes:
Name | Default | Description |
---|---|---|
ratio_a1 | 1 | gear ratio a1 to b |
ratio_a2 | 1 | gear ratio a2 to b |
model RotationalSum "Ideal planetary gear box" parameter Real ratio_a1=1 "gear ratio a1 to b"; parameter Real ratio_a2=1 "gear ratio a2 to b"; Modelica.Mechanics.Rotational.Interfaces.Flange_a flange_a2 "sun flange (flange axis directed INTO cut plane)"; Modelica.Mechanics.Rotational.Interfaces.Flange_a flange_a1 "carrier flange (flange axis directed INTO cut plane)"; Modelica.Mechanics.Rotational.Interfaces.Flange_b flange_b "ring flange (flange axis directed OUT OF cut plane)"; equation flange_b.phi = ratio_a1*flange_a1.phi + ratio_a2*flange_a2.phi; flange_b.tau = 1/ratio_a1*flange_a1.tau; flange_b.tau = 1/ratio_a2*flange_a2.tau; end RotationalSum;
Name | Default | Description |
---|---|---|
shapeType | "box" | Type of shape (box, sphere, cylinder, pipecylinder, cone, pipe, beam, gearwheel, wirebox, spring) |
model Shape "Different visual shapes (box, cylinder, sphere, ...)" parameter String shapeType="box" "Type of shape (box, sphere, cylinder, pipecylinder, cone, pipe, beam, gearwheel, wirebox, spring)"; input SI.Position r0[3]={0,0,0} "Position vector from object frame origin to shape origin"; input SI.Position lengthDirection[3]={1,0,0} "Vector in length direction, resolved in object frame."; input SI.Position widthDirection[3]={0,1,0} "Vector in width direction, resolved in object frame."; input SI.Position length=0 "length of visual object."; input SI.Position width=0 "Width of visual object."; input SI.Position height=0 "Height of visual object."; input Real Material[4]={1,0,0,0.5} "Color and specular coefficient."; input Real Extra=0.0 "Additional parameter for cone and pipe."; input Real S[3, 3] "Transformation matrix to inertial frame."; input SI.Position r[3] "Position vector from origin of world frame to origin of object frame, resolved in world frame"; protected output Real Form; output Real rxvisobj[3]; output Real ryvisobj[3]; output Real rvisobj[3]; output Real size[3]; output Real material; output Real extra; equation /* Outputs to file. */ Form = (987000 + PackShape(shapeType))*1E20; rxvisobj = S[:, 1]; ryvisobj = S[:, 2]; rvisobj = r + S*r0; size = {length,width,height}; material = PackMaterial(Material[1], Material[2], Material[3], Material[4]); extra = Extra; end Shape;
This block defines the transfer function between the input u=inPort.signal[1] and the output y=outPort.signal[1] as an n-th order filter with critical damping characteristics and cut-off frequency f=1/T. It is implemented as a series of first order filters.
If transients at the simulation start shall be avoided the states x need to be initialized with the start value of the input.
k y = ------------- * u (T * s + 1)^n
Release Notes:
Name | Default | Description |
---|---|---|
n | 2 | Order of filter |
f | 1 | Cut-off frequency [Hz] |
block Filter_CritDamping "Output the input signal filtered with an n-th order filter with critical damping" extends Modelica.Blocks.Interfaces.SISO; parameter Integer n=2 "Order of filter"; parameter SI.Frequency f=1 "Cut-off frequency"; final parameter SI.AngularVelocity w=2*f*Modelica.Constants.pi "Angular frequency"; output Real x[n] "Filter states"; equation for i in 1:n loop der(x[i]) = ((if i == 1 then u else x[i - 1]) - x[i])*w; end for; y = x[n]; initial equation y = u; for i in 1:n - 1 loop der(x[i]) = 0; end for; end Filter_CritDamping;
The input signal angle.signal[1] defines the reference angle phi_ref(t) in [rad]. Flange flange_b is forced to move according to this reference motion. The reference angle is filtered and the second derivative of the filtered curve is used to compute the reference acceleration of the flange. This second derivative is not computed by numerical differentiation but by an appropriate realization of the filter. For filtering, an n-th order filter with critical damping characteristic is used. The critical frequency (also called cut-off frequency) of the filter is defined via parameter f_crit in [Hz]. This value should be selected in such a way that it is higher as the essential low frequencies in the signal. The filter is initialized in steady state.
Name | Default | Description |
---|---|---|
f_crit | 50 | Critical (cut-off) frequency of filter to filter input signal [Hz] |
order | 2 | Order of filter |
model FilteredPosition "Forced movement of a flange according to a reference angle signal" import SI = Modelica.SIunits; parameter SI.Frequency f_crit=50 "Critical (cut-off) frequency of filter to filter input signal"; parameter Integer order(min=2) = 2 "Order of filter"; public Modelica.Mechanics.Rotational.Interfaces.Flange_b flange_b; Modelica.Blocks.Interfaces.InPort angle(final n=1, redeclare type SignalType = SI.Angle) "Flange angle as input signal"; Modelica.Mechanics.Rotational.Position position(exact=true); Filter_CritDamping filter(n=order, f=f_crit); equation connect(position.flange_b, flange_b); connect(filter.inPort, angle); connect(filter.outPort, position.inPort); end FilteredPosition;