June 2020
27Jun
Switch box complete
Andrew O'Malley has done a fantastic job of the switch box case that he's made for me. He's basically made it from layers of polycarbonate, with a carbon fibre lid, which is attached using magnets to the case body. It looks brilliant and houses the CAN switch board, keeping it out of harms way on the rear of the dash4pro display.The steering wheel is finished, and I have configured the traction control to use the additional TC Add switch that I've interfaced. I'll see how it performs when I go testing on Tuesday.
My G logo routed in to the carbon lid
The inside of the box, showing the magnets on the four corners that secure the lid in place.
Once I carefully drilled two holes in the side to allow the wires to pass in and out, the box is then stuck to the carbon back plate using sikaflex
The wires are carefully pushed down inside the case to allow the lid to fit properly
The steering wheel shows the new rotary switches, with some hint sheets stuck to the chassis for the TC Add and TC % settings.
25Jun
CAN box reprogrammed
The ECUMaster USB-CAN box arrived, that allowed me to program the CAN switch board (cswb). It has a pair of flying leads that you just solder across the CAN Hi and Lo wires on the cswb, and it is powered from the USB port on the laptop. With the box running, I could see the cswb on CAN, and that allowed me to run the Light Client program and setup the number of switch positions for each rotary switch, so they returned the correct value (1 to 12) to the ECU.The first thing I tackled was the paddle switches. We know that the analogue voltage returned on the A frames was a 16 bit format (0 to 5000), and therefore the ECU couldnt use that data. So the implementation I ended up with was to wire the paddles to analogue 6 and analogue 8, and use B frame 3 and 4, to read back the rotary switch values that the Switch box calculates according to the number of resistors chosen in the Light Client. With analogue input 5 unused, the leading 4 bits of the value returned are 0000, with the trailing 4 bits representing analogue input 6. The Switch board needed configuring to use 2 resistors with an offset of -1. So instead of returning 1 / 2 for the two positions of the paddle switch, the -1 offset meant it returned values of 0 / 1. With these values returned, I was able to assign Gear Shift Down Paddle Switch to use X CAN RECEIVE B #03, and Gear Shift Up Paddle Switch to use X CAN RECEIVE B #04. Testing in the garage shows that these both worked, and the pneumatic solenoids both fired when I pull the paddles with the clutch depressed switch closed. Result.
Basically the same approach had to be taken for two of the four rotary switches. I've used analogue 2 for the TC % switch, configured it for 12 resistors with an offset of 0 to return 1 to 12, and again analogue 4 for the TC Adder switch, configured the same way. And these both work. The ECU expects a value from 1 to 12 over CAN as an alternative to seeing an analogue voltage. I'm using X CAN RECEIVE B #01 and #02 for the two rotary switch inputs.
So at the moment, I've only used the even analogue channels, 2-4-6-8, and the two remaining rotary switches are disconnected, and I've left the original CAL and Launch RPM switches connected to the X10 enabled, so I can still select the power map and launch RPM using those switches.
The way forward is to find a different CAN Switch board, one that presents the data in a friendlier way. Add a second ECUMaster CAN Switch board, to allow four more analogue channels to be connected. Buy a CAN Dashboard, that can read the values from the Switch board, and convert them in to voltages. And potentially a few other solutions are available I'm sure.
A big thankyou to James Middleton from Relentless Performance for loaning the USB-CAN box, and Richard O'Donovan from Zen Performance for the tech support.
ECUMaster Switch board configuration
Paddle switch configuration using the B frames 3 and 4 from the Switch board
23Jun
CAN can?
With the steering wheel complete, I am a step closer to getting the switch board working today. And a few more challenges to overcome. Because the board isn't slaved to the ECU, the data that it presents are unitless. So 5000mV is presented as the number 5000. Not mVolts, just 5000. So the ECU sees the number, and thinks that it represents the value of 5000 Volts. And we cant change the format of the data. So getting the ECU to work with the analogue voltages presented by the board isnt looking good. Ordinarily, if we were just capturing and logging the value, we could use the customizing options in the ECU to change the format. But if I assign a received sensor to a can frame, and change the format in to say Volts, I cant then assign the same frame to TC Cal. It just doesnt work like that.So Plan B (or is it C) is to use B Frames (8 bit bytes) to read the third frame from the switch box, which returns the actual rotary switch positions as a value from 1 to 12. But, the switch board returns a pair of rotary switch positions per byte. So byte 1 holds switch R1 and R2 eg the first 4 bits are for R1, and the second are for R2. That throws up another challenge. I dont think the ECU can be assigned to read a frame with a mask to ignore the first or last 4 bits.
Another thing we want to try is to enable the pull-up resistor on the two analogue channels that the paddle switches are connected to, and see if the switch board then outputs 0 and 1, rather than the analogue voltage on the switch. So I need to obtain a USB-CAN box from ECUMaster, to reprogram the switch board, and thats wednesdays job.
22Jun
Rotary switches built
The four rotary switches are now connected to the CAN Switch board, and the ECU is reading the voltages from them. I've renamed the CAN channels to use friendly names, and the next job is to rewire the paddles to use the next two analogue channels on the Switch board, which I've now done, and I'll test the paddles in the morning.Rotary switches returning 5000mV (Position 1 on all switches)
Rotary switches returning 430mV (Position 12). Switch #2 rotation is locked by a pair of pins, and can only select from position 1 to 4 since it selects the calibration maps 1-4
I then removed the assignment from the Beacon input on AN#03, since its not used by the ECU, and added wheelspin to the logged channels using LifeCFG, so I can gauge how well the TC is working.
21Jun
Switch plate complete
Here is the finished switch plate, with the four rotary switches mounted and wired together. Soldering the PCB's to the rear of the switches was very easy, they certainly take the effort out of assembling everything, and look far tidier.It looks like the ECU only had four frequency inputs. I tried to connect the exhaust VVT sensor to AN#16, but according to the Life manual for the F88R, only channels 9 to 12 are capable of measuring frequency. These are all used already. So to connect the exhaust VVT to the ECU, I'll have to move the front wheel speed sensors to the X10.
Another thing I noticed is that the ECU is still configured for the Beacon input, on pin AN#03. As I'm not using that input, I'll unassign it.
19Jun
Switch PCB's
The switch PCB's turned up from @Trackformula and I quickly set about soldering the rotary switches to them. They make the construction of the switches so much easier. Instead of trying to solder 11 0.25W resistors to the rear, I just place the switch on the PCB and solder 13 pins. Simply brilliant.18Jun
ECU updates
Yesterday I renamed all of the 8 received channels from the EGT-to-CAN box, to friendly names, in the Customising Options menu. I also changed the default values to 700C where the sensor fails (or isnt connected).I then loaded a tweaked linearisation file for the Yaw Rate sensor, after tweaking the data I generated in Excel.
I also updated the wiring diagram schematic on my Life F88R page to show the Yaw sensor connection and the addition of the CAN-Switch steering wheel circuit board to CAN1.
Now I'm focusing on loading some slip targets for traction control to work with Yaw Rate rather than Lat G. If you have a known working set of spin targets for Yaw, please get in touch.
17Jun
YAW rate sensor fitted
I have fitted the Bosch Yaw rate sensor and it works really well. The sensor outputs 2.5V when there are no rotational forces working on it, and as the sensor is rotated left and right the voltage rises and drops in proportion to the angle of rotation, and it then returns to 2.5V again when the rotational force stops. I had to create a new linearisation table for it, which I've saved in my Sensor DB folder. This ensures that the output matches the characteristics described by the manufacturer. I've setup TC to use Yaw instead of Lateral G and I'll now work on creating some new spin targets. I'll have four maps to select from, with the brace of new switches on the steering wheel. The ECU can read the Yaw rate at 100Hz, which should make the traction control very responsive to changes in direction.Finally I reconnected the steering wheel angle sensor, and reassigned the SWA input in the ECU.
I made a cable to connect the Bosch sensor to the Chassis Loom
The sensor is fitted to the chassis just ahead of the fuel tank.
Traction Control is now set to use Yaw
15Jun
CAM sensor challenge
I tried to connect the exhaust camshaft sensor directly to the ECU by re-assigning AN#16 which is the steering angle sensor. I modified the spare inputs loom, and took 5V, GND and the white wire (Pin 5) from the 6 pin connector, over to the sensor, using shielded cable, and everything checked out ok. Until I tried to program the ECU. It displays an error as below:This error indicates that the cam sensor input needs a specific type of hardware to support the connection to a cam sensor. With the same pin assigned to the steering wheel angle sensor, it just programs with no errors. But try and use AN#16 for VVT and computer says no. I think is a hardware limitation in the ECU, since they were built with a reduced IO. So I'll reconnect AN#16 signal to the steering wheel sensor, and have a look at using one of the X10's spare inputs, which I'll have when I've moved the calibration switches to the Steering Wheel CAN Switch.
Lesson learnt: Before trying to repurpose any input, make sure the ECU will allow you to reassign it first.
Tomorrows job is to wire in the Bosch Yaw rate sensor.
12Jun
CAN split cable soldered
I soldered my CAN split connector on to the end of the CAN bus having first removed the redundant 12-pin Deutsch connector from the end, and I then connected the Life GPS board to the CAN using the new loom. The 120 Ohm terminator resistor is built in to the GPS board, so it still needs to go on the end of the CAN-BUS to terminate any reflections. I powered the ignition on, and I was still able to read GPS and accel data from the board.So I then connected the ECUMaster steering wheel CAN Switch board to my CAN split connector, and powered the ignition on again, and the tiny green LED on the board started blinking rapidly, which shows that it was also working. Next job was to program the Datastream in the ECU to enable frames A13-A20, and make sure the address of A13-A20 were set to 640-641-642h. I then went to the IO Config and under Pin Assignments assigned X:CAN RECEIVE A #09 to Inputs R09, programmed the ECU, and then I added a gauge to display R09, and the voltage from the rotary switch connected to Analogue Input #1 on the switch board appeared. Bingo.
Now I can add the remaining three rotary switches to the Switch board, and perform the test again to make sure the ECU can read all four.
Whilst I had the CAL open, I lowered the engine oil temperature trip temperature from 200°C to 150°C which is still high, but can you imagine the engine oil temperature at 200°C ?!?!
11Jun
Binders arrived
The Binder connectors arrived so I made haste and fitted a green male connector to the CAN Switch board, a blue male to the Life GPS board, and then I made a loom split connector, to allow the two devices to be attached to the CAN connection on the loom. Tomorrow I'll remove the 12 pin Deutsch connector from the loom, and solder on my split connector. The Binder 720 connectors have five pins, and I've designated pin 1 = 0V (Black wire), pin 2 = 12V (Red wire), pin 4 CAN Hi (Blue wire), pin 5 CAN Lo (Green wire). I've buzzed all the wires through and they all test out OK.By removing the GPS board from the plastic case, I've saved almost 180grammes in weight.
The ECU Master CAN switch board and wiring (below) will live on the steering wheel. The four rotary switches and the two paddle switches will all be wired to the switch board, and thats the benefit of using the CAN bus.
10Jun
The wrong parts posted
Frustrating delays whilst I wait for parts to arrive. I had ordered 3mm aluminium dome head rivets but the supplier sent countersunk ones. When the right ones arrive I can finish off the rear diffuser. I'm waiting for four Binder 720 5-pin connectors to arrive, so I can wire in the CAN Switch board to the CAN-BUS. I've removed the Life GPS board from its large plastic housing, and I'm also changing the GPS connector from the 12 pin Deutsch type to another 5-pin Binder 720, which will again save further weight. The plastic casing and connector weighs around 200 grammes in total.The Grayhill 10 and 12 position rotary switches arrived from RSWWW and CPC, and I've built the 10 position switch to allow me to fit it on the CAN board so I can test the operation of the board out. Once its proven, I'll build the remaining switches with resistor ladders and wire them to the CAN switch board, test them, and then I can test the paddle switch operation. Once its all working, I'll fit everything to the steering wheel and print the stickers.
6Jun
Starting on the steering wheel
With the tufnol side skirts now fitted, I turned my attention to the steering wheel. I'm moving three calibration switches to the wheel, and fitting an ecumaster CAN Switch board, which should allow the steering wheel to attach to the ECU with a simple 4 pin connector. The wheel already has the paddle switches on it, which are connected to the ECU using a connector. These switches will be wired to the CAN Switch board, and three rotary switches will also be wired to the boards analogue inputs.All I need to provide the board with is 0V, 12V, and CAN Hi and Lo. Once the ECU is programmed to receive data from the board, I can re-assign the pins used to provide the switch positions for CAL, Launch RPM, and Traction Control.
Once thats done, I can then use the spare analogue inputs on the X10 expander unit, which were connected to the rotary switches, as suspension pot inputs, so the suspension movement can be logged by the ECU.
First job was to replace the metal plate on the wheel (80 grammes) with a carbon plate (25 grammes) which gives me an area to mount the switches. I like working with carbon, cutting it can cause a lot of dust, but if you spray water on it whilst cutting, or drilling, you can greatly reduce the mess.
Now the plate is made, I looked at making some artwork for the switches. I've designed several different styles, all using Powerpoint, and I can print these on to the adhesive backed A4 label paper using my colour printer, and then carefully cut them out and stick them on to the carbon.
5Jun