Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations waross on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Engine throttle/resistance question 12

Status
Not open for further replies.

Yster

Computer
Aug 19, 2004
9
0
0
ZA
I have been given the job of creating a dynamic car model in software at the company I work for. Being a computer engineer, it has been quite an effort for me to get to know cars and the dynamics thereof. As guidelines, I have the following three books to help me:
Fundamentals of Vehicle Dynamics - Gillespie
Motor Vehicle Dynamics - Genta
Race Car Vehicle Dynamics - Milliken & Milliken

These books have proven to be invaluable, but there are still some questions that aren't answered which I just can't figure out for myself.

First question: how does the throttle affect the torque delivered by the engine at a specific engine speed? I assume the torque table gives the max torque at a certain engine speed, thus if the throttle is at maximum, that is the torque delivered. I further assume the torque is scaled linearly with the throttle, thus if the pedal is pushed only half way, you only get 50% torque at the specified rpm value, etc. If this is incorrect, please inform me.

My second question is this: if the car is idling, the throttle is probably at some minimum level, just enough to keep the engine running. I assume this level probably can't be computed mathematically, and each car manufacturer just approximates this value by trial and error. Also, in the above mentioned books several equations are given to determine the engine torque, the torque at the clutch, the torque to the drive shaft, the torque to the axles, and the torque to the wheels, which are all pretty straight forward. The only problem I have is to get my engine to idle correctly. I know that is my car is in neutral and the engine is idling, that there is still some resultant torque delivered from the engine, but why isn't the engine speed increasing all the time? According to the equations I have, this is what should happen. So I think one of the following is possible:
1. I shouldn't scale torque linearly with throttle
2. There is some engine resistance factor that is not shown in the equations, that works against the torque delivered by the engine to keep the engine rotating at a constant speed.

It seems as if all this should be pretty straight forward, since the books don't really bother all that much with the engine and drive train, but instead focuses on the tyres and suspension dynamics.

A pointer in any direction at all would be greatly appreciated!
 
Replies continue below

Recommended for you

538.0 HP and 440 Torque

Dist Time Speed Accel Engine Gear
Feet ET MPH GForce RPM Number
12.0in -.212 6.343 1.364 4500 1
60 = 1.525 43.302 0.793 4500 1
330 = 4.424 79.265 0.395 4500 2
660 = 6.938 97.659 0.353 5477 2
1000 = 9.095 115.119 0.305 6321 2
1320 = 10.900 125.202 0.256 6915 2
---------------------------------------------

50 % PerCent Torque and HP Engine output

268.5 HP and 220 Torque

Dist Time Speed Accel Engine Gear
Feet ET MPH GForce RPM Number
12.0in -.271 4.959 0.834 4500 1
60 = 2.022 33.000 0.497 4500 1
330 = 5.768 63.073 0.308 6353 1
660 = 8.921 77.031 0.177 4500 2
1000 = 11.707 88.073 0.155 4859 2
1320 = 14.075 95.173 0.147 5286 2

thats from 10.900 seconds to 14.075 seconds of time

if you were simulating much quicker transitions
in distances & time , on/off throttle or
throttle position changes during a Road Course Race,
it would seem the ;
50 % Throttle Position = 50 % Torque or HP
would work pretty good ??




Larry Meaux (maxracesoftware@yahoo.com)
Meaux Racing Heads - MaxRace Software
ET_Analyst for DragRacers
Support Israel - Genesis 12:3
 
I have just re-read the original question.

The throttle position is not clearly defined as to whether it is throttle plate angle, or pedal travel position. If it is pedal travel, it is complicated even more by the mechanical linkage often being very non linear to throttle angle

Regards
pat pprimmer@acay.com.au
eng-tips, by professional engineers for professional engineers
Please see FAQ731-376 for tips on how to make the best use of Eng-Tips Fora.
 
Yster
Is it the case that the mathematics of the whole engine are so complicated that to mathematically simulate it, you will not be able to outperform actually measuring it.

There are few user inputs: basically accelerator position, unless you want to get into detail of things running differently when the lights are on, heating on, etc. And there are few outputs: basical engine torque. There is a big factor feeding back internally, RPM.

I'd be tempted to make a table of accelerator positions and RPM, and store output torque values, or something like that. You could fill the table with computed or measured values, and I think you'd find computed values never quite agree with measure values no matter how much time you put into your software model.

How the engine behaves will depend on valve timing, throttle, bore, stroke, exhaust system, and lots of other things.

Is it really worth producing a precise software model based on these factors for a system which has basically one input (accelerator position) and one output (a drive shaft).

Does your software model really need all the extra detail, for example to calculate when a car would run out of petrol, to know how much the battery is charging, etc?

Given that you are looking at suspension, etc too, I would guess that you are really trying to model a car's behaviour rather than the engine's. It seems to me that engine modelling via precise simulation is only really useful for trying to make better engines, and that car modelling is maybe far more accurately done by looking up stored real life engine data.

These are personal opinions based on what I have read and trying to understand the real task at hand, and are not meant to reflect on any choices you or your employer has already made. I am just looking at what I have read from a software engineering point of view, rather than a solely mechanical point of view.

The simulation from accelerator position to output torque seems to me to be too complicated to attack from fundamentals - how does the visosity of air in the exhaust pipe change with temperature, or whatever else might be used in the perfect software model of a car. Do you really WANT to worry about how much engine power is sapped by pulling air past the butterfly and intake valves based on the sizes of various orifices and how far up in its stroke the piston gets before the intake valve closes, etc?

If you use a look-up table approach, you might be able to use the same software for a normally asperated petrol engine and a supercharged diesel engine, or whatever. If you simulate things, you may have to start again when you worry about diesels varying fuel intake instead of petrol engines regulating air (and fuel mixture) intake. Presumably a fuel cell vehicle's "engine" has clearly defined amounts of torque available for different accelerator positions.

I hope I don't get into trouble on this forum for asking whether you really want to solve your problem rather than actually helping you solve it!
 
CrystalClear:
First of all, thanx for your post. Yes, I do know about torque or power tables, and that is how I would prefer to model the car/engine. I also have some equations that would build you a torque table if you only have the max power and/or torque at specified rpm values, and no, they never match the actual values. Currently you have the option of supplying the torque table yourself, or generating it from the maximum torque or power at a certain RPM value.

What I am currently doing is that I already have a torque table available for the engine, as well as gear ratios, gear inertias, engine inertia, final drive ratio, final drive inertia, gear efficiencies, final drive efficiency, and wheel inertia (and obviously also wheel radius). I then assume the accelerator pedal position is linear with the output torque, thus if in my torque table I have for instance 300 N.m torque at 3000 RPM, then I would assume I have 150 N.m torque at 3000 RPM with my accelerator pedal pushed only half-way in (50%). I then calculate the torque delivered to the wheels by means of the gear ratios and final drive ratio, and finally I get the force delivered to the road surface by the wheels. I then update my RPM value of my engine by means of the speed at which my wheels are rotating (unless my car is in neutral). This process continues indefinitely, and it seems to work ok, although I have some bugs I need to fix… as always.

I obviously have to model the engine behaviour somewhat accurately, but not up to the point of insanity. I’m having a hard time getting my engine to idle correctly without fudging it too much. I made my own internal resistance function, which you can design for specific losses at specific engine speeds, but I REALLY DON’T like doing that! I guess I have to model the clutch as well, but currently my model just refuses to stall, and keeps on pushing the engine up to the minimum rpm value until the wheels start moving at the correct velocity to generate the desired RPM value. This naturally causes the tyres to spin, so it’s all very ugly at the moment.

Modelling a car is far harder than I ever thought it would be, and I haven’t even gotten to the tyre and suspension part yet! At least I am enjoying it, and one only learns by struggling. A lot.


Riaan Nieuwoudt
Computer Engineer
riaan.nieuwoudt@5dt.com
 
As everyone has said, all of this is very hard to do from first principles. Even looking up data (much beyond what you've already done) would probably be hard.

I'd try actually driving some cars to see how they react. Every car I've ever driven has a very noticeably nonlinear throttle response. Luxury cars tend to be very sluggish until you floor them, whereas some sporty cars feels like >70% of engine torque is available with maybe 1/4 of the pedal depressed. Older cars with carburetors sometimes had very sudden changes in torque output when the load-sensitive secondaries opened up.

Another thing to consider is that some fuel delivery systems have a very noticeable delay between throttle opening and engine response. This can be important. Sometimes the speed at which you push down the gas pedal also has a noticeable effect in a real car.

As for getting a feel for the internal losses, you might want to try putting a car in neutral and revving it up. It takes a good amount of throttle to reach redline even with no load on the engine.

When spinning the tires when trying to stall the car, I think that you should check if your inertias are way off and the clutch engages too quickly.
 
Yster,

Sounds like you might be trying to re-invent the wheel.
There is a mathematical model of an engine/vehicle in the public domain. It is called ADVISOR (the last free version was 2002), runs under Matlab/Simulink and was developed to model hybrid cars by the US DOE. If you download a copy of this, you could interrogate the maths behind the various system models.
The commercial rights were purchased by AVL in 2003, but previous versions should still be around.

Andy
 
photo15.jpg


If we look at the red torque curve here, we can see that it drops and will eventually cross zero at around 3800 RPM. Another thing to note is that it is labelled net torque, from which we can suppose that there is a notion of gross torque: the torque the engine produces but some of it being lost for example due to the pistons rubbing in the cylinders.

If a simple software engine was to take the net torque figures for the Ford and scale them for accelerator considerations, (for example at 3500 RPM with 10% accelerator it might assume 50 units of torque insead of 500), then the graph would have the same shape, just smaller. It would still cross the horizontal zero line at 3800 RPM.

In neutral, speeds above 3800 RPM would produce negative net torque and the engine would slow down. Speeds below 3800 RPM would produce positive net torque and the engine would speed up. So in both cases (light and heavy accelerator), the engine would stabilize at 3800 RPM.

But let's say (for the sake of argument) that the 500 units of net torque (at 3500 RPM on the graph) is really 550 units of torque from the engine, with 50 units being lost internally due to pistons rubbing, etc. It is not right to scale the 50 units of piston rubbing when considering light accelerator operation. So we shouldn't calculate 10%*500=50 units of torque at 10% accelerator, but maybe 10% of 550=55 units of engine torque, and still subtract 50 units of piston friction, etc. That would give just 5 units of net torque (almost zero) at 3500 RPM, and we can see that at 10% accelerator the engine would stabilize somewhere near 3500 RPM instead of 3800.

At 5% accelerator we'd have about (5%*550)-50 unit of torque ie significant engine braking and the engine speed would slow down if at 3500 RPM.

So I think all that is need to make a software car engine stall, provide engine braking, stabilise at high RPM under heavy accelerator and at low RPM under light accelerator is a crude model for engine losses in general, eg piston friction and for at least some of these losses not to be scaled for different accelerator settings.

The net torque curve crossing zero is surely what causes an engine speed to stabilize, and any linear scaling of this curve will just cause the engine to idle at the same RPM, eg 3800 for the graph shown.

But as shown, even a crude approximation of some engine loss not scaled for fuel usage (eg piston rubbing depending basically on engine speed rather than load) will provide engine braking, lower idling speeds and I guess the ability to stall your software engine too.

I guess what I'm saying is a software model like this
torque=accelarator*grosstorquegraph(RPM)-losses(RPM)
will perform much more realistically than one like this
torque=accelerator*nettorquegraph(RPM)

==

So in your first posting you said
I further assume the torque is scaled linearly with the throttle, thus if the pedal is pushed only half way, you only get 50% torque at the specified rpm value, etc. If this is incorrect, please inform me.

Incorrect.
Even if you try to account for the accelerator behaviour being non-linear with something like this
torque=nonlinearacceleratorfunction(accelerator)*nettorquegraph(RPM)
you are still going to have problems with
nettorquegraph(3800) being zero and that would be you idling speed.

I'm sure putting losses in your model a bit like shown will make it behave like a car, even getting it to behave like the right car remains a bit elusive.
 
Crysta1c1ear,
Yes, this is the way I have been modeling it thusfar, with
[tt]OutputTorque = Accelerator*GrossTorque(RPM)-Losses(RPM)[/tt]

I assume then that the loss is also a function of the engine speed? I also assume that the losses increase with RPM value, although not by much? I have made the assumption that at idle

[tt]Accelerator@Idle*GrossTorque(RPM@Idle) = Losses(RPM@Idle)[/tt]?

This makes sense for me, since the engine isn't accelerating or decelerating at idle? Or could it be that the engine management system is keeping the engine alive?

Riaan Nieuwoudt
Computer Engineer
riaan.nieuwoudt@5dt.com
 
photo15.jpg


Engines idled long before there were management systems. I'd forget engine management completely until you have a satifactorily running car simulation.
I'm sure it has to be a net-torque curve falling with RPM that crosses zero that causes idling.

If the engine speed is lower than idling, torque would be positive and the engine would pick up. If the engine speed is above idling speed then net torque would be negative and the engine would slow down.

Hence the system would stabilize at idling speed.

I wasn't satisfied with what I wrote yesterday and thought some more about it. I'm going to discuss pertol engines rather than diesels engines, as that is what I think I understand best.

Yesterday I showed that engine stabilization speed could be lowered with lower accelerator if some engine losses were included in a software model and independent of accelerator settings, and I used piston rubbing as an example of something fairly independent of accelerator (for a given RPM).

(In contrast I said that simply scaling a torque curve for
accelerator considerations, eg
torque=nonlinearacceleratorfunction(accelerator)*nettorquegraph(RPM)
would still lead to the simulated engine wanting to idle at 3800 since nettorquegraph(3800) is zero.)

I need to go, so I'm going to have to make this quick.

The engine gives it best torque roughly where it is getting the most air into the cylinders; there is a whole question of engine breathing and surrounding complexities which make airflow a critical factor in the engine's operation. Other things being equal, if you made the engine capacity a bit bigger it will produce peak torque at a lower RPM, ie with a similar airflow.

If we turn that argument on its head, restricting airflow (with a throttle) means that the engine would produce its torque peak at a lower RPM.

So with lower airflow, the torque peak would move to lower RPM.

I really have to go, people are impatient

I'll write more later, but for less accelerator something like this might be worth trying

torque = accelerator*grosstorquefunction(RPM/accelerator) – losses (RPM)

Buy 4 now
 
(Sorry, I should have said this much earlier! Forget the graph is for a diesel and I keep talking about petrol engines, I just don't have a petrol engine graph as handy! Forget diesels completely.)

Okay, just to tidy up a loose end, let me explain.
If we had a function in the computer which produced a line similar to the red line in the picture, then there would be no problem making the software version of a car engine 'idle' at 3800 RPM.

With a throttle partly activated, and restricting airflow into the cylinders, the engine (in the picture) would have problems breathing at 2000 RPM where it makes its peak torque in normal operation. The torque curve might have a similar shape, but be scaled so that peak torque (at part throttle) came earlier, and if we make things as simple as possible, we might assume peak torque at 1500 RPM for 75% throttle: just a plain linear scaling. So torque at 1500 RPM at 75% throttle would be 'like' torque at 2000 RPM for full throttle. So we'd want to use a figure from the torque curve for 2000 RPM if we were at 1500 RPM. Ie we'd need to look at the torque function for (1500/0.75) to get a figure to use for torque at 1500 with 75% throttle.

Generalizing that, to account for the shape of the torque curve moving to lower RPM at lower accelerator settings, I'd try something like grosstorquefunction(RPM/accelerator) to give the curve its torque curve shape, and scale it in some way, as you are clearly going to get less torque with less air in.

==

Obviously it would be better if multidimensional data for an engine were available and the software could just look up net torque for given RPM and accelerator settings, or something like that.

But I'm still working on the assumption that behaving like a car is pretty good for your application and we are not trying to work out exact engine behaviour for a particular engine.

I could show you the torque curve for a completely software simulated engine at wide open throttle. It calculates pressures and temperatures using gas laws, and it considers volumetric efficiency, losses from compressing the intake charge, reversing the pistion inertia, and things like that. The final result is still nevertheless not a very convincing torque curve.

From this conversation I'm beginning to see why!

By the way, what I write is all open to debate. I'm looking at this as an area that interests me and not as my speciality - whatever that is! I'd welcome it if somebody knowledgable stepped in with a simple expanation of a good
software model of an engine's behaviour.

==

By the way, your assumptions seem reasonable to me. You should be able to use them to help you set up your software car to idle at a particular RPM and to determine what to set as a range for the accelerator, eg 20% to 100% or whatever.

I just did a quick search on the internet.

...
Typical calculated engine load (which in Fords is a ve calculation - volumetric efficiency) at *idle* is around 25% in these trucks for example.
...
Throttle position is going to be about 20% at idle - not zero as some might assume.
...

3800*0.25 is 950 and 3800*0.2 is 760. If your software engine idled around those sort of speeds it would be behaving too differently to my car.

I'm going to email you an article which shows a torque curve shifting in relation to RPM as a result of engine breathing considerations so that you can make critical judgements about whether there is justification for what I've said.
 
net torque and net power are measurements of an engines performance taking into account the accessories mounted on it. gross torque and power are the engine itsself not driving anything. the measurement system changed in the late sixties i believe.

if you had enough info about the engine you could build the torque table from a simulation at wot (i use an old version of desktop dyno) and then change the cfm rating of the intake system to represent the throttle position.

example (using very made up numbers)
500 cfm induction at 3000 rpm is 200 hp (wot)
with throttle open part way
200 cfm induction at 3000 rpm is 75 hp

cfm= cubic feet per minute of airflow
cfm is measured ot a specific vaccume drop to rate the flow Im sure there has to be a way to find out the number from throttle bore and throttle plate angle as it is a fairly straightforeward physical property.


 
Status
Not open for further replies.
Back
Top