Brake rotor simulation - Couldn't get results

1 view (last 30 days)
Hello Everyone, i'm Naveen from Texas. I have a code that simulates dynamic brake rotor temperature. I know the end result and graph. But code doesnt give me the same result. I hope its my mistake and someone can help me out.
Basically, the code simulates a car Accelerating to 60mph at 0.5G and decelerating to 30mph at 1.6G and accelerates to 60mph and repeats to 150 to 300 sec. The temperature curve has to saturate like in the picture.
I have attached the code file and the desired result file.
  6 Comments
darova
darova on 31 Oct 2019
Velocity curve is exactly in between [44 88]
img1.png
>> V_min = 30*(5280/3600); %minimum speed [ft/s]
>> V_max = 60*(5280/3600); %maximum speed [ft/s]
>> [V_min V_max]
ans =
44 88
The question: why it doesn't look like
1233.png
Naveen Devaraj
Naveen Devaraj on 31 Oct 2019
Yes, the values of Thub an d Tinfinite are equal. Thub is the initial temp of hub (75F) and Tinfinite is ambient or envirnoment temperature which is also 75F.
Oh ya 44 and 88 are ft/sec. The curve should be doing 88 to 44 to 88 to and so on for every step. it cant be between the range, it has to be excatly from 88 to 44 and 44 to 88.

Sign in to comment.

Accepted Answer

darova
darova on 31 Oct 2019
I set up maxstep
opt = odeset('MaxStep',0.1);
[t,x] = ode45(@DerFun,Tspan,x0,opt);
And now it looks like
img1.png
  1 Comment
Naveen Devaraj
Naveen Devaraj on 31 Oct 2019
Hey Darova, this helped me and the code is solved. It matches the curve in paper. :)
thanks for the time and patience.

Sign in to comment.

More Answers (2)

Naveen Devaraj
Naveen Devaraj on 6 Dec 2019
Hello guys, Naveen again. I need more help with same code. Now im trying to add actual sense to the code, i have changed some input values. Now, i wanted to change the period, in other words, i want to include coasting or dwell time when the car turns and accelerates.
Old Model- Car accelerates, brakes, accelerates and repeats for 120 seconds.
New model - Car accelerates, brakes, turn, accelerates, brakes, turn and repeat.
Average acceleration takes 6 seconds and Braking takes 1.36 seconds.
I appreciate help in advance
  7 Comments
darova
darova on 9 Dec 2019
Edited: darova on 9 Dec 2019
Something like that:
t0 = 0;
%% ...
function Dx = DerFun(t,x)
if gees < 0 && x(1) < V_min
gees = 0;
t0 = t;
elseif gees > 0 && x(1) > V_max
gees = G_dec;
end
if t-t0 > 4 && gees == 0
gees = G_acc;
end
% ...
end
Naveen Devaraj
Naveen Devaraj on 20 Dec 2019
Thanks for the answer. I dint use it yet. But i figured out a way to do it without the code above. I reduced g_acc value to increase the acceleration time. Let me try using it.
Thanks for the help once again.

Sign in to comment.


Naveen Devaraj
Naveen Devaraj on 20 Dec 2019
Edited: Naveen Devaraj on 20 Dec 2019
Question Number 3:
How do i link data from excel file into the code?
We have specified Vmin and Vmax as 30 and 60 respectively. Now that i have velocity data. Can we link that values to Vmin or Vmax and get the same graph? i know graph will look different but trend is going to be same.
So, trend is same but graph mismatches due to velocity difference. Matlab repeats 30-60-30.. but real time velocity varies.
MatLab.PNG

Categories

Find more on Statics and Dynamics 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!