Advertisement

Engine RPM and wheel angular velocity

Started by March 24, 2016 05:16 PM
80 comments, last by adriansnetlis 8 years, 9 months ago

OK! Well, I do it as you said. Exept for the gearbox angular velocity. For me it was:

gearbox_av = drive_wheel_av_sum / drive_wheel_count

So I don't need to divide it by drive wheel count? Also, do I integrate the wheel torque seperately?

Is it like this?

engine_av += T / I * dt

gearbox_av += T / I * gr * dt

wheel_av += T * gr * diff / I * dt

OK! Well, I do it as you said. Exept for the gearbox angular velocity. For me it was:


gearbox_av = drive_wheel_av_sum / drive_wheel_count

So I don't need to divide it by drive wheel count? Also, do I integrate the wheel torque seperately?

Is it like this?


engine_av += T / I * dt

gearbox_av += T / I * gr * dt

wheel_av += T * gr * diff / I * dt

You don't have to divide it if you solve it on differential, otherwise dividing sum of wheels angular velocity should be fine.

I have a bit more complicated setup where each component is updates twice on each update cycle. First time I update them in order or Engine->Clutch->GearBox->Wheel (I don't have a differential yet) then after reaction force is calculated, update is going backwards Wheel->Gearbox->Clutch->Engine.
Reaction force doesn't change angular velocity of the wheel immediately. Instead, reaction force is passed back to gearbox, where I check if gearbox is locked or not. If it's locked then torque is passed back to clutch. If gearbox is unlocked, then reaction torque changes angular velocity of the gearbox drive shaft and consequently of the drive wheel on the next update if gearbox stays unlocked (in neutral).

The same logic is applied in clutch, torque comes from the engine and I check if clutch is locked, if it's locked torque passes further, if it's not than angular velocity on the wheel side of the clutch should be integrated. Again, on the reverse update, when torque comes from the gearbox, I check if clutch is locked. So each elements is updated twice but on each step different set of input parameters is used. On "forward" update I provide Torque, angular velocity and moment of inertia from engine to clutch, from clutch to gearbox and so on. On "reverse" update it goes backwards: from the wheels, torque, angular velocity and moment of inertia are passed to gearbox then to clutch then to engine.

This allows to sum up for example moment of inertia from each element, all the way to the engine when everything is locked down. At the same time, if I need full moment of inertia of the drive train on the wheels, I have it too, because each element will take input moment of inertia, add own moment of inertia and pass it further. Exception is when something is not locked.

The reason why I'm saying this is because in "engine_av += T / I * dt" moment of inertia will be own moment of inertia of the engine only if clutch is unlocked, when it's locked it will be a sum of all moment of inertia of drive train, including effective moment of inertia on a gearbox.

This - "gearbox_av += T / I * gr * dt" doesn't make much sense to me because you either calculate effective moment of inertia from the gear using MOI of Engine+Clutch+lay shaft or you are integrating drive shaft part which have effective moment of inertia of the wheel passed through differential.

Third part "wheel_av += T * gr * diff / I * dt" is not applicable if integration was already done at the drive shaft of gearbox if gearbox is unlocked, otherwise it would be done at the clutch all the way back (if clutch is unlocked) or at the engine if all elements of drive train are locked. To be fair, I don't have a differential. But they way I would approach this is by integrating velocity on each wheel separately. To do that, you take effective moment of inertia coming from differential and use it in calculation of how much wheel is slowed down by reaction force, but take into account that as one wheel is slowed down, the other will speed up as this is how differential works. I'm afraid I can't say more about differential as I didn't implemented it yet in such setup and not sure how exactly things should be done.

Advertisement

Wait, so you wanna say that rather than updating angular velocity of each component, you only transfer the torque on and on? Until it can't go further? And than update angular velocity of the last component? Interesting. I start to get it. However, I've got some questions:

  • When the torque goes through transmission and differential and gets to the wheels, it is multiplied by transmission and differential ratio, rigth?
  • If the wheel is turning x faster than transmission on one side, than the opposite side will be x slower than transmission?
  • How's the differential part calculated in AWD? How does the torque splitting work there at all?
  • What happens when clutch is slipping. How would you update angular velocity of engine and angular velocity of clutch in this case? Do I assume that the clutch is locked, ignore engine and transfer torque to the differential(where it splits to wheels and receives rection torque)? And than send it back (and again skip everything) through slipping clutch send angular velocity to engine where it will update engine angular velocity only then?
  • When the torque goes through transmission and differential and gets to the wheels, it is multiplied by transmission and differential ratio, rigth?

> Correct and it's divided when you bring reaction torque back from the wheels.

  • If the wheel is turning x faster than transmission on one side, than the opposite side will be x slower than transmission?

> Basically there are two types of differential as far as I'm aware - closed and open, some trucks and offroad vehicles allow driver to switch differential modes. In closed differential each wheel moves with the same speed, in open differential they are allowed to move with different speed but only as you've said, if one wheel is faster then another one is slower.

I'm still not sure how to implement open differential in such setup, the closed one is easy, what ever reaction force you have on one wheel, it will effect the other wheel the rest of the drive train.

  • How's the differential part calculated in AWD? How does the torque splitting work there at all?

> Have no idea. What I know is that they have a special splitting box that does it.

  • What happens when clutch is slipping. How would you update angular velocity of engine and angular velocity of clutch in this case? Do I assume that the clutch is locked, ignore engine and transfer torque to the differential(where it splits to wheels and receives rection torque)? And than send it back (and again skip everything) through slipping clutch send angular velocity to engine where it will update engine angular velocity only then?

> Slipping clutch can't transfer torque, it creates torque from the friction of the clutch plates. So when clutch is slipping you get a friction torque which is send both to the engine and to the drive side of the clutch plate. When clutch is slipping and generate friction force, I integrate angular velocity on the "wheel" side of the clutch, taking into account MOI of the gearbox and effective MOI of the wheel passed through gearbox and differential. The same with reaction force, it gets to a clutch but if clutch is slipping then it's used in integration of the clutch "wheel" side plate angular velocity.

Wait, so if clutch is slipping, than the engine is also being accelerated by the friction torque of clutch rather than it's own torque?

Wait, so if clutch is slipping, than the engine is also being accelerated by the friction torque of clutch rather than it's own torque?

Rather decelerated. To get accelerated it should be spinning slower than the rest of drive train and it will happen when you do a "jump start", like if car is rolling down the hill and clutch is unlocked completely and engine is off. As you depress clutch pedal, friction force will accelerate engine and you can start it without starter.
The other way is possible too, if wheels can't move for some reason friction force will stop the engine as you depress clutch pedal.
Advertisement

Oh, so the negative of clutch torque is used for engine and positive - for drivetrain, right? So in case when engine is slower, the torque is gone be negative. And than negating a negative means positive. Got it;)

That clutch algorithm that I've posted, direction of friction force is decided on sign of w1-w2. When you calculte torque transfer from engine to gear box (clutch is slipping) it will generate positive torque as engine is spinning but wheels are not. In a reverse update, from gearbox to engine, the same formula will produce negative torque, because now w1 and w2 are not engine velocity and gearbox velocity but gear box velocity and engine velocity. Does it makes sense?

Yes, it does make sense! ;)

[VIDEO]https:

[/VIDEO]

I decided to record video to show off current issues of my system. Maybe someone can help? Cause I can't find any way to help myself:D

This topic is closed to new replies.

Advertisement