ROOT0X57B
- 83
- 7
jbriggs444 said:I see you computing the the torque on the tire as:
"couple_freins = -2 * (pression_freins * surface_plaquette) * (rayon_frein / rayon_pneu)"
That appears to be mis-named. It is not a torque. It is a force. Worse, it is not the relevant force.
You both said the same thing, and yes, my bad, that's a misspelled variablejack action said:If you consider the traction limit, the acceleration will always be ##\mu g\frac{M}{M_{eq}}##. Even if you apply a braking torque that doesn't reach that limit, you could simply say you apply, for example, an 80% braking of the maximum value and you would get a deceleration of ##0.8\mu g\frac{M}{M_{eq}}##.
That being said, you have mistakes in your equations.
First - not a mistake per se, but confusing - the equation forcouple_freinsis not a torque, it's a force. So the unit is N, not N.m.
Yes, I know, but because I will add other forces later, I keep it here for consistencyjack action said:The acceleration in your program is a constant.a = F_eq / M_eqwill always be the same, so no need to include it in a loop.
jbriggs444 said:You multiply the brake pressure (pressure of brake pads on brake disc) by the pad surface area. That part is fine as far as it goes. But it is a calculation of the normal force between pads and disk. You need to multiply this by the coefficient of friction of pad on disc to get a figure for the frictional force between pads and disk. That is an error by a factor of 2.5 to 3.
I will admit front and rear brakes are the same, I don't want to bother myself with drum brakesjack action said:Second, as I said in an earlier post, the equation for the brake torque is wrong. I still don't know where you got your brake pressure, but I still suspect you are referring to a brake line pressure. This must be multiplied by the total piston area on one side of the brake caliper. For your car, it has a single 48mm diameter piston for the front wheels. For the rear wheels, you have drum brakes with wheel cylinders. The equation I'm presenting to you right now doesn't apply to drum brakes, the actual one is more complicated. Let's assume the rear brakes have comparable disc brakes for now.
That being said, multiplying the brake line pressure by the piston area gives the normal force acting on your brake pads. You still have to multiply it by the friction coefficient of the brake pad (which is usually around 0.38). Then, you multiply by 2 because you have two friction forces acting on your disc: one on each side.
But you also have 4 wheels, so you have to multiply that force by 4 to get the total braking force on your car. (That is really simplified, more on that below.)
I will multiply the pressure by the total piston area
I should be ##4 * 2 * \pi * 48^2##mm^2 right ? (4 because 4 wheels, 2 because 2 sides)
I forgot the friction coefficient of the brake pad, okay
Hum, I think considering weight transfer effects will complicate my equations so much that it will be very inconvenient...jack action said:Weight Transfer
When you are braking, there is a weight transfer from the rear axle to the front axle. This weight transfer depends on the deceleration value. This means that there is a greater normal force on the front wheels compared to the rear wheels. This in turn means that there is a greater friction force available at the front axle than at the rear axle. This means that the rear brakes must provide less braking torque than the front ones. Since the sum of the normal forces acting on each wheel will always be equal to ##Mg##, it is possible to model it as a single big brake that stops the entire car instead (like we did here). But it is worth noting that the friction coefficient of a tire decreases as the normal force increases, so the average friction coefficient of all four tires - with different normal forces - will most likely be smaller than one single tire with the average normal force acting on it.
For this, I took the dimension of the brake pads corresponding to the tire (found https://www.mister-auto.com/plaquette-de-frein/bproauto/pro-0817070/), multiplied length by width, and multiplied by a rough 0.8 because it's smaller than the bounding rectanglejbriggs444 said:What is your estimate for ##A_B## ("surface_plaquette")?
So that is 0.0058 square meters. 58 square centimeters or about 9 square inches. I have no good way of checking this figure for accuracy. How did you arrive at it?Code:surface_plaquette = 0.0057390
Yess, I did not see that coming, I will then change ##M_{eq}## whether the car is sliding or notjbriggs444 said:Note that I disagree with the code in the remainder of the loop. If one is sliding then the moments of inertia of the tires cease to be relevant and the M_eq variable needs to reflect the total mass of the vehicle plus wheels unmodified by their moments of inertia.
According to what I have,
##M## = 830 kg
##M + 4I/{R_\text{ext}}^2 \approx## 830.0.9 kg
Code:
moment_inertie_roue = (masse_roue * (rayon_pneu**2 - rayon_interieur**2)) / 2
I think this has more to do with what we said in posts 178 and earlier: I took ##R_B = 0.8R_\text{ext}## but @jbriggs444 told me it should be something like ##0.45R_\text{ext}##jack action said:Finally, another big error is in yourref_roue_vers_dimensionsfunction. The width of the tire is defined in millimeters, not in centimeters. This gives you an irrealistic value of 0.8 forrayon_frein / rayon_pneuand it should be closer to 0.5.
Okay, so I will first make all the changes, and then, what can I do with those brakes? It's not like they do not affect the braking distance right?jack action said:That being said, can you see that the calculations including a single brake pressure, piston area, and disc radius are all rather useless?
EDIT: Once I've made all the changing in my code :
[CODE lang="python" title="After modifications" highlight="3, 9,12"]while v > limite_zero:
t = t + dt
force_freins = -2 * 4 * mu_plaquettes * (pression_freins * surface_piston) * (rayon_frein / rayon_pneu)
limite_glissement = -mu_sol * masse * g
if abs(force_freins) > abs(limite_glissement):
F_eq = limite_glissement
M_eq = masse
else:
F_eq = force_freins
M_eq = masse + 4 * moment_inertie_roue / rayon_pneu**2
a = F_eq / M_eq
v = v + a * dt
x = x + v * dt
...[/CODE]
With the same technique as before (changing the pressure and running the script again), I find a limit of 5 bar before sliding
I think I still have to modify something
Last edited: