Data Acquisition with Race Chrono
I made a post about how I use race chrono for datalogging my data on-track (road course). I get a lot of PMs about it, so I figured I'd just bite the bullet and make a thread.
Why do this? Well, for analysing your driving to find time. Or create overlays with HPTuner's RaceRender First, let's start with the limitations, because people sometimes forget these are 20+ year old cars. 1) You cannot modify what is data logged with my profile. If you do, best case is you just don't get some data logged. Worst case it doesn't log anything. Reason is I had to specifically build what gets datalogged. The ECU sends 1 packet, and it contains 4 or 5 different parameters. This is MANUALLY built by me and not automatically handled. So don't touch the settings in the profile or you'll risk breaking it. 2) These cars use a data bus that transfers data at a measly 10.4 kbps. That's it. The more data you log, the slower the update rate is. Also keep in mind this bus is used for ALL data too. So you can't use all of the 10.4 kbps for yourself. It gets shared across all the modules in the car. 3) Realistically, I get about 3-5 Hz update rate. This is after creating custom payloads to get data out of the ECU and ABS module as efficiently as possible. Without these custom packets, the data rate was slower than 1 update per second. 4) I do not know if this works on pre P01 cars (97-98). The ABS data probably does not, since that module changed. The ECU data might. Someone feel free to try and let me know. 5) This profile will work with C5s only. Not a C6. Just C5s. What is logged? You'll see each parameter has a 1 or a 2 after it. This is how I designate low speed/high speed parameter logging. A 1 means it's a parameter I log at a higher data rate. 2 means a lower data rate. I only did this just to make it easier to find values and at a glance group PIDs together. Some parameters don't come from the ECU. I had to find the commands and PIDs from the cluster to get oil temp, and ABS to get brake pressure.
The standard PIDs use a 1:1 request/response system. It works for newer CAN-based cars that run data at a reasonable speed. The C5 is on an archaic VPW data bus. It runs more than 5x SLOWER than 56k/dial up internet. Let that sink in. It is SLOWWWWWW. Because of this, adding a 1:1 request/response PID will really hurt how much data you can get in a certain amount of time. Everything my profile datalogs is from custom PIDs/DPIDs. Without going into too much detail, I basically have the ECU send 4 or 5 parameters in a single frame. So this means that race chrono says "Please send me frame packet 1", and the ECU sends frame packet 1 that has 4 or 5 different values in it. Race chrono is smart enough to pull the data apart and realize they're separate. By doing this bulk data transfer, I can get ~5 Hz refresh rates. To change what's data logged requires changing what "frame packet 1" contains, and updating the commands to tell the ECU and race chrono. This is why this profile is "fixed". You cannot modify it unless you understand what a DPID is, and how to build them, then you can modify the profile for your needs, but chances are if you were this familiar with VPW, you probably already have a profile that works. The ABS module is not programmable with what data is sent. It will ALWAYS send:
However, if you wanted to get maximum data rate from the ECU, you can turn off datalogging brake pressure, and wheel speeds, along with engine oil temperature to disable requests to ABS and the cluster Hardware/Software Needed
How to use
To calibrate wheel speeds If you have non-stock wheel sizes, you probably will need to correct the wheel speed values that we read. To calibrate wheel speeds, you have to adjust the scalar in the profile for the wheel speed sensors. On the home page, click the settings/gear icon. CLick on the C5Z optimized profile. Scroll down to the wheel speed that is wrong (Wheel speed FL 1 for example). Tap on it. You'll see my profile by default uses A/3.6 as the default for all wheels. The 3.6 is the value you have to change. If the wheel speed is too low, you need to make the 3.6 lower. If the wheel speed is too high, you need to make 3.6 higher. You'll need to copy this value to the other wheel once you figure it out as well (front and right sides), but the value should be the same per axle. The EBCM expects our cars to have a little stagger stock, and it calibrated for it. So we have to tweak the values around that. If you have to change your settings to make it read right, please post what front and rear tire size you have, and the scalar values you used for front/rear. Front Wheel Size, Front Wheel Scalar 265/40 R17 - 3.6 (Stock C5Z) Rear Wheel Size, Rear Wheel Scalar 295/35 R18 - 3.6 (Stock C5Z) File Download Google Drive Link to C5 Z06 (Optimized) V4 Remember: DO NOT try to change what is datalogged. Do not add additional channels, or remove any. You will lower your datalogging rate significantly and what I've made is very specific. To change what's logged requires re-building the entire DPID tables and custom RaceChrono PID tables. Happy racing :) Changes: April 12, 2024: Added information on OBD scanners that work and how to calibrate wheel speeds. July 28, 2023: Added link to V3. Changes throttle plate percentage to accelerator pedal %. Added steering angle. July 30, 2023: Apparently I forgot to enable the channel in the fast channel list :) So I did that here. Should now show up in datalogs. Also added an if statement to the brake % channel to prevent negative numbers. |
This is awesome! I'll try it on a 98 with obdlink cx and see what happens.
|
Originally Posted by Elektro
(Post 1606527059)
This is awesome! I'll try it on a 98 with obdlink cx and see what happens.
I suspect the ABS will not return any info since it's a completely different module than 99+. If you have issues, try turning off all ABS pods from the fast and slow datalogging (wheel speeds, brake position) |
Originally Posted by Elektro
(Post 1606527059)
This is awesome! I'll try it on a 98 with obdlink cx and see what happens.
I suspect the ABS will not return any info since it's a completely different module than 99+. If you have issues, try turning off all ABS pods from the fast and slow datalogging (wheel speeds, brake position) |
Thanks so much for taking the time to do this and sending the PM letting me know that you did as well.
I’ve got the paid application and downloaded your setup and will start, in the days and weeks to follow, playing with it. I’m with a 2003 Z06 so I should have the same success as you. Thanks again! Rich |
Good stuff, thanks for helping me get this set up back in the day.
|
Nothing is working for me, I think obdlink cx may not be compatible. Racechrono can connect to the obdlink, but no data is displayed during "Test Connection", not even standard configuration pids. I am using iphone mini 12 fwiw.
|
I have a learning curve with a new program, but everything seems to be working well - it's showing/streaming all the OBD2 information you listed.
Aim and HpTuners should buy the logic from you!!!! HpTuners, as I've explained in other posts, locks various things up and Aim doesn't support the C5. Thanks again, Rich |
Big kudos to the Racechrono developer as well. He's been super helpful and receptive to feedback/new features in the past. This is one of those examples where he was willing to work with Jon to make this happen. I've messed around with all the track apps, and IMO racechrono is by far the best, plus the continued active development is a huge plus.
|
how come efilive gets 10 hz logging out of the ecu?
|
Originally Posted by romandian
(Post 1606579381)
how come efilive gets 10 hz logging out of the ecu?
1) EFI live does the exact same thing I do to improve throughput. It builds a DPID to stuff multiple PIDs into a single data frame. 2) EFI Live and HPT only talk to the ECU. My profile talks to the ECU, ABS, and Cluster. The datalogger has to re-configure the OBDII device each time it wants to switch to a different module. This takes time. 3) EFI Live also sends a "silence" packet out onto the bus when datalogging, asking all other modules on the bus not to talk. I do not do this, because racechrono does not support such behavior. The biggest reason is because my profile polls 3 modules in the car, where EFI Live and HPTuners log only 1 (the ECU). Since it doesn't have to waste time reconfiguring commands to talk to other modules, throughput is better. If you didn't care about brake and wheel speed, and did not care about oil temperature, you could greatly improve your refresh rate as well. |
Originally Posted by Elektro
(Post 1606534315)
Nothing is working for me, I think obdlink cx may not be compatible. Racechrono can connect to the obdlink, but no data is displayed during "Test Connection", not even standard configuration pids. I am using iphone mini 12 fwiw.
An OBDII port is a standardized port, but if you look at the pinout, there are MANY different interfaces that a car can use to communicate. In the 2000s, CAN became the defacto standard, but GM used VPW until 2005, and Honda used KLine on older models. Those are just the weird ones I'm familiar with.
Originally Posted by Rzepka_r
(Post 1606539285)
I have a learning curve with a new program, but everything seems to be working well - it's showing/streaming all the OBD2 information you listed.
Aim and HpTuners should buy the logic from you!!!! HpTuners, as I've explained in other posts, locks various things up and Aim doesn't support the C5. Thanks again, Rich
Originally Posted by aaronc7
(Post 1606541128)
Big kudos to the Racechrono developer as well. He's been super helpful and receptive to feedback/new features in the past. This is one of those examples where he was willing to work with Jon to make this happen. I've messed around with all the track apps, and IMO racechrono is by far the best, plus the continued active development is a huge plus.
Has anyone confirmed if the ABS data works (wheel speed and brake pressure) for early C5s (97-98)? I suspect it won't, but I'd be curious to know. |
Originally Posted by jonofmac
(Post 1606579435)
Few reasons for it.
1) EFI live does the exact same thing I do to improve throughput. It builds a DPID to stuff multiple PIDs into a single data frame. 2) EFI Live and HPT only talk to the ECU. My profile talks to the ECU, ABS, and Cluster. The datalogger has to re-configure the OBDII device each time it wants to switch to a different module. This takes time. 3) EFI Live also sends a "silence" packet out onto the bus when datalogging, asking all other modules on the bus not to talk. I do not do this, because racechrono does not support such behavior. The biggest reason is because my profile polls 3 modules in the car, where EFI Live and HPTuners log only 1 (the ECU). Since it doesn't have to waste time reconfiguring commands to talk to other modules, throughput is better. If you didn't care about brake and wheel speed, and did not care about oil temperature, you could greatly improve your refresh rate as well. HPT and EFI do the same thing basically for logging. EFI shows it to the user as a max of 24 bytes to maintain the 10hz speed (4x DPIDs at 6 bytes each). HPtuners interface is much more simplified but it does the same sort of thing and will get 10hz as long as you don't exceed 24 bytes logged in my experience. I set up my HPtuners to log 18 bytes at 10hz and 12 bytes at 5hz (3 DPIDs every cycle and alternate the 4th DPID every other cycle) with my default logging list. |
Just want to take the time to once again thank jonofmac for sharing this and aaronc7 for helping me with some follow-up questions over the weekend with regards to the spark knock values.
I’ll continue to use my Aim solo2 DL and Aim camera as they are so simple the way I have them installed, I don’t even touch them - start the car, they find the track and start and stop recording automatically. As mentioned, they have great software and storage arrangement for analyzing the data. It is, however, only GPS, accelerometer and, in my case, RPM info. In parallel I will be using this racechrono set-up with the RaceBox Mini and storing all this data. To me, the oil pressure, temperatures, throttle, spark knock, brake pressure and individual wheel speeds are invaluable. To help others that might try this out, and I believe we have it correct, I changed the equation for spark knock with the value of .088 Additionally, I’m running a square tire set up and noticed the front wheel speeds were always lower than the rears and GPS speed. I changed the equation for each front wheel speed to a ratio that matched the original tire set up, which is staggered. This made wheel speeds in a straight line all equal. Thanks much again! Rich |
aron, do you know if the new hpt is faster than the old one? is efilive and hpt the same speed?
so its of no use getting a fast logging box on these cars (e.g.100hz), even if you were to logg one channel only? |
Originally Posted by Rzepka_r
(Post 1606582240)
Just want to take the time to once again thank jonofmac for sharing this and aaronc7 for helping me with some follow-up questions over the weekend with regards to the spark knock values.
I’ll continue to use my Aim solo2 DL and Aim camera as they are so simple the way I have them installed, I don’t even touch them - start the car, they find the track and start and stop recording automatically. As mentioned, they have great software and storage arrangement for analyzing the data. It is, however, only GPS, accelerometer and, in my case, RPM info. In parallel I will be using this racechrono set-up with the RaceBox Mini and storing all this data. To me, the oil pressure, temperatures, throttle, spark knock, brake pressure and individual wheel speeds are invaluable. To help others that might try this out, and I believe we have it correct, I changed the equation for spark knock with the value of .088 Additionally, I’m running a square tire set up and noticed the front wheel speeds were always lower than the rears and GPS speed. I changed the equation for each front wheel speed to a ratio that matched the original tire set up, which is staggered. This made wheel speeds in a straight line all equal. Thanks much again! Rich I didn't bother trying to figure out the value. I was just trying to see if it recorded any knock at all. i know it's wrong though. Yeah the wheel mph will need to be tweaked. I forgot that i run a square non standard size and calibrated it for me :) Might be helpful to tell people what wheel size you run and what values you found were correct and i can add some info to the first post too. Thanks for letting me know Also the brake % might need to be shifted too. The sensor has a floor value and I'm not positive if it's consistent across C5s :) |
I cannot take credit for the knock value, but everything aaronc7 found seemed to show it should be the .088 and that seemed much more in line with reality, although I didn’t confirm trying back to back logs using HPtuners or anything to compare.
https://cimg6.ibsrv.net/gimg/www.cor...822cfec360.png As for the wheel speeds, I had a brand new set of P285/35R18’s on all four corners. I didn’t try to get rear wheel speeds perfect to GPS as those values were running pretty close, but in a straight line both front values were low. I did some quick average math to see how low and that is when I realized wherever you are getting your input from could possibly already be adjusted or looking for a difference. In other words, using original tire info from Tire Rack, the number of revolutions on the front tires per mile is 824, while the rear is 801, if the car is moving in a straight line the number of pulses per mile of the front speed sensors must be higher than the rear for any given mph. If you put the same size tire on the front, as the rear, the front speed sensor pulses per mile would need to be reduced to equal the rear with respect to mph, if the computer was hard set to understand the original tire sizes. With all that in mind, knowing I needed my front values in be slightly higher and your equation was dividing by 3.6 I simply used 801/824 and multiplied that by the 3.6 to get a smaller number to divide by: https://cimg4.ibsrv.net/gimg/www.cor...a25bdddd9e.png Been raining forever here, but I’ll be able to check everything out again tomorrow. My brake jumps between -2 and zero when not touching the brakes, biased towards the -2. I didn’t try to change that yet as I wasn’t sure the best way since that equation is a little more complex. What do you suggest as the best way to bump that up a value of 2 units? Do I take the original equation, bracket it, so to speak, and add two OR does the equation itself need a slightly different ratio? Can you help me with the best way to do that and the exact script formatting? Thanks, Rich |
Originally Posted by romandian
(Post 1606587497)
aron, do you know if the new hpt is faster than the old one? is efilive and hpt the same speed?
so its of no use getting a fast logging box on these cars (e.g.100hz), even if you were to logg one channel only? In my personal testing, the overall speed of HPT and efilive is the same and limited to 240 ~bytes/sec. 24 bytes/channels at 10hz or 18bytes at 10hz + 12 bytes at 5hz etc. EFILive has an old document that talks about the different modes and IIRC if you logged only a few things it might be able to do 20hz? Not sure what your end goal is, but if only logging ECU/PCM, this option + racechrono should be pretty decent. Been awhile since I did it, but remember the speed was pretty good. Let me know if you need any help setting it up to log what you want (not sure if you dug into it, but you have to manually define the init script, labor intensive). |
And the 0.088 scalar for knock thing.... that is what everyone said on pcmhacking forum. I haven't been able to confirm 100 percent myself. The car basically never knocks (knock sensor broken?)
|
Originally Posted by Rzepka_r
(Post 1606587714)
I cannot take credit for the knock value, but everything aaronc7 found seemed to show it should be the .088 and that seemed much more in line with reality, although I didn’t confirm trying back to back logs using HPtuners or anything to compare.
https://cimg6.ibsrv.net/gimg/www.cor...822cfec360.png As for the wheel speeds, I had a brand new set of P285/35R18’s on all four corners. I didn’t try to get rear wheel speeds perfect to GPS as those values were running pretty close, but in a straight line both front values were low. I did some quick average math to see how low and that is when I realized wherever you are getting your input from could possibly already be adjusted or looking for a difference. In other words, using original tire info from Tire Rack, the number of revolutions on the front tires per mile is 824, while the rear is 801, if the car is moving in a straight line the number of pulses per mile of the front speed sensors must be higher than the rear for any given mph. If you put the same size tire on the front, as the rear, the front speed sensor pulses per mile would need to be reduced to equal the rear with respect to mph, if the computer was hard set to understand the original tire sizes. With all that in mind, knowing I needed my front values in be slightly higher and your equation was dividing by 3.6 I simply used 801/824 and multiplied that by the 3.6 to get a smaller number to divide by: https://cimg4.ibsrv.net/gimg/www.cor...a25bdddd9e.png Been raining forever here, but I’ll be able to check everything out again tomorrow. My brake jumps between -2 and zero when not touching the brakes, biased towards the -2. I didn’t try to change that yet as I wasn’t sure the best way since that equation is a little more complex. What do you suggest as the best way to bump that up a value of 2 units? Do I take the original equation, bracket it, so to speak, and add two OR does the equation itself need a slightly different ratio? Can you help me with the best way to do that and the exact script formatting? Thanks, Rich |
All times are GMT -4. The time now is 07:04 AM. |
© 2024 MH Sub I, LLC dba Internet Brands