PCM Diagnostics & Tuning HP Tuners | Holley | Diablo
Sponsored by:
Sponsored by:

ANy way in EFILive to make this PID?

Thread Tools
 
Search this Thread
 
Old 12-06-2003, 10:53 AM
  #1  
TECH Junkie
Thread Starter
iTrader: (10)
 
GrannySShifting's Avatar
 
Join Date: Nov 2001
Location: Glen Burnie, Md
Posts: 3,944
Received 20 Likes on 13 Posts

Default ANy way in EFILive to make this PID?

Woudl lie to make a graph of acceleration, Id guess youd have to use VSS vs time and plot the time to VSS change.

How would I go about making that graph?
Old 12-06-2003, 12:26 PM
  #2  
TECH Enthusiast
iTrader: (12)
 
gojo's Avatar
 
Join Date: Mar 2002
Location: w.s.n.c.
Posts: 539
Likes: 0
Received 0 Likes on 0 Posts
Default

Originally Posted by GrannySShifting
Woudl lie to make a graph of acceleration, Id guess youd have to use VSS vs time and plot the time to VSS change.

How would I go about making that graph?
There is a Pid named "time since engine started". If you put that on the same plane as the VSS Pid that might do it.
Old 12-06-2003, 05:51 PM
  #3  
Restricted User
iTrader: (2)
 
EFILive's Avatar
 
Join Date: Dec 2001
Location: New Zealand
Posts: 424
Likes: 0
Received 0 Likes on 0 Posts
Default

There is already a PID called {CALC.G_FORCE} which gives acceleration figures in terms of g's.

Here is the info (from the V5 manual) explaining the acceleration PID:

dx({pid},dt)
Returns the derivative of {pid} with respect to time in seconds.
dt specifies the time interval (in number of frames) of the derivative.
The time interval extends either side of the current frame by dt frames.

Because the data obtained by EFILive is discrete, anomalous results will
be generated for too small values of dt.
We recommend setting dt to between 6 and 14.

In V6 the dx function uses the previous "dt" frames only.

Example:
Calculate the acceleration in metres per second per second.
dx({SAE.VSS.kph},6)/3.6)
The derivatives calculated by the dx() function are only approximations and
their accuracy is proportional to the speed of data capture.
The faster the data capture rate - the more continuous the data - the more accurate the approximations.

Regards
Paul

Last edited by EFIliveV5; 12-07-2003 at 04:06 AM.
Old 12-06-2003, 10:33 PM
  #4  
TECH Junkie
Thread Starter
iTrader: (10)
 
GrannySShifting's Avatar
 
Join Date: Nov 2001
Location: Glen Burnie, Md
Posts: 3,944
Received 20 Likes on 13 Posts

Default

In order to quanitfy changes in acceleration rates of vehicle to determine if motor is revving more quickly (more power) how would the pid be set up?

Would like to see if picking up 50 ftlbs from a tune translates into how much faster acceleration.

derivative of speed is acceleration, derivitive of that would be ?jerk? possibly? would like to see graphs of that over a dyno run
Old 12-07-2003, 04:03 AM
  #5  
Restricted User
iTrader: (2)
 
EFILive's Avatar
 
Join Date: Dec 2001
Location: New Zealand
Posts: 424
Likes: 0
Received 0 Likes on 0 Posts
Default

So you want to log the rate of change of acceleration?
That would be the second derivative of speed with respect to time.

Create a calculated PID for acceleration using dx({SAE.VSS.kph},6)/3.6) call it CALC.ACCELERATION.

Create a calcualted PID using
dx({CALC.ACCELERATION},6)) and call it {CALC.JERK} if you will.

Warning:
Using nested calculated PIDs means you need to be careful with the evaluation order of PIDs. Obviously you need {CALC.ACCELERATION} to be evaluated before {CALC.JERK}.

EFILive V6 evaluates calculated PIDs in PRN sequence lowest first, highest last.

Another warning:
the dx() function is evaluated by taking the average value of the {PID} for the number of frames specified by the second parameter (in this case 6 frames) .

Then the second calculated PID is also evaluating the average over 6 frames of the first calculated PID. That's 36 extra calculations per frame.

Using nested dx() functions like that can quickly slow down your machine to the point where real time logging may not be possible.
For that reason it is best to NOT have calculated PIDs seclected while logging. You can easily select them for review once logging is completed.

Regards
Paul
Old 12-07-2003, 07:12 PM
  #6  
TECH Junkie
Thread Starter
iTrader: (10)
 
GrannySShifting's Avatar
 
Join Date: Nov 2001
Location: Glen Burnie, Md
Posts: 3,944
Received 20 Likes on 13 Posts

Default

Yeah that seems like what Im looking for.

TO do just pure acceleration is the accel .pid right? IS the 6 you used an arbitrary number and in what cases should I use the upper/lower limit for example?
Old 12-08-2003, 12:32 AM
  #7  
Restricted User
iTrader: (2)
 
EFILive's Avatar
 
Join Date: Dec 2001
Location: New Zealand
Posts: 424
Likes: 0
Received 0 Likes on 0 Posts
Default

Yes, for acceleration only (rate of change of speed), use the expresion:
dx({SAE.VSS.kph},6)/3.6)
which gives acceleration in meters per second per second.

The 6 is the number of frames over which EFILive averages the VSS reading. This has the effect of damping the spikes that you would normally see due to small changes in the VSS signal.

A value that is too low (i.e. less than about 5) will show a very jagged line for the acceleration.
A value that is too high will take longer to compute and will lose accuracy due to the effects of averaging.

I would recomend a value of between 6 and 10.

Just for your info the other constant 3.6 converts the kilometers per hour value to meters per second value.
1 kph
=1000 meters per hour
=1000 meters per 3600 seconds
= 1 meter per 3.6 seconds.

If you left off the 3.6 then the result would be acceleration in kilometers per hour per second.
Which actually makes a lot of sense since we measure vehicle's speeds in kilometers per hour.

Or if you use the expression: dx({SAE.VSS.mph},6)) you would get the acceleration in miles per hour per second.

Paul
Old 12-08-2003, 08:53 PM
  #8  
TECH Junkie
Thread Starter
iTrader: (10)
 
GrannySShifting's Avatar
 
Join Date: Nov 2001
Location: Glen Burnie, Md
Posts: 3,944
Received 20 Likes on 13 Posts

Default

metric is probably better for quantifying results between different cars




All times are GMT -5. The time now is 12:16 PM.