Landrover Freelander EV

Tell us about the project you do with the open inverter
Post Reply
Alibro
Posts: 828
Joined: Sun Feb 23, 2020 9:24 am
Location: Northern Ireland
Has thanked: 248 times
Been thanked: 144 times
Contact:

Landrover Freelander EV

Post by Alibro »

Hi guys
I have been lurking here for a while and have wanted to build an EV for years, so to break myself in gently I decided to have a go at building electric bikes and so far have built 3, one using a mid drive kit, one using a hub motor and one using a car alternator with a belt driving a pulley on the back wheel.
I have a Youtube channel here. https://www.youtube.com/channel/UCRhFZU ... w35vr4P-7g showing what I've got up to so far.

I guess choosing the right car is a quandry for many folk and it was for me as it also dictates the type of motor/inverter combo to use, I fancied having a go at converting a Merc or Bimmer but in the end I've decided to go a different route.
I have been a member of Landyzone for years and have owned several Freelanders so they are a car I like and know a fair bit about. I was on the lookout for a clean one with a dead engine but decided instead to use what I already have. My Mrs has an 04 Freelander which has paint peeling off almost every panel so it's more or less worthless and needed replaced. I've decided to buy her a Ford Kuga and keep the Freelander to use as a test mule for this project. If all goes to plan I will build everything required to convert this car, then once I have it working, find a really clean one and it should be fairly simple to move everything into the better car.
So I figured the best (and cheapest) place to start was to try and figure out the CAN system in the Freelander. It turns out that since LR was owned by BMW and an 04 Freelander has a BMW M47 engine that the CAN signals are almost identical to am M46 of the same era.

This is what I've figured out so far. I copied this from the Bimmer.com forum and updated the bits I've confirmed.

ARBID stands for arbitration https://cdn.intrepidcs.net/support/Vehi ... CANArb.htm
The can bus is 500kb/s
In the data for each ID there are 8 bytes. Labeled Byte 0,1,2,3,4,5,6,7

Green is confirmed
Red is not in my 04 manual Freelander TD4 but may be in a K6 or TD4 auto.
Blue is active but not yet confirmed.

ARBID: 0x153
-B0
-B1 Speed LSB
-B2 Speed MSB [Signal startbit: 12, Bit length: 12, 0x0008 = 1 km/hr]

-B3
-B4
-B5
-B6
-B7

ARBID: 0x316 (Digital Motor Electronics, DME1)
-B0
-B1
-B2 RPM LSB
-B3 RPM MSB [RPM=(hex2dec("byte3"&"byte2"))/6.4]

-B4
-B5
-B6
-B7

ARBID: 0x329 (DME2)
-B0
-B1 is Temp [Temp in C = .75 * hex2dec(byte01) - 48.373]
-B2
-B3
(bit0 == LSb)
bit 7 Cruise 1/0
bit 6 Cruise -
bit 5 Cruise +
bit 6&5 Cruise Resume

-B4
-B5 Throttle position (00-FE).
-B6 kickdown switch depressed is value (4) Brake pedal depressed is value (1).
-B7

ARBID: 0x338 (DME3?),

-B0 = I don't know yet but it changes when the car is driven.
-B1 = Appears to change from 0 when stationary to 1 when driving.
-B2
0 = Sport on (request by SMG transmission)
1 = Sport off
2 = Sport on
3 = Sport error

ARBID: 0x545 (DME4),
combinations work to get multiple lights
-B0 Check engine light (binary 10), Cruise light (binary 1000), EML (binary 10000), Check gas cap 2002+ cars (hex 40).
-B1 Fuel consumption LSB
-B2 Fuel consumption MSB. Values just cycle from 0 to FFFF then start over at zero. Fuel consumiption is the rate of change.
-B3 Overheat light (binary 1000, Hex 08), oil level 2002+ cars, (binary 0010, hex 02), On M3's 0x10 7K and Up RPM lights, 0x20 6.5K and up RPM lights, 0x40 5.5K and up RPM lights.
-B4 Oil Temp [Temp in C = hex2dec(byte04) - 48.373]
-B5 Charge light, 2002+ cars (Binary 0001)
-B6
-B7

ARBID: 0x613 also sent from the instrument cluster if 0x615 is acknowleged.
-B0 Odometer LSB
-B1 Odometer MSB [Convert from Hex to Decimal. Multiply by 10 and that is Odometer in Km]
-B2 is fuel level. Full being hex 39 Fuel light comes on at hex 8. Then values jump to hex 87 (or so) and then go down to hex 80 being empty.
-B3 Running Clock LSB (increments every 60 seconds)
-B4 Running Clock MSB minutes since last time battery power was lost.

-B5
-B6
-B7

ARBID: 0x615 sent from the instrument cluster.
-B0 AC signal. Hex 80 when on (10000000) Other bits say something else (Load, Aux fan speed request? system pressure?)
-B1 -B3 do nothing so far.

ARBID: 0x1F0 (ABS)
Individual wheel speeds:
Signal wheel 1: startbit 0, bit length 12, Intel LSB, unsigned, gain 1/16 (0.0625) (byte0 + next 4 bits of Byte1)
Signal wheel 2: startbit 16, bit length 12, Intel LSB, unsigned, gain 1/16 (0.0625) (byte2 + next 4 bits of byte3)
Signal wheel 3: startbit 32, bit length 12, Intel LSB, unsigned, gain 1/16 (0.0625)
Signal wheel 4: startbit 48, bit length 12, Intel LSB, unsigned, gain 1/16 (0.0625)


The above translated to .xls syntax. (corrected)
Wheel speed 1: (HEX2DEC(B0)+HEX2DEC(RIGHT(B1;1))*256)/16 = Kph
Wheel speed 2: (HEX2DEC(B2)+HEX2DEC(RIGHT(B3;1))*256)/16 = Kph
Wheel speed 3: (HEX2DEC(B4)+HEX2DEC(RIGHT(B5;1))*256)/16 = Kph
Wheel speed 4: (HEX2DEC(B6)+HEX2DEC(RIGHT(B7;1))*256)/16 = Kph
(multiply by .621 to get MPH)

ARBID: 0x1F8
-B1, HDC control, Off is 00 and on is 01
-B2, Brake Pressure.

ARBID: 0x618
-B1, ??
-B2, ??
I need a bigger hammer!
Post Reply