Simulink vehicle model with stateflow control for an automatic transmission

6 views (last 30 days)
Hello,
I've been trying to create a controller for a vehicle transmission but have come across a few issues.
Initially I've created a simple model which would go from previous to next state, however that soon proved to be incorrect as it would instantly switch from 1st gear to 6th gear and cause the vehicle to stall. The stateflow model can be seen here and as seen in the image it is mostly dependent on engine speed:
So I figured I needed to add a time delay, however I just can't seem to grasp how to do that. So that's what I'm hoping to get some advice on here.
I have also tried using the controller model from sldemo_autotrans, the modified version of which can be seen below (modified from 4 gears to 6 gears):
Unlike the first one, this is dependent on current vehicle velocity and throttle input, which is not an issue, however, with this one I keep receiving data out of range error, which can be ignored for a while, but eventually leads to this error (which I am aware may be caused by a completely different issue, I am still in a very long (for me) debugging process).
So to make a summary:
1) How could a delay easily be applied for the first stateflow model to prevent a jump from first gear to anything over 2nd gear? (In my case as it is now, goes from 1 to 6, 6 being the maximum).
2) What are the possible reasons for data out of range error? I've been trying to look into the ComputeThreshold function present, but the matrices seem to make sense, I did modify them for 6 gears compared to previous 4 gears as well, so not sure what else can it be.
3) And obviously I think it might be a chance that other parts of my model are causing this issue (engine acting particularly suspiciously, but is also directly related with the transmission control as some issues got fixed by that, still acting incorrectly though), so if there would be anyone who could be bothered to look into the full simulation, I would be happy to send it privately (don't want to make it public as it is for a university assignment, even though it doesn't work at this stage haha).
Hope to hear from someone soon
Kind regards,
Edvardas

Answers (1)

CHAO LI
CHAO LI on 16 Dec 2017
I am not sure if you watched MATLAB video talking about delay a state change, it is fairly easy to do by typing "after xxx seconds"

Categories

Find more on Automotive Applications in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!