Anyone know how to "approximate" the horse power based on OBD II data?
I'm writing my own OBD software and I want to calculate HP similar to how Digimoto (http://www.digimoto.com/demos/dyno/dyno.htm) calculates HP.
Printable View
Anyone know how to "approximate" the horse power based on OBD II data?
I'm writing my own OBD software and I want to calculate HP similar to how Digimoto (http://www.digimoto.com/demos/dyno/dyno.htm) calculates HP.
My ODB software has the capability to compute values derived from OBD sensor data. The equation to get HP that it uses is:
1/2 * 3000 / 32 * (5280 / 3600)^2 * (VSS^2 - VSSi^2) / t / 550
where VSS is vehicle speed sensor and t is time. I haven't used this yet to verify.
Sweet, can you explain what this equation is actually doing?
And how does this work without actually putting at least a weight in, or is one of those numbers the weight?
Quote:
Originally Posted by wi77iam
The author of the software doesn't explain his calculation, so I'm just guessing. But from what I've read, I think he uses a standard equation to calc hp from vehicle speed and an approximation of weight. I think the 3000 figure is the vehicle weight in pounds. VSS - VSSi is current speed in mph minus an initial speed and t is the time it took. 5280 is obviously the feet per mile, 32 is the acceleration and 550 is some weighting constant.
Ok, it makes sense now. Thanks!
hp has nothing to do with the weight of the car I believe. When they dyno cars there is no weight inolved.
The cars weight will be a factor in "estimating" horepower though. Using these calculations will give you the "seat of the pants" numbers, but will be just playing with numbers really. You are forcasting a horsepower based on joining how much rpm is making the wheels go how far in a set amount of time, and figuring the weight it is having to move. If you make the car "look" lighter by lowering the factor, it will show the horepower going down, because it thinks you went the same distance in the same time with a lighter car, so less horsepower.
If you want real numbers you gotta dyno, but even a true dyno will have pro and cons, like a Mustang dyno versus Dynojet, numbers will vary 10% just because of their design.
well weight has everything to do with horsepower if you are going to attempt to dyno the car by OBD-II.. On an actual dyno, the car accelerates the rotation of a known mass and a force calculation is made. On the dyno, they are trying to make the only variable in the hands of the car the amount of force it can put out at the drive wheel.
For a very simple explination -- To calculate the horsepower given only vehicle speed, you have to calculate the acceleration by measuring changes in velocity over time, then multiply the acceleration by the mass of the vehicle to derive force (oh; and do a lot of unit conversions in there if you are doing lbs, mph, and HP) Remember F=ma? The reality is a bit more complicated since you end up really talking about rotational acceleration, etc. but the idea is the same..
This is essentially the methods that many 'dashboard dyno' products use. The accuracy of such a measurement is highly dependent on two things:
1) Knowing the correct mass of the vehicle, currently, including driver and gear and gasoline. A variation by only a few pounds could significantly affect the accuracy.
2) The accuracy and frequency of the measurements.
You should only need to collect two pieces of data from OBDII to make a good dyno graph out of this kind of data - RPM and speed. Polling only these two values should get you a couple of data points per second for each value. That should be enough data to get you into the ballpark of what your car is putting out, and should definately get you data good enough to be able to benchmark your car run-for-run against itself (ie to test performance modifications; etc.)
There is a good implementation of a dyno function in the CVS tree of freediag at http://freediag.sourceforge.net/ -- compiling from CVS seems to be broken for me at this point, so I have not had a chance to test it, but If I ever get a chance to, I'll post about it here.
I will also note that adding a real accelerometer into the mix could improve your results greatly.. the dashboard products are doing this. On a Computer, you could probalby interface to one of the accelerometers from http://www.phidgets.com/ to get better accuracy.
I believe that the formula works out like this:
1/2 * 3000 / 32 * (5280 / 3600)^2 * (VSS^2 - VSSi^2) / t / 550
0.5 * VehicleWeight / Gravity * (FeetInMile / WheelRotationPerMile)^2 * (ChangeInSpeed / ChangeInTime) / 550
The 550 I believe converts the force into horsepower, and the 1/2 I'm not sure why that one is in there. Correct me if I'm wrong on any of this.
The fundemental problem with this formula is that it doesn't account for drag, which can be a significant part of wheel HP. Normally you would use a drag coefficient, which is vehicle dependant, and a cross section value, also vehicle dependant. Then there is an SAE standard method for compensating for atmospheric conditions.
This probably helps highlight the problems with these sorts of methods as opposed to a dyno, where you are directly measuring torque, there are a lot of variables. Even in devices that use accels, you have the issue of variation in suspension systems. When you stomp on the gas, what does the top of the windshield do in relationship to the horizon? Changes in vehicle pitch add or subract acc in a sinoidal relationship to the earth's gravity.
My point in all this is that these formulas are, at best, relative measurements, not absolute ones. That is, it doesn't matter what the exact formula is - provided that it provides repeatable numbers on same condition runs. Then, at least, you can use it to gauge if something improves or degrades performance. Viewed this way, you can potentially get usable calculations from RPM or accel alone.
As to your question, it looks like a crude estimate of acc to kn/watts to me, but I'm assuming that VSS is in km per hour, which is the OBD-II standard metric. It seems to me that it would be better to take the delta in speed over time, along with mass, and work back to g. Then calculate power and drag and combine them.
-jjf