MATLAB Answers

simple liquid spraying circuit

6 views (last 30 days)
Ilyass Boukhari
Ilyass Boukhari on 28 Aug 2020
Commented: Jon on 1 Sep 2020
I'm an engineering student seeking help for a project (I have very limited experience with Matlab/Simulink)
I am trying to replicate through Simulink a simple spraying system consisting of:
  • A tank where a liquid is initially stored
  • 2 outlets coming out of the tank where tubes,valves,etc are allocated in order for the liquid to flow
  • a spraying outlet per each path
I would need to monitor
  • pressure of the liquid flowing from the tank
  • flow rate
  • How long would it take for the tank to be empty
I identified some of the blocks that I could use for this circuit but when they're connected and simulated, it just won't work (potentially because of lack of experience on Simulink).
Please help if you can! Thank you in advance


Sign in to comment.

Answers (1)

Jon on 28 Aug 2020
Edited: Jon on 28 Aug 2020
I would suggest thinking about it like this.
Start with an integrator to represent the tank. The tank level is the integral of the in flow minus the out flow. So make an integrator that integrates the difference between those two signal. The inflow (if any) is probably an independent input and could come from some kind of source block. Then work backward to get the out flow. The out flow is the sum of the flows through each spray nozzle, so you need a summer to sum up the individual flows. Each flow can be found knowing the pressure differential across the nozzle. So for each nozzle make a block (subsystem) that can convert an input pressure differential to a flow (you'll need to figure out the details of what's in there but it's just an algebraic relationship, no integrators). Now you have to keep working backward to figure out the upstream pressure. This is probably the tank pressure minus any piping losses. These losses are a function of the spray flow rate. So make a block (subsystem) that captures this relationship. The input to this block is the flow rate. You have the flow rate as the output to one of your previous blocks so you can wire that back. Then use a summer with a plus and minus to subtract the pressure loss from the tank pressure. It will have as inputs the tank pressure, and the pressure drop you calculated in your previous block. Finally you need the tank pressure. This is just a function of the tank level. So make a little subsystem to compute tank pressure as a function of tank level (again a relatively simple algebraic function, e.g. p = rho*g*h), The output of this block gets wired to your piping loss block and you are done.
So the idea is you start somewhere in your system and just make a block that computes some output that you will need in terms of some inputs. If you don't have all of the inputs yet don't worry, just leave it disconnected. Continue to work your way backwards to calcuate the unknow signals ,until you have values for all of the signals you need and they are all connected up. I like to start with integrators as the outputs of these are the system states, In this case there was just the tank level, so I started there.


Ilyass Boukhari
Ilyass Boukhari on 29 Aug 2020
Jon, thank you for the very detailed and quick answer. Everything you said makes pretty much sense, however due an extremely basic knowledge with Simulink I find hard to apply it.
What I initially did was exploring in the LibraryBrowser and drag any block which could have been used (not the best approach, I know). I am attaching here a screenshot.
It would be great if you could put a rough circuit/drawing of how to actually do it and it let me know if any of the blocks I found could be used for this (REALLY NEED HELP HERE)
Very much appreciated and again, Many thanks in advance
Jon on 1 Sep 2020
Hi Ilyass,
It looks like you are using Simscape Fluids. This is a higher level modeling tool which provides a lot of functionality for modeling fluid circuits. Unfortunately I don't have this product on my license, and have had no experience using it.
The approach I outlined would allow you to model a spray system with a simple "first principles" modeling approach, using only standard Simulink blocks.
I assume that since you have Simscape Fluids you want to continue with that approach. You can google for tutorials on that which would probably give you a good place to get started for example
If as you seem to indicate, you know nothing about Simulink I would actually suggest you start with the Simulink On Ramp

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!