Pressure relief valve with proportional control

8 views (last 30 days)
Hello, I use Pressure relief valve from SimHydraulics library in my model of vehicle and I would need to set valve pressure during simulation. Pressure relief valve model in SimHydraulics library doesn't support it, it is possible to set it only in dialog as constant (I need Pressure relief valve with proportional control). So I realized that three ways are possible. The first is to made my own model with simscape language. So I did but with only partial success, there were some problems with convergence after I added it to my model of hydraulic system. The second way is to use former valve model from library and set its desired pressure via block parameters (function set_param). I added valve and matlab fcn block to my simulink model of vehicle and implemented this function as follows:
function SetBrakeValvePressure(u)
% Nastavuje regulacni tlak bloku Brzdny ventil
% dle hodnoty na vstupu u [bar].
%#codegen
coder.extrinsic('get_param');
coder.extrinsic('set_param');
coder.extrinsic('num2str');
subsystemFullPath = 'MUV74Chvalis_model/HS prevod Chvalis1';
blockName = [subsystemFullPath '/Brake valve'];
% temp = get_param(blockName,'pres_set'); % is OK (only for testing access to Brake valve)
set_param(blockName,'pres_set',u); % gives error !
end
But there is a problem with set_param function. Simulink gives an error: "Error calling MATLAB function set_param". Calling get_param function is without problems. It seems that parameter 'pres_set' can't be set this way......
Finally the third way I should probably use is to make my own model in Simscape language with usage of inharitance. I would inherite my model from Pressure relief valve model in SimHydraulics library and the only thing i would do is to add one input for setting desired valve pressure and set valve pressure in equation section of simscape code. But I don't know how to do it exactly. The first problem is what is the right name of component in SimHydraulics to inherite from it. What I mean (proposal of simscape model implementation):
component PressureReliefValveWithProportionalControl < simhydraulics.?
% Pressure relief valve with proportional control
inputs
p_set = { 0, 'Pa' }; % Ps:top
end
equations
pres_set = p_set;
end
end
Can anybody help me, please ? Thank you for any help. Zdenek

Answers (2)

Guy Rouleau
Guy Rouleau on 15 Apr 2013
I recommend using a Pressure Sensor and the Variable Area Orifice. then write a Simscape component (or use blocks from the Physical Signals section of the Library) to implement the relation you need between the measured pressure and the opening of the orifice.
  1 Comment
rafael Michel
rafael Michel on 2 Nov 2013
Do you have some example of this? I need to use a proportional control relief valve to do a system control in closed loop.
Thanks

Sign in to comment.


Mika Herranen
Mika Herranen on 1 Jul 2016
Hi,
any news on this problem, anyone? I would also need to control set value of the pressure reduction valve, during the simulation?
thnx

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!