chrono::ChHydraulicDirectionalValve4x3 Class Reference

Description

ChHydraulicDirectionalValve4x3 - a computational model of 4/3 directional valve Schematic:

                     p4   p3
               ________|_|__ ______
              | |  ^ | T T | ^  / |
           _ _| |  | |         X  |_ _
 <-U+>    |_/_|_v__|_|_T_T_|_v__\_|_/_|
                       | |
                     p1   p2
                 (tank)   (pump)

#include <ChHydraulicCircuit.h>

Public Member Functions

 ChHydraulicDirectionalValve4x3 ()
 Construct a directional valve with default parameters.
 
void SetCharacteristicParameters (double linear_limit, double Q, double dp)
 Set the parameters for the valve characteristic curve. More...
 
void SetTimeConstantFrequency (double fm45)
 Set the Bode diagram frequency at -45 degrees phase shift (default: 35 Hz). More...
 
void SetValveDeadZone (double dead_zone)
 Set the input threshold for shut valve (default: 1e-5). More...
 
void SetInitialSpoolPosition (double U)
 Set the normalized initial spool position, U0 = U(0) (default: 0).
 
double EvaluateSpoolPositionRate (double t, double U, double Uref)
 Evaluate righ-hand side of spool position ODE: Ud = Ud(t, U). More...
 
Vec2 ComputeVolumeFlows (double U, const Vec2 &p, double pP, double pT)
 Compute volume flows through the valve.
 

Friends

class ChHydraulicActuatorBase
 

Member Function Documentation

◆ EvaluateSpoolPositionRate()

double chrono::ChHydraulicDirectionalValve4x3::EvaluateSpoolPositionRate ( double  t,
double  U,
double  Uref 
)

Evaluate righ-hand side of spool position ODE: Ud = Ud(t, U).

The reference input is expected to be normalized in the [-1,+1] interval.

◆ SetCharacteristicParameters()

void chrono::ChHydraulicDirectionalValve4x3::SetCharacteristicParameters ( double  linear_limit,
double  Q,
double  dp 
)

Set the parameters for the valve characteristic curve.

The valve is modeled with a liniar characteristiv below the specified pressure difference threshold (corresponding to laminar flow) and a quadratic characteristic above that value.

   Q = Cv * U * sqrt(delta_p)

The valve spool position is usually controlled with a proportional magnet. Here, we consider a normalized input U (assumed to be in the interval [-1,+1]) with the extremes corresponding to the maximum input voltage (providing full opening of the valve). The semi-empirical flow rate constant is obtained from one operation point on the valve characteristic curve (e.g. knowing the nominal flow, with full opening, and the corresponding pressure difference). The default Cv value corresponds to a nominal flow (U = 1) of 24 l/min with a 35 bar pressure difference, the flow rate constant is (in SI units):

   Cv = (24e-3 / 60) / (1.0 * sqrt(35e5))
Parameters
linear_limitlaminar flow rate limit of 2 bar [N/m^2]
Qnominal flow (full opening) [m^3/s]
dpnominal presure difference [N/m^2]

◆ SetTimeConstantFrequency()

void chrono::ChHydraulicDirectionalValve4x3::SetTimeConstantFrequency ( double  fm45)

Set the Bode diagram frequency at -45 degrees phase shift (default: 35 Hz).

This value is used in calculating the valve time constant: tau = 1/2*pi*fm45.

◆ SetValveDeadZone()

void chrono::ChHydraulicDirectionalValve4x3::SetValveDeadZone ( double  dead_zone)

Set the input threshold for shut valve (default: 1e-5).

This is a non-dimensional quantity so that volume flows through the valve are set to 0 whenever the normalized input U is below this limit.


The documentation for this class was generated from the following files:
  • /builds/uwsbel/chrono/src/chrono/physics/ChHydraulicCircuit.h
  • /builds/uwsbel/chrono/src/chrono/physics/ChHydraulicCircuit.cpp