Pokémoderator
Join Date: Dec 2007
Location: Southern California
Posts: 5,864
Thanks: 439
Thanked 532 Times in 358 Posts
|
ElmScan + Customized Scantool Software = data logging!
Hello -
Last year I got one of these gizmos that interfaces the OBD-II to a PC :
ElmScan VPW Scan Tool - P/N: 420300
EDIT: URL BELOW IS DEAD LINK BECAUSE PRODUCT NO LONGER OFFERED
http://www.scantool.net/products/pro...products_id=12
Quote:
The ElmScan VPW Scan Tool comes mounted in a steel enclosure and can be used with our free software to turn your computer into a sophisticated auto diagnostic system. This interface supports the J1850 VPW protocol used mostly in General Motors vehicles.
|
Now, it took me a (long) time to get it working right. My Laptop PC (probably) had too many apps running, so the Elmscan was having connection problems. Here is what I did :
1 - Bided my time and found an obsolete 2.5" 4GB hard disk for $10. This way, if I crash the disk proving the system, I don't care because the hard disk is worthless anyway. I have an easy-to-swap hard disk, so I can pop the "base OS" hard disk in, go to work, and swap my "regular OS" back in when I am done.
2 - Installed a base XP OS on the 4GB hard disk in my laptop. That way, there is no contention for the COM1 port.
3 - Downloaded the "scantool v1.13" software that comes with it. Since it comes with source code, I could customize it after ...
4 - ... I downloaded the "allegro" game programming library for Windows/XP :
Allegro - Download - Latest version (download all422.zip)
5 - Used my trusty Visual C++ version 6.0 to compile Allego. I procastinated doing this because I expected it to be a PITA. In fact it was easier than I thought. This is the power of gamer-programmers. They are edge and MAKE IT WORK! Pssst: But, you don't need to compile it. There are also pre-compiled binaries at the URL in Step 4. Stooopeed me did it the hard way.
6 - Once I had the library, I made a Visual C++ 6.0 project for the scantool software and customized it for my SW2 :
Still working on the color pallete, :
These are the only variables that are available for my Saturn :
4 - But the really big thing is that I got it to log data. I am logging in 1 second increments. I post-processed this to be one minute increments in this example result :
Code:
YYYMMDD,HHMMSS,Absolute Throttle Position (%):,Engine RPM:,Vehicle Speed (MPH):,Calculated Load Value (%):,Timing Advance (Cyl. #1) (?):,Intake Manifold Pressure (inHg):,Short Term Fuel Trim (Bank 1) (%):,Long Term Fuel Trim (Bank 1) (%):,Intake Air Temperature (? F):,Coolant Temperature (? F):,O2 Sensor 1/Bank 1 (V):,O2 Sensor 2/Bank 1 (V):
20080407,201137,13.367,2021.100,52.533,46.817,35.150,17.542,1.088,-7.000,71.900,170.133,0.518,0.721,
20080407,201242,8.130,1952.400,54.867,30.302,37.975,11.647,-0.082,-7.367,74.783,186.950,0.537,0.621,
20080407,201348,13.787,1964.333,55.350,48.922,36.117,19.197,0.623,-7.000,80.067,190.000,0.590,0.710,
20080407,201455,11.310,1886.717,53.233,39.983,39.208,15.507,1.322,-5.495,87.533,190.000,0.481,0.732,
20080407,201601,16.863,1900.667,53.817,53.895,27.317,21.542,-1.065,-2.300,95.667,190.000,0.389,0.638,
20080407,201709,13.510,1953.183,55.133,45.238,37.333,17.980,-0.237,-2.300,103.133,190.000,0.471,0.669,
20080407,201814,8.403,1908.133,53.733,29.813,41.208,12.020,-1.097,-3.200,105.000,190.000,0.354,0.671,
20080407,201919,8.272,1777.917,50.000,31.502,35.792,12.173,-0.502,-4.167,105.000,190.000,0.346,0.718,
20080407,202023,10.620,1863.317,52.800,38.110,39.350,14.567,0.650,-2.300,105.000,190.000,0.283,0.574,
20080407,202128,7.085,1562.167,52.383,35.080,30.592,14.065,2.123,-5.700,106.533,190.500,0.517,0.616,
20080407,202234,11.227,1724.267,49.000,42.093,32.433,15.575,0.395,-5.617,105.367,190.133,0.452,0.541,
20080407,202339,8.697,1782.100,50.017,36.640,35.825,14.210,1.973,-2.640,107.000,190.000,0.461,0.551,
20080407,202446,9.245,1394.267,44.483,41.762,25.108,16.237,0.217,-6.210,106.833,191.033,0.502,0.572,
20080407,202549,10.242,1607.800,50.583,41.063,30.183,16.167,2.068,-5.530,105.567,190.500,0.352,0.396,
20080407,202653,7.198,1347.733,42.583,33.838,23.225,13.590,0.687,-7.867,106.267,191.833,0.483,0.436,
20080407,202758,8.723,1548.133,43.383,39.198,30.417,15.017,-0.398,-5.953,109.467,190.133,0.606,0.500,
20080407,202901,10.207,1615.150,45.067,38.272,30.058,15.563,0.347,-3.800,111.000,190.000,0.407,0.405,
20080407,203003,10.637,1653.900,46.233,41.332,33.733,15.853,-0.970,-2.300,111.200,190.000,0.565,0.496,
20080407,203104,8.885,1590.700,44.533,38.265,33.633,15.340,0.365,-2.300,112.000,190.767,0.559,0.539,
20080407,203207,12.003,1580.317,48.100,42.422,23.208,16.358,0.420,-5.190,113.600,191.600,0.429,0.404,
20080407,203307,13.262,1574.500,48.517,44.165,23.692,17.822,0.033,-5.460,114.333,191.500,0.488,0.551,
20080407,203409,11.132,1537.083,48.250,42.305,24.108,17.785,1.690,-4.510,112.967,190.800,0.431,0.626,
20080407,203515,17.900,1854.267,52.183,55.985,24.950,23.225,-1.523,-2.300,112.800,192.000,0.459,0.630,
20080407,203622,16.592,1829.983,54.367,49.727,25.608,21.535,-0.722,-4.170,112.000,192.000,0.464,0.731,
20080407,203724,7.418,1364.150,41.400,34.622,22.500,15.088,1.102,-5.190,111.017,191.550,0.321,0.272,
20080407,203829,13.582,1543.383,46.683,46.947,21.217,19.203,-2.012,-6.230,111.533,192.083,0.474,0.498,
20080407,203934,8.992,1511.517,48.533,38.937,23.875,16.125,1.495,-7.893,111.733,192.000,0.522,0.300,
20080407,204037,6.512,1385.333,44.033,31.723,26.550,12.637,2.392,-6.220,110.500,190.667,0.499,0.524,
20080407,204148,4.633,1420.150,48.117,26.790,26.808,11.128,2.470,-8.820,108.467,190.867,0.561,0.520,
20080407,204253,5.087,1332.000,43.350,29.773,25.800,11.532,2.833,-9.665,105.033,190.333,0.484,0.562,
Using the original 1-second increment data, I used this to make a *simple* RPM vs MPH chart that shows my engine on coasting :
My long term goals are :
1 - Testing only. The Scangauge is still my main man. At this point, I want to see the behavior of mods like my EFIE, the IAT resistor mod, and maybe some aero mods. I wanted this gizmo because I couldn't see the fuel trim or the 02 sensor with my ScanGauge I. Also, no data logging with the ScanGauge.
2 - Get a solid state hard disk. I can get a 2GB hard disk for $60 right now. If I run the 4GB until it crashes, the price will be lower by then.
3 - Define an algorithm that uses the data I am collecting to display real time MPG (Help Me Please !!!!!!).
CarloSW2
.
Last edited by cfg83; 12-28-2010 at 06:57 PM..
|