Optimising Throttle use for Generic Engine Block

10 views (last 30 days)
I have been working on modelling our Brunel Racing vehicle using simscape and the racing lounge tutorial videos. I had a few problems previously however I now have read through each tutorial as well as many other resources and although I have fixed most problems there are a few issues that I would like your help on.
Attached is the model I have created. The gears seem to work fine and multiply the engine torque correctly whilst also shifting at the correct vehicle speed. The only issue I am having now is using the throttle to get the most out of the engine in the simulation.
In the model I am not running at full throttle, I am using a signal builder to input throttle values at given times. I am doing this as when I was using full throttle (T=1), which would be ideal, the simulation would not compute as there was an error in that the max speed of the engine would be exceeded. This I believe is due to the initial slip of the vehicle when under too high torque, therefore I cannot use T=1 to run my simulation.
My question was related to this, as in is there an ideal method in which I could input a throttle value such that this error would not occur but I would still get accurate results. At the moment from my model I am using this signal builder:
This is not an accurate method as I cannot use the full amount of torque available from the engine, yet I cant seem to use full throttle due to this error:
This error is as explained previously. Therefore this is my problem, as if I run with how the model is currently, it produces inaccurate results. For example, when studying an acceleration test the vehicle has already traveled 75m before it shifts gear as it hasnt reached a high enough speed due to the optimum torque not being available. Therefore the vehicle takes 9 seconds to accellerate over 75m which should be nearer to 4-5 seconds.

Accepted Answer

Suhan
Suhan on 5 Apr 2017
Edited: Suhan on 5 Apr 2017
Hello Ryan,
The assertion error saying:"Engine Speed has exceeded the last value of the Speed vector parameter * " occurs when the engine (crankshaft) has exceeded the maximum tabulated speed input. I made the following observations while simulating your model:
  • The external resistance to the system is very low. In your model, I do not see any external disturbances such as drag or path gradients being modeled.
  • The initial velocity of the engine is set very high; it is currently 5000rpm. If the engine starts at this speed and you give high throttle (say, T=1), the crankshaft is supposed to accelerate and its speed will increase with no limit (since there is not enough external disturbance).This will eventually result in the crossing of the maximum speed specified (i.e 13700rpm) for crankshaft eventually. So you might want to consider reducing the initial speed of the crankshaft.
  • The issue can be avoided by decreasing the initial speed of the engine to a lower value, say 1000rpm. By doing this you are giving enough scope for acceleration into higher speeds. Also, I think, in your model one of the three gears will always be active and no neutral gear is modeled. So any initial speed of the engine will mean an initial velocity of the car itself.
  • The issue can also be avoided by adding the RPM-Torque data corresponding to higher RPMs (say, tabulate RPM-Torque up to 50000RPM). Just for the verification purpose, you can add some dummy RPM-Torque at the end of the table (I know this is a ridiculous workaround).
I highly recommend you to go through the following example which captures a lot of key vehicle modeling techniques (please give special attention to the transmission system modeling): http://in.mathworks.com/help/physmod/sdl/examples/vehicle-with-four-speed-transmission.html
I hope you will find this answer helpful.
Regards,
Suhan

More Answers (0)

Categories

Find more on Engines & Motors in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!