Wednesday, October 14, 2020

Racecapture OBD/CAN Config file creator for NC Miata


CAN
Parameter Name Description Mode Mode PID Min/Max/P

OBD
Parameter Name Description Mode Mode PID Min/Max/P




CAN DATA

candata

OBD DATA

obddata

Monday, July 20, 2020

Race Capture Pro install on 1.6 Miata

This write up describes how to install RCP on a 1.6 Miata. The following sensors are connected to RCP:


  • RPM
  • Coolant Temp
  • Fuel
  • TPS
  • Brakepos


There is no CAN on the 1.6. To get data from the sensors you have to "tap into" the sensors. Therefor you either need the Pro version that has Digital and Analog inputs or you need the Track version with a AnalogX.
Some of this might apply for the 1.8, the 2.0 has CAN and none of this is relevant.

Having this, https://www.miataforumz.com/1990-200-Miata-Wiring/90diag.pdf is useful.

Mounting

I decided to mount my RCP on the transmission tunnel. My car is a Harris Hill Challenge Series race car so there is no interior to care about. To make it fit nice I decided to rotate it 90 degrees, if you do this you need to swap the X/Y axis in the App.


Power

I prefer to have the Race Capture powered on even if the ignition is off. That way you get accurate logging even if you need to restart the car (due to spin out, spit stop, etc). 
From the engine fusebox you can get fused circuits that are always on. There is a BLUE/YELLOW wire comming out of the fusebox that I connected to the RCP via a switch.

It's not recommended to connect it directly to the battery without a fuse. 

A simpler solution is to just use a battery pack via the USB.


RPM / Coolant / Fuel from instrument cluster


On my car it's relatively easy to access the instrument cluster and tap into those wires. There are two connectors on the back of the instrument cluster that feeds the various gauges. The instrument cluster also has some information printed on the circuit board, that can be used as an extra check.
The instrument cluster has two connectors, the left one (from driver) is labeled "1" in the wiring diagram and the right one is labeld "2" in the wiring diagram. Each wire within the connector is labeled by a letter.


RPM

The RPM signal is taken directly from the tach input. This wire is not used by the ECU so you don't risk of messing with the engine management. 
Tap into the 1H wire, that is the YELLOW/BLUE wire on the left connector. Connect it to one of the pulse inputs.

Fuel

Tap into the 1A wire, that is the YELLOW wire on the left connector. Connect it to one of the analog inputs. 
The input is not linear so you need the following mapping for the sensor:

9.4v = 0%
7.5v = 25%
5.1v = 50%
3.0v = 75%
0.7v = 100%


Coolant

This taps from the sensor that goes into the gauge cluster, the ECU uses a different sensor. 
Tap into the 2L wire, that is a BLACK/BLUE wire on the right connector. Connect it to one of the analog inputs.
The input is not linear so you need the following mapping for the sensor:

8.2v = 144F
5.3v = 180F
4.1v = 198F
2.2v = 235F
1.6v  = 260F

It's recommended that you calibrate these values! There seems to be a large discrepancy. 

As you can see the fuel and coolant temp goes over 5v, so you will not be able to monitor fuel levels below ~50%, or coolant colder than ~180F. 
You could use an opamp to "amplify" the signal to a smaller value. You could also put a diode if you want to shift the span.
I haven't tested the higher coolant temp values, these are just based on the data for the sensor.
For more accurate readings it would be better to use the regulated 5v provided by the race capture, but this makes you stock gauge unsuable.

At least for the coolant it uses an unregluated voltage to calulcate the temps, so the temperature will depend on the alternator voltage. 


TPS

The 1.6 Miata TPS is more of a switch than a linear position sensor. With the TPS you can only monitor WOT, Partly Open and Closed. You can either tap into the wires directly at the ECU or at the sensor, accessing the ECU is easy on my car.
Tap into the RED N wire from the right connector of the ECU and connect to a analog input.
Tap into the GREEN/WHITE  L wire from the left connector of the ECU and connect to a analog input.

Add the following script:

setTickRate(25)

tps_id = addChannel("TPS",10,0,0,100,"%")

function onTick()
   local not_wot = getAnalog(3)
   local pressed = getAnalog(4)

   if     not_wot == 1 and pressed == 0 then
     setChannel (tps_id,0)
   elseif not_wot == 1 and pressed == 1 then
     setChannel (tps_id,50)
   elseif not_wot == 0 and pressed == 1 then
     setChannel (tps_id,100)
   end   

end


Make sure you get the correct wires, the arrows shows what RED wire and what GREEN/WHITE:

Brake Position

There is no brake pressure sensor in the Miata. I just connected to the brake light in the rear. Tap into the GREEN wire on the tail light and connect to a digital input.