Zombieverter Nissan Leaf 160kW

Nissan Leaf/e-NV200 drive stack topics
Post Reply
ted.walsh
Posts: 26
Joined: Fri Jun 19, 2020 10:24 pm
Location: Ulverston UK Lakedistrict
Has thanked: 10 times
Been thanked: 12 times
Contact:

Zombieverter Nissan Leaf 160kW

Post by ted.walsh »

code help required for wringing the most out of the 160kw inverter...



// Requested torque (signed 12-bit value + always 0x0 in low nibble)
if(final_torque_request >= -2048 && final_torque_request <= 2047)

this is a snippet from the Zombieverter repository that is compiled into the current live version for the VCU, it appears to limit the maximum torque request to a value below 2047 and be a hangover from the V1 hardware days as the same value is used there. notwithstanding V2.x doesn't have specific support for the 110 and 160 inverters yet, has anyone tried monkeying with the value? Ive looked at the Dala code for his middleware solution and it doesn't seem to do anything other that multiply the final value by 1.47 (up to 1.6!) on the 160 and 1.32 on the 110.

Any thoughts or better still real world experience by anybody?
tom91
Posts: 1449
Joined: Fri Mar 01, 2019 9:15 pm
Location: Bristol
Has thanked: 120 times
Been thanked: 266 times

Re: Zombieverter Nissan Leaf 160kW

Post by tom91 »

Do you have a setup with a Gen 3 drivetrain that runs to test on? I will dig a bit in the DBCs to see what limits are listed there.

You are looking at the wrong point buddy. It is a 12bit value thus 4095 dec max and then half that because its signed gives you the value limits listed in the code.
Founder Volt Influx https://www.voltinflux.com/
Webstore: https://citini.com/
tom91
Posts: 1449
Joined: Fri Mar 01, 2019 9:15 pm
Location: Bristol
Has thanked: 120 times
Been thanked: 266 times

Re: Zombieverter Nissan Leaf 160kW

Post by tom91 »

Here is a a log from a 62kwh car
image.png
The way the torque gets requested is a bit strange.

So it scales from 0-100 as torque percentage then multiplies by 2047. Given the motor torque is scaled at 0.25 bit/Nm and its a 12bit value.

This would mean 2047*0.25 = 511.75Nm which sounds like quite alot.

Code: Select all

void LeafINV::SetTorque(float torquePercent)
{
   final_torque_request = (torquePercent * 2047) / 100.0f;

   Param::SetInt(Param::torque,final_torque_request);//post processed final torque value sent to inv to web interface
}
Founder Volt Influx https://www.voltinflux.com/
Webstore: https://citini.com/
tom91
Posts: 1449
Joined: Fri Mar 01, 2019 9:15 pm
Location: Bristol
Has thanked: 120 times
Been thanked: 266 times

Re: Zombieverter Nissan Leaf 160kW

Post by tom91 »

Probally want to update the 0x1DC limits to the ones form a gen 3 log like below.
image.png
These values are currently hardcoded in the Zombie code
image.png
Founder Volt Influx https://www.voltinflux.com/
Webstore: https://citini.com/
tom91
Posts: 1449
Joined: Fri Mar 01, 2019 9:15 pm
Location: Bristol
Has thanked: 120 times
Been thanked: 266 times

Re: Zombieverter Nissan Leaf 160kW

Post by tom91 »

If anyone one could please provide a CAN log of a Zombie controlling a Nissan Leaf inverter, I would like to see a log with the throttle flat requesting 100%. Please provide the Zombie settings with the log.
Founder Volt Influx https://www.voltinflux.com/
Webstore: https://citini.com/
Aragorn
Posts: 135
Joined: Wed Jan 04, 2023 10:23 am
Has thanked: 5 times
Been thanked: 56 times

Re: Zombieverter Nissan Leaf 160kW

Post by Aragorn »

I'm sure dala ran some tests where if you request more torque than the inverter allows, the inverter will just follow the programmed curve. Perhaps Zombie really is requesting 500nm? That must give weird throttle control though, as it will reach max torque at 50-60% pedal?
tom91
Posts: 1449
Joined: Fri Mar 01, 2019 9:15 pm
Location: Bristol
Has thanked: 120 times
Been thanked: 266 times

Re: Zombieverter Nissan Leaf 160kW

Post by tom91 »

Aragorn wrote: Mon Jan 08, 2024 12:01 pm I'm sure dala ran some tests where if you request more torque than the inverter allows, the inverter will just follow the programmed curve. Perhaps Zombie really is requesting 500nm? That must give weird throttle control though, as it will reach max torque at 50-60% pedal?
Exactly why I am asking for logs, so I can review the request and the response from the inverter.
Founder Volt Influx https://www.voltinflux.com/
Webstore: https://citini.com/
ted.walsh
Posts: 26
Joined: Fri Jun 19, 2020 10:24 pm
Location: Ulverston UK Lakedistrict
Has thanked: 10 times
Been thanked: 12 times
Contact:

Re: Zombieverter Nissan Leaf 160kW

Post by ted.walsh »

thanks for the help, Ill get a can logger and run a scan on the bus...
ted.walsh
Posts: 26
Joined: Fri Jun 19, 2020 10:24 pm
Location: Ulverston UK Lakedistrict
Has thanked: 10 times
Been thanked: 12 times
Contact:

Re: Zombieverter Nissan Leaf 160kW

Post by ted.walsh »

tom91 wrote: Sat Jan 06, 2024 8:52 pm Probally want to update the 0x1DC limits to the ones form a gen 3 log like below.

image.png

These values are currently hardcoded in the Zombie code

image.png
Im Hoping to get some logs this weekend but in the mean time im going to change 0x1dc as suggested- is it just byte [1] I need to change or [1] & [2]? I cannot quite figure out the cryptic message in the .cpp comments
tom91
Posts: 1449
Joined: Fri Mar 01, 2019 9:15 pm
Location: Bristol
Has thanked: 120 times
Been thanked: 266 times

Re: Zombieverter Nissan Leaf 160kW

Post by tom91 »

ted.walsh wrote: Wed May 08, 2024 9:23 am Im Hoping to get some logs this weekend but in the mean time im going to change 0x1dc as suggested- is it just byte [1] I need to change or [1] & [2]? I cannot quite figure out the cryptic message in the .cpp comments
"cryptic" because its just copy paste from a log.
image.png
Here is the format of the values.

So you the 10bit discharge limit is: 0x1B8 440d. The scaling is 0.25kW per bit, luckily its hex and if you shift it back 2 positions you are dividing by 4.
The discharge limits thus is 0x6E which is 110d kW

So what value do we want to try, lets say 150kW 0x69. Then shift this left 2 you get 0x258 or 600d.

bytes[0]=0x6E;
bytes[1]=0x0A;

Becomes

bytes[0]=0x96;
bytes[1]=0x0A;
Founder Volt Influx https://www.voltinflux.com/
Webstore: https://citini.com/
ted.walsh
Posts: 26
Joined: Fri Jun 19, 2020 10:24 pm
Location: Ulverston UK Lakedistrict
Has thanked: 10 times
Been thanked: 12 times
Contact:

Re: Zombieverter Nissan Leaf 160kW

Post by ted.walsh »

tom91 wrote: Sat Jan 06, 2024 8:15 pm Here is a a log from a 62kwh car

image.png

The way the torque gets requested is a bit strange.

So it scales from 0-100 as torque percentage then multiplies by 2047. Given the motor torque is scaled at 0.25 bit/Nm and its a 12bit value.

This would mean 2047*0.25 = 511.75Nm which sounds like quite alot.

Code: Select all

void LeafINV::SetTorque(float torquePercent)
{
   final_torque_request = (torquePercent * 2047) / 100.0f;

   Param::SetInt(Param::torque,final_torque_request);//post processed final torque value sent to inv to web interface
}
Well I can confirm that with your advice and insight @tom91 on reading our recent logs the peak request I see is for 511nm. At that point the MG_EffectiveTorque is showing 270mn and the shunt is telling me 493amps @ 330v - so pretty much exactly the 160kw rating.
Gotta be a big thumbs up for the Zombie VCU :D

Im still getting a thermal limp though after a couple of mins of running - it would appear that there is still some work to do labelling 0x55a is anyone has any further insight? :?
tom91
Posts: 1449
Joined: Fri Mar 01, 2019 9:15 pm
Location: Bristol
Has thanked: 120 times
Been thanked: 266 times

Re: Zombieverter Nissan Leaf 160kW

Post by tom91 »

ted.walsh wrote: Tue Jun 11, 2024 8:01 am Well I can confirm that with your advice and insight @tom91
Did you do any code changes on the limits as per my previous post?

Thermal limit, why would that be linked to CAN decoding?!? Zombie does not do anything with the thermal data received? It is very possible the inverter has a limited operating time for the peak power.

You are saying you are doing a couple of minutes, this is not what the leaf itself is designed to do.
Founder Volt Influx https://www.voltinflux.com/
Webstore: https://citini.com/
ted.walsh
Posts: 26
Joined: Fri Jun 19, 2020 10:24 pm
Location: Ulverston UK Lakedistrict
Has thanked: 10 times
Been thanked: 12 times
Contact:

Re: Zombieverter Nissan Leaf 160kW

Post by ted.walsh »

Code wise, yes. I made sure 0x1dc[0]=A0 as that appears to be the documented max for my twinned BMW hybrid packs - the numbers do show that side of things are functioning as expected.
I didnt mess with anything to do with the throttle following your sage mentoring and a good session with ChatGPT getting Ai to explain bit shifting and other C related insights. Its a very patient teacher.

Thermal wise I do understand that the 'fault' isn't to do with the code per se its more my understanding of the decode on the log notwithstanding I made a couple of hardware modifications before getting the log that may be skewing the view somewhat.
No doubt I am taking things beyond their design concept in a way that is difficult to achieve in a road car. Im sure nobody drives their Leaf round at 95mph for very long.
I havn't tried soft pedalling for a few mins with the logger on yet but may be able to do so over the weekend as well be able to test again. I have my suspicions on this but more testing is required.

I do have a 44mb can log if anyone would like a copy? - PM and Ill get one across
tom91
Posts: 1449
Joined: Fri Mar 01, 2019 9:15 pm
Location: Bristol
Has thanked: 120 times
Been thanked: 266 times

Re: Zombieverter Nissan Leaf 160kW

Post by tom91 »

if its a CAN log please share it with us
Founder Volt Influx https://www.voltinflux.com/
Webstore: https://citini.com/
Post Reply