Jaguar Ipace ISA shunt
-
- Posts: 3294
- Joined: Mon Dec 24, 2018 1:37 pm
- Location: Slovenia
- Has thanked: 81 times
- Been thanked: 241 times
- Contact:
Jaguar Ipace ISA shunt
You may remember i pulled the ISA shunt from IPACE battery assembly together with two Gigavac GV200-051 contactors.
There was also a LEM DHAB S/159 current sensor in the same box on the same connector. That seemed strange.
So i went and tried to connect ISA shunt. I got it 12V and its CAN came to life. Surprise surprise! CAN bus IDs are not the ones that Isabellenhutte is saying in its manual. But i can see they should be configurable.
For now i get this msgs:
03C3 00 01 FF FF FF EB
03D2 04 06 00 00 00 D6
03D2 stays pretty much the same even if i apply current.
But 03C3 reacts to current flowing through it. For a start i gave it a small 12V light bulb which i see pulls 1.7A. And i get response
03C3 00 02 FF FF F8 C4
I see i will have to test this further with known loads and log results. But i see that FF FF FF FF is an area for reporting current. I will just have to see how accurate this is.
There was also a LEM DHAB S/159 current sensor in the same box on the same connector. That seemed strange.
So i went and tried to connect ISA shunt. I got it 12V and its CAN came to life. Surprise surprise! CAN bus IDs are not the ones that Isabellenhutte is saying in its manual. But i can see they should be configurable.
For now i get this msgs:
03C3 00 01 FF FF FF EB
03D2 04 06 00 00 00 D6
03D2 stays pretty much the same even if i apply current.
But 03C3 reacts to current flowing through it. For a start i gave it a small 12V light bulb which i see pulls 1.7A. And i get response
03C3 00 02 FF FF F8 C4
I see i will have to test this further with known loads and log results. But i see that FF FF FF FF is an area for reporting current. I will just have to see how accurate this is.
-
- Posts: 1334
- Joined: Fri Mar 01, 2019 9:15 pm
- Location: Bristol
- Has thanked: 106 times
- Been thanked: 228 times
Re: Jaguar Ipace ISA shunt
Very accurate.
So you do: FFEB(65515) - F8C4(63684) = 727 (1831)
So It is reporting back 1831 mA
So you do: FFEB(65515) - F8C4(63684) = 727 (1831)
So It is reporting back 1831 mA
-
- Posts: 3294
- Joined: Mon Dec 24, 2018 1:37 pm
- Location: Slovenia
- Has thanked: 81 times
- Been thanked: 241 times
- Contact:
Re: Jaguar Ipace ISA shunt
Yes i figured it needs substraction instead of addition . Thank you.
It seems EB is not a valid end since this byte value is jumping quite a bit. So it seems this is quite enough for Chademo use or inverter power reporting for that matter.
I still have to see what happens if i show it the regen.
I will try to make a setup from within my car and try to vary load to get a sort of calibration for it. One PTC heater will draw close to 50A so this will be a known value + the car.
Now to figure what the other ID is for. Maybe a sort of Overcurrent signal? It will be tough to confirm.
I also need to try if i can get it to accept custom IDs from ISA manual. That way we can set up new msgs to drive various car dials.
Sadly this shunt doesnt have any HV voltage measurement. But that would be too much luck .
-
- Posts: 1334
- Joined: Fri Mar 01, 2019 9:15 pm
- Location: Bristol
- Has thanked: 106 times
- Been thanked: 228 times
Re: Jaguar Ipace ISA shunt
If you feed it the current the other way the value should jump to 00 00 07 XX or something like that.
-
- Posts: 3294
- Joined: Mon Dec 24, 2018 1:37 pm
- Location: Slovenia
- Has thanked: 81 times
- Been thanked: 241 times
- Contact:
Re: Jaguar Ipace ISA shunt
Ok i tried progresively with H7 light bulbs that i have here plenty.
1x H7 Light bulb at 13,65Vdc draws 4.25A and that translates to ID 03C3 msg 00 0F FF FF EE BC.
So i get 4399mA! Quite good i think.
2x H7 Bulbs were drawing 8.55A according to my power supply which gave ID 03C3 msg 00 0E FF FF DD 77.
Which i calculated to 8820mA!
I now used 1x H7 and one H4 bulb with both elements lit. This setup had a draw of 14.5A. I got 14791mA draw on ISA shunt.
Next one 2x H7 and one dual H4 bulb for 18.2A. I got 18763mA on ISA.
Then i reversed the current and reduced load.
With 18.2A load i got 18667mA! ID 03C3 msg 00 00 00 00 48 EB
With 14.25A i got 14534mA.
With 8.5A i got 8741mA.
Last one for the day was 4.35A for msg at 4418mA!
Really accurate at low end. Next i will setup my PTC heater and try to load my cars 12V wiring with it.
1x H7 Light bulb at 13,65Vdc draws 4.25A and that translates to ID 03C3 msg 00 0F FF FF EE BC.
So i get 4399mA! Quite good i think.
2x H7 Bulbs were drawing 8.55A according to my power supply which gave ID 03C3 msg 00 0E FF FF DD 77.
Which i calculated to 8820mA!
I now used 1x H7 and one H4 bulb with both elements lit. This setup had a draw of 14.5A. I got 14791mA draw on ISA shunt.
Next one 2x H7 and one dual H4 bulb for 18.2A. I got 18763mA on ISA.
Then i reversed the current and reduced load.
With 18.2A load i got 18667mA! ID 03C3 msg 00 00 00 00 48 EB
With 14.25A i got 14534mA.
With 8.5A i got 8741mA.
Last one for the day was 4.35A for msg at 4418mA!
Really accurate at low end. Next i will setup my PTC heater and try to load my cars 12V wiring with it.
- EV_Builder
- Posts: 1199
- Joined: Tue Apr 28, 2020 3:50 pm
- Location: The Netherlands
- Has thanked: 16 times
- Been thanked: 34 times
- Contact:
Re: Jaguar Ipace ISA shunt
Do you have a partnumber? And do we know which version this is?
(Max current?)
(Max current?)
Converting an Porsche Panamera
see http://www.wdrautomatisering.nl for bespoke BMS modules.
see http://www.wdrautomatisering.nl for bespoke BMS modules.
-
- Posts: 3294
- Joined: Mon Dec 24, 2018 1:37 pm
- Location: Slovenia
- Has thanked: 81 times
- Been thanked: 241 times
- Contact:
Re: Jaguar Ipace ISA shunt
P/N cant be seen but i am certain it is 500A version! It has small ears.EV_Builder wrote: ↑Thu Nov 25, 2021 8:57 am Do you have a partnumber? And do we know which version this is?
(Max current?)
EDIT: Here is the P/N
https://leafdriveblog.wordpress.com/tag ... ousel-1569
-
- Posts: 481
- Joined: Thu Jul 04, 2019 6:35 pm
- Location: Somerset, UK
- Has thanked: 43 times
- Been thanked: 113 times
Re: Jaguar Ipace ISA shunt
I picked up one of these last month with that batch of ISA shunts that Zero EV were selling. Currently just trying to get SIMP BMS to read it but I think I am messing up endiness and concatenation
This is my base, I can get some nonsense readings by moving the bits up and down but I feel like this base code should be working. Does this look correct to anyone?
Code: Select all
case 0x3C3: //
CANmilliamps = (inMsg.buf[2| inMsg.buf[3] ) - (inMsg.buf[4] | inMsg.buf[5]);
- EV_Builder
- Posts: 1199
- Joined: Tue Apr 28, 2020 3:50 pm
- Location: The Netherlands
- Has thanked: 16 times
- Been thanked: 34 times
- Contact:
Re: Jaguar Ipace ISA shunt
Doesn't make much sense to me tobe honest.
The first thing Todo is construct the number from the bytes.
If two bytes are used: Byte 1 + (Byte 2 <<8)
Or if it's 3 or 4 you add another byte << 16 + byte <<24.
Puzzle with which byte you move etc.
Next thing is the scaling. Each digital increment is it 0,001 amp? Or any other factor. Then you do the math with that.
The first thing Todo is construct the number from the bytes.
If two bytes are used: Byte 1 + (Byte 2 <<8)
Or if it's 3 or 4 you add another byte << 16 + byte <<24.
Puzzle with which byte you move etc.
Next thing is the scaling. Each digital increment is it 0,001 amp? Or any other factor. Then you do the math with that.
Converting an Porsche Panamera
see http://www.wdrautomatisering.nl for bespoke BMS modules.
see http://www.wdrautomatisering.nl for bespoke BMS modules.
-
- Posts: 1334
- Joined: Fri Mar 01, 2019 9:15 pm
- Location: Bristol
- Has thanked: 106 times
- Been thanked: 228 times
Re: Jaguar Ipace ISA shunt
So what you need to do is the same as the ISA shunt implementation in my code
Just add this as the option in the sections that decodes the canbus under the selected "if (settings.curcan == 3)", which is active when you set it to ISA Scale.
Code: Select all
case 0x521: //
CANmilliamps = inMsg.buf[5] + (inMsg.buf[4] << 8) + (inMsg.buf[3] << 16) + (inMsg.buf[2] << 24);
if ( settings.cursens == Canbus)
{
RawCur = CANmilliamps;
getcurrent();
}
break;
-
- Posts: 481
- Joined: Thu Jul 04, 2019 6:35 pm
- Location: Somerset, UK
- Has thanked: 43 times
- Been thanked: 113 times
Re: Jaguar Ipace ISA shunt
So I have added this to if (settings.curcan == 3). When it works it should then be able to read this shunt when ISA scale is selected.
I don't feel like I should be needing moving bytes around, as they are all in the order they need to be in for concatenation.
In theory this code should read Canbus message 03C3 msg 00 0F FF FF EE BC for example.
Then concatenate and calculate: FFFF - EEBC.
I don't feel like I should be needing moving bytes around, as they are all in the order they need to be in for concatenation.
In theory this code should read Canbus message 03C3 msg 00 0F FF FF EE BC for example.
Then concatenate and calculate: FFFF - EEBC.
Code: Select all
case 0x3C3: // Jaguar Ipace ISA shunt current reading
CANmilliamps = (inMsg.buf[2] | inMsg.buf[3]) - (inMsg.buf[4] | inMsg.buf[5]);
if ( settings.cursens == Canbus)
{
RawCur = CANmilliamps;
getcurrent();
}
break;
- EV_Builder
- Posts: 1199
- Joined: Tue Apr 28, 2020 3:50 pm
- Location: The Netherlands
- Has thanked: 16 times
- Been thanked: 34 times
- Contact:
Re: Jaguar Ipace ISA shunt
LRBen wrote: ↑Fri Aug 05, 2022 5:08 pm So I have added this to if (settings.curcan == 3). When it works it should then be able to read this shunt when ISA scale is selected.
I don't feel like I should be needing moving bytes around, as they are all in the order they need to be in for concatenation.
In theory this code should read Canbus message 03C3 msg 00 0F FF FF EE BC for example.
Then concatenate and calculate: FFFF - EEBC.
Code: Select all
case 0x3C3: // Jaguar Ipace ISA shunt current reading CANmilliamps = (inMsg.buf[2] | inMsg.buf[3]) - (inMsg.buf[4] | inMsg.buf[5]); if ( settings.cursens == Canbus) { RawCur = CANmilliamps; getcurrent(); } break;
If you 'or' then all ones survive in the result. That doesn't make sense at all todo here.
Converting an Porsche Panamera
see http://www.wdrautomatisering.nl for bespoke BMS modules.
see http://www.wdrautomatisering.nl for bespoke BMS modules.
-
- Posts: 481
- Joined: Thu Jul 04, 2019 6:35 pm
- Location: Somerset, UK
- Has thanked: 43 times
- Been thanked: 113 times
Re: Jaguar Ipace ISA shunt
Bit more on this. I tried to reset it to defaults via canbus commands, and I am pretty sure the canbus message ID are hard coded as even resetting to defaults doesn't cause them to change.
Will take another look at getting SIMPBMS to read the current soon and update.
Will take another look at getting SIMPBMS to read the current soon and update.
Re: Jaguar Ipace ISA shunt
Second value it sends is the temperature. Assuming, that the operation for both values is the same , we need to change signs for the proposed solution above.
Code: Select all
switch (message.id)
{
case 0x3c3:
current = (int32_t)(((message.data[4] << 8) + (message.data[5])) - ((message.data[2] << 8) + (message.data[3])));
Serial.print("Current: ");
Serial.println(current);
break;
case 0x3D2:
temp = (int32_t)(((message.data[4] << 8) + (message.data[5])) - ((message.data[2] << 8) + (message.data[3])));
Temperature = temp / 10;
Serial.print("Temperature: ");
Serial.println(Temperature, 2);
default:
break;
}
-
- Posts: 481
- Joined: Thu Jul 04, 2019 6:35 pm
- Location: Somerset, UK
- Has thanked: 43 times
- Been thanked: 113 times
Re: Jaguar Ipace ISA shunt
Got it working with SIMP BMS.
Code: Select all
case 0x3C3: // Jaguar Ipace ISA shunt current reading
CANmilliamps = inMsg.buf[5] + (inMsg.buf[4] << 8) + (inMsg.buf[3] << 16) + (inMsg.buf[2] << 24);
if ( settings.cursens == Canbus)
{
RawCur = CANmilliamps;
getcurrent();
}
break;
-
- Posts: 1334
- Joined: Fri Mar 01, 2019 9:15 pm
- Location: Bristol
- Has thanked: 106 times
- Been thanked: 228 times
Re: Jaguar Ipace ISA shunt
Yes this code works, as I proposed a few posts back. I have this also working in the EVS-BMS firmware already.
If anyone wants this it can be push requested per SimpBMS firmware.
If anyone wants this it can be push requested per SimpBMS firmware.
- marcexec
- Posts: 123
- Joined: Tue May 14, 2019 12:52 pm
- Location: Dublin, Ireland
- Has thanked: 555 times
- Been thanked: 46 times
Re: Jaguar Ipace ISA shunt
I also have a IVT-S-500-U0-I-CAN2 that I bought used.
Thanks for sharing the above, it works for me on the iPDM56 ("frame" there):
I'm getting
on the serial monitor.
I gather it doesn't have a useful temperature reading or am I doing the calc wrong?
Also any idea what's behind 0x3D2 on the iPace's config? Is it worth trying to reset the shunt to factory? Or just ignore this one?
Thanks for sharing the above, it works for me on the iPDM56 ("frame" there):
Code: Select all
void handle_can1_frame(const CAN_FRAME &frame)
{
switch (frame.id)
{
case 0x3c3:
current = (int32_t)(((frame.data.bytes[4] << 8) + (frame.data.bytes[5])) - ((frame.data.bytes[2] << 8) + (frame.data.bytes[3])));
Serial.print("Current: ");
Serial.println(current);
break;
case 0x3D2:
temp = (int32_t)(((frame.data.bytes[4] << 8) + (frame.data.bytes[5])) - ((frame.data.bytes[2] << 8) + (frame.data.bytes[3])));
temperature = temp / 10;
Serial.print("Temperature: ");
Serial.println(temperature, 2);
default:
Serial.print("CAN1 received frame ");
print_frame(frame);
Serial.println();
break;
}
}
Code: Select all
Current: 79
Temperature: 10100
CAN1 received frame id=0x3D2 0x4 0x4 0x0 0x0 0x0 0xD0 0x0 0x0
I gather it doesn't have a useful temperature reading or am I doing the calc wrong?
Also any idea what's behind 0x3D2 on the iPace's config? Is it worth trying to reset the shunt to factory? Or just ignore this one?
A motorcyclist is never late, Frodo Baggins. Nor is he early. He arrives precisely when he means to.
Getting started guide for Celeron55's iPDM56
My Suzuki RF400 build @ES
Honda IMA & Lebowski howto
Getting started guide for Celeron55's iPDM56
My Suzuki RF400 build @ES
Honda IMA & Lebowski howto