CAN modules and zombie powering considerations - was E65 problem

Post Reply
evMacGyver
Posts: 155
Joined: Tue Jun 15, 2021 5:44 pm
Location: Finland
Has thanked: 39 times
Been thanked: 8 times

CAN modules and zombie powering considerations - was E65 problem

Post by evMacGyver »

Ok, I changed the title as first problem was me. Anyway I think powering bus options might need considerations in case just like me

--

I'm swapping GS450h board to Zombie VCU and I have strange behavior with engine/vehicle re-start. Vehicle has start/stop-button, which is sent to CAN bus and zombie goes to precharge->run mode.

When I power zombie for the first time and press start-button, everything works, I get motor spinning and all. As I have ISA powered from inverter output, I have modified code a bit so that old udc value disappears when MOD_OFF, this is to save main contactors being weld on the precharge.
I don't believe the problem is I compile code it myself, I've done that for my another vehicle with Zombie without any problems.

So, first start after zombie is powered everything is fine. When I stop the engine by button and try another start, it seems Zombie have powered inverter output for a short time - as there is new value from internal CAN coming from ISA, but values are not updating. Zombie thinks its in RUN mode, it keeps PWM'ing GS450h oil pump. For now I assume main contactors are really powered, have to check that.

If I update zombie with exactly same firmware without powercycling zombie, it works one start time like it should and same restart problem. Some software related problem.

I keep Zombie permanent 12v on, if I change it to permanent T15 terminal would always power cycle zombie. But I think vehicle T15 disappears as soon as I un-power the vehicle by pressing start-button, problem is that vehicle still waiting CAN messages to cluster before CANbus goes to sleep. At least gear display would flash and transmission error if vehicle is awake but VCU is not sending needed messages.

For now I really don't get how BMW-E65 code could affect main loop to not drive inverter output.

Well, more to come soon to this strange thing :)
User avatar
tom91
Posts: 2392
Joined: Fri Mar 01, 2019 9:15 pm
Location: Bristol
Has thanked: 207 times
Been thanked: 563 times

Re: Zombie and BMW E65 problem

Post by tom91 »

Please provide your settings and firmware base you are using.

If you have selected the E65 it is possible that the "new" CAN wake and sleep function is not fully working, this would relate to the gauge cluster showing strange things.

The E65 uses the CAN message 0x130 to check what state the T15 is. So the Zombie will not fully shut down until the BMW does. Possibly your car is slightly different then the ones we tested on so best to get a CAN log of waking up the CAN and the CAN going to sleep.

Please Log the states with a graph so there is actual data to review. All you descriptions are very vague and multi interpretable
Creator of SimpBMS
Founder Volt Influx https://www.voltinflux.com/
Webstore: https://citini.com/
User avatar
tom91
Posts: 2392
Joined: Fri Mar 01, 2019 9:15 pm
Location: Bristol
Has thanked: 207 times
Been thanked: 563 times

Re: Zombie and BMW E65 problem

Post by tom91 »

Also inverter out goes on after precharge is completed and ONLY in run mode not in charge mode.

The coolant pump output goes on when entering precharge along with the negative contactor.
Creator of SimpBMS
Founder Volt Influx https://www.voltinflux.com/
Webstore: https://citini.com/
evMacGyver
Posts: 155
Joined: Tue Jun 15, 2021 5:44 pm
Location: Finland
Has thanked: 39 times
Been thanked: 8 times

Re: Zombie and BMW E65 problem

Post by evMacGyver »

It might found some mysterious way to get zombie to run mode, even it did not set inverter out or contactors. This problem was after engine started once.

For now I think I did set udc to zero at wrong place when MOD_OFF and did not set ISA::udc values to zero, so after next start there was some old value which got set to parameters. ISA and every CAN device receive routine in my opinion should have timeout and what to do in no new messages are received. Just like simpbms module timeout set values to zero.

I ended using ProcessUDC for ISA timeout, changed:
if (Param::GetInt(Param::Type) == 0)
to:
if (Param::GetInt(Param::Type) == 0 && opmode != MOD_OFF)

..and added:

Code: Select all

    else if (Param::GetInt(Param::Type) == 0 && opmode == MOD_OFF)
    {
        ISA::Voltage = 0.0f;
        ISA::Voltage2 = 0.0f;
        ISA::Voltage3 = 0.0f;
        ISA::Amperes = 0.0f;
        ISA::KW = 0.0f;
        ISA::KWh = 0.0f;
        ISA::Ah = 0.0f;
        Param::SetFloat(Param::udc, 0.0f);
        Param::SetFloat(Param::udc2, 0.0f);
        Param::SetFloat(Param::udc3, 0.0f);
        Param::SetFloat(Param::idc, 0.0f);
        Param::SetFloat(Param::power, 0.0f);
        Param::SetFloat(Param::KWh, 0.0f);
        Param::SetFloat(Param::AMPh, 0.0f);
        Param::SetFloat(Param::deltaV, 0.0f);
    }
With ISA shunt I think to use BMS pack voltage for precharge and VEcan 0x356 has what is needed.
User avatar
tom91
Posts: 2392
Joined: Fri Mar 01, 2019 9:15 pm
Location: Bristol
Has thanked: 207 times
Been thanked: 563 times

Re: Zombie and BMW E65 problem

Post by tom91 »

This is clearly then due to you messing with the code. So not a problem, please modify the topic title.
Creator of SimpBMS
Founder Volt Influx https://www.voltinflux.com/
Webstore: https://citini.com/
User avatar
johu
Site Admin
Posts: 6711
Joined: Thu Nov 08, 2018 10:52 pm
Location: Kassel/Germany
Has thanked: 368 times
Been thanked: 1538 times
Contact:

Re: Zombie and BMW E65 problem after code mod

Post by johu »

Title modified
Support R/D and forum on Patreon: https://patreon.com/openinverter - Subscribe on odysee: https://odysee.com/@openinverter:9
evMacGyver
Posts: 155
Joined: Tue Jun 15, 2021 5:44 pm
Location: Finland
Has thanked: 39 times
Been thanked: 8 times

Re: CAN modules and zombie powering considerations - was E65 problem

Post by evMacGyver »

I think I'll try to change title once more, because this is something to consider how CAN modules and zombie are powered.
I'll bet Damien uses T15 for 12v constant, so zombie shut down when vehicle is off and all fresh values are read/initialized when vehicle starts.

If ISA shunt power off controlled by inverter output, there is something that needs modifications.
1) ISA shunt does not have timeout to clear values. Timeout would work on both way; using constant 12v or not-constant power using T15. My hack above clear values to next start. Luckily for my contactors my earlier not-working ISA value code mod somehow allowed Zombie to RUN mode without controlling contactors, phew.

2) GS450h did not work for me if inverter supply was powered off and zombie powered all the time from 12v. I hacked GS450 code to:

Code: Select all

void GS450HClass::Task1Ms()
{
  if (Param::GetInt(Param::opmode) == MOD_RUN) // control gs450h only on run-mode
  {
     switch(htm_state)
     ...
I have relatively high resistance precharge resistor and this also did prevent GS450h to consume some amount of HV current on precharge, without this modification precharge voltage did not get as high as it would.

As I said CAN device timeouts are good, think of using CAN throttle. If you have pressed some amount of throttle and there comes CAN fault, last throttle value would stay. Ok, this CAN fault could do something else and stop drive otherwise, but throttle timeout in this case could save things.

Ultimately for BMWs T15wake signal would be really cool for VCU, with keepalive from CPU just like on Focci. I need to think would it be possible to modify zombie power supply.


I could be all wrong with these, would be nice to hear if others power zombie constantly on from 12v and powers off Lexus inverter&ISA shunt when not vehicle off.
User avatar
tom91
Posts: 2392
Joined: Fri Mar 01, 2019 9:15 pm
Location: Bristol
Has thanked: 207 times
Been thanked: 563 times

Re: CAN modules and zombie powering considerations - was E65 problem

Post by tom91 »

evMacGyver wrote: Wed Jun 05, 2024 11:40 am I'll bet Damien uses T15 for 12v constant, so zombie shut down when vehicle is off and all fresh values are read/initialized when vehicle starts.
NO watch his videos.

Zombie is not intended to receive Throttle over CAN. Zombie is primarily designed to work on its own.

Yes for some CAN messages a time out is something to look into.

I get the strong feeling you do not understand how the base code works and are jumping at conclusions based on ungrounded hunches.
Creator of SimpBMS
Founder Volt Influx https://www.voltinflux.com/
Webstore: https://citini.com/
User avatar
Bigpie
Posts: 1771
Joined: Wed Apr 10, 2019 8:11 pm
Location: South Yorkshire, UK
Has thanked: 82 times
Been thanked: 422 times

Re: CAN modules and zombie powering considerations - was E65 problem

Post by Bigpie »

The idea is that the zombie and ISA are 12v permanently supplied. The ISA should be monitoring the DC bus voltage for precharge. IE if you plot the UDC graph after stopping from run mode it'll gradually decrease as the voltage is bled off. Code changes are not required.

The wire for the voltage measurement goes on the inverter side of the contactors.
BMW E91 2006
ZombieVerter
GS450h
Outlander Charger DC/DC
Renault Kangoo 36kWh battery
FOCCCI CCS
evMacGyver
Posts: 155
Joined: Tue Jun 15, 2021 5:44 pm
Location: Finland
Has thanked: 39 times
Been thanked: 8 times

Re: CAN modules and zombie powering considerations - was E65 problem

Post by evMacGyver »

Bigpie wrote: Wed Jun 05, 2024 2:18 pm The idea is that the zombie and ISA are 12v permanently supplied.
Now that I read wiki, it states "Power cycle the vcu and shunt at same time (they should be on same 12v feed anyway)".

Very well, even I did no do this way with gs450h VCU and driven few years without problems. Slight problem always been VCU 12v consumption, which I would like to minimize not to slowly drain the battery. Have not really measured zombie consumption yet.

Yes I must admit zombie code is much more to handle than gs450h base code by Catphish. But anyway, got zombie to work like this without supply changes and for now it works ok for me. For others power ISA continuously as it should.
Post Reply