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_limit laminar flow rate limit of 2 bar [N/m^2] Q nominal flow (full opening) [m^3/s] dp nominal 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